Cygwin package naming?

Charles Wilson
Thu Sep 1 04:34:00 GMT 2011

On 8/31/2011 9:43 PM, Luke Kendall wrote:
> I'm asking because I'm finding Cygwin packages that contain no license
> information, at least in the compiled form (e.g. gawk, libiconv2).

None of the "dll" packages contain license files; they are supposed to
only contain the dll itself.  Usually the license files wind up in the
"main" package, or a "-doc" package.

However I think your BEST bet would be to do the following...get
setup.ini from $favorite_mirror.  Every record beginning with
	'@ package'
will have one or more 'source:' entries -- except for some _obsolete
packages, but we don't care about those because they will just be empty
tarballs, so no source necessary.  Multiple '@ package' will refer to
the same 'source:'

With some judicious coding (*), you should be able to flip that around,
and create a database that represents the information the other way:

<some source entry>-<VER-N>
   @ package <1>-<VER-N>
   @ package <2>-<VER-N>
   @ package <3>-<VER-N>
<some source entry>-<VER-M>  [same "package", different version]
   @ package <1>-<VER-M>
   @ package <2>-<VER-M>
   @ package <3>-<VER-M>
<another source entry>-<VER-P>
   @ package <4>-<VER-P>
   @ package <5>-<VER-P>

I doubt the license would often change between versions of the same
package, but it HAS been known to happen.

Now, you can find the <package>s for which you can't identify the
license, and either (a) find another package in the same "family" --
e.g. derived from the same source -- for which you DO know the license.

If *all* of the "child" packages of a given source have an unknown
license, well -- then you can get the -src package itself and troll
around in it, or check freshmeat.  Usually the -src packages are named
pretty simply:
  <upstream name>-<upstream ver>-<cygwin release>-src.tar.*

Watch out for this: some packages have different licenses for different
pieces.  The "libiconv" group of packages specifies that the *libraries*
are LGPL, but the *app* is GPL.  This means:
	libcharset1:	LGPL
	libiconv2:	LGPL
	libiconv:	GPL

Also, gettext group is similar; some of the libs and apps are GPL, and
some of the apps and libs are LGPL.  Fortunately, they are segregated in
the cygwin packages:
	libasprintf0:	LGPL
	libintl8:	LGPL
	libgettextpo0:	GPL
	gettext:	LGPL
	gettext-devel	GPL

Fortunately, that sort of structure is rare.

(*) Maybe borrow from genini, or upset?


Problem reports:
Unsubscribe info:

More information about the Cygwin mailing list