tags 404861 -moreinfo thanks Frank Küster <[EMAIL PROTECTED]> wrote:
> Paul Slootman <[EMAIL PROTECTED]> wrote: > >>> > IMHO, comments should >>> > be preserved, >>> >>> Often this is possible using sed on the configuration file. >> >> The thing is, upstream provides a quite complicated perl script to >> handle the upgrades; and that script is pretty good at doing that, >> apart from the fact that comments aren't preserved. >> It will be very difficult to make it preserve comments, if not >> impossible. > > I looked at the script - it *has* clever code to preserve comments. Sorry, I was wrong here: It has code to extract the comments from the *new* version of the file and mix them with the updated non-comment parts. Which sounds like a very clever idea; outdated comments explaining outdated syntax are harmful. Still, user-provided comments are worthwile preserving. Maybe using ucf and it's --three-way merging option could help here. I have no experience, though, whether this can be used if the version we upgrade from did not use this option. But in any case, it might be a good idea to get a version of wwwoffle into etch that uses ucf --three-way for wwwoffle.conf, so that this bug can finaly be resolved post-etch. The general scheme for this would be: - copy existing /etc/wwwoffle/wwwoffle.conf to a temporary directory - let upgrade-wwwoffle.pl handle this tempfile to produce the default new file - call ucf --three-way $tempdir/wwwoffle.conf /etc/wwwoffle/wwwoffle.conf This will not ask any question if there are no comment changes. If there are, it will show a diff where one version has only old-package-comments+user-comments, and the other has new-package-comments. Plust the usual things in "postrm purge", checking whether ucf is still there. Unless ucf itself provides options to do a three-way merge when used for the first time, it could be tweaked to do it like this: - ship the old default wwwoffle.conf in the deb - in postinst, do mv /etc/wwwoffle/wwwoffle.conf /etc/wwwoffle/backup/wwwoffle.conf ucf --three-way old.default.wwoffle.conf /etc/wwwoffle/wwwoffle.conf cp /etc/wwwoffle/wwwoffle.conf $tmpdir/wwwoffle.conf update-wwwoffle.pl # acts on $tmpdir/wwwoffle.conf # produces $tmpdir/new.default.wwoffle.conf mv /etc/wwwoffle/backup/wwwoffle.conf /etc/wwwoffle/wwwoffle.conf ucf --three-way $tmpdir/new.default.wwoffle.conf /etc/wwwoffle/wwwoffle.conf # this asks questions about comment changes (untested, and I'm going on vacation in a couple of hours). Regards, Frank -- Dr. Frank Küster Single Molecule Spectroscopy, Protein Folding @ Inst. f. Biochemie, Univ. Zürich Debian Developer (teTeX/TeXLive)