[PATCH] cygcheck -m, --check-mtimes option

Christian Franke Christian.Franke@t-online.de
Wed Aug 13 20:20:00 GMT 2014

Hi Corinna,

Corinna Vinschen wrote:
> On Aug  8 12:31, Corinna Vinschen wrote:
>> Hi Christian,
>> On Aug  7 22:15, Christian Franke wrote:
>>> Attached is an experimental patch which adds -m, --check-mtimes[=SECONDS]
>>> option to cygcheck. It provides an IMO useful heuristics to find files
>>> possibly modified after installation.
>>> "cygcheck -c -m" prints the number of files with st_mtime >
>>> INSTALL_TIME+SECONDS. INSTALL_TIME is the st_mtime of the
>>> /etc/setup/PACKAGE.lst.gz file.
>>> With -v, the affected path names are printed. The optional parameter SECONDS
>>> defaults to 600 to hide files modified by postinstall scripts.
>> That's an interesting idea.  I just gave it a try.  I think this might
>> be useful,
> On second thought, the modification date isn't very meaningful all by
> itself, is it?  In theory it's only meaningful if the file has changed
> as well.

That's why I called it "heuristics" :-)

>    Consider, what is the user supposed to do with the information
> that the file modification date has changed?  Where does the user go
> from there?

The info is IMO useful to find changed config files, forgotten hot fixed 
scripts or other files you possibly want to save before a package is 

It also sometimes exposes package collisions (e.g. libgnutls26/28 
provide different versions of cyggnutls-openssl-27.dll or libsasl2/2_3 
provide different version of /usr/sbin/saslauthd).

> So I'm wondering if the st_mtime check isn't just a starting
> point for a test for a file change.  OTOH, we have a problem there.
> The rudimentary package database in /etc/setup is not very helpful.
> It only contains filenames, but no other information on the files.
> What would be really cool:  Setup generates the package info files in
> /etc/setup with additional file size and md5 (sha1, sha256, you name it)
> checksum.  Then cygcheck could test if st_mtime, st_size and the
> checksum match.  Or, in a first step, just store and check the file
> size.

Yes, this is an obvious missing feature of the Cygwin package 
management. I didn't suggest it because my open source spare time is too 
limited to implement it :-)


More information about the Cygwin-patches mailing list