tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Broken implicit DEPENDS?



* On 2023-11-21 at 22:30 GMT, Thomas Klausner wrote:

On Tue, Nov 21, 2023 at 10:18:15PM +0000, Jonathan Perkin wrote:
The bulk build still has a few thousand packages to go, but the ones it has
found so far are:

  https://gist.github.com/jperkin/cf003b2582b2325de084948be2d6384f

Prior to my change, only eterm was flagged as broken.

I took a look at one of them, p5-ap24-libapreq2, from www/p5-libapreq2.

It is in the list as:
p5-ap24-libapreq2-2.17nb1/install.log:ERROR: /opt/pkg/lib/libapr-1.so.0: apr-1.7.4 is not a runtime dependency
p5-ap24-libapreq2-2.17nb1/install.log:ERROR: /opt/pkg/lib/libaprutil-1.so.0: apr-util-1.6.3nb3 is not a runtime dependency
p5-ap24-libapreq2-2.17nb1/install.log:ERROR: /opt/pkg/lib/libexpat.so.1: expat-2.5.0 is not a runtime dependency

I built the binary package, deleted everything and ran pkg_add on it
-- and it pulled in expat and apr-util and apr. So this looks ok to me.

Is this a false positive?

Yeh it looks like it.  The problem is:

  BUILDLINK_DEPMETHOD.apache?=    build
  .if defined(APACHE_MODULE)
  BUILDLINK_DEPMETHOD.apache+=    full
  .endif

in apache24/buildlink3.mk.

So, when building p5-ap24-libapreq2, apache24 is listed as only a build dependency, and so the script (I would say correctly) warns that we are using a shared library from a dependency that won't in theory be available at runtime.

However, ap2-perl has a full dependency on apache, and so is pulled in by pkg_add.

I think this is probably a bug, and that section of code is trying to be too clever for its own good and should just be removed, leaving apache24 to be a regular full dependency like everything else.

--
Jonathan Perkin   -   mnx.io   -   pkgsrc.smartos.org
Open Source Complete Cloud   www.tritondatacenter.com


Home | Main Index | Thread Index | Old Index