svn commit: r193635 - head/etc

Doug Barton dougb at FreeBSD.org
Fri Jun 19 05:24:48 UTC 2009


Dag-Erling Smørgrav wrote:
> Doug Barton <dougb at FreeBSD.org> writes:
>> Dag-Erling Smørgrav <des at des.no> writes:
>>> Great, now mergemaster blew away my ntp.conf and installed this one
>>> instead.  Apparently, it thinks AUTO_UPGRADE means it's fine to
>>> overwrite an existing file with a new one...
>> Yes, that's exactly what the option means. The problem comes in
>> because it's a new file, which means that there is no record of it in
>> the mtree file, so it does not show up as "changed."
> 
> Hmm, I'm not sure I follow, since I'm not familiar with the innards of
> mergemaster,

The -U option works by comparing the installed files to the mtree file
created from the unmodified source files. If the file is listed as
having been changed, the -U option ignores it. If not, it
auto-installs it.

> but can you tell it's new?  If you can, you can check if
> there's already a file of the same name before installing the new one?

The whole point of the option is to automatically overwrite the
existing file if it isn't listed as being changed.

>> FWIW, this is one of the reasons that I resisted the idea of using
>> mtree for this function, and continue to resist the idea of the -U
>> option being the default.
> 
> I didn't realize it was the default - but I really, really like it.  It
> makes mergemaster a *lot* easier to use.

It's not the default. Corner cases like this one are the reason I
resist making it the default.

>> There is no way that I can see to have mtree list the files that have
>> _not_ changed, which would be the safest way to implement this
>> option.
> 
> Doesn't sound unsurmountable.
> 
>> Meanwhile I'm sure you were able to restore from backups
> 
> Of course (not that there was much to restore - just "server ntp.des.no
> iburst maxpoll 6"), and now that I know about it, I can list it in
> IGNORE_FILES along with motd and printcap.

Now that you've had a successful run with the new sources the
signature for the stock file will be in mergemaster's mtree file so
you won't have to worry. You might also consider adding the svn Id for
the source file which will allow mergemaster to ignore it altogether
at least until it changes.


hope this helps,

Doug

-- 

    This .signature sanitized for your protection



More information about the freebsd-hackers mailing list