On Wed, Mar 18, 2009 at 04:44:10PM -0400, David Malcolm wrote:
Thinking aloud, a couple of other approaches:
(i) Embed the SHA256 checksum of each license into the path e.g.:
/usr/share/common-licenses/32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670/COPYING
then have each file's identical implementation of those bytes overwrite
each other, and you might have many packages owning that path on the
installed system. Slight modifications thus lead to different paths.
That way you still have duplicates in the .rpm files, but an installed
system has just one copy of each, and each rpm does indeed ship the
precise license it's required to.
I suspect that the arguments from crypto and from the legal side will
"pass through one another like angry ghosts", though (and legal thus
wins).
(ii) Compress the licenses?
How much disk space do all the separate license files currently take?
My guess is that it is just not going to be worth dealing with
compressing, hardlinking, or sharing copies of identical files with
multiple packages, because the saved disk space will be minimal.
On my installed F10 desktop system here are the sizes of all installed
license files (%doc matching licen|copy|gpl|bsd) combined:
$ echo `rpm -qad | grep -Ei 'licen|copy|gpl|bsd' | xargs stat -c %s` | sed
-e's/ /+/g' | bc
16920051
17 megabytes. Not worth the effort to save space here.