All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [pull request v4] Pull request for branch yem-host-image-tools
@ 2013-03-07 21:55 Yann E. MORIN
  2013-03-07 21:55 ` [Buildroot] [PATCH 1/6] package/e2fsprogs: add host-package selection Yann E. MORIN
                   ` (6 more replies)
  0 siblings, 7 replies; 20+ messages in thread
From: Yann E. MORIN @ 2013-03-07 21:55 UTC (permalink / raw)
  To: buildroot

Hello All!

This series adds a few host packages usefull for manipulating the
generated filesystem images.

It is of much interest now that the post-image series from Thomas
has been applied.

I plan on submitting sample post-{build,image} scripts demonstrating
use of those packages in the (hopefuly near) future (my current scripts
are working great, but need some cleanup first).


Changes v3 -> v4:
  - rebased on master

Changes v2 -> v3:
  - rebased onto the 'next' branch for Peter

Changes v1 -> v2:
  - use $(HOST_CONFIGURE_OPTS) instead of hand-crafted CC et al.  (Thomas)
  - use $(BR2_GNU_MIRROR)  (Thomas)
  - strip superfluous spaces  (Thomas)


The following changes since commit 203c30796e232faaf3a7de19090657bf3e7db16a:

  rpi-userland: provides OpenGL ES, EGL and OpenVG (2013-03-06 22:18:39 +0100)

are available in the git repository at:
  git://gitorious.org/buildroot/buildroot.git yem-host-image-tools

Yann E. MORIN (6):
      package/e2fsprogs: add host-package selection
      package/dosfstools: add host-package selection
      package/libconfuse: add host variant
      package/genimage: new host-only package
      package/genpart: new host-only package
      package/mtools: new host-package

 package/Config.in.host                        |    5 +++++
 package/dosfstools/Config.in.host             |    6 ++++++
 package/dosfstools/dosfstools.mk              |    9 +++++++++
 package/e2fsprogs/Config.in.host              |    6 ++++++
 package/genimage/Config.in.host               |   12 ++++++++++++
 package/genimage/genimage.mk                  |   12 ++++++++++++
 package/genpart/Config.in.host                |    8 ++++++++
 package/genpart/genpart-fix-return-code.patch |   25 +++++++++++++++++++++++++
 package/genpart/genpart.mk                    |   11 +++++++++++
 package/libconfuse/libconfuse.mk              |    1 +
 package/mtools/Config.in.host                 |    9 +++++++++
 package/mtools/mtools.mk                      |   15 +++++++++++++++
 12 files changed, 119 insertions(+), 0 deletions(-)
 create mode 100644 package/dosfstools/Config.in.host
 create mode 100644 package/e2fsprogs/Config.in.host
 create mode 100644 package/genimage/Config.in.host
 create mode 100644 package/genimage/genimage.mk
 create mode 100644 package/genpart/Config.in.host
 create mode 100644 package/genpart/genpart-fix-return-code.patch
 create mode 100644 package/genpart/genpart.mk
 create mode 100644 package/mtools/Config.in.host
 create mode 100644 package/mtools/mtools.mk

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] 20+ messages in thread

* [Buildroot] [PATCH 1/6] package/e2fsprogs: add host-package selection
  2013-03-07 21:55 [Buildroot] [pull request v4] Pull request for branch yem-host-image-tools Yann E. MORIN
@ 2013-03-07 21:55 ` Yann E. MORIN
  2013-03-07 21:55 ` [Buildroot] [PATCH 2/6] package/dosfstools: " Yann E. MORIN
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 20+ messages in thread
From: Yann E. MORIN @ 2013-03-07 21:55 UTC (permalink / raw)
  To: buildroot

Add the e2fsprogs as a host-package selection in the menuconfig.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 package/Config.in.host           |    1 +
 package/e2fsprogs/Config.in.host |    6 ++++++
 2 files changed, 7 insertions(+), 0 deletions(-)
 create mode 100644 package/e2fsprogs/Config.in.host

diff --git a/package/Config.in.host b/package/Config.in.host
index 79050f2..8813f5b 100644
--- a/package/Config.in.host
+++ b/package/Config.in.host
@@ -1,6 +1,7 @@
 menu "Host utilities"
 
 source "package/dfu-util/Config.in.host"
+source "package/e2fsprogs/Config.in.host"
 source "package/lpc3250loader/Config.in.host"
 source "package/omap-u-boot-utils/Config.in.host"
 source "package/openocd/Config.in.host"
diff --git a/package/e2fsprogs/Config.in.host b/package/e2fsprogs/Config.in.host
new file mode 100644
index 0000000..ea6a0bd
--- /dev/null
+++ b/package/e2fsprogs/Config.in.host
@@ -0,0 +1,6 @@
+config BR2_PACKAGE_HOST_E2FSPROGS
+	bool "host e2fsprogs"
+	help
+	  The EXT2 file system utilities.
+	  
+	  http://e2fsprogs.sf.net
-- 
1.7.2.5

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

* [Buildroot] [PATCH 2/6] package/dosfstools: add host-package selection
  2013-03-07 21:55 [Buildroot] [pull request v4] Pull request for branch yem-host-image-tools Yann E. MORIN
  2013-03-07 21:55 ` [Buildroot] [PATCH 1/6] package/e2fsprogs: add host-package selection Yann E. MORIN
@ 2013-03-07 21:55 ` Yann E. MORIN
  2013-03-07 21:55 ` [Buildroot] [PATCH 3/6] package/libconfuse: add host variant Yann E. MORIN
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 20+ messages in thread
From: Yann E. MORIN @ 2013-03-07 21:55 UTC (permalink / raw)
  To: buildroot

Add dosfstools as a host-package selection in the menuconfig.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

---
v1 -> v2
  - use $(HOST_CONFIGURE_OPTS)  (Thomas)
---
 package/Config.in.host            |    1 +
 package/dosfstools/Config.in.host |    6 ++++++
 package/dosfstools/dosfstools.mk  |    9 +++++++++
 3 files changed, 16 insertions(+), 0 deletions(-)
 create mode 100644 package/dosfstools/Config.in.host

diff --git a/package/Config.in.host b/package/Config.in.host
index 8813f5b..43f292c 100644
--- a/package/Config.in.host
+++ b/package/Config.in.host
@@ -1,6 +1,7 @@
 menu "Host utilities"
 
 source "package/dfu-util/Config.in.host"
+source "package/dosfstools/Config.in.host"
 source "package/e2fsprogs/Config.in.host"
 source "package/lpc3250loader/Config.in.host"
 source "package/omap-u-boot-utils/Config.in.host"
diff --git a/package/dosfstools/Config.in.host b/package/dosfstools/Config.in.host
new file mode 100644
index 0000000..9f9ceab
--- /dev/null
+++ b/package/dosfstools/Config.in.host
@@ -0,0 +1,6 @@
+config BR2_PACKAGE_HOST_DOSFSTOOLS
+	bool "host dosfstools"
+	help
+	  Tools for creating and checking DOS FAT filesystems.
+	  
+	  http://www.daniel-baumann.ch/software/dosfstools/
diff --git a/package/dosfstools/dosfstools.mk b/package/dosfstools/dosfstools.mk
index 3a0856a..332f2ee 100644
--- a/package/dosfstools/dosfstools.mk
+++ b/package/dosfstools/dosfstools.mk
@@ -43,4 +43,13 @@ define DOSFSTOOLS_CLEAN_CMDS
 	-$(MAKE) -C $(@D) clean
 endef
 
+define HOST_DOSFSTOOLS_BUILD_CMDS
+	$(MAKE) $(HOST_CONFIGURE_OPTS) -C $(@D)
+endef
+
+define HOST_DOSFSTOOLS_INSTALL_CMDS
+	$(MAKE) -C $(@D) $(HOST_CONFIGURE_OPTS) PREFIX=$(HOST_DIR)/usr install
+endef
+
 $(eval $(generic-package))
+$(eval $(host-generic-package))
-- 
1.7.2.5

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

* [Buildroot] [PATCH 3/6] package/libconfuse: add host variant
  2013-03-07 21:55 [Buildroot] [pull request v4] Pull request for branch yem-host-image-tools Yann E. MORIN
  2013-03-07 21:55 ` [Buildroot] [PATCH 1/6] package/e2fsprogs: add host-package selection Yann E. MORIN
  2013-03-07 21:55 ` [Buildroot] [PATCH 2/6] package/dosfstools: " Yann E. MORIN
@ 2013-03-07 21:55 ` Yann E. MORIN
  2013-03-07 21:55 ` [Buildroot] [PATCH 4/6] package/genimage: new host-only package Yann E. MORIN
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 20+ messages in thread
From: Yann E. MORIN @ 2013-03-07 21:55 UTC (permalink / raw)
  To: buildroot

Needed later by genimage.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 package/libconfuse/libconfuse.mk |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/package/libconfuse/libconfuse.mk b/package/libconfuse/libconfuse.mk
index 2fa8241..d88a209 100644
--- a/package/libconfuse/libconfuse.mk
+++ b/package/libconfuse/libconfuse.mk
@@ -10,3 +10,4 @@ LIBCONFUSE_INSTALL_STAGING = YES
 LIBCONFUSE_CONF_OPT = --disable-rpath
 
 $(eval $(autotools-package))
+$(eval $(host-autotools-package))
-- 
1.7.2.5

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

* [Buildroot] [PATCH 4/6] package/genimage: new host-only package
  2013-03-07 21:55 [Buildroot] [pull request v4] Pull request for branch yem-host-image-tools Yann E. MORIN
                   ` (2 preceding siblings ...)
  2013-03-07 21:55 ` [Buildroot] [PATCH 3/6] package/libconfuse: add host variant Yann E. MORIN
@ 2013-03-07 21:55 ` Yann E. MORIN
  2013-03-10 11:41   ` Thomas Petazzoni
  2013-03-07 21:55 ` [Buildroot] [PATCH 5/6] package/genpart: " Yann E. MORIN
                   ` (2 subsequent siblings)
  6 siblings, 1 reply; 20+ messages in thread
From: Yann E. MORIN @ 2013-03-07 21:55 UTC (permalink / raw)
  To: buildroot

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 package/Config.in.host          |    1 +
 package/genimage/Config.in.host |   12 ++++++++++++
 package/genimage/genimage.mk    |   12 ++++++++++++
 3 files changed, 25 insertions(+), 0 deletions(-)
 create mode 100644 package/genimage/Config.in.host
 create mode 100644 package/genimage/genimage.mk

diff --git a/package/Config.in.host b/package/Config.in.host
index 43f292c..c456d5d 100644
--- a/package/Config.in.host
+++ b/package/Config.in.host
@@ -3,6 +3,7 @@ menu "Host utilities"
 source "package/dfu-util/Config.in.host"
 source "package/dosfstools/Config.in.host"
 source "package/e2fsprogs/Config.in.host"
+source "package/genimage/Config.in.host"
 source "package/lpc3250loader/Config.in.host"
 source "package/omap-u-boot-utils/Config.in.host"
 source "package/openocd/Config.in.host"
diff --git a/package/genimage/Config.in.host b/package/genimage/Config.in.host
new file mode 100644
index 0000000..cfa267c
--- /dev/null
+++ b/package/genimage/Config.in.host
@@ -0,0 +1,12 @@
+config BR2_PACKAGE_HOST_GENIMAGE
+	bool "host genimage"
+	help
+	  genimage is a tool to generate multiple filesystem and flash images
+	  from a given root filesystem tree. genimage is intended to be run
+	  in a fakeroot environment.
+	  
+	  Configuration is done is a config file parsed by libconfuse. Options
+	  like the path to tools can be given in environment variables, the config
+	  file or commandline switches.
+	  
+	  http://www.pengutronix.de/software/genimage/
diff --git a/package/genimage/genimage.mk b/package/genimage/genimage.mk
new file mode 100644
index 0000000..8fe9bf7
--- /dev/null
+++ b/package/genimage/genimage.mk
@@ -0,0 +1,12 @@
+#############################################################
+#
+# genimage
+#
+##############################################################
+
+GENIMAGE_VERSION        = 4
+GENIMAGE_SOURCE         = genimage-$(GENIMAGE_VERSION).tar.xz
+GENIMAGE_SITE           = http://www.pengutronix.de/software/genimage/download/
+GENIMAGE_DEPENDENCIES   = libconfuse
+
+$(eval $(host-autotools-package))
-- 
1.7.2.5

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

* [Buildroot] [PATCH 5/6] package/genpart: new host-only package
  2013-03-07 21:55 [Buildroot] [pull request v4] Pull request for branch yem-host-image-tools Yann E. MORIN
                   ` (3 preceding siblings ...)
  2013-03-07 21:55 ` [Buildroot] [PATCH 4/6] package/genimage: new host-only package Yann E. MORIN
@ 2013-03-07 21:55 ` Yann E. MORIN
  2013-03-10 11:44   ` Thomas Petazzoni
  2013-03-07 21:55 ` [Buildroot] [PATCH 6/6] package/mtools: new host-package Yann E. MORIN
  2013-03-10 11:40 ` [Buildroot] [pull request v4] Pull request for branch yem-host-image-tools Thomas Petazzoni
  6 siblings, 1 reply; 20+ messages in thread
From: Yann E. MORIN @ 2013-03-07 21:55 UTC (permalink / raw)
  To: buildroot

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 package/Config.in.host                        |    1 +
 package/genpart/Config.in.host                |    8 ++++++++
 package/genpart/genpart-fix-return-code.patch |   25 +++++++++++++++++++++++++
 package/genpart/genpart.mk                    |   11 +++++++++++
 4 files changed, 45 insertions(+), 0 deletions(-)
 create mode 100644 package/genpart/Config.in.host
 create mode 100644 package/genpart/genpart-fix-return-code.patch
 create mode 100644 package/genpart/genpart.mk

diff --git a/package/Config.in.host b/package/Config.in.host
index c456d5d..e97f6e8 100644
--- a/package/Config.in.host
+++ b/package/Config.in.host
@@ -4,6 +4,7 @@ source "package/dfu-util/Config.in.host"
 source "package/dosfstools/Config.in.host"
 source "package/e2fsprogs/Config.in.host"
 source "package/genimage/Config.in.host"
+source "package/genpart/Config.in.host"
 source "package/lpc3250loader/Config.in.host"
 source "package/omap-u-boot-utils/Config.in.host"
 source "package/openocd/Config.in.host"
diff --git a/package/genpart/Config.in.host b/package/genpart/Config.in.host
new file mode 100644
index 0000000..f986504
--- /dev/null
+++ b/package/genpart/Config.in.host
@@ -0,0 +1,8 @@
+config BR2_PACKAGE_HOST_GENPART
+	bool "host genpart"
+	help
+	  Generate a 16 byte partition table entry defined by command line
+	  arguments and dump it to stdout. No CHS magic is done, only lba
+	  entries are filled out.
+	  
+	  http://www.pengutronix.de/software/genpart/index_en.html
diff --git a/package/genpart/genpart-fix-return-code.patch b/package/genpart/genpart-fix-return-code.patch
new file mode 100644
index 0000000..14ff165
--- /dev/null
+++ b/package/genpart/genpart-fix-return-code.patch
@@ -0,0 +1,25 @@
+genpart: return 0 if partition writen OK, with no do_magic
+
+If do_magic is false, we don't won't write the 0xaa55 magic.
+However, if we succesfully wrote the partition entry, we still
+want to return 0 to indicate success.
+
+Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
+Cc: Robert Schwebel <r.schwebel@pengutronix.de>
+
+--
+Patch sent upstream, but no mailing list.
+Status: pending...
+
+diff -durN host-genpart-1.0.2.orig/src/genpart.c host-genpart-1.0.2/src/genpart.c
+--- host-genpart-1.0.2.orig/src/genpart.c	2009-12-20 21:54:56.000000000 +0100
++++ host-genpart-1.0.2/src/genpart.c	2013-01-22 23:13:24.109752579 +0100
+@@ -92,6 +92,8 @@
+ 		if (do_magic) {
+ 			if (fwrite(&magic, 2, 1, stdout) > 0)
+ 				rc=0;
++		} else {
++			rc=0;
+ 		}
+ 	}
+ 	return rc;
diff --git a/package/genpart/genpart.mk b/package/genpart/genpart.mk
new file mode 100644
index 0000000..735333a
--- /dev/null
+++ b/package/genpart/genpart.mk
@@ -0,0 +1,11 @@
+#############################################################
+#
+# genpart
+#
+#############################################################
+
+GENPART_VERSION       = 1.0.2
+GENPART_SOURCE        = genpart-$(GENPART_VERSION).tar.bz2
+GENPART_SITE          = http://www.pengutronix.de/software/genpart/download/
+
+$(eval $(host-autotools-package))
-- 
1.7.2.5

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

* [Buildroot] [PATCH 6/6] package/mtools: new host-package
  2013-03-07 21:55 [Buildroot] [pull request v4] Pull request for branch yem-host-image-tools Yann E. MORIN
                   ` (4 preceding siblings ...)
  2013-03-07 21:55 ` [Buildroot] [PATCH 5/6] package/genpart: " Yann E. MORIN
@ 2013-03-07 21:55 ` Yann E. MORIN
  2013-03-10 11:49   ` Thomas Petazzoni
  2013-03-10 11:40 ` [Buildroot] [pull request v4] Pull request for branch yem-host-image-tools Thomas Petazzoni
  6 siblings, 1 reply; 20+ messages in thread
From: Yann E. MORIN @ 2013-03-07 21:55 UTC (permalink / raw)
  To: buildroot

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

---
v1 -> v2
  - remove extraneous spaces, use $(BR2_GNU_MIRROR)  (Thomas)
---
 package/Config.in.host        |    1 +
 package/mtools/Config.in.host |    9 +++++++++
 package/mtools/mtools.mk      |   15 +++++++++++++++
 3 files changed, 25 insertions(+), 0 deletions(-)
 create mode 100644 package/mtools/Config.in.host
 create mode 100644 package/mtools/mtools.mk

diff --git a/package/Config.in.host b/package/Config.in.host
index e97f6e8..7c0dd20 100644
--- a/package/Config.in.host
+++ b/package/Config.in.host
@@ -6,6 +6,7 @@ source "package/e2fsprogs/Config.in.host"
 source "package/genimage/Config.in.host"
 source "package/genpart/Config.in.host"
 source "package/lpc3250loader/Config.in.host"
+source "package/mtools/Config.in.host"
 source "package/omap-u-boot-utils/Config.in.host"
 source "package/openocd/Config.in.host"
 source "package/sam-ba/Config.in.host"
diff --git a/package/mtools/Config.in.host b/package/mtools/Config.in.host
new file mode 100644
index 0000000..d534b5e
--- /dev/null
+++ b/package/mtools/Config.in.host
@@ -0,0 +1,9 @@
+config BR2_PACKAGE_HOST_MTOOLS
+	bool "host mtools"
+	help
+	  Mtools is a collection of utilities to access MS-DOS disks from
+	  Unix without mounting them. It supports Win'95 style long file
+	  names, OS/2 Xdf disks and 2m disks (store up to 1992k on a high
+	  density 3 1/2 disk).
+	  
+	  http://www.tux.org/pub/tux/mtools/
diff --git a/package/mtools/mtools.mk b/package/mtools/mtools.mk
new file mode 100644
index 0000000..1542799
--- /dev/null
+++ b/package/mtools/mtools.mk
@@ -0,0 +1,15 @@
+#############################################################
+#
+# dosfstools
+#
+#############################################################
+
+MTOOLS_VERSION  = 4.0.18
+MTOOLS_SOURCE   = mtools-$(MTOOLS_VERSION).tar.bz2
+MTOOLS_SITE     = $(BR2_GNU_MIRROR)/mtools/
+
+MTOOLS_CONF_OPT = --enable-xdf        \
+                  --enable-vold       \
+                  --enable-new-vold
+
+$(eval $(host-autotools-package))
-- 
1.7.2.5

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

* [Buildroot] [pull request v4] Pull request for branch yem-host-image-tools
  2013-03-07 21:55 [Buildroot] [pull request v4] Pull request for branch yem-host-image-tools Yann E. MORIN
                   ` (5 preceding siblings ...)
  2013-03-07 21:55 ` [Buildroot] [PATCH 6/6] package/mtools: new host-package Yann E. MORIN
@ 2013-03-10 11:40 ` Thomas Petazzoni
  6 siblings, 0 replies; 20+ messages in thread
From: Thomas Petazzoni @ 2013-03-10 11:40 UTC (permalink / raw)
  To: buildroot

Dear Yann E. MORIN,

On Thu,  7 Mar 2013 22:55:25 +0100, Yann E. MORIN wrote:

> Yann E. MORIN (6):
>       package/e2fsprogs: add host-package selection
>       package/dosfstools: add host-package selection
>       package/libconfuse: add host variant
>       package/genimage: new host-only package
>       package/genpart: new host-only package
>       package/mtools: new host-package

For the six patches:

Tested-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-- 
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

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

* [Buildroot] [PATCH 4/6] package/genimage: new host-only package
  2013-03-07 21:55 ` [Buildroot] [PATCH 4/6] package/genimage: new host-only package Yann E. MORIN
@ 2013-03-10 11:41   ` Thomas Petazzoni
  2013-03-10 23:39     ` Yann E. MORIN
  0 siblings, 1 reply; 20+ messages in thread
From: Thomas Petazzoni @ 2013-03-10 11:41 UTC (permalink / raw)
  To: buildroot

Dear Yann E. MORIN,

On Thu,  7 Mar 2013 22:55:29 +0100, Yann E. MORIN wrote:

> +GENIMAGE_VERSION        = 4
> +GENIMAGE_SOURCE         = genimage-$(GENIMAGE_VERSION).tar.xz
> +GENIMAGE_SITE           = http://www.pengutronix.de/software/genimage/download/
> +GENIMAGE_DEPENDENCIES   = libconfuse

Even though it is a host package, we could add:

GENIMAGE_LICENSE = GPLv2

Unfortunately, there is no license file.

Thomas
-- 
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

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

* [Buildroot] [PATCH 5/6] package/genpart: new host-only package
  2013-03-07 21:55 ` [Buildroot] [PATCH 5/6] package/genpart: " Yann E. MORIN
@ 2013-03-10 11:44   ` Thomas Petazzoni
  2013-03-10 23:50     ` Yann E. MORIN
  0 siblings, 1 reply; 20+ messages in thread
From: Thomas Petazzoni @ 2013-03-10 11:44 UTC (permalink / raw)
  To: buildroot

Dear Yann E. MORIN,

On Thu,  7 Mar 2013 22:55:30 +0100, Yann E. MORIN wrote:

> --- /dev/null
> +++ b/package/genpart/genpart.mk
> @@ -0,0 +1,11 @@
> +#############################################################
> +#
> +# genpart
> +#
> +#############################################################
> +
> +GENPART_VERSION       = 1.0.2
> +GENPART_SOURCE        = genpart-$(GENPART_VERSION).tar.bz2
> +GENPART_SITE          = http://www.pengutronix.de/software/genpart/download/

There's no license at all mentioned in the source code. It's true the
code is pretty trivial, but anyway. Maybe you could add:

GENPART_LICENSE = Currently being decided by authors

And contact the Pengutronix people to get your patches merged and ask
them to put a proper license in there.

Best regards,

Thomas
-- 
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

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

* [Buildroot] [PATCH 6/6] package/mtools: new host-package
  2013-03-07 21:55 ` [Buildroot] [PATCH 6/6] package/mtools: new host-package Yann E. MORIN
@ 2013-03-10 11:49   ` Thomas Petazzoni
  2013-03-11  0:02     ` Yann E. MORIN
  0 siblings, 1 reply; 20+ messages in thread
From: Thomas Petazzoni @ 2013-03-10 11:49 UTC (permalink / raw)
  To: buildroot

Yann, Luca,

Cc'ing Luca, there is a licensing infrastructure question below.

On Thu,  7 Mar 2013 22:55:31 +0100, Yann E. MORIN wrote:

> +MTOOLS_VERSION  = 4.0.18
> +MTOOLS_SOURCE   = mtools-$(MTOOLS_VERSION).tar.bz2
> +MTOOLS_SITE     = $(BR2_GNU_MIRROR)/mtools/

MTOOLS_LICENSE = GPLv3+
MTOOLS_LICENSE_FILES = COPYING

However, this makes me realize that we don't distinguish host packages
from target packages in the manifest.csv file. For example, once I had
the licensing informations for this mtools file, I have the following
line in my manifest.csv:

"mtools","4.0.18","GPLv3+","COPYING","mtools-4.0.18.tar.bz2"

And then, someone might think "damn, I have some GPLv3 software in my
system, I now need to comply with the additional special requirements
of GPLv3", while in fact it's not the case (as far as I know) because
mtools is not distributed on the embedded device. Maybe we need to
explicit which packages are on the target, which packages are on the
host, and which packages are on both, no?

Best regards,

Thomas
-- 
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

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

* [Buildroot] [PATCH 4/6] package/genimage: new host-only package
  2013-03-10 11:41   ` Thomas Petazzoni
@ 2013-03-10 23:39     ` Yann E. MORIN
  2013-03-11 21:30       ` Thomas Petazzoni
  0 siblings, 1 reply; 20+ messages in thread
From: Yann E. MORIN @ 2013-03-10 23:39 UTC (permalink / raw)
  To: buildroot

Thomas, All,

On Sunday 10 March 2013 Thomas Petazzoni wrote:
> On Thu,  7 Mar 2013 22:55:29 +0100, Yann E. MORIN wrote:
> > +GENIMAGE_VERSION        = 4
> > +GENIMAGE_SOURCE         = genimage-$(GENIMAGE_VERSION).tar.xz
> > +GENIMAGE_SITE           = http://www.pengutronix.de/software/genimage/download/
> > +GENIMAGE_DEPENDENCIES   = libconfuse
> 
> Even though it is a host package, we could add:
> 
> GENIMAGE_LICENSE = GPLv2
> 
> Unfortunately, there is no license file.

I am a bit uneasy at adding licensing information for packages that are
purely host packages.

As you said in your other mail, this might confuse a user reviewing the
licensing terms.
But I will add it.

Thank you!

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] 20+ messages in thread

* [Buildroot] [PATCH 5/6] package/genpart: new host-only package
  2013-03-10 11:44   ` Thomas Petazzoni
@ 2013-03-10 23:50     ` Yann E. MORIN
  0 siblings, 0 replies; 20+ messages in thread
From: Yann E. MORIN @ 2013-03-10 23:50 UTC (permalink / raw)
  To: buildroot

Thomas, All,

On Sunday 10 March 2013 Thomas Petazzoni wrote:
> On Thu,  7 Mar 2013 22:55:30 +0100, Yann E. MORIN wrote:
> 
> > --- /dev/null
> > +++ b/package/genpart/genpart.mk
> > @@ -0,0 +1,11 @@
> > +#############################################################
> > +#
> > +# genpart
> > +#
> > +#############################################################
> > +
> > +GENPART_VERSION       = 1.0.2
> > +GENPART_SOURCE        = genpart-$(GENPART_VERSION).tar.bz2
> > +GENPART_SITE          = http://www.pengutronix.de/software/genpart/download/
> 
> There's no license at all mentioned in the source code. It's true the
> code is pretty trivial, but anyway. Maybe you could add:
> 
> GENPART_LICENSE = Currently being decided by authors
> 
> And contact the Pengutronix people to get your patches merged and ask
> them to put a proper license in there.

Path has already been accepted upstream, but they said they will probably
never ever make another release of genpart, which in their opinion has
been superseded by genimage.

I'll make sure to contact them to clarify the license.

Thank you!

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] 20+ messages in thread

* [Buildroot] [PATCH 6/6] package/mtools: new host-package
  2013-03-10 11:49   ` Thomas Petazzoni
@ 2013-03-11  0:02     ` Yann E. MORIN
  2013-03-11 21:30       ` Thomas Petazzoni
  2013-03-12 17:16       ` Luca Ceresoli
  0 siblings, 2 replies; 20+ messages in thread
From: Yann E. MORIN @ 2013-03-11  0:02 UTC (permalink / raw)
  To: buildroot

Thomas, Luca, All,

On Sunday 10 March 2013 Thomas Petazzoni wrote:
> On Thu,  7 Mar 2013 22:55:31 +0100, Yann E. MORIN wrote:
> 
> > +MTOOLS_VERSION  = 4.0.18
> > +MTOOLS_SOURCE   = mtools-$(MTOOLS_VERSION).tar.bz2
> > +MTOOLS_SITE     = $(BR2_GNU_MIRROR)/mtools/
> 
> MTOOLS_LICENSE = GPLv3+
> MTOOLS_LICENSE_FILES = COPYING

Done.

> However, this makes me realize that we don't distinguish host packages
> from target packages in the manifest.csv file. For example, once I had
> the licensing informations for this mtools file, I have the following
> line in my manifest.csv:
> 
> "mtools","4.0.18","GPLv3+","COPYING","mtools-4.0.18.tar.bz2"
> 
> And then, someone might think "damn, I have some GPLv3 software in my
> system, I now need to comply with the additional special requirements
> of GPLv3", while in fact it's not the case (as far as I know) because
> mtools is not distributed on the embedded device. Maybe we need to
> explicit which packages are on the target, which packages are on the
> host, and which packages are on both, no?

Yes, fully agreed; this would be very puzzling.

I would suggest that we not install licensing information about host
packages, unless they are also used on the target.

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] 20+ messages in thread

* [Buildroot] [PATCH 4/6] package/genimage: new host-only package
  2013-03-10 23:39     ` Yann E. MORIN
@ 2013-03-11 21:30       ` Thomas Petazzoni
  0 siblings, 0 replies; 20+ messages in thread
From: Thomas Petazzoni @ 2013-03-11 21:30 UTC (permalink / raw)
  To: buildroot

Dear Yann E. MORIN,

On Mon, 11 Mar 2013 00:39:31 +0100, Yann E. MORIN wrote:

> I am a bit uneasy at adding licensing information for packages that are
> purely host packages.
> 
> As you said in your other mail, this might confuse a user reviewing the
> licensing terms.

I think this is not a good reason to not add the license. We already
have it in a number of packages that have a host variant. It should be
something for the licensing infrastructure to handle.

> But I will add it.

Thanks!

Thomas
-- 
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

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

* [Buildroot] [PATCH 6/6] package/mtools: new host-package
  2013-03-11  0:02     ` Yann E. MORIN
@ 2013-03-11 21:30       ` Thomas Petazzoni
  2013-03-12 17:16       ` Luca Ceresoli
  1 sibling, 0 replies; 20+ messages in thread
From: Thomas Petazzoni @ 2013-03-11 21:30 UTC (permalink / raw)
  To: buildroot

Dear Yann E. MORIN,

On Mon, 11 Mar 2013 01:02:06 +0100, Yann E. MORIN wrote:

> I would suggest that we not install licensing information about host
> packages, unless they are also used on the target.

That would make sense, IMO.

Thomas
-- 
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

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

* [Buildroot] [PATCH 6/6] package/mtools: new host-package
  2013-03-11  0:02     ` Yann E. MORIN
  2013-03-11 21:30       ` Thomas Petazzoni
@ 2013-03-12 17:16       ` Luca Ceresoli
  2013-03-12 17:40         ` Thomas De Schampheleire
  1 sibling, 1 reply; 20+ messages in thread
From: Luca Ceresoli @ 2013-03-12 17:16 UTC (permalink / raw)
  To: buildroot

Yann E. MORIN wrote:
 > Thomas, Luca, All,
 >
 > On Sunday 10 March 2013 Thomas Petazzoni wrote:
 >> On Thu,  7 Mar 2013 22:55:31 +0100, Yann E. MORIN wrote:
 >>
 >>> +MTOOLS_VERSION  = 4.0.18
 >>> +MTOOLS_SOURCE   = mtools-$(MTOOLS_VERSION).tar.bz2
 >>> +MTOOLS_SITE     = $(BR2_GNU_MIRROR)/mtools/
 >>
 >> MTOOLS_LICENSE = GPLv3+
 >> MTOOLS_LICENSE_FILES = COPYING
 >
 > Done.
 >
 >> However, this makes me realize that we don't distinguish host packages
 >> from target packages in the manifest.csv file. For example, once I had
 >> the licensing informations for this mtools file, I have the following
 >> line in my manifest.csv:
 >>
 >> "mtools","4.0.18","GPLv3+","COPYING","mtools-4.0.18.tar.bz2"
 >>
 >> And then, someone might think "damn, I have some GPLv3 software in my
 >> system, I now need to comply with the additional special requirements
 >> of GPLv3", while in fact it's not the case (as far as I know) because
 >> mtools is not distributed on the embedded device. Maybe we need to
 >> explicit which packages are on the target, which packages are on the
 >> host, and which packages are on both, no?
 >
 > Yes, fully agreed; this would be very puzzling.
 >
 > I would suggest that we not install licensing information about host
 > packages, unless they are also used on the target.

It would probably be sound in most cases, but not compliant to some
licenses, at least if there isa GPL package on the target.
Take what the GPLv2 saysin clause 3:

 > The source code for a work means the preferred form of the work for
 > making modifications to it.  For an executable work, complete source
 > code means all the source code for all modules it contains, plus any
 > associated interface definition files, plus the scripts used to
 > control compilation and installation of the executable.

What do the "scripts used to control compilation and installation"?
We use a toolchain, the autotools, CMake, Python etc on the host to build
packages. While these tools are arguably more complex than the average
"script", they are "used to control the cpmpilation and installation".

Reading on:

 >   However, as a
 > special exception, the source code distributed need not include
 > anything that is normally distributed (in either source or binary
 > form) with the major components (compiler, kernel, and so on) of the
 > operating system on which the executable runs, unless that component
 > itself accompanies the executable.

While this is saying you do not need to redistribute the Debian compiler,
it is using "compiler" and "kernel" as two examples of the "scripts used
to control compilation and installation". Hence my understanding that the
toolchain should be redistributed, along with all of the host tools that
are used to build anything on the target.

As far as the mtools are concerned, they are probably not used to produce
the executables on the target, so they actually do not need to be in the
redistribution list. But most other host packages are different.

Indeed, in the practice I'm retty sure almost nobody modify autotools,
or CMake or other host packages, so even redistributing them would not
disclose much industrial secret.

Bottom line, I think it would be useful to save in the package manifest
an additional column stating whether the package is on the target, on
the host, or both. But skipping host-only packages is not safe.

Luca

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

* [Buildroot] [PATCH 6/6] package/mtools: new host-package
  2013-03-12 17:16       ` Luca Ceresoli
@ 2013-03-12 17:40         ` Thomas De Schampheleire
  2013-03-12 23:24           ` Arnout Vandecappelle
  0 siblings, 1 reply; 20+ messages in thread
From: Thomas De Schampheleire @ 2013-03-12 17:40 UTC (permalink / raw)
  To: buildroot

Hi,

On Tue, Mar 12, 2013 at 6:16 PM, Luca Ceresoli <luca@lucaceresoli.net> wrote:
> Yann E. MORIN wrote:
>> Thomas, Luca, All,
>>
>> On Sunday 10 March 2013 Thomas Petazzoni wrote:
>>> On Thu,  7 Mar 2013 22:55:31 +0100, Yann E. MORIN wrote:
>>>
>>>> +MTOOLS_VERSION  = 4.0.18
>>>> +MTOOLS_SOURCE   = mtools-$(MTOOLS_VERSION).tar.bz2
>>>> +MTOOLS_SITE     = $(BR2_GNU_MIRROR)/mtools/
>>>
>>> MTOOLS_LICENSE = GPLv3+
>>> MTOOLS_LICENSE_FILES = COPYING
>>
>> Done.
>>
>>> However, this makes me realize that we don't distinguish host packages
>>> from target packages in the manifest.csv file. For example, once I had
>>> the licensing informations for this mtools file, I have the following
>>> line in my manifest.csv:
>>>
>>> "mtools","4.0.18","GPLv3+","COPYING","mtools-4.0.18.tar.bz2"
>>>
>>> And then, someone might think "damn, I have some GPLv3 software in my
>>> system, I now need to comply with the additional special requirements
>>> of GPLv3", while in fact it's not the case (as far as I know) because
>>> mtools is not distributed on the embedded device. Maybe we need to
>>> explicit which packages are on the target, which packages are on the
>>> host, and which packages are on both, no?
>>
>> Yes, fully agreed; this would be very puzzling.
>>
>> I would suggest that we not install licensing information about host
>> packages, unless they are also used on the target.
>
> It would probably be sound in most cases, but not compliant to some
> licenses, at least if there isa GPL package on the target.
> Take what the GPLv2 saysin clause 3:
>
>> The source code for a work means the preferred form of the work for
>> making modifications to it.  For an executable work, complete source
>> code means all the source code for all modules it contains, plus any
>> associated interface definition files, plus the scripts used to
>> control compilation and installation of the executable.
>
> What do the "scripts used to control compilation and installation"?
> We use a toolchain, the autotools, CMake, Python etc on the host to build
> packages. While these tools are arguably more complex than the average
> "script", they are "used to control the cpmpilation and installation".
>
> Reading on:
>
>>   However, as a
>> special exception, the source code distributed need not include
>> anything that is normally distributed (in either source or binary
>> form) with the major components (compiler, kernel, and so on) of the
>> operating system on which the executable runs, unless that component
>> itself accompanies the executable.
>
> While this is saying you do not need to redistribute the Debian compiler,
> it is using "compiler" and "kernel" as two examples of the "scripts used
> to control compilation and installation". Hence my understanding that the
> toolchain should be redistributed, along with all of the host tools that
> are used to build anything on the target.
>
> As far as the mtools are concerned, they are probably not used to produce
> the executables on the target, so they actually do not need to be in the
> redistribution list. But most other host packages are different.
>
> Indeed, in the practice I'm retty sure almost nobody modify autotools,
> or CMake or other host packages, so even redistributing them would not
> disclose much industrial secret.
>
> Bottom line, I think it would be useful to save in the package manifest
> an additional column stating whether the package is on the target, on
> the host, or both. But skipping host-only packages is not safe.

I follow Luca's reasoning here. As we discussed on the Buildroot
Developer Day 2012, we will include the toolchain/host sources
precisely for the above reasons, and so they should be described in a
manifest. I also agree with Thomas' point about the confusion.

But, instead of an extra column, wouldn't it be more clear to separate
the legal-license manifest files for host and target packages? This
would result in a manifest-host.csv and manifest.csv. Packages that
appear on both host and target, would be present in both files. An end
user that is only interested in getting a list of target packages, can
find that info in a glance.

Best regards,
Thomas

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

* [Buildroot] [PATCH 6/6] package/mtools: new host-package
  2013-03-12 17:40         ` Thomas De Schampheleire
@ 2013-03-12 23:24           ` Arnout Vandecappelle
  2013-03-15 11:48             ` Thomas Petazzoni
  0 siblings, 1 reply; 20+ messages in thread
From: Arnout Vandecappelle @ 2013-03-12 23:24 UTC (permalink / raw)
  To: buildroot

On 03/12/13 18:40, Thomas De Schampheleire wrote:
> Hi,
>
> On Tue, Mar 12, 2013 at 6:16 PM, Luca Ceresoli <luca@lucaceresoli.net> wrote:
[snip]
>> Bottom line, I think it would be useful to save in the package manifest
>> an additional column stating whether the package is on the target, on
>> the host, or both. But skipping host-only packages is not safe.

  I agree. And I have a second reason for that: I have one customer who 
distributes an "SDK", i.e. host packages.


> I follow Luca's reasoning here. As we discussed on the Buildroot
> Developer Day 2012, we will include the toolchain/host sources
> precisely for the above reasons, and so they should be described in a
> manifest. I also agree with Thomas' point about the confusion.
>
> But, instead of an extra column, wouldn't it be more clear to separate
> the legal-license manifest files for host and target packages? This
> would result in a manifest-host.csv and manifest.csv. Packages that
> appear on both host and target, would be present in both files. An end
> user that is only interested in getting a list of target packages, can
> find that info in a glance.

  Very good idea.

  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:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F

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

* [Buildroot] [PATCH 6/6] package/mtools: new host-package
  2013-03-12 23:24           ` Arnout Vandecappelle
@ 2013-03-15 11:48             ` Thomas Petazzoni
  0 siblings, 0 replies; 20+ messages in thread
From: Thomas Petazzoni @ 2013-03-15 11:48 UTC (permalink / raw)
  To: buildroot

Dear Arnout Vandecappelle,

On Wed, 13 Mar 2013 00:24:31 +0100, Arnout Vandecappelle wrote:

> > But, instead of an extra column, wouldn't it be more clear to separate
> > the legal-license manifest files for host and target packages? This
> > would result in a manifest-host.csv and manifest.csv. Packages that
> > appear on both host and target, would be present in both files. An end
> > user that is only interested in getting a list of target packages, can
> > find that info in a glance.
> 
>   Very good idea.

I don't know if creating a separate file is needed. Maybe just a need
field in the CSV that says if it's a host package only, target package
only, or both. But that's a minor detail, I don't have a strong opinion
between a single CSV file, and two CSV files, as long as it is possible
to identify what is on the target and what isn't.

Best regards,

Thomas
-- 
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

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

end of thread, other threads:[~2013-03-15 11:48 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-03-07 21:55 [Buildroot] [pull request v4] Pull request for branch yem-host-image-tools Yann E. MORIN
2013-03-07 21:55 ` [Buildroot] [PATCH 1/6] package/e2fsprogs: add host-package selection Yann E. MORIN
2013-03-07 21:55 ` [Buildroot] [PATCH 2/6] package/dosfstools: " Yann E. MORIN
2013-03-07 21:55 ` [Buildroot] [PATCH 3/6] package/libconfuse: add host variant Yann E. MORIN
2013-03-07 21:55 ` [Buildroot] [PATCH 4/6] package/genimage: new host-only package Yann E. MORIN
2013-03-10 11:41   ` Thomas Petazzoni
2013-03-10 23:39     ` Yann E. MORIN
2013-03-11 21:30       ` Thomas Petazzoni
2013-03-07 21:55 ` [Buildroot] [PATCH 5/6] package/genpart: " Yann E. MORIN
2013-03-10 11:44   ` Thomas Petazzoni
2013-03-10 23:50     ` Yann E. MORIN
2013-03-07 21:55 ` [Buildroot] [PATCH 6/6] package/mtools: new host-package Yann E. MORIN
2013-03-10 11:49   ` Thomas Petazzoni
2013-03-11  0:02     ` Yann E. MORIN
2013-03-11 21:30       ` Thomas Petazzoni
2013-03-12 17:16       ` Luca Ceresoli
2013-03-12 17:40         ` Thomas De Schampheleire
2013-03-12 23:24           ` Arnout Vandecappelle
2013-03-15 11:48             ` Thomas Petazzoni
2013-03-10 11:40 ` [Buildroot] [pull request v4] Pull request for branch yem-host-image-tools Thomas Petazzoni

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.