mail-mta/sendmail-8.14.2:20081216-013747.log: * QA Notice: Pre-stripped files found:
mail-mta/sendmail-8.14.2:20081216-013747.log: * /var/tmp/portage/mail-mta/sendmail-8.14.2/image/usr/sbin/makemap
mail-mta/sendmail-8.14.2:20081216-013747.log: * /var/tmp/portage/mail-mta/sendmail-8.14.2/image/usr/sbin/mail.local
mail-mta/sendmail-8.14.2:20081216-013747.log: * /var/tmp/portage/mail-mta/sendmail-8.14.2/image/usr/sbin/praliases
mail-mta/sendmail-8.14.2:20081216-013747.log: * /var/tmp/portage/mail-mta/sendmail-8.14.2/image/usr/sbin/editmap
mail-mta/sendmail-8.14.2:20081216-013747.log: * /var/tmp/portage/mail-mta/sendmail-8.14.2/image/usr/sbin/smrsh
mail-mta/sendmail-8.14.2:20081216-013747.log: * /var/tmp/portage/mail-mta/sendmail-8.14.2/image/usr/sbin/mailstats
mail-mta/sendmail-8.14.2:20081216-013747.log: * /var/tmp/portage/mail-mta/sendmail-8.14.2/image/usr/sbin/sendmail
mail-mta/sendmail-8.14.2:20081216-013747.log: * /var/tmp/portage/mail-mta/sendmail-8.14.2/image/usr/bin/rmail
mail-mta/sendmail-8.14.2:20081216-013747.log: * /var/tmp/portage/mail-mta/sendmail-8.14.2/image/usr/bin/vacation
Portage warns about pre-stripped files being installed into the image directory; this is a bad thing since it makes Portage's splitdebug feature useless, and it stops the users and the developers from looking into backtraces with full debug information available.
For the developers going to look into it, what you have to look out for, to
find what is stripping the files, is one of these conditions:
- explicit "strip" command run on the produced files;
- "install -s" command to install the binary files;
- "-Wl,-s" flag passed during linking
Remove the "strip" commands, remove the "-s" option at install, and remove
"-Wl,-s" and the problem should be gone.
This ebuild also ignores user LDFLAGS, though it tends to escape notice since it has hardcoded linking flags of "-Wl,-z,now -s". The problem is that the build system does not use LDFLAGS directly, but instead the value of the m4 variable confLDOPTS. Several other conf* m4 variables were already set by the ebuild, but not linker flags. I will attach a patch that removes the -s and adds the ability for the ebuild to insert user LDFLAGS. With this change, I get a sendmail that is not prematurely stripped, and which now respects my use of -z,relro.
Created attachment 177296 [details, diff]
Patch files/site.config.m4 and sendmail-8.14.2.ebuild to honor $LDFLAGS
Apply this patch to update sendmail-8.14.2.ebuild to recognize a new substitution, @@confLDOPTS@@ and use it to insert user $LDFLAGS and to update files/site.config.m4 to remove the explicit strip and add the substitution mark. I left the explicit -Wl,-z-now in the m4 file. Users who want lazy binding can add -Wl,-z,lazy to their $LDFLAGS to override it.
Fixed in 8.14.3-r1.