tech-userlevel archive

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

Re: sysupgrade in src?



> Date: Fri, 15 Apr 2022 15:29:49 +0000
> From: nia <nia%NetBSD.org@localhost>
> 
> -a             etcupdate can automatically update files which have not
>                been modified locally.  The -a flag instructs etcupdate to
>                store MD5 checksums in /var/etcupdate and use these
>                checksums to determine if there have been any local
>                modifications.
> 
> -l             Automatically skip files with unchanged RCS IDs.  This has
>                the effect of leaving alone files that have been altered
>                locally but which have not been changed in the reference
>                files.  Since this works using RCS IDs, files without RCS
>                IDs will not be skipped even if only modified locally.
>                This flag may be used together with the -a flag described
>                above.
> 
> Downside: this doesn't work for modified files without RCS IDs, which
> of course means that etcupdate prompts about /etc/passwd (etc.)
> every single time.

I have never found these options to be useful after struggling to get
value out of etcupdate.  The basic problem is that it's not doing a
three-way merge, and it should.  I drafted a utility to do this last
year with a couple different usage models for experimentation:

https://www.netbsd.org/~riastradh/tmp/20210108/etcmerge.1.html

It needs to be integrated into a system upgrade process that
automatically stores away the current etc.tgz so it can do the
three-way merge later.  I started working on that last year, so it
could be integrated into how releng builds are done to make manifests
for upgrade channels and incremental update tar sets for patch
releases, but got sidetracked with other things like drm.


Home | Main Index | Thread Index | Old Index