Current-Users archive

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

Re: updating pkg osabi/x11-links



"Thomas Mueller" <mueller6724%bellsouth.net@localhost> writes:

> I found x11-links and osabi to be a great nuisance in NetBSD
> 5.1_STABLE on my old computer.

I find them to be a mild nuisance.  Once can almost always just
pkg_delete x11-links as it is a build dependency only, usually.  And
fairly few things depend on osabi.

> At least once with pkg_rolling-replace, I had stops due to packages
> being removed or renamed.

Sure; pkg_rr doesn't handle renames and removed packages.  The
alternative is to set up a bulk build and build all the packages you
need and use pkgin or pkg_chk (or to use binary packages if the default
options are ok).  That may or may not be easier.

> Would pkg_admin rebuild-tree ameliorate this issue, at least
> partially, by not attempting to rebuild dependencies that no longer
> exist?

No.  rebuild-tree is basically like running fsck on the recorded
dependencies.  If they are already correct, it does nothing.   But it
seems that packages end up recording a depending package that isn't
really there, and rebuild-tree fixes that.

It is helpful to remove automatically-installed packages with no
depending packages.   "pkgin ar" does this.   Or you can run pkg_info
and parse the output; the following snippet creates 4 files.

----------------------------------------
# Make a list of packages not required by anything else.
echo
echo "Listing which packages are manual/automatic and required/not-required..."
rm -f PKG.automatic-required PKG.automatic-notrequired \
    PKG.manual-required PKG.manual-notrequired
for d in `cd /var/db/pkg && ls`; do
    D=/var/db/pkg/$d
    DREQ=$D/+REQUIRED_BY
    DINS=$D/+INSTALLED_INFO
    REQ=notrequired
    AUTO=manual
    if [ ! -d $D ]; then
        continue;
    fi
    if [ -s $DREQ ]; then
        REQ=required
    fi
    if [ -f $DINS ] && egrep 'automatic=(yes|YES)' $DINS > /dev/null; then
        AUTO=automatic
    fi
    echo $d >> PKG.$AUTO-$REQ
done
echo "Done listing manual/automatic required/not-required packages."
----------------------------------------

Attachment: pgpnO408LO3wu.pgp
Description: PGP signature



Home | Main Index | Thread Index | Old Index