All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v3 1/2] package/physfs: new package
@ 2017-03-01 22:56 Romain Naour
  2017-03-01 22:56 ` [Buildroot] [PATCH v3 2/2] package/supertux: " Romain Naour
  2017-03-05 15:52 ` [Buildroot] [PATCH v3 1/2] package/physfs: " Romain Naour
  0 siblings, 2 replies; 14+ messages in thread
From: Romain Naour @ 2017-03-01 22:56 UTC (permalink / raw)
  To: buildroot

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

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))
-- 
2.9.3

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [Buildroot] [PATCH v3 2/2] package/supertux: new package
  2017-03-01 22:56 [Buildroot] [PATCH v3 1/2] package/physfs: new package Romain Naour
@ 2017-03-01 22:56 ` Romain Naour
  2017-03-05 15:52 ` [Buildroot] [PATCH v3 1/2] package/physfs: " Romain Naour
  1 sibling, 0 replies; 14+ messages in thread
From: Romain Naour @ 2017-03-01 22:56 UTC (permalink / raw)
  To: buildroot

Checked that libphysfs.so.1 is used by supertux2 binary.
$ LD_TRACE_LOADED_OBJECTS=1 /usr/bin/supertux2
	...
	libphysfs.so.1 => /usr/lib64/libphysfs.so.1

Signed-off-by: Romain Naour <romain.naour@gmail.com>
---
v3: add physfs package dependency
    upate license list
v2: update GCC minimal version to 4.8
Coding style checked with check-package script (v1) and build tested
with test-pkg script.
---
 DEVELOPERS                     |  1 +
 package/Config.in              |  1 +
 package/supertux/Config.in     | 38 ++++++++++++++++++++++++++++++++
 package/supertux/supertux.hash |  2 ++
 package/supertux/supertux.mk   | 49 ++++++++++++++++++++++++++++++++++++++++++
 5 files changed, 91 insertions(+)
 create mode 100644 package/supertux/Config.in
 create mode 100644 package/supertux/supertux.hash
 create mode 100644 package/supertux/supertux.mk

diff --git a/DEVELOPERS b/DEVELOPERS
index 2cc2401..21991b9 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -1292,6 +1292,7 @@ F:	package/mcelog/
 F:	package/openpowerlink/
 F:	package/physfs/
 F:	package/stress-ng/
+F:	package/supertux/
 F:	package/terminology/
 F:	package/upower/
 F:	package/xenomai/
diff --git a/package/Config.in b/package/Config.in
index b15e064..1a9172e 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -229,6 +229,7 @@ menu "Games"
 	source "package/rubix/Config.in"
 	source "package/sl/Config.in"
 	source "package/stella/Config.in"
+	source "package/supertux/Config.in"
 	source "package/supertuxkart/Config.in"
 endmenu
 
diff --git a/package/supertux/Config.in b/package/supertux/Config.in
new file mode 100644
index 0000000..43f0e3a
--- /dev/null
+++ b/package/supertux/Config.in
@@ -0,0 +1,38 @@
+config BR2_PACKAGE_SUPERTUX
+	bool "supertux"
+	depends on BR2_INSTALL_LIBSTDCPP
+	depends on BR2_PACKAGE_HAS_LIBGL # libglew
+	depends on BR2_PACKAGE_OPENAL_ARCH_SUPPORTS
+	depends on BR2_PACKAGE_XORG7 # libglew, SDL2 OpenGL (GLX)
+	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11 gcc attributes noreturn
+	depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # openal
+	depends on BR2_USE_MMU # SDL2 OpenGL (GLX)
+	depends on !BR2_STATIC_LIBS # SDL2
+	depends on BR2_USE_WCHAR # Boost
+	select BR2_PACKAGE_BOOST
+	select BR2_PACKAGE_BOOST_DATE_TIME
+	select BR2_PACKAGE_BOOST_FILESYSTEM
+	select BR2_PACKAGE_BOOST_SYSTEM
+	select BR2_PACKAGE_LIBGLEW
+	select BR2_PACKAGE_LIBGLU # GL/glu.h
+	select BR2_PACKAGE_LIBOGG
+	select BR2_PACKAGE_LIBVORBIS
+	select BR2_PACKAGE_OPENAL
+	select BR2_PACKAGE_PHYSFS
+	select BR2_PACKAGE_SDL2
+	select BR2_PACKAGE_SDL2_IMAGE
+	select BR2_PACKAGE_SDL2_OPENGL
+	help
+	  SuperTux is a free classic 2D jump'n run sidescroller game in
+	  a style similar to the original Super Mario games covered
+	  under the GNU GPL.
+
+	  http://supertux.github.io/
+
+comment "supertux needs X11 and a toolchain w/ C++, OpenGL backend, gcc >= 4.8, NPTL, dynamic library, wchar"
+	depends on BR2_PACKAGE_OPENAL_ARCH_SUPPORTS
+	depends on BR2_PACKAGE_XORG7
+	depends on BR2_USE_MMU
+	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_PACKAGE_HAS_LIBGL || \
+		!BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 || !BR2_TOOLCHAIN_HAS_THREADS_NPTL || \
+		BR2_STATIC_LIBS || !BR2_USE_WCHAR
diff --git a/package/supertux/supertux.hash b/package/supertux/supertux.hash
new file mode 100644
index 0000000..c56f608
--- /dev/null
+++ b/package/supertux/supertux.hash
@@ -0,0 +1,2 @@
+# Locally calculated
+sha256 c9dc3b42991ce5c5d0d0cb94e44c4ec2373ad09029940f0e92331e7e9ada0ac5 SuperTux-v0.5.1-Source.tar.gz
diff --git a/package/supertux/supertux.mk b/package/supertux/supertux.mk
new file mode 100644
index 0000000..6a409e3
--- /dev/null
+++ b/package/supertux/supertux.mk
@@ -0,0 +1,49 @@
+################################################################################
+#
+# supertux
+#
+################################################################################
+
+SUPERTUX_VERSION = 0.5.1
+SUPERTUX_SITE = https://github.com/SuperTux/supertux/releases/download/v$(SUPERTUX_VERSION)
+SUPERTUX_SOURCE = SuperTux-v$(SUPERTUX_VERSION)-Source.tar.gz
+
+# Supertux itself is GPLv3+, but it bundles a few libraries with different
+# licenses (sexp-cpp, squirrel, tinygettext) which are linked statically.
+SUPERTUX_LICENSE = GPLv3+ (code), CC-BY-SA 2.0, CC-BY-SA 3.0, GPLv2+ (images music sounds)
+SUPERTUX_LICENSE_FILES = LICENSE.txt data/AUTHORS
+
+# Use bundled squirrel, tinygettext sexp-cpp packages which are hardcoded in
+# the CMake build system.
+SUPERTUX_DEPENDENCIES = host-pkgconf boost libcurl libgl libglew libglu \
+	libogg libvorbis openal physfs sdl2 sdl2_image
+
+# ENABLE_BOOST_STATIC_LIBS=OFF: use boost shared libraries since supertux
+# depends on !BR2_STATIC_LIBS and boost provide only shared libraries with
+# BR2_SHARED_LIBS.
+# ENABLE_OPENGL=ON: Can be disabled but will make SuperTux unplayable slow.
+# GLBINDING_ENABLED=OFF: use GLEW (default) instead of glbinding.
+# Install the game directly in /usr/bin and game data in /usr/share/supertux2.
+# Force using physfs.so from staging since the check on PHYSFS_getPrefDir symbol
+# in physfs.h (CHECK_SYMBOL_EXISTS) doesn't work.
+SUPERTUX_CONF_OPTS += \
+	-DENABLE_BOOST_STATIC_LIBS=OFF \
+	-DBUILD_DOCUMENTATION=OFF \
+	-DENABLE_OPENGL=ON \
+	-DGLBINDING_ENABLED=OFF \
+	-DINSTALL_SUBDIR_BIN="bin" \
+	-DINSTALL_SUBDIR_SHARE="share/supertux2" \
+	-DUSE_SYSTEM_PHYSFS=ON
+
+# Avoid incompatible posix_memalign declaration on x86 and x86_64 with
+# musl.
+# https://gcc.gnu.org/ml/gcc-patches/2015-05/msg01425.html
+ifeq ($(BR2_TOOLCHAIN_USES_MUSL):$(BR2_i386)$(BR2_x86_64),y:y)
+define SUPERTUX_REMOVE_PEDANTIC
+	$(SED) 's% -pedantic%%' $(@D)/CMakeLists.txt
+	$(SED) 's%CHECK_CXX_FLAG(pedantic)%%' $(@D)/external/tinygettext/CMakeLists.txt
+endef
+SUPERTUX_POST_PATCH_HOOKS += SUPERTUX_REMOVE_PEDANTIC
+endif
+
+$(eval $(cmake-package))
-- 
2.9.3

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [Buildroot] [PATCH v3 1/2] package/physfs: new package
  2017-03-01 22:56 [Buildroot] [PATCH v3 1/2] package/physfs: new package Romain Naour
  2017-03-01 22:56 ` [Buildroot] [PATCH v3 2/2] package/supertux: " Romain Naour
@ 2017-03-05 15:52 ` Romain Naour
  2017-03-05 20:51   ` Thomas Petazzoni
  1 sibling, 1 reply; 14+ messages in thread
From: Romain Naour @ 2017-03-05 15:52 UTC (permalink / raw)
  To: buildroot

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))
> 

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Buildroot] [PATCH v3 1/2] package/physfs: new package
  2017-03-05 15:52 ` [Buildroot] [PATCH v3 1/2] package/physfs: " Romain Naour
@ 2017-03-05 20:51   ` Thomas Petazzoni
  2017-03-05 21:14     ` Romain Naour
  0 siblings, 1 reply; 14+ messages in thread
From: Thomas Petazzoni @ 2017-03-05 20:51 UTC (permalink / raw)
  To: buildroot

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
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Buildroot] [PATCH v3 1/2] package/physfs: new package
  2017-03-05 20:51   ` Thomas Petazzoni
@ 2017-03-05 21:14     ` Romain Naour
  2017-03-05 21:37       ` Thomas Petazzoni
  0 siblings, 1 reply; 14+ messages in thread
From: Romain Naour @ 2017-03-05 21:14 UTC (permalink / raw)
  To: buildroot

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
> 

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Buildroot] [PATCH v3 1/2] package/physfs: new package
  2017-03-05 21:14     ` Romain Naour
@ 2017-03-05 21:37       ` Thomas Petazzoni
  2017-03-05 22:06         ` Arnout Vandecappelle
  0 siblings, 1 reply; 14+ messages in thread
From: Thomas Petazzoni @ 2017-03-05 21:37 UTC (permalink / raw)
  To: buildroot

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
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Buildroot] [PATCH v3 1/2] package/physfs: new package
  2017-03-05 21:37       ` Thomas Petazzoni
@ 2017-03-05 22:06         ` Arnout Vandecappelle
  2017-03-05 22:13           ` Romain Naour
                             ` (2 more replies)
  0 siblings, 3 replies; 14+ messages in thread
From: Arnout Vandecappelle @ 2017-03-05 22:06 UTC (permalink / raw)
  To: buildroot



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


-- 
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Buildroot] [PATCH v3 1/2] package/physfs: new package
  2017-03-05 22:06         ` Arnout Vandecappelle
@ 2017-03-05 22:13           ` Romain Naour
  2017-03-05 23:31             ` Arnout Vandecappelle
  2017-03-05 22:41           ` Thomas Petazzoni
  2017-03-06 21:43           ` Yann E. MORIN
  2 siblings, 1 reply; 14+ messages in thread
From: Romain Naour @ 2017-03-05 22:13 UTC (permalink / raw)
  To: buildroot

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
> 
> 

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Buildroot] [PATCH v3 1/2] package/physfs: new package
  2017-03-05 22:06         ` Arnout Vandecappelle
  2017-03-05 22:13           ` Romain Naour
@ 2017-03-05 22:41           ` Thomas Petazzoni
  2017-03-05 23:34             ` Arnout Vandecappelle
  2017-03-06 21:43           ` Yann E. MORIN
  2 siblings, 1 reply; 14+ messages in thread
From: Thomas Petazzoni @ 2017-03-05 22:41 UTC (permalink / raw)
  To: buildroot

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
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Buildroot] [PATCH v3 1/2] package/physfs: new package
  2017-03-05 22:13           ` Romain Naour
@ 2017-03-05 23:31             ` Arnout Vandecappelle
  2017-03-06 20:32               ` Romain Naour
  0 siblings, 1 reply; 14+ messages in thread
From: Arnout Vandecappelle @ 2017-03-05 23:31 UTC (permalink / raw)
  To: buildroot



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
>>
>>
> 

-- 
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Buildroot] [PATCH v3 1/2] package/physfs: new package
  2017-03-05 22:41           ` Thomas Petazzoni
@ 2017-03-05 23:34             ` Arnout Vandecappelle
  0 siblings, 0 replies; 14+ messages in thread
From: Arnout Vandecappelle @ 2017-03-05 23:34 UTC (permalink / raw)
  To: buildroot



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

-- 
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Buildroot] [PATCH v3 1/2] package/physfs: new package
  2017-03-05 23:31             ` Arnout Vandecappelle
@ 2017-03-06 20:32               ` Romain Naour
  0 siblings, 0 replies; 14+ messages in thread
From: Romain Naour @ 2017-03-06 20:32 UTC (permalink / raw)
  To: buildroot

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

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Buildroot] [PATCH v3 1/2] package/physfs: new package
  2017-03-05 22:06         ` Arnout Vandecappelle
  2017-03-05 22:13           ` Romain Naour
  2017-03-05 22:41           ` Thomas Petazzoni
@ 2017-03-06 21:43           ` Yann E. MORIN
  2017-03-07  8:31             ` Arnout Vandecappelle
  2 siblings, 1 reply; 14+ messages in thread
From: Yann E. MORIN @ 2017-03-06 21:43 UTC (permalink / raw)
  To: buildroot

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.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Buildroot] [PATCH v3 1/2] package/physfs: new package
  2017-03-06 21:43           ` Yann E. MORIN
@ 2017-03-07  8:31             ` Arnout Vandecappelle
  0 siblings, 0 replies; 14+ messages in thread
From: Arnout Vandecappelle @ 2017-03-07  8:31 UTC (permalink / raw)
  To: buildroot



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.
> 

-- 
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2017-03-07  8:31 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-03-01 22:56 [Buildroot] [PATCH v3 1/2] package/physfs: new package Romain Naour
2017-03-01 22:56 ` [Buildroot] [PATCH v3 2/2] package/supertux: " Romain Naour
2017-03-05 15:52 ` [Buildroot] [PATCH v3 1/2] package/physfs: " Romain Naour
2017-03-05 20:51   ` Thomas Petazzoni
2017-03-05 21:14     ` Romain Naour
2017-03-05 21:37       ` Thomas Petazzoni
2017-03-05 22:06         ` Arnout Vandecappelle
2017-03-05 22:13           ` Romain Naour
2017-03-05 23:31             ` Arnout Vandecappelle
2017-03-06 20:32               ` Romain Naour
2017-03-05 22:41           ` Thomas Petazzoni
2017-03-05 23:34             ` Arnout Vandecappelle
2017-03-06 21:43           ` Yann E. MORIN
2017-03-07  8:31             ` Arnout Vandecappelle

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.