tech-pkg archive

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

Re: pbulk cyclic dependency



>>>>   NO_PKGTOOLS_REQD_CHECK=yes
>>>>
>>>> to cwrappers[...]
>>
>> This change didn't break the dependency cycle [...]
>
> This may have been due to a failure to re-compute the dependency
> information from scratch.

That wasn't it either.

Trying in the chroot to build pkg_install resulted in

=> Verifying reinstall for ../../pkgtools/mktools
===> Trying to handle out-dated pkg_install...
===> Cleaning for pkg_install-20211115
ERROR: This package has set PKG_FAIL_REASON:
ERROR: Circular dependency detected
*** Error code 1

The "Trying to handle"... message comes from

pkgformat/pkg/depends.mk, specifically:

pkg_install-depends:
        ${RUN}if [ `${PKG_INFO_CMD} -V 2>/dev/null || echo 20010302` -lt ${PKGTOOLS_REQD} ]; then \
        ${PHASE_MSG} "Trying to handle out-dated pkg_install..."; \

PKG_INFO_CMD comes from:

pkgformat/pkg/pkgformat-vars.mk

PKG_INFO_CMD?=                ${PKG_TOOLS_BIN}/pkg_info

and PKG_TOOLS_BIN I think defaults to LOCALBASE = /usr/pkg.

PKGTOOLS_REQD is either

./pkgformat/pkg/pkgformat-vars.mk:PKGTOOLS_REQD=                20191008
./pkgformat/pkg/pkgformat-vars.mk:PKGTOOLS_REQD=                20100914

So...  Whenever your chroot doesn't have any packages installed
at all (as is customary when you start a new pbulk build round)
and pkg_install in particular isn't installed in PKG_TOOLS_BIN,
the pkg_install version is defaulted to 20010302, which is
definately too old.  So it doesn't really matter which version
you have installed in /usr/sbin or /usr/pbulk/sbin, the circular
dependency will trigger anyway.

As a quick fix I tweaked the 20010302 to the version of the tools
installed in /usr/sbin on this 9.0-based system, and a manual
install of pkg_install succeeded, but that's obviously not
committable.

Regards,

- Håvard


Home | Main Index | Thread Index | Old Index