running cygcheck...empty packages?

Brian Dessent
Sun Feb 24 07:20:00 GMT 2008

Linda Walsh wrote:
> Greetings Cygwinians,
> Was notice what appeared to be 'old' versions of some files laying
> around, so wanted to verify packages -- "cygcheck -c"
> It pops up some packages that are empty.  I was wondering both why
> I downloaded them (?!) and whether or not I needed them.  Some look
> "important", others...not so sure...  Not a long list, some I know
> "should" be able to delete without causing myself undue pain, but
> 'gcc' and 'gcc-mingw' sorta bother me.  If I delete those would my
> gcc installations still be happy?   Package 'clear' makes sense that
> it is clear of any files...*cough*...not really sure why it's there.

If a maintainer needs to rename a package, remove a package, or split a
package off into multiple packages, the way to do it is bump the version
and upload an empty tarball of that new version.  Users that have the
package installed will have this new empty version "installed" which
really means the previous version that is meant to be removed is
removed.  And because the empty package has a requires: line that pulls
in the renamed package, the package with the new name is automatically
added.  After that upgrade the package is useless and can be uninstalled
in setup, although sometimes there still exist other packages that still
require the old name, so sometimes they will reinstall on the next run.

> I'm not entirely sure where cygcheck is getting its package list, since
> I don't see any files in /etc/setup with names like "gcc.lst.gz".


> Are these "empty" packages of use?

After they have served their function they are unnecessary.

> atk-runtime

@ atk-runtime
sdesc: "Obsolete package, replaced by atk"
ldesc: "Obsolete package, replaced by atk"
category: _obsolete

> clear

@ clear
sdesc: "Removed package; install ncurses instead"
category: _obsolete

> gcc

@ gcc
sdesc: "C compiler upgrade helper"
category: Devel

> gcc-mingw

@ gcc-mingw
sdesc: "Mingw32 GCC compiler upgrade helper"
category: Devel

These are remnants of a package re-organization, where the gcc package
used to be just a monolithic package instead of modularized by
language.  They don't do anything now and haven't for a long time.  All
packages that mention either of these in their requires: need to be
updated (currently: ccache, distcc, ocaml) and then they can be moved
into _obsolete.  You can uninstall them but if you have any of those
packages that still erroniously require "gcc" then it will just be
installed again the next time.

> libxml2-python

@ libxml2-python
sdesc: "Obsolete package, replaced by pylibxml2"
ldesc: "Obsolete package, replaced by pylibxml2"
category: _obsolete

> pkgconfig

@ pkgconfig
sdesc: "Compatibility package to force removal of files from a renamed
ldesc: "The pkgconfig package has been renamed to pkg-config."
category: _obsolete

> pylibxml2

@ pylibxml2
sdesc: "XML C parser and toolkit (Python bindings)"
ldesc: "Libxml2 is the XML C parser and toolkit developed for the
Gnome project (but usable outside of the Gnome platform), it is free
software available under the MIT License. XML itself is a
metalanguage to design markup languages, i.e. text language where
semantic and structure are added to the content using extra 'markup'
information enclosed between angle brackets. HTML is the most well-
known markup language. Though the library is written in C a variety
of language bindings make it available in other environments."
category: Gnome Python
requires: cygwin libxml2 python

This one's setup.hint is wrong.  The description should be deleted and
it should be moved to the _obsolete category.  It still shows up as a
real package even though it's an empty tarball.  If this is meant to be
a real package, it's horribly broken then because curr is:

install: release/_obsolete/pylibxml2/pylibxml2-2.6.28-2.tar.bz2 46

> tetex

@ tetex
sdesc: "The TeX text formatting system (install helper)."
ldesc: "teTeX text formatting system.
This is teTeX, a TeX distribution for UNIX compatible systems.  This
virtual tetex package will install tetex-bin and tetex-tiny, the
minimal working teTeX setup.  It is advised to install tetex-base too.
If you have plenty of bandwith, find the rest of teTeX in tetex-extra
and tetex-doc."
category: Text Publishing
requires: tetex-bin tetex-tiny

An install helper whose only function is to require: the necessary
things to use tetex.  I'm not really sure why this package is special
that it requires this, but there it is.


Unsubscribe info:
Problem reports:

More information about the Cygwin mailing list