On Thu, Aug 10, 2017 at 11:05:06PM +0000, Ben Woods wrote:
> On Thu, 10 Aug 2017 at 11:35 pm, Matthew Seaman <matt...@freebsd.org> wrote:
> 
> > On 10/08/2017 16:21, Glen Barber wrote:
> > >> * Since we have no mechanism of properly merging changes to /etc
> > >> we simply copy files as needed with pc-updatemanager, and it is
> > >> difficult to maintain what should be updated, merged, or removed.
> > >>
> > > This is another long-standing item in the list of things to fix, indeed.
> >
> > The idea floated at BSDCam was to have a package that would install a
> > pristine copy of the /etc files under /var/db/etcupdate and prompt the
> > user to then use that tool to update or install their configs.  That
> > should provide a nice compromise between having the files available from
> > pkgs and not enforcing a specific mechanism (tools, not policy) to
> > update /etc.
> >
> I haven't attended either of the conferences, and I'm sure this would have
> been discussed, but for those of us who weren't there:
> 
> Pkgng has 3-way merge capability (copied from fossil-scm in pkg 1.4.0). Why
> are we considering using it? Not having ever seen this functionality used,
> I would have thought the only things to do would be agree on where the
> pristine old copy would be stored (.sample files in /etc?) and perhaps
> improve pkgng if the user experience isn't satisfactory.
> 

The problem isn't with pkg(8) ability to do a 3-way merge, but the way
the relevant files are handled and installed by the installworld and
distribute targets.

Last I messed with etc/Makefile, for example, everyone using a packaged
base that upgraded during a 12-hour timeframe (give or take) ended up
with their /etc/master.passwd being overridden.  This is the kind of
fallout I do not want to experience again.

I have been wanting to refactor etc/Makefile for some time, but I am not
confident that rewriting it to meet packaged base needs is sufficient.
I think we should instead use the tools that exist to do what they are
written to do, regardless of an etc/Makefile rewrite.

Hopefully this clarifies it a bit more.

Glen

Attachment: signature.asc
Description: PGP signature

Reply via email to