Updating to HEAD removes /etc/rc.subr?

Emmanuel Vadot manu at bidouilliste.com
Fri Sep 27 09:30:54 UTC 2019


 Hello Matthew,

On Sat, 21 Sep 2019 11:47:05 +0200
Matthew Seaman <matthew at FreeBSD.org> wrote:

> On 21/09/2019 10:16, Matthew Seaman wrote:
> > On 21/09/2019 09:59, Matthew Seaman wrote:
> >> So, I have a VM running current which I maintain by building packages.
> >> On doing a routine update, I see the following:
> >>
> >> ```
> >> codling:~:# etcupdate
> >> Warnings:
> >>   Removed file changed: /etc/rc.d/growfs
> >>   Removed file changed: /etc/rc.subr
> >> ```
> >>
> >> Looks like there were quite a lot of changes in the packaging layout
> >> between the last time I updated (Git says: b31afabd4c1-c262274(master))
> >> and yesterday when I pulled the latest source from git.  One of those
> >> changes is that there seems to be a new FreeBSD-rc base package:
> >>
> >> ```
> >> codling:/usr/src:# pkg install FreeBSD-rc
> >> Updating FreeBSD repository catalogue...
> >> pkg: http://pkg.FreeBSD.org/FreeBSD:13:amd64/latest/meta.txz: No address
> >> record
> >> repository FreeBSD has no meta file, using default settings
> >> FreeBSD repository is up to date.
> >> Updating base repository catalogue...
> >> base repository is up to date.
> >> All repositories are up to date.
> >> Checking integrity... done (0 conflicting)
> >> The following 1 package(s) will be affected (of 0 checked):
> >>
> >> New packages to be INSTALLED:
> >> 	FreeBSD-rc: 13.0.s20190920215733 [base]
> >>
> >> Number of packages to be installed: 1
> >>
> >> Proceed with this action? [y/N]: y
> >> [1/1] Installing FreeBSD-rc-13.0.s20190920215733...
> >> [1/1] Extracting FreeBSD-rc-13.0.s20190920215733: 100%
> >> ```
> >>
> >> Unfortunately it didn't get installed as part of the routine update.
> >>
> >> Easily fixed (as above), but now I'm wondering what other packages I
> >> should have installed but don't.  Is there a meta-port or some such that
> >> will ensure my FreeBSD system has all the essentials needed to boot?
> >>
> > 
> > Seems that the bootloader also goes missing in much the same way...
> > 
> > ```
> > codling:/usr/home/matthew:# pkg search -x '^FreeBSD.*boot'
> > FreeBSD-bootloader-13.0.s20190920215733 Bootloader
> > codling:/usr/home/matthew:# pkg info -x '^FreeBSD.*boot'
> > pkg: No package(s) matching ^FreeBSD.*boot
> > codling:/usr/home/matthew:# pkg install FreeBSD-bootloader
> > Updating FreeBSD repository catalogue...
> > FreeBSD repository is up to date.
> > Updating base repository catalogue...
> > base repository is up to date.
> > All repositories are up to date.
> > Checking integrity... done (0 conflicting)
> > The following 1 package(s) will be affected (of 0 checked):
> > 
> > New packages to be INSTALLED:
> > 	FreeBSD-bootloader: 13.0.s20190920215733 [base]
> > 
> > Number of packages to be installed: 1
> > 
> > The process will require 4 MiB more space.
> > 
> > Proceed with this action? [y/N]: y
> > [1/1] Installing FreeBSD-bootloader-13.0.s20190920215733...
> > [1/1] Extracting FreeBSD-bootloader-13.0.s20190920215733: 100%
> > ```
> > 
> > Ooops.
> > 
> 
> Oh, and it replaced /etc/master.passwd and /etc/mail/aliases with the
> default versions.  Thank heavens for /var/backups
> 
> Double oops.  Nothing particularly disastrous, so long as you're
> expecting the breakage and know how to fix things.
> 
> 	Cheers,
> 
> 	Matthew

 So, a number of changes append recently in pkgbase world. The first is
that some packages were removed (content merged into other packages)
and other were created (content moved from existing packages to the new
one). Both case are problematic for people who use pkgbase (and you
shouldn't use it unless for dev/test right now) as new packages aren't
installed automatically (unless if they are dependancies of existing
packages) and old packages that don't exist anymore aren't deleted (I
think that pkg autoremove might do the right thing for this).
 The second one is that a lot of files were not packaged (like
master.passwd and related files), they are now and marked as config
file so pkg will do a 3-way-merge on them. But pkg used to blindly
overwrite a file if it wasn't part of any packaged before, this is now
fixed with
https://github.com/freebsd/pkg/commit/344fc3c32556af7bb9dc5899edcc857f7c0fce0f
 The old files will be copied into <file>.pkgsave

 I also noticed that you are using etcupdate, do not use it, it will
just cause more problems. All config files are taggued in the package
and pkg will update them. But if you found some config file that aren't
taggued please tell me and I'll fix those. (same comment for
mergemaster, both are tools that are deprecated by pkgbase).

 Cheers,

-- 
Emmanuel Vadot <manu at bidouilliste.com>


More information about the freebsd-pkgbase mailing list