Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 12 May 2019 09:30:19 +0200
From:      mj-mailinglist@gmx.de
To:        "Emmanuel Vadot" <manu@bidouilliste.com>
Cc:        freebsd-pkgbase@freebsd.org
Subject:   Aw: Re: Existing passwd and group files overwritten by pkgbase upgrade
Message-ID:  <trinity-881e4f79-ad36-4e97-88c6-272be38df868-1557646219741@3c-app-gmx-bs32>
In-Reply-To: <20190511154410.1a74fecbd8cecef669bb6acf@bidouilliste.com>
References:  <trinity-4cdcf66c-108d-4070-a589-654d4dcb4179-1557581001370@3c-app-gmx-bs17> <20190511154410.1a74fecbd8cecef669bb6acf@bidouilliste.com>

next in thread | previous in thread | raw e-mail | index | archive | help

> > Hi Ashley,
> >
> > I guess this change is the cause: https://reviews.freebsd.org/D20173
> > It marks the group and the master.passwd file for inclusion in the 
> > FreebSD-runtime package.
> > I tried this change on my 12 system, the files are included in the
> > package. You also see them in the runtime.plist file, but as regular file,
> > not marked as a config file, like the motd file for example.
> >  
> > ...
> > @(root,wheel,0644,) /etc/group
> > @(root,wheel,0600,) /etc/master.passwd
> > @config(root,wheel,0644,) /etc/motd
> > ...
> >  
> > i guess now the existing file is replaced by the new file, instead of beeing
> > merged with it.
> > i think, the tag "config" must be added to the above patch. But i am not sure,
> > what the sytnax looks like for this.
> >  
> > --
> > Martin
> >  
> > > After building and installing -CURRENT r347469 using in-tree pkgbase, I
> > > discovered that my /etc/group, /etc/passwd, /etc/master.passwd,
> > > /etc/pwd.db and /etc/spwd.db had been overwritten.
> > > 
> > > I encountered this after running 'make packages', installing into a
> > > ZFS Boot Environment using bectl to create and mount a new BE, running
> > > 'pkg -r $mounpoint upgrade -y' and 'pkg -r $mountpoint -yg "FreeBSD-*"'
> > > to upgrade the packages and insure that new base packages got installed,
> > > and finally unmounting and activating the BE.
> > > 
> > > ~Ashley Chase
> 
> 
> Yes sorry that's my fault.
> I beleive the included patch should work but I don't have time to test
> right now.
> 
> diff --git a/etc/Makefile b/etc/Makefile
> index ab70a94bc761..4b60868fe3dc 100644
> --- a/etc/Makefile
> +++ b/etc/Makefile
> @@ -69,9 +69,9 @@ distribution:
> rc.firewall ${DESTDIR}/etc;
> .endif
> cd ${.CURDIR}; \
> - ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 644 -T
> "tags=package=runtime"\
> + ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 644 -T
> "tags=package=runtime,config"\ ${BIN1} ${DESTDIR}/etc; \
> - ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 600 -T
> "tags=package=runtime"\
> + ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 600 -T
> "tags=package=runtime,config"\ master.passwd ${DESTDIR}/etc;
> 
> .if ${MK_TCSH} == "no"
> 
> I'll try to test soon and commit.
> 
> --
> Emmanuel Vadot <manu@bidouilliste.com> <manu@freebsd.org>

I added the change to the Makefile and run make packages again, now the
runtime.plist entries for groups and master.passwd have the "config"
attribute:

...
@config(root,wheel,0644,) /etc/group
@config(root,wheel,0600,) /etc/master.passwd
...

--
Martin



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?trinity-881e4f79-ad36-4e97-88c6-272be38df868-1557646219741>