package lint suggestions
Fri May 2 22:29:00 GMT 2008
Christopher Faylor wrote:
> As part of my effort to allow maintainers to upload their own packages
> I am thinking of finally writing a package lint script which checks for
> known problems in packaging.
> - Empty directories.
I'm not sure this is a good idea. With cygport, empty directories are
automatically removed, but sometimes -- like today's re-release of
'alternatives' -- that's a problem. Alternatives needs the
/etc/alternatives and /var/lib/alternatives directories -- but doesn't
actually put anything there itself, on first install.
Obviously, there are two ways to solve this, so that "empty" directories
aren't really empty. The cygport way is to insert a .keep-pkgname file
into the "empty" directory [*]. Or, you could use a post-install script.
Anyway, if 'empty dir' is made a lint error, expect a number of old
packages -- obviously, non-cygport ones, all -- to trip on that one.
> - DLLs not installed to /bin or /usr/bin.
Not an error. dlopen'ed modules -- such as m4-2.0 and perhaps
ImageMagick/GraphicsMagick -- might be named ".dll" but will live in
> - setup.hint has overly long ldesc.
* If the cygwin README exists, should we check its contents, e.g. for
the version string itself (as an indicator that the README was updated
for this particular release)? Maybe other "required" information?
* /usr/info/dir and /usr/share/info/dir
* odd locations for LC_MESSAGES directories (e.g. other than
* Eventually -- not yet -- disallow /usr/X11R6/
* The "check all packages for file conflicts" is a big job -- and will
get lots of false positives whenever a package is split up into
-devel/lib/bin pieces. However, there are a few files that commonly
conflict between packages:
Maybe there should be special checks just for these common areas of
[*] I explicitly patched inetd to ignore files in /etc/inetd.d/ that
began with a '.', for precisely this reason. I used cygport's keepdir
feature to retain /etc/inetd.d, but then inetd keep trying to parse the
empty /etc/inetd.d/.keepdir-inetutils file as a configuration script.
However, I *almost* think that's a security issue: there shouldn't be
configuration scripts -- used to set up internet servers, no less --
that are hidden from view, where the sysadmin might miss them. I don't
ordinarily do ls -a in /etc/...
More information about the Cygwin-apps