Subject: Re: Debugging pkg_comp
To: Aaron J. Grier <email@example.com>
From: Greg Troxel <firstname.lastname@example.org>
Date: 04/08/2005 07:41:03
I don't immediately know the answer this... but pkg_comp is a giant
shell script, so it should be find-out-able.
It may be that in 2.0.2 the pkg tools are out of date, and that you've
already built pkg_install in your running system. But, the release
sets that you got or built to make the chroot from surely have the
code from 2.0.2, and if that's older than pkgsrc wants, it will
PKG_COMP ==> Checking if pkg_install is up to date
PKG_COMP ==> pkg_install is out of date; rebuilding
I suggest reading pkg_comp to see where it does this:
# Ensure that the version of pkg_install inside the sandbox is new
# enough to work with pkgsrc. If not, rebuild it.
# We assume filesystems are mounted!
echo "PKG_COMP ==> Checking if pkg_install is up to date"
cat >> $script <<EOF
fail=\$(make show-var VARNAME=PKG_FAIL_REASON)
if echo \$fail | grep "package tools installed on this system are out of date" >/dev/null; then
echo "PKG_COMP ==> pkg_install is out of date; rebuilding"
make && make install && make clean
chmod +x $script
chroot $DESTDIR /pkg_comp/tmp/`basename $script`
So, it is asking the pkgsrc mk files, and doing the install in order
to avoid this happening on the first package.
Greg Troxel <email@example.com>