Skip to contentSkip to conversation

i2c-tools: license and staging installation fixes

PATCH Superseded Brad Love 3 participants 9 messages Aug 23, 2018 – Aug 24, 2018

v1 of 3 Superseded Latest is v3 →

lore
Share & tools
lore

Brad Love

author
#0 lore raw

cover i2c-tools: license and staging installation fixes

Patch 1/2 updates i2c-tools.mk to include the LGPL-2.1+ license which applies to the library libi2c.

Patch 2/2 enables staging installation, using make targets to install the header and dynamic or static library for use by external packages.

Brad Love (2):
i2c-tools: include LGPL-2.1+ license for libi2c
i2c-tools: install library and header to staging

 package/i2c-tools/i2c-tools.mk | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)
Signature · 1 line
2.7.4
author
#1 lore raw

PATCH 1/2 i2c-tools: include LGPL-2.1+ license for libi2c

Extend i2c-tools SPDX identifiers to include the library license.

The ic2-tools readme states:

LICENSE

Check the documentation of individual tools for licensing information. The library is released under the LGPL version 2.1 or later, while most tools are released under the GPL version 2 or later, but there are a few exceptions.

---
 package/i2c-tools/i2c-tools.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
package/i2c-tools/i2c-tools.mk +1 -1
index db26647..a346698 100644
@@ -7,7 +7,7 @@
 I2C_TOOLS_VERSION = 4.0
 I2C_TOOLS_SOURCE = i2c-tools-$(I2C_TOOLS_VERSION).tar.xz
 I2C_TOOLS_SITE = https://www.kernel.org/pub/software/utils/i2c-tools
-I2C_TOOLS_LICENSE = GPL-2.0+, GPL-2.0 (py-smbus)
+I2C_TOOLS_LICENSE = GPL-2.0+, GPL-2.0 (py-smbus), LGPL-2.1+ (libi2c)
 I2C_TOOLS_LICENSE_FILES = COPYING
 I2C_TOOLS_MAKE_OPTS = EXTRA=eeprog
 
Signature · 1 line
2.7.4
#2 lore raw

PATCH 1/2 i2c-tools: include LGPL-2.1+ license for libi2c

Brad, All,

On 2018-08-23 15:20 -0500, Brad Love spake thusly:

Quoted 6 lines

Extend i2c-tools SPDX identifiers to include the library license.

The ic2-tools readme states:

LICENSE

Quoted 7 lines

Check the documentation of individual tools for licensing information. The library is released under the LGPL version 2.1 or later, while most tools are released under the GPL version 2 or later, but there are a few exceptions.

Regards,
Yann E. MORIN.

Quoted 24 lines
---
 package/i2c-tools/i2c-tools.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
package/i2c-tools/i2c-tools.mk +1 -1
index db26647..a346698 100644
@@ -7,7 +7,7 @@
 I2C_TOOLS_VERSION = 4.0
 I2C_TOOLS_SOURCE = i2c-tools-$(I2C_TOOLS_VERSION).tar.xz
 I2C_TOOLS_SITE = https://www.kernel.org/pub/software/utils/i2c-tools
-I2C_TOOLS_LICENSE = GPL-2.0+, GPL-2.0 (py-smbus)
+I2C_TOOLS_LICENSE = GPL-2.0+, GPL-2.0 (py-smbus), LGPL-2.1+ (libi2c)
 I2C_TOOLS_LICENSE_FILES = COPYING
 I2C_TOOLS_MAKE_OPTS = EXTRA=eeprog
 
Signature · 6 lines
2.7.4

_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  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.  |
'------------------------------^-------^------------------^--------------------'
#3 lore raw

PATCH 1/2 i2c-tools: include LGPL-2.1+ license for libi2c

In reply to Brad Love

Hi Brad,

Quoted 22 lines · Brad Love

Extend i2c-tools SPDX identifiers to include the library license.

The ic2-tools readme states:

LICENSE

Check the documentation of individual tools for licensing information. The library is released under the LGPL version 2.1 or later, while most tools are released under the GPL version 2 or later, but there are a few exceptions.

---
 package/i2c-tools/i2c-tools.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
package/i2c-tools/i2c-tools.mk +0 -0
index db26647..a346698 100644

package/i2c-tools/i2c-tools.mk line 11

Quoted 6 lines
package/i2c-tools/i2c-tools.mk +1 -1
@@ -7,7 +7,7 @@
 I2C_TOOLS_VERSION = 4.0
 I2C_TOOLS_SOURCE = i2c-tools-$(I2C_TOOLS_VERSION).tar.xz
 I2C_TOOLS_SITE = https://www.kernel.org/pub/software/utils/i2c-tools
-I2C_TOOLS_LICENSE = GPL-2.0+, GPL-2.0 (py-smbus)
+I2C_TOOLS_LICENSE = GPL-2.0+, GPL-2.0 (py-smbus), LGPL-2.1+ (libi2c)
 I2C_TOOLS_LICENSE_FILES = COPYING

Please add COPYING.LGPL here as well. And while you are at it, I think adding README would also be good.

package/i2c-tools/i2c-tools.mk line 12

Quoted 1 line
package/i2c-tools/i2c-tools.mk +0 -0
 I2C_TOOLS_MAKE_OPTS = EXTRA=eeprog

baruch

Signature · 3 lines
     http://baruch.siach.name/blog/                  ~. .~   Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
   - baruch at tkos.co.il - tel: +972.52.368.4656, http://www.tkos.co.il -
author
#4 lore raw

PATCH 1/2 i2c-tools: include LGPL-2.1+ license for libi2c

Hi Baruch,

Quoted 20 lines · Baruch Siach

Hi Brad,

Quoted 17 lines · Brad Love

Extend i2c-tools SPDX identifiers to include the library license.

The ic2-tools readme states:

LICENSE

Check the documentation of individual tools for licensing information. The library is released under the LGPL version 2.1 or later, while most tools are released under the GPL version 2 or later, but there are a few exceptions.

---
 package/i2c-tools/i2c-tools.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
Quoted 13 lines

package/i2c-tools/i2c-tools.mk line 11

Quoted 11 lines
package/i2c-tools/i2c-tools.mk +1 -1
index db26647..a346698 100644
@@ -7,7 +7,7 @@
 I2C_TOOLS_VERSION = 4.0
 I2C_TOOLS_SOURCE = i2c-tools-$(I2C_TOOLS_VERSION).tar.xz
 I2C_TOOLS_SITE = https://www.kernel.org/pub/software/utils/i2c-tools
-I2C_TOOLS_LICENSE = GPL-2.0+, GPL-2.0 (py-smbus)
+I2C_TOOLS_LICENSE = GPL-2.0+, GPL-2.0 (py-smbus), LGPL-2.1+ (libi2c)
 I2C_TOOLS_LICENSE_FILES = COPYING

Please add COPYING.LGPL here as well. And while you are at it, I think adding README would also be good.

Done, v3 has been submitted. Apologies for the omission.

Cheers,

Brad

Quoted 3 lines

package/i2c-tools/i2c-tools.mk line 12

Quoted 1 line
package/i2c-tools/i2c-tools.mk +0 -0
 I2C_TOOLS_MAKE_OPTS = EXTRA=eeprog

baruch

author
#5 lore raw

PATCH 2/2 i2c-tools: install library and header to staging

In reply to Brad Love

When the dynamic/static library of i2c-tools is enabled it is installed to the target destination. However, in order for external packages to link against it, it must also be installed to staging.

Here, the flag is set to install the package to staging. The INSTALL_STAGING command is included to only install the library and header file in order to utilize libi2c externally. The make targets are used for the installation to accomodate whether static or dynamic library was selected during configuration.

---
 package/i2c-tools/i2c-tools.mk | 8 ++++++++
 1 file changed, 8 insertions(+)
package/i2c-tools/i2c-tools.mk +8 -0
index a346698..c571056 100644
@@ -10,6 +10,7 @@ I2C_TOOLS_SITE = https://www.kernel.org/pub/software/utils/i2c-tools
 I2C_TOOLS_LICENSE = GPL-2.0+, GPL-2.0 (py-smbus), LGPL-2.1+ (library)
 I2C_TOOLS_LICENSE_FILES = COPYING
 I2C_TOOLS_MAKE_OPTS = EXTRA=eeprog
+I2C_TOOLS_INSTALL_STAGING = YES
 
 ifeq ($(BR2_PACKAGE_PYTHON),y)
 I2C_TOOLS_DEPENDENCIES += python
@@ -62,4 +63,11 @@ define I2C_TOOLS_INSTALL_TARGET_CMDS
 	$(I2C_TOOLS_INSTALL_PYSMBUS)
 endef
 
+define I2C_TOOLS_INSTALL_STAGING_CMDS
+	$(MAKE) $(TARGET_CONFIGURE_OPTS) $(I2C_TOOLS_MAKE_OPTS) \
+		DESTDIR="$(STAGING_DIR)" prefix=/usr -C $(@D) install-lib
+	$(MAKE) $(TARGET_CONFIGURE_OPTS) $(I2C_TOOLS_MAKE_OPTS) \
+		DESTDIR="$(STAGING_DIR)" prefix=/usr -C $(@D) install-include
+endef
+
 $(eval $(generic-package))
Signature · 1 line
2.7.4
#6 lore raw

PATCH 2/2 i2c-tools: install library and header to staging

Brad, All,

On 2018-08-23 15:20 -0500, Brad Love spake thusly:

Quoted 28 lines

When the dynamic/static library of i2c-tools is enabled it is installed to the target destination. However, in order for external packages to link against it, it must also be installed to staging.

Here, the flag is set to install the package to staging. The INSTALL_STAGING command is included to only install the library and header file in order to utilize libi2c externally. The make targets are used for the installation to accomodate whether static or dynamic library was selected during configuration.

---
 package/i2c-tools/i2c-tools.mk | 8 ++++++++
 1 file changed, 8 insertions(+)
package/i2c-tools/i2c-tools.mk +1 -0
index a346698..c571056 100644
@@ -10,6 +10,7 @@ I2C_TOOLS_SITE = https://www.kernel.org/pub/software/utils/i2c-tools
 I2C_TOOLS_LICENSE = GPL-2.0+, GPL-2.0 (py-smbus), LGPL-2.1+ (library)
 I2C_TOOLS_LICENSE_FILES = COPYING
 I2C_TOOLS_MAKE_OPTS = EXTRA=eeprog
+I2C_TOOLS_INSTALL_STAGING = YES
 
 ifeq ($(BR2_PACKAGE_PYTHON),y)
 I2C_TOOLS_DEPENDENCIES += python

package/i2c-tools/i2c-tools.mk define I2C_TOOLS_INSTALL_TARGET_CMDS · line 71

Quoted 9 lines
package/i2c-tools/i2c-tools.mk +6 -0
@@ -62,4 +63,11 @@ define I2C_TOOLS_INSTALL_TARGET_CMDS
 	$(I2C_TOOLS_INSTALL_PYSMBUS)
 endef
 
+define I2C_TOOLS_INSTALL_STAGING_CMDS
+	$(MAKE) $(TARGET_CONFIGURE_OPTS) $(I2C_TOOLS_MAKE_OPTS) \
+		DESTDIR="$(STAGING_DIR)" prefix=/usr -C $(@D) install-lib
+	$(MAKE) $(TARGET_CONFIGURE_OPTS) $(I2C_TOOLS_MAKE_OPTS) \
+		DESTDIR="$(STAGING_DIR)" prefix=/usr -C $(@D) install-include
+endef

I guess that 'make install' also installs the lib and headers, right? If so, I'd prefer we use that; it is not a problem that programs are also instaleld in staging.

Regards,
Yann E. MORIN.

Quoted 8 lines
package/i2c-tools/i2c-tools.mk +0 -0
 $(eval $(generic-package))
Signature · 6 lines
2.7.4

_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  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.  |
'------------------------------^-------^------------------^--------------------'
author
#7 lore raw

PATCH 2/2 i2c-tools: install library and header to staging

Hi Yann,

Quoted 44 lines · Yann E. MORIN

Brad, All,

On 2018-08-23 15:20 -0500, Brad Love spake thusly:

Quoted 28 lines

When the dynamic/static library of i2c-tools is enabled it is installed to the target destination. However, in order for external packages to link against it, it must also be installed to staging.

Here, the flag is set to install the package to staging. The INSTALL_STAGING command is included to only install the library and header file in order to utilize libi2c externally. The make targets are used for the installation to accomodate whether static or dynamic library was selected during configuration.

---
 package/i2c-tools/i2c-tools.mk | 8 ++++++++
 1 file changed, 8 insertions(+)
package/i2c-tools/i2c-tools.mk +1 -0
index a346698..c571056 100644
@@ -10,6 +10,7 @@ I2C_TOOLS_SITE = https://www.kernel.org/pub/software/utils/i2c-tools
 I2C_TOOLS_LICENSE = GPL-2.0+, GPL-2.0 (py-smbus), LGPL-2.1+ (library)
 I2C_TOOLS_LICENSE_FILES = COPYING
 I2C_TOOLS_MAKE_OPTS = EXTRA=eeprog
+I2C_TOOLS_INSTALL_STAGING = YES
 
 ifeq ($(BR2_PACKAGE_PYTHON),y)
 I2C_TOOLS_DEPENDENCIES += python

package/i2c-tools/i2c-tools.mk define I2C_TOOLS_INSTALL_TARGET_CMDS · line 71

Quoted 9 lines
package/i2c-tools/i2c-tools.mk +6 -0
@@ -62,4 +63,11 @@ define I2C_TOOLS_INSTALL_TARGET_CMDS
 	$(I2C_TOOLS_INSTALL_PYSMBUS)
 endef
 
+define I2C_TOOLS_INSTALL_STAGING_CMDS
+	$(MAKE) $(TARGET_CONFIGURE_OPTS) $(I2C_TOOLS_MAKE_OPTS) \
+		DESTDIR="$(STAGING_DIR)" prefix=/usr -C $(@D) install-lib
+	$(MAKE) $(TARGET_CONFIGURE_OPTS) $(I2C_TOOLS_MAKE_OPTS) \
+		DESTDIR="$(STAGING_DIR)" prefix=/usr -C $(@D) install-include
+endef

I guess that 'make install' also installs the lib and headers, right? If so, I'd prefer we use that; it is not a problem that programs are also instaleld in staging.

Quoted 2 lines

Regards,
Yann E. MORIN.

Just tested, you are correct, make install does everything. A v2 is incoming. The v2 fixes another issue as well.

Cheers,

Brad

Quoted 8 lines
Quoted 8 lines
package/i2c-tools/i2c-tools.mk +0 -0
 $(eval $(generic-package))
Signature · 6 lines
2.7.4

_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
author
#8 lore raw

PATCH v2 2/2 i2c-tools: install library and header to staging

In reply to Brad Love

When the dynamic/static library of i2c-tools is enabled it is installed to the target destination. However, in order for external packages to link against it, it must also be installed to staging.

Here, the flag is set to install the package to staging. The INSTALL_STAGING command is included to complete the operation.

---
since v1:
- condensed make install-lib and make install-include to make install
- Updated commit message
- fixed patch typo (library to libi2c)

 package/i2c-tools/i2c-tools.mk | 6 ++++++
 1 file changed, 6 insertions(+)
package/i2c-tools/i2c-tools.mk +6 -0
index 2d28166..2082c52 100644
@@ -10,6 +10,7 @@ I2C_TOOLS_SITE = https://www.kernel.org/pub/software/utils/i2c-tools
 I2C_TOOLS_LICENSE = GPL-2.0+, GPL-2.0 (py-smbus), LGPL-2.1+ (libi2c)
 I2C_TOOLS_LICENSE_FILES = COPYING
 I2C_TOOLS_MAKE_OPTS = EXTRA=eeprog
+I2C_TOOLS_INSTALL_STAGING = YES
 
 ifeq ($(BR2_PACKAGE_PYTHON),y)
 I2C_TOOLS_DEPENDENCIES += python
@@ -62,4 +63,9 @@ define I2C_TOOLS_INSTALL_TARGET_CMDS
 	$(I2C_TOOLS_INSTALL_PYSMBUS)
 endef
 
+define I2C_TOOLS_INSTALL_STAGING_CMDS
+	$(MAKE) $(TARGET_CONFIGURE_OPTS) $(I2C_TOOLS_MAKE_OPTS) \
+		DESTDIR="$(STAGING_DIR)" prefix=/usr -C $(@D) install
+endef
+
 $(eval $(generic-package))
Signature · 1 line
2.7.4