Packaging the FreeBSD base system with pkg(8)
John Baldwin
jhb at freebsd.org
Wed Apr 6 17:56:41 UTC 2016
On Tuesday, April 05, 2016 12:22:49 PM Gary Jennejohn wrote:
> On Tue, 5 Apr 2016 10:22:04 +0100
> David Chisnall <theraven at FreeBSD.org> wrote:
>
> > On 5 Apr 2016, at 10:07, Gergely Czuczy <gergely.czuczy at harmless.hu> wrote:
> > >
> > > Also, quite often entries from the base system are changed
> > > manually, think of root's/toor's password. Are such cases
> > > going to be dealt with properly between upgrades, including
> > > self-built-and-packaged base systems? Currently it can be a
> > > PITA with mergemaster to handle things like master.passwd
> > > properly between upgrades, automation so far wasn't famous on
> > > doing it properly.
> >
> > Mergemaster uses a 2-way merge. It has the version that you
> > have installed and the version that's being proposed for
> > installation. Etcupdate and pkg perform a 3-way merge. It has
> > the pristine version, the version that you have made changes
> > to, and the new version. If you have changed an entry and so
> > has the package, then you will get a conflict that you have to
> > resolve manually. If you have added lines and so has the
> > upstream version, then that should cleanly apply. Similarly,
> > if you and upstream have both modified different lines, then
> > there should be no problem.
> >
>
> Will there be an option not to merge? I never update /etc when
> I do installworld because what I have works for me and I see no
> need to make any changes to a working system.
Some parts of /etc (like /etc/rc.d) aren't really config files and need to
be updated. You wouldn't have working wireless after a 10 -> 11 upgrade if
you didn't update /etc/rc.d (and some helper scripts those use like
/etc/rc.subr and /etc/network.subr). The files in /etc that are config
files rarely change in FreeBSD in my experience compared with the
"non-config" files like /etc/rc.d/*. I rarely encounter conflicts when using
etcupdate personally, but both etcupdate and mergemaster can be configured to
ignore individual files (or globs of files).
--
John Baldwin
More information about the freebsd-pkgbase
mailing list