When the 'man' package is upgraded, the code in /etc/postinstall/man.sh.done does not update the configuration file for 'man' (i.e., /usr/share/misc/man.conf) even if the configuration file has not been changed by the user. The update code in 'man.sh.done' does not check to see whether the configuration file has been changed. It only checks to see if it exists already. Possibly, something like the file /etc/preremove/base-files-manifest.lst should be created for 'man'. Or, if the 'base-files' package is a prerequisite to 'man' (and therefore always installed by 'setup.exe') then the /usr/share/misc/man.conf could be added to 'base-files-manifest.lst'. $ cygcheck -c base-files man Cygwin Package Information Package Version Status base-files 3.1-4 OK man 1.5o-1 OK
See the thread about http://cygwin.com/ml/cygwin/2004-11/msg00998.html
(In reply to comment #1) See also http://cygwin.com/ml/cygwin/2004-11/msg01005.html Technically, the above suggestion proposes a change in the base-files package, so should this be a separate bugzilla entry?
Unless the /usr/share/misc/man.conf is made part of base-files I don't think that this is a good thing. Manifests should only contain files which are part of the package which installed them.
>Unless the /usr/share/misc/man.conf is made part of base-files I don't think >that this is a good thing. Manifests should only contain files which are part >of the package which installed them. I agree that the manifest for 'man' belongs with the 'man' package and not with the 'base-files' package. It brings up a dependency problem if the common code suggested by Igor P. was factored out: 1. base-files: - /etc/preremove/base-files.sh - /etc/preremove/base-files-manifest.lst 2. man: - /etc/preremove/man.sh *NEW* - /etc/preremove/man-manifest.lst *NEW* 3. /etc/preremove/common.sh (NEW) - where would this belong?
> 1. base-files: > 2. man: > 3. /etc/preremove/common.sh (NEW) - where would this belong? Good question :) Choices: new package/base-files/...? Just for peoples information, I nicked the manifest stuff from the gcc preremove scripts :)
>> 1. base-files: >> 2. man: >> 3. /etc/preremove/common.sh (NEW) - where would this belong? > > Good question :) Choices: new package/base-files/...? My guess is 'cygwin', because it is a prerequisite of all packages, correct? If not 'cygwin', then some other package that is a prerequisite of all packages because all packages may have user-modifiable configuration files that could need updating (if not modified) with (new) default configuration files when they (the packages) are updated.
Humm, I don't think cfg would be happy about that. But I could be wrong :) Time to return this bug to the email lists?
If a prerequisite package cannot be agreed upon (it may be too early), then each package's script could simply include the common code, instead of factoring it out to a single script.
fixed with man-1.5o1-1 http://cygwin.com/ml/cygwin-apps/2004-12/msg00060.html