Message ID | 20170301225611.11494-1-romain.naour@gmail.com |
---|---|
State | Changes Requested |
Headers | show |
Le 01/03/2017 à 23:56, Romain Naour a écrit : > Backport a patch from SuperTux project: > https://github.com/SuperTux/physfs/commit/61d3b63abcba8e9615dcb8a3d1fc026bf7f8d5f8 > > Signed-off-by: Romain Naour <romain.naour@gmail.com> > --- [...] > @@ -0,0 +1,27 @@ > +################################################################################ > +# > +# physfs > +# > +################################################################################ > + > +PHYSFS_VERSION = be27dfd07d97336145e7f49d3fd200a6e902f85e > +PHYSFS_SITE = https://hg.icculus.org/icculus/physfs > +PHYSFS_SITE_METHOD = hg I forgot to squash licenses information... sorry. It should be: PHYSFS_LICENSE = zlib license (physfs), LGPLv2.1+ (lzma) PHYSFS_LICENSE_FILES = LICENSE.txt src/lzma/LGPL.txt Best regards, Romain > + > +PHYSFS_INSTALL_STAGING = YES > + > +PHYSFS_CONF_OPTS = -DPHYSFS_BUILD_TEST=OFF > + > +ifeq ($(BR2_SHARED_LIBS)$(BR2_SHARED_STATIC_LIBS),y) > +PHYSFS_CONF_OPTS += -DPHYSFS_BUILD_SHARED=ON > +else > +PHYSFS_CONF_OPTS += -DPHYSFS_BUILD_SHARED=OFF > +endif > + > +ifeq ($(BR2_STATIC_LIBS)$(BR2_SHARED_STATIC_LIBS),y) > +PHYSFS_CONF_OPTS += -DPHYSFS_BUILD_STATIC=ON > +else > +PHYSFS_CONF_OPTS += -DPHYSFS_BUILD_STATIC=OFF > +endif > + > +$(eval $(cmake-package)) >
Hello,
On Sun, 5 Mar 2017 16:52:48 +0100, Romain Naour wrote:
> PHYSFS_LICENSE = zlib license (physfs), LGPLv2.1+ (lzma)
This is not completely correct. Read src/lzma/lzma.txt for details (and
include it in the license files). The lzma SDK is available under the
following licenses:
1) GNU Lesser General Public License (GNU LGPL)
2) Common Public License (CPL)
3) Simplified license for unmodified code (read SPECIAL EXCEPTION)
4) Proprietary license
So perhaps:
zlib license (physfs), LGPv2.1+ or CPL or special license (lzma)
?
Could you respin after double checking this?
Thanks,
Thomas
Hi Thomas, Le 05/03/2017 à 21:51, Thomas Petazzoni a écrit : > Hello, > > On Sun, 5 Mar 2017 16:52:48 +0100, Romain Naour wrote: > >> PHYSFS_LICENSE = zlib license (physfs), LGPLv2.1+ (lzma) > > This is not completely correct. Read src/lzma/lzma.txt for details (and > include it in the license files). The lzma SDK is available under the > following licenses: > > 1) GNU Lesser General Public License (GNU LGPL) > 2) Common Public License (CPL) > 3) Simplified license for unmodified code (read SPECIAL EXCEPTION) > 4) Proprietary license > > So perhaps: > > zlib license (physfs), LGPv2.1+ or CPL or special license (lzma) > > ? It seems some files are under public domain when the special license is used. SPECIAL EXCEPTION #3: Igor Pavlov, as the author of this code, expressly permits you to use code of the following files: BranchTypes.h, LzmaTypes.h, LzmaTest.c, LzmaStateTest.c, LzmaAlone.cpp, LzmaAlone.cs, LzmaAlone.java as public domain code. Maybe "special license" is enough ? Best regards, Romain > > Could you respin after double checking this? > > Thanks, > > Thomas >
Hello, On Sun, 5 Mar 2017 22:14:02 +0100, Romain Naour wrote: > > zlib license (physfs), LGPv2.1+ or CPL or special license (lzma) > > > > ? > > It seems some files are under public domain when the special license is used. > > SPECIAL EXCEPTION #3: Igor Pavlov, as the author of this code, expressly permits > you to use code of the following files: > BranchTypes.h, LzmaTypes.h, LzmaTest.c, LzmaStateTest.c, LzmaAlone.cpp, > LzmaAlone.cs, LzmaAlone.java > as public domain code. > > Maybe "special license" is enough ? My understanding of lzma.txt is that you really have the choice between those different licensing options, so I believe encoding all of them in <pkg>_LICENSE is probably better. Cc'ing Arnout and Yann to get their insight. Thomas
On 05-03-17 22:37, Thomas Petazzoni wrote: > Hello, > > On Sun, 5 Mar 2017 22:14:02 +0100, Romain Naour wrote: >>> zlib license (physfs), LGPv2.1+ or CPL or special license (lzma) >>> >>> ? >> >> It seems some files are under public domain when the special license is used. >> >> SPECIAL EXCEPTION #3: Igor Pavlov, as the author of this code, expressly permits >> you to use code of the following files: >> BranchTypes.h, LzmaTypes.h, LzmaTest.c, LzmaStateTest.c, LzmaAlone.cpp, >> LzmaAlone.cs, LzmaAlone.java >> as public domain code. >> >> Maybe "special license" is enough ? > > My understanding of lzma.txt is that you really have the choice between > those different licensing options, so I believe encoding all of them in > <pkg>_LICENSE is probably better. > > Cc'ing Arnout and Yann to get their insight. I was just about to reply :-) First of all, I don't see any 'or later' language, so it's LGPL2.1 (the version mentioned in src/lzma/LGPL.txt). I think the special cases are not interesting enough to warrant mentioning - we should consider the LICENSE as a strong hint, not as a definitive assertion (it is not entirely accurate in most packages). In addition, the CPL.html file which is supposed to be there, is missing. The top-level README also says "It uses the LGPL license, with exceptions for closed-source programs." This leads me to conclude that the physfs authors, when redistributint lzma, have decided to do so under LGPL and to drop the other license options. So I'd say: PHYSFS_LICENSE = zlib license (physfs), LGPLv2.1 with exceptions (lzma) PHYSFS_LICENSE_FILES = LICENSE.txt src/lzma/lzma.txt src/lzma/LGPL.txt Regards, Arnout
Hi Arnout, all, Le 05/03/2017 à 23:06, Arnout Vandecappelle a écrit : > > > On 05-03-17 22:37, Thomas Petazzoni wrote: >> Hello, >> >> On Sun, 5 Mar 2017 22:14:02 +0100, Romain Naour wrote: >>>> zlib license (physfs), LGPv2.1+ or CPL or special license (lzma) >>>> >>>> ? >>> >>> It seems some files are under public domain when the special license is used. >>> >>> SPECIAL EXCEPTION #3: Igor Pavlov, as the author of this code, expressly permits >>> you to use code of the following files: >>> BranchTypes.h, LzmaTypes.h, LzmaTest.c, LzmaStateTest.c, LzmaAlone.cpp, >>> LzmaAlone.cs, LzmaAlone.java >>> as public domain code. >>> >>> Maybe "special license" is enough ? >> >> My understanding of lzma.txt is that you really have the choice between >> those different licensing options, so I believe encoding all of them in >> <pkg>_LICENSE is probably better. >> >> Cc'ing Arnout and Yann to get their insight. > > I was just about to reply :-) > > First of all, I don't see any 'or later' language, so it's LGPL2.1 (the version > mentioned in src/lzma/LGPL.txt). Try with "any later version" > > I think the special cases are not interesting enough to warrant mentioning - we > should consider the LICENSE as a strong hint, not as a definitive assertion (it > is not entirely accurate in most packages). In addition, the CPL.html file which > is supposed to be there, is missing. The top-level README also says "It uses the > LGPL license, with exceptions for closed-source programs." This leads me to > conclude that the physfs authors, when redistributint lzma, have decided to do > so under LGPL and to drop the other license options. > > So I'd say: > > PHYSFS_LICENSE = zlib license (physfs), LGPLv2.1 with exceptions (lzma) > PHYSFS_LICENSE_FILES = LICENSE.txt src/lzma/lzma.txt src/lzma/LGPL.txt Ok, thanks for the help! Best regards, Romain > > > Regards, > Arnout > >
Hello, On Sun, 5 Mar 2017 23:06:21 +0100, Arnout Vandecappelle wrote: > First of all, I don't see any 'or later' language, so it's LGPL2.1 (the version > mentioned in src/lzma/LGPL.txt). > > I think the special cases are not interesting enough to warrant mentioning Don't the special cases allow static linking more easily than what LGPL2.1 allows to do? Thomas
On 05-03-17 23:13, Romain Naour wrote: > Hi Arnout, all, > > Le 05/03/2017 à 23:06, Arnout Vandecappelle a écrit : >> >> >> On 05-03-17 22:37, Thomas Petazzoni wrote: >>> Hello, >>> >>> On Sun, 5 Mar 2017 22:14:02 +0100, Romain Naour wrote: >>>>> zlib license (physfs), LGPv2.1+ or CPL or special license (lzma) >>>>> >>>>> ? >>>> >>>> It seems some files are under public domain when the special license is used. >>>> >>>> SPECIAL EXCEPTION #3: Igor Pavlov, as the author of this code, expressly permits >>>> you to use code of the following files: >>>> BranchTypes.h, LzmaTypes.h, LzmaTest.c, LzmaStateTest.c, LzmaAlone.cpp, >>>> LzmaAlone.cs, LzmaAlone.java >>>> as public domain code. >>>> >>>> Maybe "special license" is enough ? >>> >>> My understanding of lzma.txt is that you really have the choice between >>> those different licensing options, so I believe encoding all of them in >>> <pkg>_LICENSE is probably better. >>> >>> Cc'ing Arnout and Yann to get their insight. >> >> I was just about to reply :-) >> >> First of all, I don't see any 'or later' language, so it's LGPL2.1 (the version >> mentioned in src/lzma/LGPL.txt). > > Try with "any later version" Still don't see it, except in LGPL.txt where they explain that the library should specify "any later version" if they want it to apply to a later version. Regards, Arnout > >> >> I think the special cases are not interesting enough to warrant mentioning - we >> should consider the LICENSE as a strong hint, not as a definitive assertion (it >> is not entirely accurate in most packages). In addition, the CPL.html file which >> is supposed to be there, is missing. The top-level README also says "It uses the >> LGPL license, with exceptions for closed-source programs." This leads me to >> conclude that the physfs authors, when redistributint lzma, have decided to do >> so under LGPL and to drop the other license options. >> >> So I'd say: >> >> PHYSFS_LICENSE = zlib license (physfs), LGPLv2.1 with exceptions (lzma) >> PHYSFS_LICENSE_FILES = LICENSE.txt src/lzma/lzma.txt src/lzma/LGPL.txt > > Ok, thanks for the help! > > Best regards, > Romain > >> >> >> Regards, >> Arnout >> >> >
On 05-03-17 23:41, Thomas Petazzoni wrote: > Hello, > > On Sun, 5 Mar 2017 23:06:21 +0100, Arnout Vandecappelle wrote: > >> First of all, I don't see any 'or later' language, so it's LGPL2.1 (the version >> mentioned in src/lzma/LGPL.txt). >> >> I think the special cases are not interesting enough to warrant mentioning > > Don't the special cases allow static linking more easily than what > LGPL2.1 allows to do? Actually there is no "special cases", there is "special exception" (which I included in my proposal, that you snipped away but I repeat it below), and there is "proprietary license". Then there are some files that have a "public domain" option, but since the package links with a whole lot more than just those files, it's not relevant for the overall license. Therefore: PHYSFS_LICENSE = zlib license (physfs), LGPLv2.1 with exceptions (lzma) Regards, Arnout
Hi Arnout, Thomas, All, Le 06/03/2017 à 00:31, Arnout Vandecappelle a écrit : > > > On 05-03-17 23:13, Romain Naour wrote: >> Hi Arnout, all, >> >> Le 05/03/2017 à 23:06, Arnout Vandecappelle a écrit : >>> >>> >>> On 05-03-17 22:37, Thomas Petazzoni wrote: >>>> Hello, >>>> >>>> On Sun, 5 Mar 2017 22:14:02 +0100, Romain Naour wrote: >>>>>> zlib license (physfs), LGPv2.1+ or CPL or special license (lzma) >>>>>> >>>>>> ? >>>>> >>>>> It seems some files are under public domain when the special license is used. >>>>> >>>>> SPECIAL EXCEPTION #3: Igor Pavlov, as the author of this code, expressly permits >>>>> you to use code of the following files: >>>>> BranchTypes.h, LzmaTypes.h, LzmaTest.c, LzmaStateTest.c, LzmaAlone.cpp, >>>>> LzmaAlone.cs, LzmaAlone.java >>>>> as public domain code. >>>>> >>>>> Maybe "special license" is enough ? >>>> >>>> My understanding of lzma.txt is that you really have the choice between >>>> those different licensing options, so I believe encoding all of them in >>>> <pkg>_LICENSE is probably better. >>>> >>>> Cc'ing Arnout and Yann to get their insight. >>> >>> I was just about to reply :-) >>> >>> First of all, I don't see any 'or later' language, so it's LGPL2.1 (the version >>> mentioned in src/lzma/LGPL.txt). >> >> Try with "any later version" > > Still don't see it, except in LGPL.txt where they explain that the library > should specify "any later version" if they want it to apply to a later version. Sorry but I don't see how to make the difference between LGPL2.1 and LGPL2.1+. I compared the license file of tree LGPL2.1+ packages (alsa-lib, cairo, sdl) with src/lzma/LGPL.txt and the content is the same. Ether alsa-lib, cairo, sdl license info are wrong or physfs is really LGPL2.1+ :) Best regards, Romain > > Regards, > Arnout
Arnout, Romain, Thomas, All, On 2017-03-05 23:06 +0100, Arnout Vandecappelle spake thusly: > On 05-03-17 22:37, Thomas Petazzoni wrote: > > Hello, > > > > On Sun, 5 Mar 2017 22:14:02 +0100, Romain Naour wrote: > >>> zlib license (physfs), LGPv2.1+ or CPL or special license (lzma) > >>> > >>> ? > >> > >> It seems some files are under public domain when the special license is used. > >> > >> SPECIAL EXCEPTION #3: Igor Pavlov, as the author of this code, expressly permits > >> you to use code of the following files: > >> BranchTypes.h, LzmaTypes.h, LzmaTest.c, LzmaStateTest.c, LzmaAlone.cpp, > >> LzmaAlone.cs, LzmaAlone.java > >> as public domain code. > >> > >> Maybe "special license" is enough ? > > > > My understanding of lzma.txt is that you really have the choice between > > those different licensing options, so I believe encoding all of them in > > <pkg>_LICENSE is probably better. > > > > Cc'ing Arnout and Yann to get their insight. > > I was just about to reply :-) > > First of all, I don't see any 'or later' language, so it's LGPL2.1 (the version > mentioned in src/lzma/LGPL.txt). That's a little bit more complicated, I think... :-( The fact that COPYING contains the text of LGPLv2.1 is a strong indication that this would be the only version that should apply. However, the lzma.txt file, which contains legal blurbs, does not state any version of the LGPL. As such, one may argue that any version may apply, as stated in COPYING itself, quoting: If the Library does not specify a license version number, you may choose any version ever published by the Free Software Foundation. So I would just say "LGPL". > I think the special cases are not interesting enough to warrant mentioning - we > should consider the LICENSE as a strong hint, not as a definitive assertion (it > is not entirely accurate in most packages). In addition, the CPL.html file which > is supposed to be there, is missing. The top-level README also says "It uses the > LGPL license, with exceptions for closed-source programs." This leads me to > conclude that the physfs authors, when redistributint lzma, have decided to do > so under LGPL and to drop the other license options. > > So I'd say: > > PHYSFS_LICENSE = zlib license (physfs), LGPLv2.1 with exceptions (lzma) Almost. I'd say: PHYSFS_LICENSE = zlib license (physfs), LGPL with exceptions (lzma) > PHYSFS_LICENSE_FILES = LICENSE.txt src/lzma/lzma.txt src/lzma/LGPL.txt Yup. Regards, Yann E. MORIN.
On 06-03-17 22:43, Yann E. MORIN wrote: > Arnout, Romain, Thomas, All, > > On 2017-03-05 23:06 +0100, Arnout Vandecappelle spake thusly: >> On 05-03-17 22:37, Thomas Petazzoni wrote: >>> Hello, >>> >>> On Sun, 5 Mar 2017 22:14:02 +0100, Romain Naour wrote: >>>>> zlib license (physfs), LGPv2.1+ or CPL or special license (lzma) >>>>> >>>>> ? >>>> >>>> It seems some files are under public domain when the special license is used. >>>> >>>> SPECIAL EXCEPTION #3: Igor Pavlov, as the author of this code, expressly permits >>>> you to use code of the following files: >>>> BranchTypes.h, LzmaTypes.h, LzmaTest.c, LzmaStateTest.c, LzmaAlone.cpp, >>>> LzmaAlone.cs, LzmaAlone.java >>>> as public domain code. >>>> >>>> Maybe "special license" is enough ? >>> >>> My understanding of lzma.txt is that you really have the choice between >>> those different licensing options, so I believe encoding all of them in >>> <pkg>_LICENSE is probably better. >>> >>> Cc'ing Arnout and Yann to get their insight. >> >> I was just about to reply :-) >> >> First of all, I don't see any 'or later' language, so it's LGPL2.1 (the version >> mentioned in src/lzma/LGPL.txt). > > That's a little bit more complicated, I think... :-( > > The fact that COPYING contains the text of LGPLv2.1 is a strong > indication that this would be the only version that should apply. No it isn't. The COPYING file always contains a single version of the GPL text [note 1]. This text always contains a section explaining how you should use it, and that you can allow "any later version" if you put the appropriate text in your source code. Obviously, the text explaining what you have to do to make it LGPLv2.1+ does not by itself make it LGPLv2.1+, you actively have to execute the instructions in said text. [note 1] Since you are not allowed to modify the text itself according to the license (the license to the text, not the LGPL license), all the COPYING files *should* be identical. > > However, the lzma.txt file, which contains legal blurbs, does not state > any version of the LGPL. As such, one may argue that any version may > apply, as stated in COPYING itself, quoting: > > If the Library does not specify a license version number, you may > choose any version ever published by the Free Software Foundation. Oops, you are right, I missed that piece of text. > So I would just say "LGPL". Agreed. >> I think the special cases are not interesting enough to warrant mentioning - we >> should consider the LICENSE as a strong hint, not as a definitive assertion (it >> is not entirely accurate in most packages). In addition, the CPL.html file which >> is supposed to be there, is missing. The top-level README also says "It uses the >> LGPL license, with exceptions for closed-source programs." This leads me to >> conclude that the physfs authors, when redistributint lzma, have decided to do >> so under LGPL and to drop the other license options. >> >> So I'd say: >> >> PHYSFS_LICENSE = zlib license (physfs), LGPLv2.1 with exceptions (lzma) > > Almost. I'd say: > > PHYSFS_LICENSE = zlib license (physfs), LGPL with exceptions (lzma) Agreed. Regards, Arnout > >> PHYSFS_LICENSE_FILES = LICENSE.txt src/lzma/lzma.txt src/lzma/LGPL.txt > > Yup. > > Regards, > Yann E. MORIN. >
diff --git a/DEVELOPERS b/DEVELOPERS index ee2300b..2cc2401 100644 --- a/DEVELOPERS +++ b/DEVELOPERS @@ -1290,6 +1290,7 @@ F: package/linux-syscall-support/ F: package/lugaru/ F: package/mcelog/ F: package/openpowerlink/ +F: package/physfs/ F: package/stress-ng/ F: package/terminology/ F: package/upower/ diff --git a/package/Config.in b/package/Config.in index fa7e5cb..b15e064 100644 --- a/package/Config.in +++ b/package/Config.in @@ -972,6 +972,7 @@ menu "Filesystem" source "package/libnfs/Config.in" source "package/libsysfs/Config.in" source "package/lockdev/Config.in" + source "package/physfs/Config.in" endmenu menu "Graphics" diff --git a/package/physfs/0001-Fix-builds-with-modern-GCC.patch b/package/physfs/0001-Fix-builds-with-modern-GCC.patch new file mode 100644 index 0000000..710b4ff --- /dev/null +++ b/package/physfs/0001-Fix-builds-with-modern-GCC.patch @@ -0,0 +1,38 @@ +From 61d3b63abcba8e9615dcb8a3d1fc026bf7f8d5f8 Mon Sep 17 00:00:00 2001 +From: Jacob Burroughs <jburroughs@trustwave.com> +Date: Thu, 23 Jun 2016 13:03:47 -0500 +Subject: [PATCH] Fix builds with modern GCC + +From SuperTux project: +https://github.com/SuperTux/physfs/commit/61d3b63abcba8e9615dcb8a3d1fc026bf7f8d5f8 + +Signed-off-by: Romain Naour <romain.naour@gmail.com> +--- + CMakeLists.txt | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 2a371af..94c4844 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -50,7 +50,7 @@ endif() + # Add some gcc-specific command lines. + if(CMAKE_COMPILER_IS_GNUCC) + # Always build with debug symbols...you can strip it later. +- add_definitions(-g -pipe -Werror -fsigned-char) ++ add_definitions(-g -pipe -fsigned-char) + + # Stupid BeOS generates warnings in the system headers. + if(NOT BEOS) +@@ -304,7 +304,7 @@ if(PHYSFS_BUILD_TEST) + if(READLINE_LIBRARY) + set(HAVE_SYSTEM_READLINE TRUE) + set(TEST_PHYSFS_LIBS ${TEST_PHYSFS_LIBS} ${READLINE_LIBRARY} ${CURSES_LIBRARY}) +- include_directories(${READLINE_H} ${HISTORY_H}) ++ include_directories(SYSTEM ${READLINE_H} ${HISTORY_H}) + add_definitions(-DPHYSFS_HAVE_READLINE=1) + endif() + endif() +-- +2.9.3 + diff --git a/package/physfs/Config.in b/package/physfs/Config.in new file mode 100644 index 0000000..dad3ab4 --- /dev/null +++ b/package/physfs/Config.in @@ -0,0 +1,10 @@ +config BR2_PACKAGE_PHYSFS + bool "physfs" + depends on BR2_INSTALL_LIBSTDCPP + help + PhysicsFS; a portable, flexible file i/o abstraction. + + http://icculus.org/physfs + +comment "physfs needs a toolchain w/ C++" + depends on !BR2_INSTALL_LIBSTDCPP diff --git a/package/physfs/physfs.mk b/package/physfs/physfs.mk new file mode 100644 index 0000000..ff76035 --- /dev/null +++ b/package/physfs/physfs.mk @@ -0,0 +1,27 @@ +################################################################################ +# +# physfs +# +################################################################################ + +PHYSFS_VERSION = be27dfd07d97336145e7f49d3fd200a6e902f85e +PHYSFS_SITE = https://hg.icculus.org/icculus/physfs +PHYSFS_SITE_METHOD = hg + +PHYSFS_INSTALL_STAGING = YES + +PHYSFS_CONF_OPTS = -DPHYSFS_BUILD_TEST=OFF + +ifeq ($(BR2_SHARED_LIBS)$(BR2_SHARED_STATIC_LIBS),y) +PHYSFS_CONF_OPTS += -DPHYSFS_BUILD_SHARED=ON +else +PHYSFS_CONF_OPTS += -DPHYSFS_BUILD_SHARED=OFF +endif + +ifeq ($(BR2_STATIC_LIBS)$(BR2_SHARED_STATIC_LIBS),y) +PHYSFS_CONF_OPTS += -DPHYSFS_BUILD_STATIC=ON +else +PHYSFS_CONF_OPTS += -DPHYSFS_BUILD_STATIC=OFF +endif + +$(eval $(cmake-package))
Backport a patch from SuperTux project: https://github.com/SuperTux/physfs/commit/61d3b63abcba8e9615dcb8a3d1fc026bf7f8d5f8 Signed-off-by: Romain Naour <romain.naour@gmail.com> --- DEVELOPERS | 1 + package/Config.in | 1 + .../physfs/0001-Fix-builds-with-modern-GCC.patch | 38 ++++++++++++++++++++++ package/physfs/Config.in | 10 ++++++ package/physfs/physfs.mk | 27 +++++++++++++++ 5 files changed, 77 insertions(+) create mode 100644 package/physfs/0001-Fix-builds-with-modern-GCC.patch create mode 100644 package/physfs/Config.in create mode 100644 package/physfs/physfs.mk