This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Cygwin package naming?


Charles Wilson wrote:
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.

Thanks, I'll bear that in mind. Though gawk didn't have one. But I'll have a bit more of a look around inside the tarballs, manually.


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:'


So, basically I think you're saying I should look inside the "source:" instead of the "install:" (which is where I've *been* looking).


Because I have to use a mix of algorithm and *heuristics* to find the license files, I'd prefer to try the heuristics on the "install:" tar file, just because the search space (no. of files) is much smaller.

Thanks for the suggestion, though, it sounds sensible - I'll have a manual look inside gawk's at least and see if that looks promising, and if so I'll modify the script to look inside the "source:" as a fallback.

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 don't think I need to do that inversion - currently if I find the source licenses in package 1, and it's also used for package 2, then the script will automatically find the licenses for package 2.


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


Sure. At the moment, I'm only looking in the most recent version, too. I think looking in the source is more likely to find it if there's no license in the "install:" tarball. I can't imagine someone deliberately stripping the license files out of a package. That'd be just weird.


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.
 WIN!

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


Tell me about it. "base-files" and "cygwin" are two good examples. :-)


Fortunately, that sort of structure is rare.

(*) Maybe borrow from genini, or upset?

--
Chuck



--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple


Thanks for all that!


Regards,

luke

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]