• Status Closed
  • Percent Complete
    100%
  • Task Type Bug Report
  • Category Packages
  • Assigned To No-one
  • Operating System pentium4
  • Severity Low
  • Priority Medium
  • Reported Version
  • Due in Version Undecided
  • Due Date Undecided
  • Votes
  • Private
Attached to Project: Arch Linux 32
Opened by Erich Eckner - 01.03.2020
Last edited by Erich Eckner - 08.03.2020

FS#106 - packages are unstripped?

looks, like the new devtools do not strip packages anymore - maybe it was only an intermediate version, that lacked automatic stripping.

Closed by  Erich Eckner
08.03.2020 05:03
Reason for closing:  Fixed
Admin
Andreas Baumann commented on 02.03.2020 06:37

Mmh. Good point. I'm also experiencing a problem with disk space when updating normal
packages on a 4 GB SSD. :-)

Maybe just one or two build slaves are not stripping, the rest is..

Admin
Erich Eckner commented on 02.03.2020 09:28

I'm currently building a gcc with up-to-date devtools - but it's building since quite some time (/etc/makepkg.conf inside the build chroot looks ok).

Hmm, "only a few slaves" is a good point, let's check which one built these packages. Unfortunately, we do not track package size in the mysql database, so there's no easy way to find out which packages grew considerably

Admin
Erich Eckner commented on 02.03.2020 09:43

the bad guys are/were:
nlopc46, eurobuild6-5, eurobuild6-7-i486

nlopc46 was building with devtools 20200213-1

Admin
Andreas Baumann commented on 02.03.2020 11:12

mmh. strange: /usr/share/devtools/makepkg-i486.conf and /etc/makepkg.conf both contain
a strip on eurobuild6-7-i486.
eurobuild6-5 doesn't make much sense, as all eurobuild6-x slaves share the same devtools
and host /etc/makpkg.conf.
What I did now is, I reinstalled those two slaves (deleted /var/lib/archbuild/xxx).

Admin
Andreas Baumann commented on 02.03.2020 11:17

Another idea: COMPRESSZST=(zstd -c -z -q -)
instead of -20, but I dought it would grow that drastically.

Admin
Erich Eckner commented on 02.03.2020 12:14

the size-increase is evident for the uncompressed package

Admin
Erich Eckner commented on 02.03.2020 12:25

I really suspect a temporary issue (I broke devtools inbetween - at least sudo did not work correctly). If the new gcc (which I now scheduled on a build slave, because I lost my patience) is stripped, I will reschedule all packages that grew by more than 50% during 2020.

Find attached a list of all packages, that grew by more than 50% from 2020-01-01 until now.

   grow-list (55.5 KiB)
Admin
Erich Eckner commented on 02.03.2020 20:50

current status:
devtools-archlinuxewe (and I strongly suspect, devtools32, too) do not strip on i686 (and I strongly suspect pentium4, too), but strip on x86_64. Manually stripping on pentium4 works, though. They also report no apparent errors (except namcap complaining about unstripped binaries, obviously):

==> Entering fakeroot environment...
==> Starting package()...
==> Tidying install...
  -> Removing libtool files...
  -> Purging unwanted files...
  -> Removing static library files...
  -> Stripping unneeded symbols from binaries and libraries...
  -> Compressing man and info pages...
==> Checking for packaging issues...
==> Creating package "hashcash"...
  -> Generating .PKGINFO file...
  -> Generating .BUILDINFO file...
  -> Generating .MTREE file...
  -> Compressing package...
==> Leaving fakeroot environment.
==> Finished making: hashcash 1.22-7 (Mon 02 Mar 2020 09:42:53 PM CET)
==> Installing package hashcash with pacman -U...

and later

Checking PKGBUILD
Checking hashcash-1.22-7-x86_64.pkg.tar.xz
hashcash W: Referenced library 'libc.so.6' is an uninstalled dependency
hashcash W: Referenced library 'libcrypto.so.1.1' is an uninstalled dependency
hashcash W: Dependency included and not needed ('glibc')
Checking hashcash-1.22-7-i686.pkg.tar.zst
hashcash W: ELF file ('usr/bin/hashcash') is unstripped.
hashcash W: ELF file ('usr/bin/sha1') is unstripped.
hashcash E: Dependency openssl detected and not included (libraries ['usr/lib/libcrypto.so.1.1'] needed in files ['usr/bin/sha1'])
Admin
Erich Eckner commented on 02.03.2020 21:29

it looks like `strip –strip-unneeded` on i686 does not strip, while it does on x86_64

Admin
Erich Eckner commented on 04.03.2020 17:37

looks, like `strip` works now, but `file` is broken:

  -> Stripping unneeded symbols from binaries and libraries...
find ...
file: ./usr/bin/hashcash
/usr/share/makepkg/tidy/strip.sh: line 98:  3692 Bad system call         file -bi "$binary" 1>&2
dismissed:  
file: ./usr/bin/sha1
/usr/share/makepkg/tidy/strip.sh: line 98:  3695 Bad system call         file -bi "$binary" 1>&2
dismissed:  
file: ./usr/share/man/man1/hashcash.1
/usr/share/makepkg/tidy/strip.sh: line 98:  3698 Bad system call         file -bi "$binary" 1>&2
dismissed:  
  -> Compressing man and info pages...

(after introducing some debug code into /usr/share/makepkg/tidy/strip.sh inside the chroot

Admin
Erich Eckner commented on 04.03.2020 17:38

… rescheduling `file` … this will fix everything :-D

Admin
Andreas Baumann commented on 04.03.2020 19:08

If that doesn't help, I'm sure file has again some libseccomp issues which
need fixing in the code itself.
In contrast to chromium we can safely disable seccomp support in file/libmagic.

Admin
Erich Eckner commented on 04.03.2020 21:47

file 5.38-3.2 is still broken:

  -> Stripping unneeded symbols from binaries and libraries...
find ...
file: ./usr/bin/hashcash
/usr/share/makepkg/tidy/strip.sh: line 98:  3692 Bad system call         file -bi "$binary" 1>&2
dismissed:  
file: ./usr/bin/sha1
/usr/share/makepkg/tidy/strip.sh: line 98:  3695 Bad system call         file -bi "$binary" 1>&2
dismissed:  
file: ./usr/share/man/man1/hashcash.1
/usr/share/makepkg/tidy/strip.sh: line 98:  3698 Bad system call         file -bi "$binary" 1>&2
dismissed:  
  -> Compressing man and info pages...

I'd say: it's up to your skills, now, Andreas

Admin
Andreas Baumann commented on 05.03.2020 08:52

It was fakeroot triggering a bad syscall at msgget when running file in strip.sh
Adding the -S in strip.sh helps.

The patched 'pacman' package was errornously overwriting a patch from upstream
which added -S to the file call in strip.sh.

Loading...

Available keyboard shortcuts

Tasklist

Task Details

Task Editing