On Fri, 5 Feb 2016, Jan Engelhardt wrote:
On Friday 2016-02-05 11:11, Dirk Müller wrote:
recently I've been made aware that other distributions are adopting %license convention for tagging package licenses.
Of course this only works for new versions of the rpmbuild program, so you will not be seeing an immediate bandwagon jump while people try to keep their specfiles workable with SLE11. And 12.
Technically this seems to be the same like %doc except that it copies to %_defaultlicensedir instead of %_defaultdocdir. with other words
%license FOO
will copy FOO file to /usr/share/licenses/%name/FOO
What are the opinions around that?
It is horrible. Now one extra directory is created for every package (and there is only one file on it on average), which is going to kill filesystem traversal performance for people who still use a rotating disk for /usr. (Not that it makes a difference if the license file is the only %doc file in the %files list.)
Would have probably been nicer to use /usr/share/licenses/%name as the filename (possibly suffixed with .FOO if multiple are needed).
An alternative would be to redefine %defaultlicensedir to %docdir, which would make install the file in the old location, and we could use %license and %doc interchangeably.
I suppose the purpose of %license is to annotate what is a license and what not and make rpm -i --excludedocs still install licenses? Or make a rpm --showlicense XX possible? That is, what's the effect on the generated RPM? Are the licenses somehow marked or is it all about the possibility to use a different directory? Richard. -- Richard Biener <rguenther@suse.de> SUSE LINUX GmbH, GF: Felix Imendoerffer, Jane Smithard, Graham Norton, HRB 21284 (AG Nuernberg)