Page MenuHomeFreeBSD

www/apache24: resolve plist error and strip issue, pet poudriere warnings
ClosedPublic

Authored by brnrd on Jan 18 2021, 4:50 AM.

Details

Summary

The root cause is the port is performing strip for non-binary files at post-install target.

strip leaves temporary files named like sbin/ecp.fQXqex4S if it failed to strip. As a result, poudriere complains there's a orphaned file.

Error: Orphaned: sbin/ecp.fQXqex4S

And what is worse, actually binaries are not stripped at all. If even a single file fails to strip, all files are not stripped. In the following example, not only c.plaintext but {a,b,c}.binary are not stripped.

$ strip a.binary b.binary c.plaintext d.binary

I've changed post-install target to perform strip only for executables and shared libraries. Also pet the following poudrier warnings & errors.

Warning: 'sbin/checkgid' is not stripped consider trying INSTALL_TARGET=install-strip or using ${STRIP_CMD}
Warning: 'sbin/htcacheclean' is not stripped consider trying INSTALL_TARGET=install-strip or using ${STRIP_CMD}
Warning: 'sbin/httpd' is not stripped consider trying INSTALL_TARGET=install-strip or using ${STRIP_CMD}
Warning: 'sbin/rotatelogs' is not stripped consider trying INSTALL_TARGET=install-strip or using ${STRIP_CMD}
Warning: 'sbin/fcgistarter' is not stripped consider trying INSTALL_TARGET=install-strip or using ${STRIP_CMD}
Error: /usr/local/bin/ab is linked to /usr/local/lib/libdb-5.3.so.0 from databases/db5 but it is not declared as a dependency
Warning: you need USES+=bdb
Error: /usr/local/bin/ab is linked to /usr/local/lib/libgdbm.so.6 from databases/gdbm but it is not declared as a dependency
Warning: you need LIB_DEPENDS+=libgdbm.so:databases/gdbm

See also: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=252792

Diff Detail

Repository
rP FreeBSD ports repository
Lint
Lint Skipped
Unit
Unit Tests Skipped

Event Timeline

meta requested review of this revision.Jan 18 2021, 4:50 AM
meta updated this revision to Diff 82449.

Bump PORTREVISION due to package change (binaries are stripped)

brnrd added a reviewer: meta.
brnrd added a subscriber: brnrd.

I've seen these warnings too, but haven't experienced errors.

I've got a different way of solving this, will push this here soon for you to check.

Makefile
20

Dependency is from apr not from Apache httpd

22

Dependency is from apr not from Apache httpd

Use build/rules.mk to strip binaries

  • Doesn't work for modules
  • Emits errors for strip on non-binaries, but these scripts are installed anyway
  • no ecp.random files found in stagedir

Check build log https://brnrd.eu/poudriere/data/122libre-default-ports_ssl/2021-01-31_16h19m09s/logs/apache24-2.4.46_1.log

Mind you, this is built with apr without database support.

strip: file format not recognized
strip: file format not recognized
strip: file format not recognized
/usr/bin/strip /wrkdirs/usr/ports/www/apache24/work/stage/usr/local/libexec/apache24/mod_*.so

Hi, FreeBSD 13 stop with an error: http://joneumbox.org/data/13amd64-ports/2021-02-01_20h18m22s/logs/errors/apache24-2.4.46.log

> Running Q/A tests (stage-qa)

Error: /usr/local/bin/ab is linked to /usr/local/lib/libdb-5.3.so.0 from databases/db5 but it is not declared as a dependency
Warning: you need USES+=bdb
Error: /usr/local/bin/ab is linked to /usr/local/lib/libgdbm.so.6 from databases/gdbm but it is not declared as a dependency
Warning: you need LIB_DEPENDS+=libgdbm.so:databases/gdbm

> Checking for pkg-plist issues (check-plist)

> Parsing plist

> Checking for items in STAGEDIR missing from pkg-plist

Error: Orphaned: %%DATADIR%%/build/ecp.8y3PHp73
Error: Orphaned: %%DATADIR%%/build/ecp.IYZ0QIkf
Error: Orphaned: %%DATADIR%%/build/ecp.V6f4cfIk

> Checking for items in pkg-plist which are not in STAGEDIR

> Error: Plist issues found.

  • Error code 1
meta requested changes to this revision.Feb 8 2021, 1:19 PM

Same result as joneum.

This revision now requires changes to proceed.Feb 8 2021, 1:19 PM

Add cleanup of strip temp files.

We're still using the build/rules.mk features wherever possible.
See elfcopy for the temp filename, seems stable

LGTM. Also take care of suppressing errors of stage-qa.

This revision is now accepted and ready to land.Feb 15 2021, 6:14 AM
This revision was automatically updated to reflect the committed changes.