[opensuse-packaging] Building packages with linking a license from licenses.rpm
Hi, I've found that we have a 'licenses' package that contains all known/used licenses. The intention seems to be to save some space by not including own copy of license in each package but linking it (and to clean the system up a bit). It seems to be quite good idea but I haven't found any documentation, howto, wiki page that would describe how to modify my packages to use it. Could someone, please point me (us) to some documentation, howto? Thanks & Bye Lukas -- Lukas Ocilka, YaST Developer (xn--luk-gla45d) ----------------------------------------------------------------- SUSE LINUX, s. r. o., Lihovarska 1060/12, Praha 9, Czech Republic
Hello, On Jul 24 10:46 Lukas Ocilka wrote (shortened):
I've found that we have a 'licenses' package that contains all known/used licenses. The intention seems to be to save some space by not including own copy of license in each package but linking it (and to clean the system up a bit). ... Could someone, please point me (us) to some documentation, howto?
And in particular some explanation how to make sure that the license in the 'licenses' package is still exactly the right one even after whatever kind of update of the referring package. What I like to point out is that I would not touch any license if there is no 100% safe automatism which checks that the licenses are 100% correct in any case. Kind Regards Johannes Meixner -- SUSE LINUX Products GmbH, Maxfeldstrasse 5, 90409 Nuernberg, Germany AG Nuernberg, HRB 16746, GF: Markus Rex --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
Hi Am Dienstag, 24. Juli 2007 11:27 schrieb Johannes Meixner:
Could someone, please point me (us) to some documentation, howto?
Currently we just have: http://en.opensuse.org/Licenses But I talked to mrueckert some days bevore - we're thinking about a rpm macro _and_ an additional internal brp-check. As none of these both is done currently, any other ideas are very welcome! Lars --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
Hello, On Jul 24 12:47 Lars Vogdt wrote (shortened):
The plain Requires: licenses can cause invalid licenses when another version of the package (with different licenses) is installed but the licenses package is not upgraded accordingly. I am speaking about the run-time system, not the build-time system. But even a strict Requires: licenses = 1.2.3 where 1.2.3 is the exact version of the licenses package which was used during build-time may cause problems: Assume there are two packages foo and bar which both use the license batz in licenses 1.2.3 but then license batz is upgraded and also package foo is upgraded (using the upgraded license batz in licenses 1.2.4). Then there would have to be licenses 1.2.3 (for package bar) and licenses 1.2.4 (for upgraded package foo) installed. Kind Regards Johannes Meixner -- SUSE LINUX Products GmbH, Maxfeldstrasse 5, 90409 Nuernberg, Germany AG Nuernberg, HRB 16746, GF: Markus Rex --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
On 2007-07-24 14:12:22 +0200, Johannes Meixner wrote:
On Jul 24 12:47 Lars Vogdt wrote (shortened):
The plain Requires: licenses can cause invalid licenses when another version of the package (with different licenses) is installed but the licenses package is not upgraded accordingly. I am speaking about the run-time system, not the build-time system.
But even a strict Requires: licenses = 1.2.3 where 1.2.3 is the exact version of the licenses package which was used during build-time may cause problems: Assume there are two packages foo and bar which both use the license batz in licenses 1.2.3 but then license batz is upgraded and also package foo is upgraded (using the upgraded license batz in licenses 1.2.4). Then there would have to be licenses 1.2.3 (for package bar) and licenses 1.2.4 (for upgraded package foo) installed.
as the symlink points to filenames which is the md5sum of the license itself. i think this is not an issue. darix -- openSUSE - SUSE Linux is my linux openSUSE is good for you www.opensuse.org --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
Marcus Rueckert wrote:
as the symlink points to filenames which is the md5sum of the license itself. i think this is not an issue.
Bravo! Great idea and clever solution :) -- Best Regards / S pozdravom, Pavol RUSNAK SUSE LINUX, s.r.o Package Maintainer Lihovarska 1060/12 PGP 0xA6917144 19000 Praha 9, CR prusnak[at]suse.cz http://www.suse.cz --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
On Tue, 24 Jul 2007, Pavol Rusnak wrote:
Marcus Rueckert wrote:
as the symlink points to filenames which is the md5sum of the license itself. i think this is not an issue.
Bravo! Great idea and clever solution :)
I would go further and have licenses provide 'license-$md5sum' so requires to the appropriate entry works. Or chose more descriptive variants such as 'license-gplv3-$md5sum'. Richard. --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
Hello, On Jul 24 14:17 Marcus Rueckert wrote:
as the symlink points to filenames which is the md5sum of the license itself. i think this is not an issue.
Can you explain in a bit more detail how such symlinks and filenames make sure that the right license texts are installed in the run-time system in any case? Kind Regards Johannes Meixner -- SUSE LINUX Products GmbH, Maxfeldstrasse 5, 90409 Nuernberg, Germany AG Nuernberg, HRB 16746, GF: Markus Rex --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
Johannes Meixner wrote:
Hello,
On Jul 24 14:17 Marcus Rueckert wrote:
as the symlink points to filenames which is the md5sum of the license itself. i think this is not an issue.
Can you explain in a bit more detail how such symlinks and filenames make sure that the right license texts are installed in the run-time system in any case?
The filename is an md5sum of the license text. So a new version of the "same" (as in same name) license will have a different filename. So if you link to /.../ebf4e8b49780ab187d51bd26aaa022c6, it will allways be that exact version of the GPL2 license. Michal --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
Michal Marek wrote:
Johannes Meixner wrote:
Hello,
On Jul 24 14:17 Marcus Rueckert wrote:
as the symlink points to filenames which is the md5sum of the license itself. i think this is not an issue. Can you explain in a bit more detail how such symlinks and filenames make sure that the right license texts are installed in the run-time system in any case?
The filename is an md5sum of the license text. So a new version of the "same" (as in same name) license will have a different filename. So if you link to /.../ebf4e8b49780ab187d51bd26aaa022c6, it will allways be that exact version of the GPL2 license.
MD5 (or any other hash) guarantees that link is not pointing to wrong license file but it does not assure that such file license-<hash>.txt is installed on system. I think that's the issue Johannes wanted to point out. -- Best Regards / S pozdravom, Pavol RUSNAK SUSE LINUX, s.r.o Package Maintainer Lihovarska 1060/12 PGP 0xA6917144 19000 Praha 9, CR prusnak[at]suse.cz http://www.suse.cz --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
Hello, On Jul 24 15:10 Pavol Rusnak wrote (shortened):
MD5 (or any other hash) guarantees that link is not pointing to wrong license file but it does not assure that such file license-<hash>.txt is installed on system. I think that's the issue Johannes wanted to point out.
Exactly. By the way: Does anybody know about RFC 1925? (in particular its items (6a) and (8) ;-) Kind Regards Johannes Meixner -- SUSE LINUX Products GmbH, Maxfeldstrasse 5, 90409 Nuernberg, Germany AG Nuernberg, HRB 16746, GF: Markus Rex --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
Hi, On Tue, 24 Jul 2007 at 15:29, Johannes Meixner wrote:
Does anybody know about RFC 1925? (in particular its items (6a) and (8) ;-)
yes, but did you notice the date on which this RFC was published? cu Reinhard --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
Hi, On Tue, 24 Jul 2007, Johannes Meixner wrote:
On Jul 24 15:10 Pavol Rusnak wrote (shortened):
MD5 (or any other hash) guarantees that link is not pointing to wrong license file but it does not assure that such file license-<hash>.txt is installed on system. I think that's the issue Johannes wanted to point out.
Exactly.
The solution was already proposed by Richard. Make the license rpm provide the md5sums of included licenses, make the packages require the md5 sum of its licenses, let the solver do the rest. Ciao, Michael. --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
On Tue, Jul 24, 2007 at 04:49:36PM +0200, Michael Matz wrote:
The solution was already proposed by Richard. Make the license rpm provide the md5sums of included licenses, make the packages require the md5 sum of its licenses, let the solver do the rest.
Poor solver, so many dependencies, so little time... Btw, "a0b00c" == "a00b0c" for the solver, so you can't guarantee the md5sums are really the same. But chances are good ;-) Cheers, Michael. -- Michael Schroeder mls@suse.de SUSE LINUX Products GmbH, GF Markus Rex, HRB 16746 AG Nuernberg main(_){while(_=~getchar())putchar(~_-1/(~(_|32)/13*2-11)*13);} --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
Michael Schroeder wrote:
Btw, "a0b00c" == "a00b0c" for the solver, so you can't guarantee the md5sums are really the same. But chances are good ;-)
Even in names (not versions or releases)? Michal --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
On Tue, Jul 24, 2007 at 05:50:03PM +0200, Michal Marek wrote:
Michael Schroeder wrote:
Btw, "a0b00c" == "a00b0c" for the solver, so you can't guarantee the md5sums are really the same. But chances are good ;-)
Even in names (not versions or releases)?
Oh, sorry, no it doesn't do that in names. (But I wouldn't do it in names, "Provide: licensemd5 = md5sum" is cleaner. See the kernel provides.) Cheers, Michael. -- Michael Schroeder mls@suse.de SUSE LINUX Products GmbH, GF Markus Rex, HRB 16746 AG Nuernberg main(_){while(_=~getchar())putchar(~_-1/(~(_|32)/13*2-11)*13);} --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
On Tue, 24 Jul 2007 at 17:53, Michael Schroeder wrote:
Oh, sorry, no it doesn't do that in names. (But I wouldn't do it in names, "Provide: licensemd5 = md5sum" is cleaner. See the kernel provides.)
What about using the full path names for the symbolic dependencies? Using only the md5sum still has the risc of ending up with dangling symlinks in case the licenses package ever reorganises it's directory structure. BTW, how does the license package approach fit with licenses that require that the license text be included in any binary distribution? As packages can be downloaded and installed without also downloading the licenses package, people could view this as a license violation. cu Reinhard --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
On Tue, Jul 24, 2007 at 06:31:17PM +0200, Reinhard Max wrote:
On Tue, 24 Jul 2007 at 17:53, Michael Schroeder wrote:
Oh, sorry, no it doesn't do that in names. (But I wouldn't do it in names, "Provide: licensemd5 = md5sum" is cleaner. See the kernel provides.)
What about using the full path names for the symbolic dependencies?
You mean a md5 file assertion, like this one? Requires: md5(/bin/bash) = 1a721bf3db58ee74b38dbf79408609b3 Cheers, Michael. -- Michael Schroeder mls@suse.de SUSE LINUX Products GmbH, GF Markus Rex, HRB 16746 AG Nuernberg main(_){while(_=~getchar())putchar(~_-1/(~(_|32)/13*2-11)*13);} --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
On Tue, 24 Jul 2007 at 18:36, Michael Schroeder wrote:
You mean a md5 file assertion, like this one?
Requires: md5(/bin/bash) = 1a721bf3db58ee74b38dbf79408609b3
No, I mean the license package should provide unversioned symbols consisting of the qualifued names of the license files, because that's the property that is acually required per the symlinks. The other package could then do: Requires: /usr/share/doc/licenses/md5/fd6c32a44ff3cf3efd167ddb697b9eb1 Oh - I just realise that the fully qualified file names of all contained files are provided by a package anyways, so this would have the additional benefit, that there is no additional effort in generating the provides list for the licenses package. Only the requires list for the other packages would have to be generated out of the targets of the (hopefully also auto-generated) symlinks. cu Reinhard --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
Hello, On Jul 24 18:31 Reinhard Max wrote (shortened):
As packages can be downloaded and installed without also downloading the licenses package, people could view this as a license violation.
This is what I am talking about all the time. The whole issue is not a technical issue it is a legal issue. Are we allowed to remove a license text (or whatever legal stuff) form a package and provide it via a totally other package which is made from totally other sources? Kind Regards Johannes Meixner -- SUSE LINUX Products GmbH, Maxfeldstrasse 5, 90409 Nuernberg, Germany AG Nuernberg, HRB 16746, GF: Markus Rex --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
Johannes Meixner wrote:
Hello,
On Jul 24 18:31 Reinhard Max wrote (shortened):
As packages can be downloaded and installed without also downloading the licenses package, people could view this as a license violation.
This is what I am talking about all the time. The whole issue is not a technical issue it is a legal issue. Are we allowed to remove a license text (or whatever legal stuff) form a package and provide it via a totally other package which is made from totally other sources?
AFAIK with e.g. GPL v2 this is possible (although not welcome). Yet I think there are licenses which *must* be included with either binaries or source (if not both). If this is assumed to be "space saving" it is IMHO at wrong place (not mentioning that having files like license-7484ec123119be81a1ab4da3bba47ba9 is a little bit strange). Best regards Petr --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
Hi, On Wed, 25 Jul 2007, Petr Cerny wrote:
Johannes Meixner wrote:
Hello,
On Jul 24 18:31 Reinhard Max wrote (shortened):
As packages can be downloaded and installed without also downloading the licenses package, people could view this as a license violation.
This is what I am talking about all the time. The whole issue is not a technical issue it is a legal issue. Are we allowed to remove a license text (or whatever legal stuff) form a package and provide it via a totally other package which is made from totally other sources?
AFAIK with e.g. GPL v2 this is possible (although not welcome). Yet I think there are licenses which *must* be included with either binaries or source (if not both). If this is assumed to be "space saving" it is IMHO at wrong place (not mentioning that having files like license-7484ec123119be81a1ab4da3bba47ba9 is a little bit strange).
Sigh. The filenames of the packages themself would still just be named COPYING (or whatever the original names was). They will just happen to be symlinks to strangely named files. If we're adventurous we could even use hardlinks if possible, and then there actually would just be the link count which would make the user see that the files are shared between different packages. Ciao, Michael. --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
Reinhard Max wrote:
BTW, how does the license package approach fit with licenses that require that the license text be included in any binary distribution? As packages can be downloaded and installed without also downloading the licenses package, people could view this as a license violation.
You wouldn't be able to install the package without breaking dependencies. That's annoying at least. I don't remember anymore what kind of space saving the target of those shared licenses was. If it's about saving space in the installed system what about replacing actual files with hardlinks in %post? RPM doesn't seem to care about hardlink counts in %verify. At install time a recommended dependency on the license package would be sufficient then. cu Ludwig -- (o_ Ludwig Nussel //\ V_/_ http://www.suse.de/ SUSE LINUX Products GmbH, GF: Markus Rex, HRB 16746 (AG Nuernberg) --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
On 2007-07-25 12:00:44 +0200, Ludwig Nussel wrote:
Reinhard Max wrote:
BTW, how does the license package approach fit with licenses that require that the license text be included in any binary distribution? As packages can be downloaded and installed without also downloading the licenses package, people could view this as a license violation.
You wouldn't be able to install the package without breaking dependencies. That's annoying at least. I don't remember anymore what kind of space saving the target of those shared licenses was. If it's about saving space in the installed system what about replacing actual files with hardlinks in %post? RPM doesn't seem to care about hardlink counts in %verify. At install time a recommended dependency on the license package would be sufficient then.
as the licenses package will be in the default package set of the distro it wouldnt be a problem that you cant install other packages without it. and replacing something in %post would be ugly and slow down the installation process. darix -- openSUSE - SUSE Linux is my linux openSUSE is good for you www.opensuse.org --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
On Wed, 25 Jul 2007 at 12:00, Ludwig Nussel wrote:
You wouldn't be able to install the package without breaking dependencies. That's annoying at least.
Right, but that wouldn't matter from a legal point of view. If a license requires us to include the license text with the binary package, we might break the license no matter how hard we make it to install the package without the license file being installed as well. GPLv2 says (section 1.) "[...] and give any other recipients of the Program a copy of this License along with the Program." So, is setting a symlink to a file and adding a dependency to the package enough to fulfill the "along with the Program" requirement? cu Reinhard --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
* Reinhard Max <max@suse.de> [2007-07-25 12:36]:
On Wed, 25 Jul 2007 at 12:00, Ludwig Nussel wrote:
You wouldn't be able to install the package without breaking dependencies. That's annoying at least.
Right, but that wouldn't matter from a legal point of view. If a license requires us to include the license text with the binary package, we might break the license no matter how hard we make it to install the package without the license file being installed as well.
GPLv2 says (section 1.) "[...] and give any other recipients of the Program a copy of this License along with the Program." So, is setting a symlink to a file and adding a dependency to the package enough to fulfill the "along with the Program" requirement?
Why not ask our legals? :) Thanks, Bernhard --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
Reinhard Max wrote:
On Wed, 25 Jul 2007 at 12:00, Ludwig Nussel wrote:
You wouldn't be able to install the package without breaking dependencies. That's annoying at least.
Right, but that wouldn't matter from a legal point of view. If a license requires us to include the license text with the binary package, we might break the license no matter how hard we make it to install the package without the license file being installed as well.
GPLv2 says (section 1.) "[...] and give any other recipients of the Program a copy of this License along with the Program." So, is setting a symlink to a file and adding a dependency to the package enough to fulfill the "along with the Program" requirement?
When I saw this discussion, I decided to ask JW and Coolo if the solution is legal and Coolo wrote me this: --- cut --- Well, as Jürgen is both maintainer of that package and part of our license review team, I don't feel any need to play lawyer. So stop worrying :) --- cut --- Let's accept that, please :) Bye Lukas
On Wednesday, 25. July 2007, Reinhard Max wrote:
GPLv2 says (section 1.) "[...] and give any other recipients of the Program a copy of this License along with the Program."
So are we distributing a program or are we distributing a distribution? If it is the latter, why do you think in the granularity level of a RPM package? But assuming that you read the whole paragraph which you quoted and which the "program" above is referring to: "you may copy and distribute verbatim copies of the Program's *source code*". Dirk --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
On Wed, 25 Jul 2007 at 13:39, Dirk Mueller wrote:
So are we distributing a program or are we distributing a distribution?
We'd be distributing a distribution, if we only made it available as a physical DVD, or ISO image, but as the RPMs can be downloaded individually, we are distributing individual programs.
"you may copy and distribute verbatim copies of the Program's *source code*".
I must admit, that I had overlooked that part, but it doesn't matter, because section 3, which talks about distributing the program in binary form explicitly includes the terms of section 1. cu Reinhard --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
On Jul 25, 07 12:36:46 +0200, Reinhard Max wrote:
On Wed, 25 Jul 2007 at 12:00, Ludwig Nussel wrote:
You wouldn't be able to install the package without breaking dependencies. That's annoying at least.
Right, but that wouldn't matter from a legal point of view. If a license requires us to include the license text with the binary package, we might break the license no matter how hard we make it to install the package without the license file being installed as well.
GPLv2 says (section 1.) "[...] and give any other recipients of the Program a copy of this License along with the Program." So, is setting a symlink to a file and adding a dependency to the package enough to fulfill the "along with the Program" requirement?
Due to the symlink, the package has now one more dependency. It is simply an incomplete package, unless licenses.rpm is also installed. If the FSF insists on having a copy in each RPM, we can simply stop doing symlinks for GPL, and still have saved a tree with all the other licenses symlinked. cheers, Jw. -- o \ Juergen Weigert paint it green! __/ _=======.=======_ <V> | jw@suse.de wide open suse_/ _---|____________\/ \ | 0911 74053-508 (tm)__/ (____/ /\ (/) | __________________________/ _/ \_ vim:set sw=2 wm=8 SUSE LINUX Products GmbH, GF: Markus Rex, HRB 16746 (AG Nuernberg) "Oral agreements are worth about as much as the paper they are written on." --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
On Wednesday 25 July 2007 15:20:10 wrote Juergen Weigert:
On Jul 25, 07 12:36:46 +0200, Reinhard Max wrote:
On Wed, 25 Jul 2007 at 12:00, Ludwig Nussel wrote:
You wouldn't be able to install the package without breaking dependencies. That's annoying at least.
Right, but that wouldn't matter from a legal point of view. If a license requires us to include the license text with the binary package, we might break the license no matter how hard we make it to install the package without the license file being installed as well.
GPLv2 says (section 1.) "[...] and give any other recipients of the Program a copy of this License along with the Program." So, is setting a symlink to a file and adding a dependency to the package enough to fulfill the "along with the Program" requirement?
Due to the symlink, the package has now one more dependency. It is simply an incomplete package, unless licenses.rpm is also installed. If the FSF insists on having a copy in each RPM, we can simply stop doing symlinks for GPL, and still have saved a tree with all the other licenses symlinked.
Can you ask the FSF please before we do it what their opinion about that is ? -- Adrian Schroeter SUSE LINUX Products GmbH, GF: Markus Rex, HRB 16746 (AG Nürnberg) email: adrian@suse.de --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
Juergen Weigert wrote:
Due to the symlink, the package has now one more dependency. It is simply an incomplete package, unless licenses.rpm is also installed. If the FSF insists on having a copy in each RPM, we can simply stop doing symlinks for GPL, and still have saved a tree with all the other licenses symlinked.
As GPL is (by guess) in most of our packages, it wouldn't make sense to create license-package without GPL in it. Best regards Petr --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
On Jul 25, 07 15:40:26 +0200, Petr Cerny wrote:
Juergen Weigert wrote:
Due to the symlink, the package has now one more dependency. It is simply an incomplete package, unless licenses.rpm is also installed. If the FSF insists on having a copy in each RPM, we can simply stop doing symlinks for GPL, and still have saved a tree with all the other licenses symlinked.
As GPL is (by guess) in most of our packages, it wouldn't make sense to create license-package without GPL in it.
Besides saving space on distribuition media, the license package serves another goal: It establishes /usr/share/doc/licenses as a central point for license files. This goal could also be achieved by other means. Open to suggestions. cheers, Jw. -- o \ Juergen Weigert paint it green! __/ _=======.=======_ <V> | jw@suse.de wide open suse_/ _---|____________\/ \ | 0911 74053-508 (tm)__/ (____/ /\ (/) | __________________________/ _/ \_ vim:set sw=2 wm=8 SUSE LINUX Products GmbH, GF: Markus Rex, HRB 16746 (AG Nuernberg) "Oral agreements are worth about as much as the paper they are written on." --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
Juergen Weigert wrote:
On Jul 25, 07 15:40:26 +0200, Petr Cerny wrote:
Juergen Weigert wrote:
Due to the symlink, the package has now one more dependency. It is simply an incomplete package, unless licenses.rpm is also installed. If the FSF insists on having a copy in each RPM, we can simply stop doing symlinks for GPL, and still have saved a tree with all the other licenses symlinked. As GPL is (by guess) in most of our packages, it wouldn't make sense to create license-package without GPL in it.
Besides saving space on distribuition media, the license package serves another goal: It establishes /usr/share/doc/licenses as a central point for license files. This goal could also be achieved by other means. Open to suggestions.
And even if FSF doesn't accept our solution. We could just use /usr/share/doc/licenses (+/md5/ab58...586cc) for storing the license of our package. The same file would be just owned by several packages. Plus linking it from our package. OK, not a nice solution, but it might work if the licenses.rpm one fails. Lukas
On Wed, Jul 25, 2007 at 03:20:10PM +0200, Juergen Weigert wrote:
It is simply an incomplete package, unless licenses.rpm is also installed. If the FSF insists on having a copy in each RPM, we can simply stop doing symlinks for GPL, and still have saved a tree with all the other licenses symlinked.
If the FSF insists on having a copy in each RPM every Linux distributor that separates libraries and headers in separate sub packages has a problem anyway since typically the license is not in _all_ sub packages. Robert -- Robert Schiele Dipl.-Wirtsch.informatiker mailto:rschiele@gmail.com "Quidquid latine dictum sit, altum sonatur."
Hi, On Tue, 24 Jul 2007, Reinhard Max wrote:
BTW, how does the license package approach fit with licenses that require that the license text be included in any binary distribution? As packages can be downloaded and installed without also downloading the licenses package, people could view this as a license violation.
They can only do that if they install the package with some options which make the errors from unresolved dependencies be ignored. After all we _do_ distribute and include the license with the binary distribution (in the repo, via dependencies). If you see that as not being enough, then you probably reason that the license must be included in the .rpm file itself. Now, what if there are subpackages? Currently the license is only contained in one of those subpackages probably, would that be a violation too? In the strict reasoning from above it would have to be invalid, and I don't think we want to go that route. Hence, for inclusion purposes we need to define explicit dependencies as fullfilling those must-be-included requests, and then it's okay if the license text itself comes from another package, as long as it will be installed (without heavy user interaction) with that very package. Ciao, Michael. --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
On Tue, 24 Jul 2007, Michael Schroeder wrote:
On Tue, Jul 24, 2007 at 05:50:03PM +0200, Michal Marek wrote:
Michael Schroeder wrote:
Btw, "a0b00c" == "a00b0c" for the solver, so you can't guarantee the md5sums are really the same. But chances are good ;-)
Even in names (not versions or releases)?
Oh, sorry, no it doesn't do that in names. (But I wouldn't do it in names, "Provide: licensemd5 = md5sum" is cleaner. See the kernel provides.)
That way you have to make sure to "invent" unique names, like gplv2-with-old-fsf-address and gplv2-with-new-fsf-address. I would stick it to the license name for this reason (the md5sum should never change). Richard. -- Richard Guenther <rguenther@suse.de> Novell / SUSE Labs SUSE LINUX Products GmbH - Nuernberg - AG Nuernberg - HRB 16746 - GF: Markus Rex --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
Michal Marek wrote:
Johannes Meixner wrote:
Hello,
On Jul 24 14:17 Marcus Rueckert wrote:
as the symlink points to filenames which is the md5sum of the license itself. i think this is not an issue. Can you explain in a bit more detail how such symlinks and filenames make sure that the right license texts are installed in the run-time system in any case?
The filename is an md5sum of the license text. So a new version of the "same" (as in same name) license will have a different filename. So if you link to /.../ebf4e8b49780ab187d51bd26aaa022c6, it will allways be that exact version of the GPL2 license.
What if in the source package, the license file contains (by mistake) an additional newline? Who should do the actual checking, that the license is really GPL (whatever else)? In this hash scheme, how can user display license using pager or editor? Also note that some packages have slightly modified licenses (like: author allows linking against some non-GPLed library) - will these licenses be bundled together with those "standard" ones? Petr p.s.: gzipped GPL2 = 7kB --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
Petr Cerny wrote:
Michal Marek wrote:
The filename is an md5sum of the license text. So a new version of the "same" (as in same name) license will have a different filename. So if you link to /.../ebf4e8b49780ab187d51bd26aaa022c6, it will allways be that exact version of the GPL2 license.
What if in the source package, the license file contains (by mistake) an additional newline? Who should do the actual checking, that the license is really GPL (whatever else)?
That's not a problem. For instance there's a pile of GPLv2 variations in the licenses package ;)
In this hash scheme, how can user display license using pager or editor? ???
Also note that some packages have slightly modified licenses (like: author allows linking against some non-GPLed library) - will these licenses be bundled together with those "standard" ones?
AFAICS, the package contains all possible licenses found in packages. Michal --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
Petr Cerny wrote:
In this hash scheme, how can user display license using pager or editor?
User uses "less /usr/share/doc/packages/<package>/LICENSE", which is a symlink to /usr/share/doc/licenses/7fbc338309ac38fefcd64b04bb903e34.txt -- Best Regards / S pozdravom, Pavol RUSNAK SUSE LINUX, s.r.o Package Maintainer Lihovarska 1060/12 PGP 0xA6917144 19000 Praha 9, CR prusnak[at]suse.cz http://www.suse.cz --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
Lars Vogdt wrote:
But I talked to mrueckert some days bevore - we're thinking about a rpm macro _and_ an additional internal brp-check. As none of these both is done currently, any other ideas are very welcome!
This is what I use just now in my packages: for FILE in COPYING COPYING.LIB ; do MD5SUM=$(md5sum $FILE | sed 's/ .*//') if test -f /usr/share/doc/licenses/md5/$MD5SUM ; then ln -sf /usr/share/doc/licenses/md5/$MD5SUM $FILE fi done If you will replace list in the first line by an argument, you have a macro. You can also use "shopt -s nullglob" and add complete list of possible names. Note that rpmlint check is incomplete and does not check less common names for license. And dangling check in the rpmlint is broken and reports each link to license as a dangling link. -- Best Regards / S pozdravem, Stanislav Brabec software developer --------------------------------------------------------------------- SUSE LINUX, s. r. o. e-mail: sbrabec@suse.cz Lihovarská 1060/12 tel: +420 284 028 966 190 00 Praha 9 fax: +420 284 028 951 Czech Republic http://www.suse.cz/ --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
Am Dienstag, 24. Juli 2007 16:55 schrieb Stanislav Brabec:
This is what I use just now in my packages:
for FILE in COPYING COPYING.LIB ; do MD5SUM=$(md5sum $FILE | sed 's/ .*//') if test -f /usr/share/doc/licenses/md5/$MD5SUM ; then ln -sf /usr/share/doc/licenses/md5/$MD5SUM $FILE fi done
If you will replace list in the first line by an argument, you have a macro. You can also use "shopt -s nullglob" and add complete list of possible names.
Thanks Stanislav ! Michael: is this something we can add as rpm macro in 10.3 ?
Note that rpmlint check is incomplete and does not check less common names for license.
And dangling check in the rpmlint is broken and reports each link to license as a dangling link.
=> bugzila, please... ;-) Lars --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
On 2007-07-24 17:08:34 +0200, Lars Vogdt wrote:
Am Dienstag, 24. Juli 2007 16:55 schrieb Stanislav Brabec:
This is what I use just now in my packages:
for FILE in COPYING COPYING.LIB ; do MD5SUM=$(md5sum $FILE | sed 's/ .*//') if test -f /usr/share/doc/licenses/md5/$MD5SUM ; then ln -sf /usr/share/doc/licenses/md5/$MD5SUM $FILE fi done
If you will replace list in the first line by an argument, you have a macro. You can also use "shopt -s nullglob" and add complete list of possible names.
Thanks Stanislav ! Michael: is this something we can add as rpm macro in 10.3 ?
s/macro/brp-fix/ darix -- openSUSE - SUSE Linux is my linux openSUSE is good for you www.opensuse.org --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
Marcus Rueckert píše v Út 24. 07. 2007 v 17:22 +0200:
On 2007-07-24 17:08:34 +0200, Lars Vogdt wrote:
Am Dienstag, 24. Juli 2007 16:55 schrieb Stanislav Brabec:
This is what I use just now in my packages:
for FILE in COPYING COPYING.LIB ; do MD5SUM=$(md5sum $FILE | sed 's/ .*//') if test -f /usr/share/doc/licenses/md5/$MD5SUM ; then ln -sf /usr/share/doc/licenses/md5/$MD5SUM $FILE fi done
If you will replace list in the first line by an argument, you have a macro. You can also use "shopt -s nullglob" and add complete list of possible names.
Thanks Stanislav ! Michael: is this something we can add as rpm macro in 10.3 ?
s/macro/brp-fix/
If it will be done for all packages, then you need to auto add licenses to Requires, if at least one link was created. A simple attempt recursively checking docdir (untested): function link_licenses { for FILE in * ; do if test -d "$FILE" ; then link_licenses "$FILE"/* else if ! test -L "$FILE" ; then MD5SUM=$(md5sum $FILE | sed 's/ .*//') if test -f /usr/share/doc/licenses/md5/$MD5SUM ; then requires_licenses=true ln -sf /usr/share/doc/licenses/md5/$MD5SUM $FILE fi fi done } shopt -s nullglob requires_licenses=false link_licenses /var/tmp/.../usr/share/doc/packages ... evaluate $requires_licenses -- Best Regards / S pozdravem, Stanislav Brabec software developer --------------------------------------------------------------------- SUSE LINUX, s. r. o. e-mail: sbrabec@suse.cz Lihovarská 1060/12 tel: +420 284 028 966 190 00 Praha 9 fax: +420 284 028 951 Czech Republic http://www.suse.cz/ --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
On Tue, 24 Jul 2007 at 17:59, Stanislav Brabec wrote:
If it will be done for all packages, then you need to auto add licenses to Requires, if at least one link was created.
Wouldn't that better be a dependency on the particular license file used by that package, rather than the whole licenses package? cu Reinhard P.S. Can somebody please configure this list to add a proper Reply-To: header to avoid bulding up needless Cc lists? --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
participants (18)
-
Adrian Schröter
-
Bernhard Walle
-
Dirk Mueller
-
Johannes Meixner
-
Juergen Weigert
-
Lars Vogdt
-
Ludwig Nussel
-
Lukas Ocilka
-
Marcus Rueckert
-
Michael Matz
-
Michael Schroeder
-
Michal Marek
-
Pavol Rusnak
-
Petr Cerny
-
Reinhard Max
-
Richard Guenther
-
Robert Schiele
-
Stanislav Brabec