[opensuse-factory] %license LICENSE vs %doc LICENSE
Hi, recently I've been made aware that other distributions are adopting %license convention for tagging package licenses. 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? Since I'm collaborating packaging with non-openSUSE distributions, I'd like to switch to that globally. unfortunately this seems to be entirely broken on older distros, but thats a 2nd step to take care of. 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 wanted to make sure we're aligned on this prior to discussing htis with the openSUSE spec file reviewer team. Thanks, Dirk -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
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. -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
Hello, What would be really cool is if we could do it the same way like Gentoo. You simply have /usr/portage/licenses/ with all the licenses in the system and you package just say "I am BSD-3c" and same like all other pkgs with the same license point to that one file. Also funny thing is that some people actually verify the license of the package and if we would suddenly move it I suppose they would be quite suprised. Cheers Tom Dne Pá 5. února 2016 11:24:38, Jan Engelhardt napsal(a):
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.
-- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
Tomáš Chvátal wrote:
What would be really cool is if we could do it the same way like Gentoo.
You simply have /usr/portage/licenses/ with all the licenses in the system and you package just say "I am BSD-3c" and same like all other pkgs with the same license point to that one file.
Also funny thing is that some people actually verify the license of the package and if we would suddenly move it I suppose they would be quite suprised.
There was an attempt to do something like that in openSUSE in the past already. I can't remember anymore why it failed though. cu Ludwig -- (o_ Ludwig Nussel //\ V_/_ http://www.suse.com/ SUSE Linux GmbH, GF: Felix Imendörffer, Jane Smithard, Graham Norton, HRB 21284 (AG Nürnberg) -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
On Fri, Feb 05, 2016 at 11:40:24AM +0100, Ludwig Nussel wrote:
Tomáš Chvátal wrote:
What would be really cool is if we could do it the same way like Gentoo.
You simply have /usr/portage/licenses/ with all the licenses in the system and you package just say "I am BSD-3c" and same like all other pkgs with the same license point to that one file.
Also funny thing is that some people actually verify the license of the package and if we would suddenly move it I suppose they would be quite suprised.
There was an attempt to do something like that in openSUSE in the past already. I can't remember anymore why it failed though.
I think the legal team wanted the licenses more explicit and really in the package instead of symlinks into the shared licenses RPM. Ciao, Marcus -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
Hello, On Feb 5 11:45 Marcus Meissner wrote (excerpt):
On Fri, Feb 05, 2016 at 11:40:24AM +0100, Ludwig Nussel wrote:
What would be really cool is if we could do it the same way like Gentoo.
You simply have /usr/portage/licenses/ with all the licenses in the system and you package just say "I am BSD-3c" and same like all other pkgs with the same license point to that one file. ... There was an attempt to do something like that in openSUSE in the
Tomáš Chvátal wrote: past already. I can't remember anymore why it failed though.
I think the legal team wanted the licenses more explicit and really in the package instead of symlinks into the shared licenses RPM.
I only like to confirm that I also remember that this was the legal reason why one cannot legally remove a license file from a software package and replace it with a link. Furthermore I wonder how to 100% ensure that a license file in such a shared licenses RPM will never ever change because otherwise licenses in software packages that only link to it could become wrong. Finally I wonder why at all starting any hassle with licenses. According to my experience the best behaviour with any legal issue is to not do anything (in particular never change anything) except there is a vaild request from a legal expert. Kind Regards Johannes Meixner -- SUSE LINUX GmbH - GF: Felix Imendoerffer, Jane Smithard, Graham Norton - HRB 21284 (AG Nuernberg)
On Friday 2016-02-05 17:07, Johannes Meixner wrote:
Furthermore I wonder how to 100% ensure that a license file in such a shared licenses RPM will never ever change because otherwise licenses in software packages that only link to it could become wrong.
md5 checksums on the content. That's what we did. -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
On Fri, 5 Feb 2016, Jan Engelhardt wrote:
On Friday 2016-02-05 17:07, Johannes Meixner wrote:
Furthermore I wonder how to 100% ensure that a license file in such a shared licenses RPM will never ever change because otherwise licenses in software packages that only link to it could become wrong.
md5 checksums on the content. That's what we did.
Well, yes. With %license rpm itself could de-dup the files at install time. Richard. -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
Hello, On Feb 8 10:38 Richard Biener wrote (excerpt):
On Fri, 5 Feb 2016, Jan Engelhardt wrote:
On Friday 2016-02-05 17:07, Johannes Meixner wrote:
Furthermore I wonder how to 100% ensure that a license file in such a shared licenses RPM will never ever change because otherwise licenses in software packages that only link to it could become wrong.
md5 checksums on the content. That's what we did.
Well, yes. With %license rpm itself could de-dup the files at install time.
And of course do not forget that afterwards the shared licenses RPM will never ever change (e.g. updated with changed licenses) because otherwise licenses in software packages that link to it could become wrong. Kind Regards Johannes Meixner -- SUSE LINUX GmbH - GF: Felix Imendoerffer, Jane Smithard, Graham Norton - HRB 21284 (AG Nuernberg) -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
Hello, On Feb 5 19:28 Jan Engelhardt wrote:
On Friday 2016-02-05 17:07, Johannes Meixner wrote:
Furthermore I wonder how to 100% ensure that a license file in such a shared licenses RPM will never ever change because otherwise licenses in software packages that only link to it could become wrong.
md5 checksums on the content. That's what we did.
Technical stuff is useless when there are legal concerns. Furthermore I wonder how to 100% ensure that a license file in the package never ever changes unnoticed because otherwise licenses in software packages could become wrong when the license file is "just replaced" with a link. Of course again checksums may help but again technical stuff is useless as long as there are legal issues. Bottom line: First and foremost one must get the legal issues solved, then one can start to think about the technical stuff. Kind Regards Johannes Meixner -- SUSE LINUX GmbH - GF: Felix Imendoerffer, Jane Smithard, Graham Norton - HRB 21284 (AG Nuernberg) -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
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.
The feature was introduced in rpm 4.11.0 so it should be available in sle12. Just /usr/share/licenses is not packaged. For older distributions obs could probably be made to define %license to %doc or even mangle the spec file. +1 for using %license from my side.
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.)
If that was a problem wouldn't we have that today with /usr/share/doc/packages already? Even worse as that also contains tons of subdirs. cu Ludwig -- (o_ Ludwig Nussel //\ V_/_ http://www.suse.com/ SUSE Linux GmbH, GF: Felix Imendörffer, Jane Smithard, Graham Norton, HRB 21284 (AG Nürnberg) -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
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)
Richard Biener wrote:
[...] 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?
Exactly. The files are annotated in the file list -> rpm -qL $packages cu Ludwig -- (o_ Ludwig Nussel //\ V_/_ http://www.suse.com/ SUSE Linux GmbH, GF: Felix Imendörffer, Jane Smithard, Graham Norton, HRB 21284 (AG Nürnberg) -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
On Friday 2016-02-05 11:50, Richard Biener wrote:
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?
Well in a way, rpm -qi already gives you the license, at least its name, not the content. -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
On Fri, Feb 05, 2016 at 11:24:38AM +0100, 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.)
What about something like /usr/share/licenses/<first_letter_of_%name>/%name That would create much less directories. I also like the idea of hard-link deduplication in %posttrans. Tomas
Tomáš Čech <sleep_walker@opensuse.org> writes:
What about something like
/usr/share/licenses/<first_letter_of_%name>/%name
You have to allow for more than one license per package. Andreas. -- Andreas Schwab, SUSE Labs, schwab@suse.de GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE 1748 E4D4 88E3 0EEA B9D7 "And now for something completely different." -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
On Monday 2016-02-08 12:46, Andreas Schwab wrote:
Tomáš Čech <sleep_walker@opensuse.org> writes:
What about something like
/usr/share/licenses/<first_letter_of_%name>/%name
You have to allow for more than one license per package.
Like said before, /%name.gpl3 /%name.wtfpl2 -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
On Mon, 8 Feb 2016 12:46, Andreas Schwab <schwab@...> wrote:
Tomáš Čech <sleep_walker@opensuse.org> writes:
What about something like
/usr/share/licenses/<first_letter_of_%name>/%name
You have to allow for more than one license per package.
Please Andreas, you are more intelligent than that. Either that is the content of that file, or as pure link construct: The licenses them self in full just once: /usr/share/licenses/full/{gplv2,gplv3,mit,...} and then as link (sym or hard) to these, either: /usr/share/licenses/{gplv2,gplv3,mit,...}/%name ,or /usr/share/licenses/<first_letter_of_%name>/%name.%licence you could also just touch (create inode only) these per package files. IMHO, most of that: "EEK, most have own licence file" is FUD, driven by lawyers that fear for their income. Stupidy on the rise. - Yamaban.
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
great idea, is used for one year in Fedora and RHEL . with simple motivation separate doc and licence for containers and cloud images ... which are build without doc , but legal needs licencse file for every package.
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.)
you live in very different world than rest... And workaroud for older packages is simple ... %if oldversion %define license doc.. %endif On 5 February 2016 at 11:11, Dirk Müller <dirk@dmllr.de> wrote:
Hi,
recently I've been made aware that other distributions are adopting %license convention for tagging package licenses.
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? Since I'm collaborating packaging with non-openSUSE distributions, I'd like to switch to that globally. unfortunately this seems to be entirely broken on older distros, but thats a 2nd step to take care of.
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 wanted to make sure we're aligned on this prior to discussing htis with the openSUSE spec file reviewer team.
Thanks, Dirk -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
-- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
participants (11)
-
Andreas Schwab
-
Dirk Müller
-
Jan Engelhardt
-
Johannes Meixner
-
Ludwig Nussel
-
Marcus Meissner
-
Ondřej Súkup
-
Richard Biener
-
Tomáš Chvátal
-
Tomáš Čech
-
Yamaban