NetBSD-Users archive

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

Re: upgrade - what will happen?



Fekete Zoltán <fekete.zoltan%minux.hu@localhost> writes:

> I've 2 installations of NetBSD 7.2.
> One of them is an online multifunction web server, the other one is a backup.
>
> I want to upgrade both to NetBSD 8.0.
> I've read the upgrade documentation of the core system, and it's very detailed, no question about it.
>
> However I've a question regarding pkgsrc. There are several own-backed
> pkgsrc packages (build is performed always on the backup machine, and
> pkgin is used to update the online server) installed.
> If I upgrade the kernel and the core system to 8.0, what will happen to the packages which are still built for 7.2?
> Would they work? If not, what's the recommended way to upgrade them?

Piling on to the other comments (which I agree with), some
cautions/advice:

  updating kernel/user should result in the old packages being totally
  ok, because the old base libraries remain.  Yes, there could be some
  package that really does depend on kernel groveling, but that's pretty
  rare.

  For pkgsrc to be sound, it needs two things:
    - all packages built for the same OS version (because linking in two
      versions of base libraries is a mess)
    - all packages built from the same pkgsrc tree
  Note that I did not say "packages built at the same time".

  In general, old pkgsrc branches do not necessarily work on new OS
  releases, but NetBSD 8 has been around long enough that a pkgsrc
  branch new enough to work on NetBSD 8 is not hard to find :-)

  Therefore, I try to separate pkgsrc upgrades and OS upgrades, and
  pkgsrc refreshes to match OS.  I also like to do things more times
  with less complexity each, as I perceive effort to grow nonlinearly
  with complexity.  So therefore I would:

    - update pkgsrc on the backup/build/test machine to 2019Q1.  Rebuild
      all packages.  When ok, use pkgin to update production.

    - update the backup machine to NetBSD 8.

    - Rebuild all packages and test, on the backup machine.

    - Update production to NetBSD 8.  Perfectly ok to have it run this
      way for a while.

    - Update production via pkgin.  Be careful that you have no leftover
      packages built under netbsd-7.

A minor note on something Benny said:

  pkg_admin set rebuild=YES \*
  pkg_rolling-replace -v

This is fine, but when using pkg_rr for this sort of use, often you want
to force packages to be from the current pkgsrc tree.  So I usually pass
-u.  In this case, rebuild is set on everything, and thus they will all
be rebuilt, so it doesn't matter.  But if you update your pkgsrc tree to
a new branch, set rebuild on a few, and invoke pkg_rr with -v (and not
-u), then you end up with packages from mixed branches.

Also, I use -k, and then go back to address errors, to maximize what's
done while I'm not paying attention.  No right or wrong here, just
preference.


    


Home | Main Index | Thread Index | Old Index