NetBSD-Users archive

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

Re: Necessity of rebuilding pkgsrc after updating the system



Martin Husemann <martin%duskware.de@localhost> writes:

> The basic idea is: you can upgrade the base system and keep using the
> old pkgs just fine.

To expand: this is true because the NetBSD 7 system (installed on top of
6, so it has the 6 libraries also) will run NetBSD 6 binaries, because
the libs are there and because the kernel emulates system calls.

> However, if you start later updating pkgs, it gets more tricky: you can
> keep updating binary pkgs build on the old (original) system version
> (or with a chroot setup and some tricks build localy).

Updating some packages leads to trouble because if a library major
version changed, rebuilding a package will then depend on the netbsd-7
version of the library, not the netbsd-6 version.  The problem is that
then packages that depend on that package might have the old dependency,
which leads to linking two copies of the same library, which doesn't work.

> If you start building new/updated pkgs from source on the updated system,
> all bets are off and best practices say: start from scratch and rebuild
> all your pkgs.

Another approach, which will have a period of possible trouble and then
be ok is to mark all packages as needing rebuild and then running
pkg_rolling-replace.

cd /var/db/pkg
pkg_admin set rebuild=YES *
cd /usr/pkgsrc
pkg_rolling-replace -uvk < /dev/null > RR.000 2>&1

If you are using binary packages, and there are new binary packages, you
can use pkgin to export the list of manual packages, remove everything
and reinstall.  I am not aware of netbsd-7 package builds being posted,
but maybe it's happened (would be great if it did).

Attachment: pgp_5qtI8l8MK.pgp
Description: PGP signature



Home | Main Index | Thread Index | Old Index