tech-pkg archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
TOOL_DEPENDS vs pbulk fallout
There was one critical part of the BUILD_DEPENDS to TOOL_DEPENDS
conversion that was overlooked. BUILD_DEPENDS are encoded into the
package metadata, and can be retrieved with "pkg_info -N" to show all of
the packages a particular package was built with.
pbulk uses this information to determine whether a dependency has
changed, and therefore whether a downstream package needs to be rebuilt
or not.
I just noticed this because cargo-c introduced a serious bug in 0.9.26
where the encoded SONAME is incorrect:
https://github.com/lu-zero/cargo-c/issues/345
Packages that depend on cargo-c build fine, for example libimagequant,
but any package that then depends on those packages, for example gd,
will fail to build because the libraries cannot be found, e.g.:
https://us-central.manta.mnx.io/pkgsrc/public/reports/trunk/tools/20231012.1136/gd-2.3.3nb10/install.log
cargo-c was updated to 0.9.27, and this somewhat fixes the issue, but
will now cause PLIST failures in any package that depends on it, because
they no longer create libfoo.so.0 symlinks.
However, pbulk is no longer rebuilding any package that depends on
cargo-c, and thus we are neither:
* getting build failures caused by the cargo-c update, because pbulk
thinks they do not need rebuilding.
* getting build fixes for downstream packages, once the PLIST issues
have been fixed.
An option would be to include all "tool" depends in @blddep too, but
that feels wrong, and I don't know how it will handle native tools.
I'm going to leave this to others more familiar with the TOOL_DEPENDS
conversion, but it needs fixing quite urgently.
--
Jonathan Perkin - mnx.io - pkgsrc.smartos.org
Open Source Complete Cloud www.tritondatacenter.com
Home |
Main Index |
Thread Index |
Old Index