All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [Patch v3 0/9] Introducing service supervision/management with s6
@ 2016-12-19 21:29 Eric Le Bihan
  2016-12-19 21:29 ` [Buildroot] [Patch v3 1/9] skalibs: new package Eric Le Bihan
                   ` (8 more replies)
  0 siblings, 9 replies; 23+ messages in thread
From: Eric Le Bihan @ 2016-12-19 21:29 UTC (permalink / raw)
  To: buildroot

Hi!

This series provides all the packages for programs and libraries to build an
embedded system with service supervision and management using s6 from
http://skarnet.org.

Note that these packages only provide the mechanism for supervising/managing
services using s6, not the policy. Packages to provide a policy suitable for
Buildroot-based embedded systems, using s6 as init (instead of SysV or
systemd), may be provided later. An example is available in the
buildroot-demo-s6 project [1].

[1] https://github.com/elebihan/buildroot-demo-s6/

Best regards,

ELB

v2 -> v3:

 - use --prefix=$(HOST_DIR)/usr for host variants.
 - add SoB line to patches for skalibs.
 - add comments about skarnet software build system in commit logs.
 - remove user visible configuration entries for host variants of 
   execline and s6-rc.

v1 -> v2:

 - bump all packages to skarnet.org fall release versions.
 - add dependency on BR2_USE_MMU.
 - remove limitation to glibc.
 - split skalibs endianness and type sizes patches.

Eric Le Bihan (9):
  skalibs: new package
  execline: new package
  s6: new package
  s6-dns: new package
  s6-networking: new package
  s6-rc: new package
  s6-portable-utils: new package
  s6-linux-utils: new package
  s6-linux-init: new package

 package/Config.in                                  |  9 ++
 package/execline/Config.in                         | 12 +++
 package/execline/execline.hash                     |  2 +
 package/execline/execline.mk                       | 70 ++++++++++++++++
 package/s6-dns/Config.in                           |  9 ++
 package/s6-dns/s6-dns.hash                         |  2 +
 package/s6-dns/s6-dns.mk                           | 45 ++++++++++
 package/s6-linux-init/Config.in                    | 11 +++
 package/s6-linux-init/s6-linux-init.hash           |  2 +
 package/s6-linux-init/s6-linux-init.mk             | 36 ++++++++
 package/s6-linux-utils/Config.in                   |  9 ++
 package/s6-linux-utils/s6-linux-utils.hash         |  2 +
 package/s6-linux-utils/s6-linux-utils.mk           | 34 ++++++++
 package/s6-networking/Config.in                    | 12 +++
 package/s6-networking/s6-networking.hash           |  2 +
 package/s6-networking/s6-networking.mk             | 48 +++++++++++
 package/s6-portable-utils/Config.in                | 11 +++
 package/s6-portable-utils/s6-portable-utils.hash   |  2 +
 package/s6-portable-utils/s6-portable-utils.mk     | 34 ++++++++
 package/s6-rc/Config.in                            | 11 +++
 package/s6-rc/s6-rc.hash                           |  2 +
 package/s6-rc/s6-rc.mk                             | 73 +++++++++++++++++
 package/s6/Config.in                               | 10 +++
 package/s6/s6.hash                                 |  2 +
 package/s6/s6.mk                                   | 70 ++++++++++++++++
 .../0001-No-runtime-tests-for-endianness.patch     | 95 ++++++++++++++++++++++
 .../0002-No-runtime-tests-for-type-sizes.patch     | 54 ++++++++++++
 package/skalibs/Config.in                          |  9 ++
 package/skalibs/skalibs.hash                       |  2 +
 package/skalibs/skalibs.mk                         | 59 ++++++++++++++
 30 files changed, 739 insertions(+)
 create mode 100644 package/execline/Config.in
 create mode 100644 package/execline/execline.hash
 create mode 100644 package/execline/execline.mk
 create mode 100644 package/s6-dns/Config.in
 create mode 100644 package/s6-dns/s6-dns.hash
 create mode 100644 package/s6-dns/s6-dns.mk
 create mode 100644 package/s6-linux-init/Config.in
 create mode 100644 package/s6-linux-init/s6-linux-init.hash
 create mode 100644 package/s6-linux-init/s6-linux-init.mk
 create mode 100644 package/s6-linux-utils/Config.in
 create mode 100644 package/s6-linux-utils/s6-linux-utils.hash
 create mode 100644 package/s6-linux-utils/s6-linux-utils.mk
 create mode 100644 package/s6-networking/Config.in
 create mode 100644 package/s6-networking/s6-networking.hash
 create mode 100644 package/s6-networking/s6-networking.mk
 create mode 100644 package/s6-portable-utils/Config.in
 create mode 100644 package/s6-portable-utils/s6-portable-utils.hash
 create mode 100644 package/s6-portable-utils/s6-portable-utils.mk
 create mode 100644 package/s6-rc/Config.in
 create mode 100644 package/s6-rc/s6-rc.hash
 create mode 100644 package/s6-rc/s6-rc.mk
 create mode 100644 package/s6/Config.in
 create mode 100644 package/s6/s6.hash
 create mode 100644 package/s6/s6.mk
 create mode 100644 package/skalibs/0001-No-runtime-tests-for-endianness.patch
 create mode 100644 package/skalibs/0002-No-runtime-tests-for-type-sizes.patch
 create mode 100644 package/skalibs/Config.in
 create mode 100644 package/skalibs/skalibs.hash
 create mode 100644 package/skalibs/skalibs.mk

-- 
2.5.5

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

* [Buildroot] [Patch v3 1/9] skalibs: new package
  2016-12-19 21:29 [Buildroot] [Patch v3 0/9] Introducing service supervision/management with s6 Eric Le Bihan
@ 2016-12-19 21:29 ` Eric Le Bihan
  2017-02-07 10:21   ` Thomas De Schampheleire
  2016-12-19 21:29 ` [Buildroot] [Patch v3 2/9] execline: " Eric Le Bihan
                   ` (7 subsequent siblings)
  8 siblings, 1 reply; 23+ messages in thread
From: Eric Le Bihan @ 2016-12-19 21:29 UTC (permalink / raw)
  To: buildroot

This new package provides skalibs, a collection of free software / open
source C development files used for building all softwares from
skarnet.org.

Note that, though skalibs (and all skarnet softwares) follows the
"./configure; make; make install" convention, it does not behave like a
traditional autotools project:

 - static libraries are installed in $prefix/usr/lib/skalibs.
 - pkg-config and libtool are not used: instead a custom system called
   "sysdeps" is used and locations to libraries and headers are to be
   passed explicitly via options of the './configure' script.

The host variant is provided to allow building the host variants of the
other skarnet softwares.

Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr>
---
 package/Config.in                                  |  1 +
 .../0001-No-runtime-tests-for-endianness.patch     | 95 ++++++++++++++++++++++
 .../0002-No-runtime-tests-for-type-sizes.patch     | 54 ++++++++++++
 package/skalibs/Config.in                          |  9 ++
 package/skalibs/skalibs.hash                       |  2 +
 package/skalibs/skalibs.mk                         | 59 ++++++++++++++
 6 files changed, 220 insertions(+)
 create mode 100644 package/skalibs/0001-No-runtime-tests-for-endianness.patch
 create mode 100644 package/skalibs/0002-No-runtime-tests-for-type-sizes.patch
 create mode 100644 package/skalibs/Config.in
 create mode 100644 package/skalibs/skalibs.hash
 create mode 100644 package/skalibs/skalibs.mk

diff --git a/package/Config.in b/package/Config.in
index be0d150..760eaff 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -1366,6 +1366,7 @@ endif
 	source "package/qhull/Config.in"
 	source "package/qlibc/Config.in"
 	source "package/shapelib/Config.in"
+	source "package/skalibs/Config.in"
 	source "package/sphinxbase/Config.in"
 	source "package/startup-notification/Config.in"
 	source "package/tinycbor/Config.in"
diff --git a/package/skalibs/0001-No-runtime-tests-for-endianness.patch b/package/skalibs/0001-No-runtime-tests-for-endianness.patch
new file mode 100644
index 0000000..4390d44
--- /dev/null
+++ b/package/skalibs/0001-No-runtime-tests-for-endianness.patch
@@ -0,0 +1,95 @@
+From 1e6f0b094c6ce6454be572704b866d2ce0962e59 Mon Sep 17 00:00:00 2001
+From: Eric Le Bihan <eric.le.bihan.dev@free.fr>
+Date: Sun, 4 Dec 2016 19:10:40 +0100
+Subject: [PATCH] No runtime tests for endianness
+
+Replace build and execution of runtime test programs for determining
+the endianness of the target with compile time test programs.
+
+This improves support for cross-compilation.
+
+Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr>
+---
+ configure                     | 15 +++++++++++----
+ src/sysdeps/trybigendian.c    | 16 ++++++++++++++++
+ src/sysdeps/trylittleendian.c | 16 ++++++++++++++++
+ 3 files changed, 43 insertions(+), 4 deletions(-)
+ create mode 100644 src/sysdeps/trybigendian.c
+ create mode 100644 src/sysdeps/trylittleendian.c
+
+diff --git a/configure b/configure
+index 1579025..4da9c5e 100755
+--- a/configure
++++ b/configure
+@@ -463,13 +463,20 @@ EOF
+   fi
+   exec 3>&-
+ 
+-  echo "Checking system endianness..."
+-  $CC_AUTO $CPPFLAGS_AUTO $CFLAGS_AUTO -o tryendianness src/sysdeps/tryendianness.c
+-  endianness=$(./tryendianness) || fail "$0: unable to determine endianness"
++    echo "Checking system endianness..."
++  if $CC_AUTO $CPPFLAGS_AUTO $CFLAGS_AUTO -o trybigendian src/sysdeps/trybigendian.c 2>/dev/null; then
++      endianness=big
++  else
++      if $CC_AUTO $CPPFLAGS_AUTO $CFLAGS_AUTO -o trylittleendian src/sysdeps/trylittleendian.c 2>/dev/null; then
++          endianness=little
++      else
++          fail "$0: unable to determine endianness"
++      fi
++  fi
+   echo "endianness: $endianness" >> $sysdeps/sysdeps
+   echo "#define ${package_macro_name}_ENDIANNESS \"$endianness\"" >> $sysdeps/sysdeps.h
+   echo "  ... $endianness"
+-  rm -f tryendianness
++  rm -f trybigendian trylittleendian
+ 
+   trytypesize ushort USHORT "unsigned short"
+   trytypesize uint UINT "unsigned int"
+diff --git a/src/sysdeps/trybigendian.c b/src/sysdeps/trybigendian.c
+new file mode 100644
+index 0000000..d857572
+--- /dev/null
++++ b/src/sysdeps/trybigendian.c
+@@ -0,0 +1,16 @@
++#if defined(__BYTE_ORDER) && (__BYTE_ORDER == __BIG_ENDIAN) ||	       \
++	defined(__BYTE_ORDER__) && (__BYTE_ORDER__  == __ORDER_BIG_ENDIAN__) || \
++	defined(__BIG_ENDIAN) ||				       \
++	defined(__ARMEB__) ||					       \
++	defined(__THUMBEB__) ||				       \
++	defined(__AARCH64EB__) ||				       \
++	defined(_MIPSEB) || defined(__MIPSEB) || defined(__MIPSEB__)
++#define YEAH
++#else
++#error "not big endian"
++#endif
++
++int main(void)
++{
++	return 0;
++}
+diff --git a/src/sysdeps/trylittleendian.c b/src/sysdeps/trylittleendian.c
+new file mode 100644
+index 0000000..eba065a
+--- /dev/null
++++ b/src/sysdeps/trylittleendian.c
+@@ -0,0 +1,16 @@
++#if defined(__BYTE_ORDER) && (__BYTE_ORDER == __LITTLE_ENDIAN) ||	\
++	defined(__BYTE_ORDER__) && (__BYTE_ORDER__  == __ORDER_LITTLE_ENDIAN__) || \
++	defined(__LITTLE_ENDIAN) ||					\
++	defined(__ARMEL__) ||						\
++	defined(__THUMBEL__) ||					\
++	defined(__AARCH64EL__) ||					\
++	defined(_MIPSEL) || defined(__MIPSEL) || defined(__MIPSEL__)
++#define YEAH
++#else
++#error "not little endian"
++#endif
++
++int main(void)
++{
++	return 0;
++}
+-- 
+2.5.5
+
diff --git a/package/skalibs/0002-No-runtime-tests-for-type-sizes.patch b/package/skalibs/0002-No-runtime-tests-for-type-sizes.patch
new file mode 100644
index 0000000..3f16171
--- /dev/null
+++ b/package/skalibs/0002-No-runtime-tests-for-type-sizes.patch
@@ -0,0 +1,54 @@
+From d868600a3f437750bc44a783d677a25a48100096 Mon Sep 17 00:00:00 2001
+From: Eric Le Bihan <eric.le.bihan.dev@free.fr>
+Date: Sun, 4 Dec 2016 19:11:25 +0100
+Subject: [PATCH] No runtime tests for type sizes
+
+Replace build and execution of runtime test programs for determining
+some type sizes of the target with compile time test programs.
+
+This improves support for cross-compilation.
+
+Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr>
+---
+ configure | 24 +++++++++++++++++++++---
+ 1 file changed, 21 insertions(+), 3 deletions(-)
+
+diff --git a/configure b/configure
+index 4da9c5e..b5926ca 100755
+--- a/configure
++++ b/configure
+@@ -157,10 +157,28 @@ choose () {
+ 
+ trytypesize () {
+   echo "Checking size of $3..."
+-  $CC_AUTO $CPPFLAGS_AUTO $CFLAGS_AUTO $LDFLAGS_AUTO -o trysizeof$1 src/sysdeps/trysizeof$1.c
+-  type_size=$(./trysizeof$1) || fail "$0: unable to determine size of $3"
++  r=false
++  type_size=0
++  while true; do
++    cat<<EOF>trysizeof$1.c
++#include <sys/types.h>
++
++int main(void)
++{
++  static int v = 1 / !!((sizeof($3) == $type_size));
++  return 0;
++}
++EOF
++    if $CC_AUTO $CPPFLAGS_AUTO $CFLAGS_AUTO $LDFLAGS_AUTO -o trysizeof$1 trysizeof$1.c 2>/dev/null; then
++        r=true
++        break
++    fi
++    type_size=$(expr $type_size + 1)
++    test $type_size -le 16 || break
++  done
++  test $r = true || fail "$0: unable to determine size of $3"
+   type_bits=$(expr 8 \* $type_size)
+-  rm -f trysizeof$1
++  rm -f trysizeof$1 trysizeof$1.c
+   echo "sizeof$1: $type_size" >> $sysdeps/sysdeps
+   echo "#define ${package_macro_name}_SIZEOF$2 $type_size" >> $sysdeps/sysdeps.h
+   echo "#define ${package_macro_name}_$2_BITS $type_bits" >> $sysdeps/sysdeps.h
+-- 
+2.5.5
+
diff --git a/package/skalibs/Config.in b/package/skalibs/Config.in
new file mode 100644
index 0000000..7802ae3
--- /dev/null
+++ b/package/skalibs/Config.in
@@ -0,0 +1,9 @@
+config BR2_PACKAGE_SKALIBS
+	bool "skalibs"
+	depends on BR2_USE_MMU # fork()
+	help
+	  skalibs is a package centralizing the FOSS C development
+	  files used for building all software at skarnet.org:
+	  it contains essentially general-purpose libraries.
+
+	  http://skarnet.org/software/skalibs/
diff --git a/package/skalibs/skalibs.hash b/package/skalibs/skalibs.hash
new file mode 100644
index 0000000..195ac47
--- /dev/null
+++ b/package/skalibs/skalibs.hash
@@ -0,0 +1,2 @@
+# Locally generated
+sha256 0708172bc2ec9825f8a4f312d35f8dcd94da5f291425a598c33c873b3de77df8 skalibs-2.4.0.2.tar.gz
diff --git a/package/skalibs/skalibs.mk b/package/skalibs/skalibs.mk
new file mode 100644
index 0000000..e525378
--- /dev/null
+++ b/package/skalibs/skalibs.mk
@@ -0,0 +1,59 @@
+################################################################################
+#
+# skalibs
+#
+################################################################################
+
+SKALIBS_VERSION = 2.4.0.2
+SKALIBS_SITE = http://skarnet.org/software/skalibs
+SKALIBS_LICENSE = ISC
+SKALIBS_LICENSE_FILES = COPYING
+SKALIBS_INSTALL_STAGING = YES
+
+SKALIBS_CONF_OPTS = \
+	--prefix=/usr \
+	--with-default-path=/sbin:/usr/sbin:/bin:/usr/bin \
+	$(SHARED_STATIC_LIBS_OPTS)
+
+define SKALIBS_CONFIGURE_CMDS
+	(cd $(@D); $(TARGET_CONFIGURE_OPTS) ./configure $(SKALIBS_CONF_OPTS))
+endef
+
+define SKALIBS_BUILD_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D)
+endef
+
+define SKALIBS_REMOVE_STATIC_LIB_DIR
+	rm -rf $(TARGET_DIR)/usr/lib/skalibs
+endef
+
+SKALIBS_POST_INSTALL_TARGET_HOOKS += SKALIBS_REMOVE_STATIC_LIB_DIR
+
+define SKALIBS_INSTALL_TARGET_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) install
+endef
+
+define SKALIBS_INSTALL_STAGING_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR=$(STAGING_DIR) install
+endef
+
+HOST_SKALIBS_CONF_OPTS = \
+	--prefix=$(HOST_DIR)/usr \
+	--disable-static \
+	--enable-shared \
+	--disable-allstatic
+
+define HOST_SKALIBS_CONFIGURE_CMDS
+	(cd $(@D); $(HOST_CONFIGURE_OPTS) ./configure $(HOST_SKALIBS_CONF_OPTS))
+endef
+
+define HOST_SKALIBS_BUILD_CMDS
+	$(HOST_MAKE_ENV) $(MAKE) -C $(@D)
+endef
+
+define HOST_SKALIBS_INSTALL_CMDS
+	$(HOST_MAKE_ENV) $(MAKE) -C $(@D) install
+endef
+
+$(eval $(generic-package))
+$(eval $(host-generic-package))
-- 
2.5.5

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

* [Buildroot] [Patch v3 2/9] execline: new package
  2016-12-19 21:29 [Buildroot] [Patch v3 0/9] Introducing service supervision/management with s6 Eric Le Bihan
  2016-12-19 21:29 ` [Buildroot] [Patch v3 1/9] skalibs: new package Eric Le Bihan
@ 2016-12-19 21:29 ` Eric Le Bihan
  2017-03-01 22:54   ` Thomas Petazzoni
  2016-12-19 21:29 ` [Buildroot] [Patch v3 3/9] s6: " Eric Le Bihan
                   ` (6 subsequent siblings)
  8 siblings, 1 reply; 23+ messages in thread
From: Eric Le Bihan @ 2016-12-19 21:29 UTC (permalink / raw)
  To: buildroot

This package provides execline, a (non-interactive) scripting language,
like sh, used in the s6 supervision system.

The host variant is provided as it is required to build and run the host
variants of s6 and s6-rc.

Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr>
---
 package/Config.in              |  1 +
 package/execline/Config.in     | 12 ++++++++
 package/execline/execline.hash |  2 ++
 package/execline/execline.mk   | 70 ++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 85 insertions(+)
 create mode 100644 package/execline/Config.in
 create mode 100644 package/execline/execline.hash
 create mode 100644 package/execline/execline.mk

diff --git a/package/Config.in b/package/Config.in
index 760eaff..7c0e4e1 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -504,6 +504,7 @@ menu "Erlang libraries/modules"
 	source "package/erlang-p1-zlib/Config.in"
 endmenu
 endif
+	source "package/execline/Config.in"
 	source "package/ficl/Config.in"
 	source "package/gauche/Config.in"
 	source "package/guile/Config.in"
diff --git a/package/execline/Config.in b/package/execline/Config.in
new file mode 100644
index 0000000..8e2e6dc
--- /dev/null
+++ b/package/execline/Config.in
@@ -0,0 +1,12 @@
+config BR2_PACKAGE_EXECLINE
+	bool "execline"
+	select BR2_PACKAGE_SKALIBS
+	depends on BR2_USE_MMU # skalibs
+	help
+	  execline is a (non-interactive) scripting language, like sh ; but its
+	  syntax is quite different from a traditional shell syntax.
+	  The execlineb program is meant to be used as an interpreter for a text
+	  file; the other commands are essentially useful inside an execlineb
+	  script.
+
+	  http://skarnet.org/software/execline/
diff --git a/package/execline/execline.hash b/package/execline/execline.hash
new file mode 100644
index 0000000..61fc99c
--- /dev/null
+++ b/package/execline/execline.hash
@@ -0,0 +1,2 @@
+# Locally generated
+sha256 93bd744f2e3ad204cb89f147efdc6ca4e622f9c6bfc9895e0b2cb8b0480029de execline-2.2.0.0.tar.gz
diff --git a/package/execline/execline.mk b/package/execline/execline.mk
new file mode 100644
index 0000000..ca7c73e
--- /dev/null
+++ b/package/execline/execline.mk
@@ -0,0 +1,70 @@
+################################################################################
+#
+# execline
+#
+################################################################################
+
+EXECLINE_VERSION = 2.2.0.0
+EXECLINE_SITE = http://skarnet.org/software/execline
+EXECLINE_LICENSE = ISC
+EXECLINE_LICENSE_FILES = COPYING
+EXECLINE_INSTALL_STAGING = YES
+EXECLINE_DEPENDENCIES = skalibs
+
+EXECLINE_CONF_OPTS = \
+	--prefix=/usr \
+	--with-sysdeps=$(STAGING_DIR)/usr/lib/skalibs/sysdeps \
+	--with-include=$(STAGING_DIR)/usr/include \
+	--with-dynlib=$(STAGING_DIR)/usr/lib \
+	--with-lib=$(STAGING_DIR)/usr/lib/skalibs \
+	$(if $(BR2_STATIC_LIBS),,--disable-allstatic) \
+	$(SHARED_STATIC_LIBS_OPTS)
+
+define EXECLINE_CONFIGURE_CMDS
+	(cd $(@D); $(TARGET_CONFIGURE_OPTS) ./configure $(EXECLINE_CONF_OPTS))
+endef
+
+define EXECLINE_BUILD_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D)
+endef
+
+define EXECLINE_REMOVE_STATIC_LIB_DIR
+	rm -rf $(TARGET_DIR)/usr/lib/execline
+endef
+
+EXECLINE_POST_INSTALL_TARGET_HOOKS += EXECLINE_REMOVE_STATIC_LIB_DIR
+
+define EXECLINE_INSTALL_TARGET_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) install
+endef
+
+define EXECLINE_INSTALL_STAGING_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR=$(STAGING_DIR) install
+endef
+
+HOST_EXECLINE_DEPENDENCIES = host-skalibs
+
+HOST_EXECLINE_CONF_OPTS = \
+	--prefix=$(HOST_DIR)/usr \
+	--shebangdir=/usr/bin \
+	--with-sysdeps=$(HOST_DIR)/usr/lib/skalibs/sysdeps \
+	--with-include=$(HOST_DIR)/usr/include \
+	--with-dynlib=$(HOST_DIR)/usr/lib \
+	--disable-static \
+	--enable-shared \
+	--disable-allstatic
+
+define HOST_EXECLINE_CONFIGURE_CMDS
+	(cd $(@D); $(HOST_CONFIGURE_OPTS) ./configure $(HOST_EXECLINE_CONF_OPTS))
+endef
+
+define HOST_EXECLINE_BUILD_CMDS
+	$(HOST_MAKE_ENV) $(MAKE) -C $(@D)
+endef
+
+define HOST_EXECLINE_INSTALL_CMDS
+	$(HOST_MAKE_ENV) $(MAKE) -C $(@D) install
+endef
+
+$(eval $(generic-package))
+$(eval $(host-generic-package))
-- 
2.5.5

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

* [Buildroot] [Patch v3 3/9] s6: new package
  2016-12-19 21:29 [Buildroot] [Patch v3 0/9] Introducing service supervision/management with s6 Eric Le Bihan
  2016-12-19 21:29 ` [Buildroot] [Patch v3 1/9] skalibs: new package Eric Le Bihan
  2016-12-19 21:29 ` [Buildroot] [Patch v3 2/9] execline: " Eric Le Bihan
@ 2016-12-19 21:29 ` Eric Le Bihan
  2017-03-09 22:08   ` Thomas Petazzoni
  2016-12-19 21:29 ` [Buildroot] [Patch v3 4/9] s6-dns: " Eric Le Bihan
                   ` (5 subsequent siblings)
  8 siblings, 1 reply; 23+ messages in thread
From: Eric Le Bihan @ 2016-12-19 21:29 UTC (permalink / raw)
  To: buildroot

This new package provides s6, a small suite of programs for UNIX,
designed to allow process supervision (a.k.a service supervision), in
the line of daemontools and runit.

The host variant is provided as it is required to build the host
variant of s6-rc. Only the libraries and headers are installed.

Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr>
---
 package/Config.in    |  1 +
 package/s6/Config.in | 10 ++++++++
 package/s6/s6.hash   |  2 ++
 package/s6/s6.mk     | 70 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 83 insertions(+)
 create mode 100644 package/s6/Config.in
 create mode 100644 package/s6/s6.hash
 create mode 100644 package/s6/s6.mk

diff --git a/package/Config.in b/package/Config.in
index 7c0e4e1..6b4fdb5 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -1758,6 +1758,7 @@ menu "System tools"
 	source "package/quota/Config.in"
 	source "package/rsyslog/Config.in"
 	source "package/runc/Config.in"
+	source "package/s6/Config.in"
 	source "package/scrub/Config.in"
 	source "package/scrypt/Config.in"
 	source "package/smack/Config.in"
diff --git a/package/s6/Config.in b/package/s6/Config.in
new file mode 100644
index 0000000..7b6b86b
--- /dev/null
+++ b/package/s6/Config.in
@@ -0,0 +1,10 @@
+config BR2_PACKAGE_S6
+	bool "s6"
+	select BR2_PACKAGE_EXECLINE
+	depends on BR2_USE_MMU # execline
+	help
+	  s6 is a small suite of programs for UNIX, designed to allow process
+	  supervision (a.k.a service supervision), in the line of daemontools
+	  and runit, as well as various operations on processes and daemons.
+
+	  http://skarnet.org/software/s6/
diff --git a/package/s6/s6.hash b/package/s6/s6.hash
new file mode 100644
index 0000000..36526de
--- /dev/null
+++ b/package/s6/s6.hash
@@ -0,0 +1,2 @@
+# Locally generated
+sha256 5e788d5935dbcce76ac9a99cfcf6ee46a2ffb84220c84225df7589e9a3585560 s6-2.4.0.0.tar.gz
diff --git a/package/s6/s6.mk b/package/s6/s6.mk
new file mode 100644
index 0000000..de08f67
--- /dev/null
+++ b/package/s6/s6.mk
@@ -0,0 +1,70 @@
+################################################################################
+#
+# s6
+#
+################################################################################
+
+S6_VERSION = 2.4.0.0
+S6_SITE = http://skarnet.org/software/s6
+S6_LICENSE = ISC
+S6_LICENSE_FILES = COPYING
+S6_INSTALL_STAGING = YES
+S6_DEPENDENCIES = execline
+
+S6_CONF_OPTS = \
+	--prefix=/usr \
+	--with-sysdeps=$(STAGING_DIR)/usr/lib/skalibs/sysdeps \
+	--with-include=$(STAGING_DIR)/usr/include \
+	--with-dynlib=$(STAGING_DIR)/usr/lib \
+	--with-lib=$(STAGING_DIR)/usr/lib/execline \
+	--with-lib=$(STAGING_DIR)/usr/lib/skalibs \
+	$(if $(BR2_STATIC_LIBS),,--disable-allstatic) \
+	$(SHARED_STATIC_LIBS_OPTS)
+
+define S6_CONFIGURE_CMDS
+	(cd $(@D); $(TARGET_CONFIGURE_OPTS) ./configure $(S6_CONF_OPTS))
+endef
+
+define S6_BUILD_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D)
+endef
+
+define S6_INSTALL_TARGET_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) install
+endef
+
+define S6_REMOVE_STATIC_LIB_DIR
+	rm -rf $(TARGET_DIR)/usr/lib/s6
+endef
+
+S6_POST_INSTALL_TARGET_HOOKS += S6_REMOVE_STATIC_LIB_DIR
+
+define S6_INSTALL_STAGING_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR=$(STAGING_DIR) install
+endef
+
+HOST_S6_DEPENDENCIES = host-execline
+
+HOST_S6_CONF_OPTS = \
+	--prefix=$(HOST_DIR)/usr \
+	--with-sysdeps=$(HOST_DIR)/usr/lib/skalibs/sysdeps \
+	--with-include=$(HOST_DIR)/usr/include \
+	--with-dynlib=$(HOST_DIR)/usr/lib \
+	--disable-static \
+	--enable-shared \
+	--disable-allstatic
+
+define HOST_S6_CONFIGURE_CMDS
+	(cd $(@D); $(HOST_CONFIGURE_OPTS) ./configure $(HOST_S6_CONF_OPTS))
+endef
+
+define HOST_S6_BUILD_CMDS
+	$(HOST_MAKE_ENV) $(MAKE) -C $(@D)
+endef
+
+define HOST_S6_INSTALL_CMDS
+	$(HOST_MAKE_ENV) $(MAKE) -C $(@D) install-dynlib install-include
+endef
+
+$(eval $(generic-package))
+$(eval $(host-generic-package))
-- 
2.5.5

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

* [Buildroot] [Patch v3 4/9] s6-dns: new package
  2016-12-19 21:29 [Buildroot] [Patch v3 0/9] Introducing service supervision/management with s6 Eric Le Bihan
                   ` (2 preceding siblings ...)
  2016-12-19 21:29 ` [Buildroot] [Patch v3 3/9] s6: " Eric Le Bihan
@ 2016-12-19 21:29 ` Eric Le Bihan
  2017-03-09 22:08   ` Thomas Petazzoni
  2016-12-19 21:29 ` [Buildroot] [Patch v3 5/9] s6-networking: " Eric Le Bihan
                   ` (4 subsequent siblings)
  8 siblings, 1 reply; 23+ messages in thread
From: Eric Le Bihan @ 2016-12-19 21:29 UTC (permalink / raw)
  To: buildroot

This new package provides s6-dns, a suite of DNS client programs and
libraries for Unix systems, as an alternative to the BIND, djbdns or
other DNS clients.

Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr>
---
 package/Config.in          |  1 +
 package/s6-dns/Config.in   |  9 +++++++++
 package/s6-dns/s6-dns.hash |  2 ++
 package/s6-dns/s6-dns.mk   | 45 +++++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 57 insertions(+)
 create mode 100644 package/s6-dns/Config.in
 create mode 100644 package/s6-dns/s6-dns.hash
 create mode 100644 package/s6-dns/s6-dns.mk

diff --git a/package/Config.in b/package/Config.in
index 6b4fdb5..0984a9b 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -1602,6 +1602,7 @@ endif
 	source "package/rsync/Config.in"
 	source "package/rtorrent/Config.in"
 	source "package/rtptools/Config.in"
+	source "package/s6-dns/Config.in"
 	source "package/samba4/Config.in"
 	source "package/sconeserver/Config.in"
 	source "package/ser2net/Config.in"
diff --git a/package/s6-dns/Config.in b/package/s6-dns/Config.in
new file mode 100644
index 0000000..84888ec
--- /dev/null
+++ b/package/s6-dns/Config.in
@@ -0,0 +1,9 @@
+config BR2_PACKAGE_S6_DNS
+	bool "s6-dns"
+	select BR2_PACKAGE_SKALIBS
+	depends on BR2_USE_MMU # skalibs
+	help
+	  s6-dns is a suite of DNS client programs and libraries for Unix
+	  systems, as an alternative to the BIND, djbdns or other DNS clients.
+
+	  http://skarnet.org/software/s6-dns/
diff --git a/package/s6-dns/s6-dns.hash b/package/s6-dns/s6-dns.hash
new file mode 100644
index 0000000..7cfb9c3
--- /dev/null
+++ b/package/s6-dns/s6-dns.hash
@@ -0,0 +1,2 @@
+# Locally generated
+sha256 8455f3b1edad8f01a1340cb1242c141755729bfd5d71059739eced5c006539ad s6-dns-2.1.0.0.tar.gz
diff --git a/package/s6-dns/s6-dns.mk b/package/s6-dns/s6-dns.mk
new file mode 100644
index 0000000..d77956f
--- /dev/null
+++ b/package/s6-dns/s6-dns.mk
@@ -0,0 +1,45 @@
+################################################################################
+#
+# s6-dns
+#
+################################################################################
+
+S6_DNS_VERSION = 2.1.0.0
+S6_DNS_SITE = http://skarnet.org/software/s6-dns
+S6_DNS_LICENSE = ISC
+S6_DNS_LICENSE_FILES = COPYING
+S6_DNS_INSTALL_STAGING = YES
+S6_DNS_DEPENDENCIES = skalibs
+
+S6_DNS_CONF_OPTS = \
+	--prefix=/usr \
+	--with-sysdeps=$(STAGING_DIR)/usr/lib/skalibs/sysdeps \
+	--with-include=$(STAGING_DIR)/usr/include \
+	--with-dynlib=$(STAGING_DIR)/usr/lib \
+	--with-lib=$(STAGING_DIR)/usr/lib/skalibs \
+	$(if $(BR2_STATIC_LIBS),,--disable-allstatic) \
+	$(SHARED_STATIC_LIBS_OPTS)
+
+define S6_DNS_CONFIGURE_CMDS
+	(cd $(@D); $(TARGET_CONFIGURE_OPTS) ./configure $(S6_DNS_CONF_OPTS))
+endef
+
+define S6_DNS_BUILD_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D)
+endef
+
+define S6_DNS_REMOVE_STATIC_LIB_DIR
+	rm -rf $(TARGET_DIR)/usr/lib/s6-dns
+endef
+
+S6_DNS_POST_INSTALL_TARGET_HOOKS += S6_DNS_REMOVE_STATIC_LIB_DIR
+
+define S6_DNS_INSTALL_TARGET_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) install
+endef
+
+define S6_DNS_INSTALL_STAGING_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR=$(STAGING_DIR) install
+endef
+
+$(eval $(generic-package))
-- 
2.5.5

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

* [Buildroot] [Patch v3 5/9] s6-networking: new package
  2016-12-19 21:29 [Buildroot] [Patch v3 0/9] Introducing service supervision/management with s6 Eric Le Bihan
                   ` (3 preceding siblings ...)
  2016-12-19 21:29 ` [Buildroot] [Patch v3 4/9] s6-dns: " Eric Le Bihan
@ 2016-12-19 21:29 ` Eric Le Bihan
  2017-03-09 22:17   ` Thomas Petazzoni
  2016-12-19 21:29 ` [Buildroot] [Patch v3 6/9] s6-rc: " Eric Le Bihan
                   ` (3 subsequent siblings)
  8 siblings, 1 reply; 23+ messages in thread
From: Eric Le Bihan @ 2016-12-19 21:29 UTC (permalink / raw)
  To: buildroot

This new package provides s6-networking, a suite of small networking
utilities for Unix systems.

Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr>
---
 package/Config.in                        |  1 +
 package/s6-networking/Config.in          | 12 ++++++++
 package/s6-networking/s6-networking.hash |  2 ++
 package/s6-networking/s6-networking.mk   | 48 ++++++++++++++++++++++++++++++++
 4 files changed, 63 insertions(+)
 create mode 100644 package/s6-networking/Config.in
 create mode 100644 package/s6-networking/s6-networking.hash
 create mode 100644 package/s6-networking/s6-networking.mk

diff --git a/package/Config.in b/package/Config.in
index 0984a9b..e4ceaf3 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -1603,6 +1603,7 @@ endif
 	source "package/rtorrent/Config.in"
 	source "package/rtptools/Config.in"
 	source "package/s6-dns/Config.in"
+	source "package/s6-networking/Config.in"
 	source "package/samba4/Config.in"
 	source "package/sconeserver/Config.in"
 	source "package/ser2net/Config.in"
diff --git a/package/s6-networking/Config.in b/package/s6-networking/Config.in
new file mode 100644
index 0000000..a530bd4
--- /dev/null
+++ b/package/s6-networking/Config.in
@@ -0,0 +1,12 @@
+config BR2_PACKAGE_S6_NETWORKING
+	bool "s6-networking"
+	select BR2_PACKAGE_S6_DNS
+	select BR2_PACKAGE_S6
+	depends on BR2_USE_MMU # s6
+	help
+	  s6-networking is a suite of small networking utilities for Unix
+	  systems. It includes command-line client and server management, TCP
+	  access control, privilege escalation across UNIX domain sockets,
+	  IDENT protocol management and clock synchronization.
+
+	  http://skarnet.org/software/s6-networking/
diff --git a/package/s6-networking/s6-networking.hash b/package/s6-networking/s6-networking.hash
new file mode 100644
index 0000000..a15efab
--- /dev/null
+++ b/package/s6-networking/s6-networking.hash
@@ -0,0 +1,2 @@
+# Locally generated
+sha256 5d8150d7413b335693c6e63092381dd0866b1b6f95662a2cbae5ec17ca449ab0 s6-networking-2.2.1.0.tar.gz
diff --git a/package/s6-networking/s6-networking.mk b/package/s6-networking/s6-networking.mk
new file mode 100644
index 0000000..47d4d61
--- /dev/null
+++ b/package/s6-networking/s6-networking.mk
@@ -0,0 +1,48 @@
+################################################################################
+#
+# s6-networking
+#
+################################################################################
+
+S6_NETWORKING_VERSION = 2.2.1.0
+S6_NETWORKING_SITE = http://skarnet.org/software/s6-networking
+S6_NETWORKING_LICENSE = ISC
+S6_NETWORKING_LICENSE_FILES = COPYING
+S6_NETWORKING_INSTALL_STAGING = YES
+S6_NETWORKING_DEPENDENCIES = s6-dns s6
+
+S6_NETWORKING_CONF_OPTS = \
+	--prefix=/usr \
+	--with-sysdeps=$(STAGING_DIR)/usr/lib/skalibs/sysdeps \
+	--with-include=$(STAGING_DIR)/usr/include \
+	--with-dynlib=$(STAGING_DIR)/usr/lib \
+	--with-lib=$(STAGING_DIR)/usr/lib/execline \
+	--with-lib=$(STAGING_DIR)/usr/lib/s6 \
+	--with-lib=$(STAGING_DIR)/usr/lib/s6-dns \
+	--with-lib=$(STAGING_DIR)/usr/lib/skalibs \
+	$(if $(BR2_STATIC_LIBS),,--disable-allstatic) \
+	$(SHARED_STATIC_LIBS_OPTS)
+
+define S6_NETWORKING_CONFIGURE_CMDS
+	(cd $(@D); $(TARGET_CONFIGURE_OPTS) ./configure $(S6_NETWORKING_CONF_OPTS))
+endef
+
+define S6_NETWORKING_BUILD_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D)
+endef
+
+define S6_NETWORKING_REMOVE_STATIC_LIB_DIR
+	rm -rf $(TARGET_DIR)/usr/lib/s6-networking
+endef
+
+S6_NETWORKING_POST_INSTALL_TARGET_HOOKS += S6_NETWORKING_REMOVE_STATIC_LIB_DIR
+
+define S6_NETWORKING_INSTALL_TARGET_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) install
+endef
+
+define S6_NETWORKING_INSTALL_STAGING_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR=$(STAGING_DIR) install
+endef
+
+$(eval $(generic-package))
-- 
2.5.5

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

* [Buildroot] [Patch v3 6/9] s6-rc: new package
  2016-12-19 21:29 [Buildroot] [Patch v3 0/9] Introducing service supervision/management with s6 Eric Le Bihan
                   ` (4 preceding siblings ...)
  2016-12-19 21:29 ` [Buildroot] [Patch v3 5/9] s6-networking: " Eric Le Bihan
@ 2016-12-19 21:29 ` Eric Le Bihan
  2017-03-09 22:33   ` Thomas Petazzoni
  2016-12-19 21:29 ` [Buildroot] [Patch v3 7/9] s6-portable-utils: " Eric Le Bihan
                   ` (2 subsequent siblings)
  8 siblings, 1 reply; 23+ messages in thread
From: Eric Le Bihan @ 2016-12-19 21:29 UTC (permalink / raw)
  To: buildroot

This new package provides s6-rc, a service manager for s6-based systems,
i.e. a suite of programs that can start and stop services, both
long-running daemons and one-time initialization scripts, in the proper
order according to a dependency tree.

The host variant is provided so s6-rc-compile is available and can
be used to build the services database offline, either in a package
Makefile or a post-build script.

Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr>
---
 package/Config.in        |  1 +
 package/s6-rc/Config.in  | 11 ++++++++
 package/s6-rc/s6-rc.hash |  2 ++
 package/s6-rc/s6-rc.mk   | 73 ++++++++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 87 insertions(+)
 create mode 100644 package/s6-rc/Config.in
 create mode 100644 package/s6-rc/s6-rc.hash
 create mode 100644 package/s6-rc/s6-rc.mk

diff --git a/package/Config.in b/package/Config.in
index e4ceaf3..e6334e8 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -1761,6 +1761,7 @@ menu "System tools"
 	source "package/rsyslog/Config.in"
 	source "package/runc/Config.in"
 	source "package/s6/Config.in"
+	source "package/s6-rc/Config.in"
 	source "package/scrub/Config.in"
 	source "package/scrypt/Config.in"
 	source "package/smack/Config.in"
diff --git a/package/s6-rc/Config.in b/package/s6-rc/Config.in
new file mode 100644
index 0000000..416d230
--- /dev/null
+++ b/package/s6-rc/Config.in
@@ -0,0 +1,11 @@
+config BR2_PACKAGE_S6_RC
+	bool "s6-rc"
+	select BR2_PACKAGE_S6
+	depends on BR2_USE_MMU # s6
+	help
+	  s6-rc is a service manager for s6-based systems, i.e. a suite of
+	  programs that can start and stop services, both long-running daemons
+	  and one-time initialization scripts, in the proper order according to
+	  a dependency tree.
+
+	  http://skarnet.org/software/s6-rc/
diff --git a/package/s6-rc/s6-rc.hash b/package/s6-rc/s6-rc.hash
new file mode 100644
index 0000000..3d5186c
--- /dev/null
+++ b/package/s6-rc/s6-rc.hash
@@ -0,0 +1,2 @@
+# Locally generated
+sha256 d04a8a765740ed55e38a33da3639197f51f83b3e498bdef5bc1d1d322b1acff3 s6-rc-0.1.0.0.tar.gz
diff --git a/package/s6-rc/s6-rc.mk b/package/s6-rc/s6-rc.mk
new file mode 100644
index 0000000..1c28dcb
--- /dev/null
+++ b/package/s6-rc/s6-rc.mk
@@ -0,0 +1,73 @@
+################################################################################
+#
+# s6-rc
+#
+################################################################################
+
+S6_RC_VERSION = 0.1.0.0
+S6_RC_SITE = http://skarnet.org/software/s6-rc
+S6_RC_LICENSE = ISC
+S6_RC_LICENSE_FILES = COPYING
+S6_RC_INSTALL_STAGING = YES
+S6_RC_DEPENDENCIES = s6
+
+S6_RC_CONF_OPTS = \
+	--prefix=/usr \
+	--with-sysdeps=$(STAGING_DIR)/usr/lib/skalibs/sysdeps \
+	--with-include=$(STAGING_DIR)/usr/include \
+	--with-dynlib=$(STAGING_DIR)/usr/lib \
+	--with-lib=$(STAGING_DIR)/usr/lib/execline \
+	--with-lib=$(STAGING_DIR)/usr/lib/s6 \
+	--with-lib=$(STAGING_DIR)/usr/lib/skalibs \
+	$(if $(BR2_STATIC_LIBS),,--disable-allstatic) \
+	$(SHARED_STATIC_LIBS_OPTS)
+
+define S6_RC_CONFIGURE_CMDS
+	(cd $(@D); $(TARGET_CONFIGURE_OPTS) ./configure $(S6_RC_CONF_OPTS))
+endef
+
+define S6_RC_BUILD_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D)
+endef
+
+define S6_RC_REMOVE_STATIC_LIB_DIR
+	rm -rf $(TARGET_DIR)/usr/lib/s6-rc
+endef
+
+S6_RC_POST_INSTALL_TARGET_HOOKS += S6_RC_REMOVE_STATIC_LIB_DIR
+
+define S6_RC_INSTALL_TARGET_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) install
+endef
+
+define S6_RC_INSTALL_STAGING_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR=$(STAGING_DIR) install
+endef
+
+HOST_S6_RC_DEPENDENCIES = host-s6
+
+HOST_S6_RC_CONF_OPTS = \
+	--prefix=$(HOST_DIR)/usr \
+	--libexecdir=/usr/libexec \
+	--with-sysdeps=$(HOST_DIR)/usr/lib/skalibs/sysdeps \
+	--with-include=$(HOST_DIR)/usr/include \
+	--with-dynlib=$(HOST_DIR)/usr/lib \
+	--disable-static \
+	--enable-shared \
+	--disable-allstatic
+
+define HOST_S6_RC_CONFIGURE_CMDS
+	(cd $(@D); $(HOST_CONFIGURE_OPTS) ./configure $(HOST_S6_RC_CONF_OPTS))
+endef
+
+define HOST_S6_RC_BUILD_CMDS
+	$(HOST_MAKE_ENV) $(MAKE) -C $(@D)
+endef
+
+define HOST_S6_RC_INSTALL_CMDS
+	$(HOST_MAKE_ENV) $(MAKE) -C $(@D) install-dynlib install-bin
+	rm -f $(HOST_DIR)/usr/bin/s6-rc-dryrun
+endef
+
+$(eval $(generic-package))
+$(eval $(host-generic-package))
-- 
2.5.5

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

* [Buildroot] [Patch v3 7/9] s6-portable-utils: new package
  2016-12-19 21:29 [Buildroot] [Patch v3 0/9] Introducing service supervision/management with s6 Eric Le Bihan
                   ` (5 preceding siblings ...)
  2016-12-19 21:29 ` [Buildroot] [Patch v3 6/9] s6-rc: " Eric Le Bihan
@ 2016-12-19 21:29 ` Eric Le Bihan
  2017-03-09 22:33   ` Thomas Petazzoni
  2016-12-19 21:29 ` [Buildroot] [Patch v3 8/9] s6-linux-utils: " Eric Le Bihan
  2016-12-19 21:29 ` [Buildroot] [Patch v3 9/9] s6-linux-init: " Eric Le Bihan
  8 siblings, 1 reply; 23+ messages in thread
From: Eric Le Bihan @ 2016-12-19 21:29 UTC (permalink / raw)
  To: buildroot

This new package provides s6-portable-utils, a set of tiny general Unix
utilities, often performing well-known tasks such as cut and grep, but
optimized for simplicity and small size.

Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr>
---
 package/Config.in                                |  1 +
 package/s6-portable-utils/Config.in              | 11 ++++++++
 package/s6-portable-utils/s6-portable-utils.hash |  2 ++
 package/s6-portable-utils/s6-portable-utils.mk   | 34 ++++++++++++++++++++++++
 4 files changed, 48 insertions(+)
 create mode 100644 package/s6-portable-utils/Config.in
 create mode 100644 package/s6-portable-utils/s6-portable-utils.hash
 create mode 100644 package/s6-portable-utils/s6-portable-utils.mk

diff --git a/package/Config.in b/package/Config.in
index e6334e8..3cee9ed 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -1761,6 +1761,7 @@ menu "System tools"
 	source "package/rsyslog/Config.in"
 	source "package/runc/Config.in"
 	source "package/s6/Config.in"
+	source "package/s6-portable-utils/Config.in"
 	source "package/s6-rc/Config.in"
 	source "package/scrub/Config.in"
 	source "package/scrypt/Config.in"
diff --git a/package/s6-portable-utils/Config.in b/package/s6-portable-utils/Config.in
new file mode 100644
index 0000000..95aca0e
--- /dev/null
+++ b/package/s6-portable-utils/Config.in
@@ -0,0 +1,11 @@
+config BR2_PACKAGE_S6_PORTABLE_UTILS
+	bool "s6-portable-utils"
+	select BR2_PACKAGE_SKALIBS
+	depends on BR2_USE_MMU # skalibs
+	help
+	  s6-portable-utils is a set of tiny general Unix utilities, often
+	  performing well-known tasks such as cut and grep, but optimized for
+	  simplicity and small size. They were designed for embedded systems
+	  and other constrained environments, but they work everywhere.
+
+	  http://skarnet.org/software/s6-portable-utils/
diff --git a/package/s6-portable-utils/s6-portable-utils.hash b/package/s6-portable-utils/s6-portable-utils.hash
new file mode 100644
index 0000000..a03e6cd
--- /dev/null
+++ b/package/s6-portable-utils/s6-portable-utils.hash
@@ -0,0 +1,2 @@
+# Locally generated
+sha256 cde145b7b9d1f1685f271c45c8aed635e74221689bb8ec21a11b3e5a252d1c4e s6-portable-utils-2.1.0.0.tar.gz
diff --git a/package/s6-portable-utils/s6-portable-utils.mk b/package/s6-portable-utils/s6-portable-utils.mk
new file mode 100644
index 0000000..7461450
--- /dev/null
+++ b/package/s6-portable-utils/s6-portable-utils.mk
@@ -0,0 +1,34 @@
+################################################################################
+#
+# s6-portable-utils
+#
+################################################################################
+
+S6_PORTABLE_UTILS_VERSION = 2.1.0.0
+S6_PORTABLE_UTILS_SITE = http://skarnet.org/software/s6-portable-utils
+S6_PORTABLE_UTILS_LICENSE = ISC
+S6_PORTABLE_UTILS_LICENSE_FILES = COPYING
+S6_PORTABLE_UTILS_DEPENDENCIES = skalibs
+
+S6_PORTABLE_UTILS_CONF_OPTS = \
+	--prefix=/usr \
+	--with-sysdeps=$(STAGING_DIR)/usr/lib/skalibs/sysdeps \
+	--with-include=$(STAGING_DIR)/usr/include \
+	--with-dynlib=$(STAGING_DIR)/usr/lib \
+	--with-lib=$(STAGING_DIR)/usr/lib/skalibs \
+	$(if $(BR2_STATIC_LIBS),,--disable-allstatic) \
+	$(SHARED_STATIC_LIBS_OPTS)
+
+define S6_PORTABLE_UTILS_CONFIGURE_CMDS
+	(cd $(@D); $(TARGET_CONFIGURE_OPTS) ./configure $(S6_PORTABLE_UTILS_CONF_OPTS))
+endef
+
+define S6_PORTABLE_UTILS_BUILD_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D)
+endef
+
+define S6_PORTABLE_UTILS_INSTALL_TARGET_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) install
+endef
+
+$(eval $(generic-package))
-- 
2.5.5

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

* [Buildroot] [Patch v3 8/9] s6-linux-utils: new package
  2016-12-19 21:29 [Buildroot] [Patch v3 0/9] Introducing service supervision/management with s6 Eric Le Bihan
                   ` (6 preceding siblings ...)
  2016-12-19 21:29 ` [Buildroot] [Patch v3 7/9] s6-portable-utils: " Eric Le Bihan
@ 2016-12-19 21:29 ` Eric Le Bihan
  2017-03-10 21:53   ` Thomas Petazzoni
  2016-12-19 21:29 ` [Buildroot] [Patch v3 9/9] s6-linux-init: " Eric Le Bihan
  8 siblings, 1 reply; 23+ messages in thread
From: Eric Le Bihan @ 2016-12-19 21:29 UTC (permalink / raw)
  To: buildroot

This new package provides s6-linux-utils, a set of minimalistic
Linux-specific system utilities.

Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr>
---
 package/Config.in                          |  1 +
 package/s6-linux-utils/Config.in           |  9 ++++++++
 package/s6-linux-utils/s6-linux-utils.hash |  2 ++
 package/s6-linux-utils/s6-linux-utils.mk   | 34 ++++++++++++++++++++++++++++++
 4 files changed, 46 insertions(+)
 create mode 100644 package/s6-linux-utils/Config.in
 create mode 100644 package/s6-linux-utils/s6-linux-utils.hash
 create mode 100644 package/s6-linux-utils/s6-linux-utils.mk

diff --git a/package/Config.in b/package/Config.in
index 3cee9ed..29d9121 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -1761,6 +1761,7 @@ menu "System tools"
 	source "package/rsyslog/Config.in"
 	source "package/runc/Config.in"
 	source "package/s6/Config.in"
+	source "package/s6-linux-utils/Config.in"
 	source "package/s6-portable-utils/Config.in"
 	source "package/s6-rc/Config.in"
 	source "package/scrub/Config.in"
diff --git a/package/s6-linux-utils/Config.in b/package/s6-linux-utils/Config.in
new file mode 100644
index 0000000..4624b50
--- /dev/null
+++ b/package/s6-linux-utils/Config.in
@@ -0,0 +1,9 @@
+config BR2_PACKAGE_S6_LINUX_UTILS
+	bool "s6-linux-utils"
+	select BR2_PACKAGE_SKALIBS
+	depends on BR2_USE_MMU # skalibs
+	help
+	  s6-linux-utils is a set of minimalistic Linux-specific system
+	  utilities.
+
+	  http://skarnet.org/software/s6-linux-utils/
diff --git a/package/s6-linux-utils/s6-linux-utils.hash b/package/s6-linux-utils/s6-linux-utils.hash
new file mode 100644
index 0000000..600c5fc
--- /dev/null
+++ b/package/s6-linux-utils/s6-linux-utils.hash
@@ -0,0 +1,2 @@
+# Locally generated
+sha256 587745abfbf2cc631bb54dd2b3fd29f39b723e3c50e28165138a85c98fda35f9 s6-linux-utils-2.2.0.0.tar.gz
diff --git a/package/s6-linux-utils/s6-linux-utils.mk b/package/s6-linux-utils/s6-linux-utils.mk
new file mode 100644
index 0000000..04ce688
--- /dev/null
+++ b/package/s6-linux-utils/s6-linux-utils.mk
@@ -0,0 +1,34 @@
+################################################################################
+#
+# s6-linux-utils
+#
+################################################################################
+
+S6_LINUX_UTILS_VERSION = 2.2.0.0
+S6_LINUX_UTILS_SITE = http://skarnet.org/software/s6-linux-utils
+S6_LINUX_UTILS_LICENSE = ISC
+S6_LINUX_UTILS_LICENSE_FILES = COPYING
+S6_LINUX_UTILS_DEPENDENCIES = skalibs
+
+S6_LINUX_UTILS_CONF_OPTS = \
+	--prefix=/usr \
+	--with-sysdeps=$(STAGING_DIR)/usr/lib/skalibs/sysdeps \
+	--with-include=$(STAGING_DIR)/usr/include \
+	--with-dynlib=$(STAGING_DIR)/usr/lib \
+	--with-lib=$(STAGING_DIR)/usr/lib/skalibs \
+	$(if $(BR2_STATIC_LIBS),,--disable-allstatic) \
+	$(SHARED_STATIC_LIBS_OPTS)
+
+define S6_LINUX_UTILS_CONFIGURE_CMDS
+	(cd $(@D); $(TARGET_CONFIGURE_OPTS) ./configure $(S6_LINUX_UTILS_CONF_OPTS))
+endef
+
+define S6_LINUX_UTILS_BUILD_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D)
+endef
+
+define S6_LINUX_UTILS_INSTALL_TARGET_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) install
+endef
+
+$(eval $(generic-package))
-- 
2.5.5

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

* [Buildroot] [Patch v3 9/9] s6-linux-init: new package
  2016-12-19 21:29 [Buildroot] [Patch v3 0/9] Introducing service supervision/management with s6 Eric Le Bihan
                   ` (7 preceding siblings ...)
  2016-12-19 21:29 ` [Buildroot] [Patch v3 8/9] s6-linux-utils: " Eric Le Bihan
@ 2016-12-19 21:29 ` Eric Le Bihan
  2017-03-10 21:55   ` Thomas Petazzoni
  2017-03-13 22:54   ` Peter Korsgaard
  8 siblings, 2 replies; 23+ messages in thread
From: Eric Le Bihan @ 2016-12-19 21:29 UTC (permalink / raw)
  To: buildroot

This new package provides s6-linux-init, a set of minimalistic tools to
create a s6-based init system, including a /sbin/init program, on a
machine running a Linux kernel.

Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr>
---
 package/Config.in                        |  1 +
 package/s6-linux-init/Config.in          | 11 ++++++++++
 package/s6-linux-init/s6-linux-init.hash |  2 ++
 package/s6-linux-init/s6-linux-init.mk   | 36 ++++++++++++++++++++++++++++++++
 4 files changed, 50 insertions(+)
 create mode 100644 package/s6-linux-init/Config.in
 create mode 100644 package/s6-linux-init/s6-linux-init.hash
 create mode 100644 package/s6-linux-init/s6-linux-init.mk

diff --git a/package/Config.in b/package/Config.in
index 29d9121..a7d70eb 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -1761,6 +1761,7 @@ menu "System tools"
 	source "package/rsyslog/Config.in"
 	source "package/runc/Config.in"
 	source "package/s6/Config.in"
+	source "package/s6-linux-init/Config.in"
 	source "package/s6-linux-utils/Config.in"
 	source "package/s6-portable-utils/Config.in"
 	source "package/s6-rc/Config.in"
diff --git a/package/s6-linux-init/Config.in b/package/s6-linux-init/Config.in
new file mode 100644
index 0000000..db07e69
--- /dev/null
+++ b/package/s6-linux-init/Config.in
@@ -0,0 +1,11 @@
+config BR2_PACKAGE_S6_LINUX_INIT
+	bool "s6-linux-init"
+	select BR2_PACKAGE_S6
+	select BR2_PACKAGE_S6_LINUX_UTILS
+	select BR2_PACKAGE_S6_PORTABLE_UTILS
+	depends on BR2_USE_MMU # s6
+	help
+	  s6-linux-init is a set of minimalistic tools to create a s6-based
+	  init system, including a /sbin/init binary, on a Linux kernel.
+
+	  http://skarnet.org/software/s6-linux-init/
diff --git a/package/s6-linux-init/s6-linux-init.hash b/package/s6-linux-init/s6-linux-init.hash
new file mode 100644
index 0000000..e02e391
--- /dev/null
+++ b/package/s6-linux-init/s6-linux-init.hash
@@ -0,0 +1,2 @@
+# Locally generated
+sha256 131484e61eff0e671e112f0436b13e8e7d08752f810d8bec4924a68383eee2b9 s6-linux-init-0.2.0.0.tar.gz
diff --git a/package/s6-linux-init/s6-linux-init.mk b/package/s6-linux-init/s6-linux-init.mk
new file mode 100644
index 0000000..112e176
--- /dev/null
+++ b/package/s6-linux-init/s6-linux-init.mk
@@ -0,0 +1,36 @@
+################################################################################
+#
+# s6-linux-init
+#
+################################################################################
+
+S6_LINUX_INIT_VERSION = 0.2.0.0
+S6_LINUX_INIT_SITE = http://skarnet.org/software/s6-linux-init
+S6_LINUX_INIT_LICENSE = ISC
+S6_LINUX_INIT_LICENSE_FILES = COPYING
+S6_LINUX_INIT_DEPENDENCIES = s6 s6-linux-utils s6-portable-utils
+
+S6_LINUX_INIT_CONF_OPTS = \
+	--prefix=/usr \
+	--with-sysdeps=$(STAGING_DIR)/usr/lib/skalibs/sysdeps \
+	--with-include=$(STAGING_DIR)/usr/include \
+	--with-dynlib=$(STAGING_DIR)/usr/lib \
+	--with-lib=$(STAGING_DIR)/usr/lib/execline \
+	--with-lib=$(STAGING_DIR)/usr/lib/s6 \
+	--with-lib=$(STAGING_DIR)/usr/lib/skalibs \
+	$(if $(BR2_STATIC_LIBS),,--disable-allstatic) \
+	$(SHARED_STATIC_LIBS_OPTS)
+
+define S6_LINUX_INIT_CONFIGURE_CMDS
+	(cd $(@D); $(TARGET_CONFIGURE_OPTS) ./configure $(S6_LINUX_INIT_CONF_OPTS))
+endef
+
+define S6_LINUX_INIT_BUILD_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D)
+endef
+
+define S6_LINUX_INIT_INSTALL_TARGET_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) install
+endef
+
+$(eval $(generic-package))
-- 
2.5.5

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

* [Buildroot] [Patch v3 1/9] skalibs: new package
  2016-12-19 21:29 ` [Buildroot] [Patch v3 1/9] skalibs: new package Eric Le Bihan
@ 2017-02-07 10:21   ` Thomas De Schampheleire
  0 siblings, 0 replies; 23+ messages in thread
From: Thomas De Schampheleire @ 2017-02-07 10:21 UTC (permalink / raw)
  To: buildroot

On Mon, Dec 19, 2016 at 10:29 PM, Eric Le Bihan
<eric.le.bihan.dev@free.fr> wrote:
> This new package provides skalibs, a collection of free software / open
> source C development files used for building all softwares from
> skarnet.org.
>
> Note that, though skalibs (and all skarnet softwares) follows the
> "./configure; make; make install" convention, it does not behave like a
> traditional autotools project:
>
>  - static libraries are installed in $prefix/usr/lib/skalibs.
>  - pkg-config and libtool are not used: instead a custom system called
>    "sysdeps" is used and locations to libraries and headers are to be
>    passed explicitly via options of the './configure' script.
>
> The host variant is provided to allow building the host variants of the
> other skarnet softwares.
>
> Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr>
> ---
>  package/Config.in                                  |  1 +
>  .../0001-No-runtime-tests-for-endianness.patch     | 95 ++++++++++++++++++++++
>  .../0002-No-runtime-tests-for-type-sizes.patch     | 54 ++++++++++++
>  package/skalibs/Config.in                          |  9 ++
>  package/skalibs/skalibs.hash                       |  2 +
>  package/skalibs/skalibs.mk                         | 59 ++++++++++++++
>  6 files changed, 220 insertions(+)
>  create mode 100644 package/skalibs/0001-No-runtime-tests-for-endianness.patch
>  create mode 100644 package/skalibs/0002-No-runtime-tests-for-type-sizes.patch
>  create mode 100644 package/skalibs/Config.in
>  create mode 100644 package/skalibs/skalibs.hash
>  create mode 100644 package/skalibs/skalibs.mk
>
> diff --git a/package/Config.in b/package/Config.in
> index be0d150..760eaff 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -1366,6 +1366,7 @@ endif
>         source "package/qhull/Config.in"
>         source "package/qlibc/Config.in"
>         source "package/shapelib/Config.in"
> +       source "package/skalibs/Config.in"
>         source "package/sphinxbase/Config.in"
>         source "package/startup-notification/Config.in"
>         source "package/tinycbor/Config.in"
> diff --git a/package/skalibs/0001-No-runtime-tests-for-endianness.patch b/package/skalibs/0001-No-runtime-tests-for-endianness.patch
> new file mode 100644
> index 0000000..4390d44
> --- /dev/null
> +++ b/package/skalibs/0001-No-runtime-tests-for-endianness.patch
> @@ -0,0 +1,95 @@
> +From 1e6f0b094c6ce6454be572704b866d2ce0962e59 Mon Sep 17 00:00:00 2001
> +From: Eric Le Bihan <eric.le.bihan.dev@free.fr>
> +Date: Sun, 4 Dec 2016 19:10:40 +0100
> +Subject: [PATCH] No runtime tests for endianness
> +
> +Replace build and execution of runtime test programs for determining
> +the endianness of the target with compile time test programs.
> +
> +This improves support for cross-compilation.
> +
> +Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr>
> +---
> + configure                     | 15 +++++++++++----
> + src/sysdeps/trybigendian.c    | 16 ++++++++++++++++
> + src/sysdeps/trylittleendian.c | 16 ++++++++++++++++
> + 3 files changed, 43 insertions(+), 4 deletions(-)
> + create mode 100644 src/sysdeps/trybigendian.c
> + create mode 100644 src/sysdeps/trylittleendian.c
> +
> +diff --git a/configure b/configure
> +index 1579025..4da9c5e 100755
> +--- a/configure
> ++++ b/configure
> +@@ -463,13 +463,20 @@ EOF
> +   fi
> +   exec 3>&-
> +
> +-  echo "Checking system endianness..."
> +-  $CC_AUTO $CPPFLAGS_AUTO $CFLAGS_AUTO -o tryendianness src/sysdeps/tryendianness.c
> +-  endianness=$(./tryendianness) || fail "$0: unable to determine endianness"
> ++    echo "Checking system endianness..."
> ++  if $CC_AUTO $CPPFLAGS_AUTO $CFLAGS_AUTO -o trybigendian src/sysdeps/trybigendian.c 2>/dev/null; then
> ++      endianness=big
> ++  else
> ++      if $CC_AUTO $CPPFLAGS_AUTO $CFLAGS_AUTO -o trylittleendian src/sysdeps/trylittleendian.c 2>/dev/null; then
> ++          endianness=little
> ++      else
> ++          fail "$0: unable to determine endianness"
> ++      fi
> ++  fi
> +   echo "endianness: $endianness" >> $sysdeps/sysdeps
> +   echo "#define ${package_macro_name}_ENDIANNESS \"$endianness\"" >> $sysdeps/sysdeps.h
> +   echo "  ... $endianness"
> +-  rm -f tryendianness
> ++  rm -f trybigendian trylittleendian
> +
> +   trytypesize ushort USHORT "unsigned short"
> +   trytypesize uint UINT "unsigned int"
> +diff --git a/src/sysdeps/trybigendian.c b/src/sysdeps/trybigendian.c
> +new file mode 100644
> +index 0000000..d857572
> +--- /dev/null
> ++++ b/src/sysdeps/trybigendian.c
> +@@ -0,0 +1,16 @@
> ++#if defined(__BYTE_ORDER) && (__BYTE_ORDER == __BIG_ENDIAN) ||               \
> ++      defined(__BYTE_ORDER__) && (__BYTE_ORDER__  == __ORDER_BIG_ENDIAN__) || \
> ++      defined(__BIG_ENDIAN) ||                                       \
> ++      defined(__ARMEB__) ||                                          \
> ++      defined(__THUMBEB__) ||                                \
> ++      defined(__AARCH64EB__) ||                                      \
> ++      defined(_MIPSEB) || defined(__MIPSEB) || defined(__MIPSEB__)
> ++#define YEAH
> ++#else
> ++#error "not big endian"
> ++#endif
> ++
> ++int main(void)
> ++{
> ++      return 0;
> ++}
> +diff --git a/src/sysdeps/trylittleendian.c b/src/sysdeps/trylittleendian.c
> +new file mode 100644
> +index 0000000..eba065a
> +--- /dev/null
> ++++ b/src/sysdeps/trylittleendian.c
> +@@ -0,0 +1,16 @@
> ++#if defined(__BYTE_ORDER) && (__BYTE_ORDER == __LITTLE_ENDIAN) ||     \
> ++      defined(__BYTE_ORDER__) && (__BYTE_ORDER__  == __ORDER_LITTLE_ENDIAN__) || \
> ++      defined(__LITTLE_ENDIAN) ||                                     \
> ++      defined(__ARMEL__) ||                                           \
> ++      defined(__THUMBEL__) ||                                 \
> ++      defined(__AARCH64EL__) ||                                       \
> ++      defined(_MIPSEL) || defined(__MIPSEL) || defined(__MIPSEL__)
> ++#define YEAH
> ++#else
> ++#error "not little endian"
> ++#endif
> ++
> ++int main(void)
> ++{
> ++      return 0;
> ++}
> +--
> +2.5.5
> +
> diff --git a/package/skalibs/0002-No-runtime-tests-for-type-sizes.patch b/package/skalibs/0002-No-runtime-tests-for-type-sizes.patch
> new file mode 100644
> index 0000000..3f16171
> --- /dev/null
> +++ b/package/skalibs/0002-No-runtime-tests-for-type-sizes.patch
> @@ -0,0 +1,54 @@
> +From d868600a3f437750bc44a783d677a25a48100096 Mon Sep 17 00:00:00 2001
> +From: Eric Le Bihan <eric.le.bihan.dev@free.fr>
> +Date: Sun, 4 Dec 2016 19:11:25 +0100
> +Subject: [PATCH] No runtime tests for type sizes
> +
> +Replace build and execution of runtime test programs for determining
> +some type sizes of the target with compile time test programs.
> +
> +This improves support for cross-compilation.
> +
> +Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr>
> +---
> + configure | 24 +++++++++++++++++++++---
> + 1 file changed, 21 insertions(+), 3 deletions(-)
> +
> +diff --git a/configure b/configure
> +index 4da9c5e..b5926ca 100755
> +--- a/configure
> ++++ b/configure
> +@@ -157,10 +157,28 @@ choose () {
> +
> + trytypesize () {
> +   echo "Checking size of $3..."
> +-  $CC_AUTO $CPPFLAGS_AUTO $CFLAGS_AUTO $LDFLAGS_AUTO -o trysizeof$1 src/sysdeps/trysizeof$1.c
> +-  type_size=$(./trysizeof$1) || fail "$0: unable to determine size of $3"
> ++  r=false
> ++  type_size=0
> ++  while true; do
> ++    cat<<EOF>trysizeof$1.c
> ++#include <sys/types.h>
> ++
> ++int main(void)
> ++{
> ++  static int v = 1 / !!((sizeof($3) == $type_size));
> ++  return 0;
> ++}
> ++EOF
> ++    if $CC_AUTO $CPPFLAGS_AUTO $CFLAGS_AUTO $LDFLAGS_AUTO -o trysizeof$1 trysizeof$1.c 2>/dev/null; then
> ++        r=true
> ++        break
> ++    fi
> ++    type_size=$(expr $type_size + 1)
> ++    test $type_size -le 16 || break
> ++  done
> ++  test $r = true || fail "$0: unable to determine size of $3"
> +   type_bits=$(expr 8 \* $type_size)
> +-  rm -f trysizeof$1
> ++  rm -f trysizeof$1 trysizeof$1.c
> +   echo "sizeof$1: $type_size" >> $sysdeps/sysdeps
> +   echo "#define ${package_macro_name}_SIZEOF$2 $type_size" >> $sysdeps/sysdeps.h
> +   echo "#define ${package_macro_name}_$2_BITS $type_bits" >> $sysdeps/sysdeps.h
> +--
> +2.5.5
> +
> diff --git a/package/skalibs/Config.in b/package/skalibs/Config.in
> new file mode 100644
> index 0000000..7802ae3
> --- /dev/null
> +++ b/package/skalibs/Config.in
> @@ -0,0 +1,9 @@
> +config BR2_PACKAGE_SKALIBS
> +       bool "skalibs"
> +       depends on BR2_USE_MMU # fork()
> +       help
> +         skalibs is a package centralizing the FOSS C development
> +         files used for building all software at skarnet.org:
> +         it contains essentially general-purpose libraries.
> +
> +         http://skarnet.org/software/skalibs/
> diff --git a/package/skalibs/skalibs.hash b/package/skalibs/skalibs.hash
> new file mode 100644
> index 0000000..195ac47
> --- /dev/null
> +++ b/package/skalibs/skalibs.hash
> @@ -0,0 +1,2 @@
> +# Locally generated
> +sha256 0708172bc2ec9825f8a4f312d35f8dcd94da5f291425a598c33c873b3de77df8 skalibs-2.4.0.2.tar.gz
> diff --git a/package/skalibs/skalibs.mk b/package/skalibs/skalibs.mk
> new file mode 100644
> index 0000000..e525378
> --- /dev/null
> +++ b/package/skalibs/skalibs.mk
> @@ -0,0 +1,59 @@
> +################################################################################
> +#
> +# skalibs
> +#
> +################################################################################
> +
> +SKALIBS_VERSION = 2.4.0.2
> +SKALIBS_SITE = http://skarnet.org/software/skalibs
> +SKALIBS_LICENSE = ISC
> +SKALIBS_LICENSE_FILES = COPYING
> +SKALIBS_INSTALL_STAGING = YES
> +
> +SKALIBS_CONF_OPTS = \
> +       --prefix=/usr \
> +       --with-default-path=/sbin:/usr/sbin:/bin:/usr/bin \
> +       $(SHARED_STATIC_LIBS_OPTS)
> +
> +define SKALIBS_CONFIGURE_CMDS
> +       (cd $(@D); $(TARGET_CONFIGURE_OPTS) ./configure $(SKALIBS_CONF_OPTS))
> +endef
> +
> +define SKALIBS_BUILD_CMDS
> +       $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)
> +endef
> +
> +define SKALIBS_REMOVE_STATIC_LIB_DIR
> +       rm -rf $(TARGET_DIR)/usr/lib/skalibs
> +endef
> +
> +SKALIBS_POST_INSTALL_TARGET_HOOKS += SKALIBS_REMOVE_STATIC_LIB_DIR
> +
> +define SKALIBS_INSTALL_TARGET_CMDS
> +       $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) install
> +endef
> +
> +define SKALIBS_INSTALL_STAGING_CMDS
> +       $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR=$(STAGING_DIR) install
> +endef
> +
> +HOST_SKALIBS_CONF_OPTS = \
> +       --prefix=$(HOST_DIR)/usr \
> +       --disable-static \
> +       --enable-shared \
> +       --disable-allstatic
> +
> +define HOST_SKALIBS_CONFIGURE_CMDS
> +       (cd $(@D); $(HOST_CONFIGURE_OPTS) ./configure $(HOST_SKALIBS_CONF_OPTS))
> +endef
> +
> +define HOST_SKALIBS_BUILD_CMDS
> +       $(HOST_MAKE_ENV) $(MAKE) -C $(@D)
> +endef
> +
> +define HOST_SKALIBS_INSTALL_CMDS
> +       $(HOST_MAKE_ENV) $(MAKE) -C $(@D) install
> +endef
> +
> +$(eval $(generic-package))
> +$(eval $(host-generic-package))
> --

This patch was already applied; I will mark it as such in patchwork.

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

* [Buildroot] [Patch v3 2/9] execline: new package
  2016-12-19 21:29 ` [Buildroot] [Patch v3 2/9] execline: " Eric Le Bihan
@ 2017-03-01 22:54   ` Thomas Petazzoni
  0 siblings, 0 replies; 23+ messages in thread
From: Thomas Petazzoni @ 2017-03-01 22:54 UTC (permalink / raw)
  To: buildroot

Hello,

On Mon, 19 Dec 2016 22:29:08 +0100, Eric Le Bihan wrote:
> This package provides execline, a (non-interactive) scripting language,
> like sh, used in the s6 supervision system.
> 
> The host variant is provided as it is required to build and run the host
> variants of s6 and s6-rc.
> 
> Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr>
> ---
>  package/Config.in              |  1 +
>  package/execline/Config.in     | 12 ++++++++
>  package/execline/execline.hash |  2 ++
>  package/execline/execline.mk   | 70 ++++++++++++++++++++++++++++++++++++++++++
>  4 files changed, 85 insertions(+)
>  create mode 100644 package/execline/Config.in
>  create mode 100644 package/execline/execline.hash
>  create mode 100644 package/execline/execline.mk

Applied to master, after adding an entry to the DEVELOPERS file for
this package.

Thanks!

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

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

* [Buildroot] [Patch v3 3/9] s6: new package
  2016-12-19 21:29 ` [Buildroot] [Patch v3 3/9] s6: " Eric Le Bihan
@ 2017-03-09 22:08   ` Thomas Petazzoni
  0 siblings, 0 replies; 23+ messages in thread
From: Thomas Petazzoni @ 2017-03-09 22:08 UTC (permalink / raw)
  To: buildroot

Hello,

On Mon, 19 Dec 2016 22:29:09 +0100, Eric Le Bihan wrote:
> This new package provides s6, a small suite of programs for UNIX,
> designed to allow process supervision (a.k.a service supervision), in
> the line of daemontools and runit.
> 
> The host variant is provided as it is required to build the host
> variant of s6-rc. Only the libraries and headers are installed.
> 
> Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr>
> ---
>  package/Config.in    |  1 +
>  package/s6/Config.in | 10 ++++++++
>  package/s6/s6.hash   |  2 ++
>  package/s6/s6.mk     | 70 ++++++++++++++++++++++++++++++++++++++++++++++++++++
>  4 files changed, 83 insertions(+)
>  create mode 100644 package/s6/Config.in
>  create mode 100644 package/s6/s6.hash
>  create mode 100644 package/s6/s6.mk

Applied to master, thanks.

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

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

* [Buildroot] [Patch v3 4/9] s6-dns: new package
  2016-12-19 21:29 ` [Buildroot] [Patch v3 4/9] s6-dns: " Eric Le Bihan
@ 2017-03-09 22:08   ` Thomas Petazzoni
  0 siblings, 0 replies; 23+ messages in thread
From: Thomas Petazzoni @ 2017-03-09 22:08 UTC (permalink / raw)
  To: buildroot

Hello,

On Mon, 19 Dec 2016 22:29:10 +0100, Eric Le Bihan wrote:
> This new package provides s6-dns, a suite of DNS client programs and
> libraries for Unix systems, as an alternative to the BIND, djbdns or
> other DNS clients.
> 
> Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr>
> ---
>  package/Config.in          |  1 +
>  package/s6-dns/Config.in   |  9 +++++++++
>  package/s6-dns/s6-dns.hash |  2 ++
>  package/s6-dns/s6-dns.mk   | 45 +++++++++++++++++++++++++++++++++++++++++++++
>  4 files changed, 57 insertions(+)
>  create mode 100644 package/s6-dns/Config.in
>  create mode 100644 package/s6-dns/s6-dns.hash
>  create mode 100644 package/s6-dns/s6-dns.mk

Applied to master, thanks.

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

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

* [Buildroot] [Patch v3 5/9] s6-networking: new package
  2016-12-19 21:29 ` [Buildroot] [Patch v3 5/9] s6-networking: " Eric Le Bihan
@ 2017-03-09 22:17   ` Thomas Petazzoni
  0 siblings, 0 replies; 23+ messages in thread
From: Thomas Petazzoni @ 2017-03-09 22:17 UTC (permalink / raw)
  To: buildroot

Hello,

On Mon, 19 Dec 2016 22:29:11 +0100, Eric Le Bihan wrote:
> This new package provides s6-networking, a suite of small networking
> utilities for Unix systems.
> 
> Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr>
> ---
>  package/Config.in                        |  1 +
>  package/s6-networking/Config.in          | 12 ++++++++
>  package/s6-networking/s6-networking.hash |  2 ++
>  package/s6-networking/s6-networking.mk   | 48 ++++++++++++++++++++++++++++++++
>  4 files changed, 63 insertions(+)
>  create mode 100644 package/s6-networking/Config.in
>  create mode 100644 package/s6-networking/s6-networking.hash
>  create mode 100644 package/s6-networking/s6-networking.mk

Applied to master, thanks.

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

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

* [Buildroot] [Patch v3 6/9] s6-rc: new package
  2016-12-19 21:29 ` [Buildroot] [Patch v3 6/9] s6-rc: " Eric Le Bihan
@ 2017-03-09 22:33   ` Thomas Petazzoni
  2017-03-13 22:34     ` Peter Korsgaard
  0 siblings, 1 reply; 23+ messages in thread
From: Thomas Petazzoni @ 2017-03-09 22:33 UTC (permalink / raw)
  To: buildroot

Hello,

On Mon, 19 Dec 2016 22:29:12 +0100, Eric Le Bihan wrote:
> This new package provides s6-rc, a service manager for s6-based systems,
> i.e. a suite of programs that can start and stop services, both
> long-running daemons and one-time initialization scripts, in the proper
> order according to a dependency tree.
> 
> The host variant is provided so s6-rc-compile is available and can
> be used to build the services database offline, either in a package
> Makefile or a post-build script.
> 
> Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr>
> ---
>  package/Config.in        |  1 +
>  package/s6-rc/Config.in  | 11 ++++++++
>  package/s6-rc/s6-rc.hash |  2 ++
>  package/s6-rc/s6-rc.mk   | 73 ++++++++++++++++++++++++++++++++++++++++++++++++
>  4 files changed, 87 insertions(+)
>  create mode 100644 package/s6-rc/Config.in
>  create mode 100644 package/s6-rc/s6-rc.hash
>  create mode 100644 package/s6-rc/s6-rc.mk

Applied to master, thanks.

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

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

* [Buildroot] [Patch v3 7/9] s6-portable-utils: new package
  2016-12-19 21:29 ` [Buildroot] [Patch v3 7/9] s6-portable-utils: " Eric Le Bihan
@ 2017-03-09 22:33   ` Thomas Petazzoni
  0 siblings, 0 replies; 23+ messages in thread
From: Thomas Petazzoni @ 2017-03-09 22:33 UTC (permalink / raw)
  To: buildroot

Hello,

On Mon, 19 Dec 2016 22:29:13 +0100, Eric Le Bihan wrote:
> This new package provides s6-portable-utils, a set of tiny general Unix
> utilities, often performing well-known tasks such as cut and grep, but
> optimized for simplicity and small size.
> 
> Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr>
> ---
>  package/Config.in                                |  1 +
>  package/s6-portable-utils/Config.in              | 11 ++++++++
>  package/s6-portable-utils/s6-portable-utils.hash |  2 ++
>  package/s6-portable-utils/s6-portable-utils.mk   | 34 ++++++++++++++++++++++++
>  4 files changed, 48 insertions(+)
>  create mode 100644 package/s6-portable-utils/Config.in
>  create mode 100644 package/s6-portable-utils/s6-portable-utils.hash
>  create mode 100644 package/s6-portable-utils/s6-portable-utils.mk

Applied to master, thanks.

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

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

* [Buildroot] [Patch v3 8/9] s6-linux-utils: new package
  2016-12-19 21:29 ` [Buildroot] [Patch v3 8/9] s6-linux-utils: " Eric Le Bihan
@ 2017-03-10 21:53   ` Thomas Petazzoni
  0 siblings, 0 replies; 23+ messages in thread
From: Thomas Petazzoni @ 2017-03-10 21:53 UTC (permalink / raw)
  To: buildroot

Hello,

On Mon, 19 Dec 2016 22:29:14 +0100, Eric Le Bihan wrote:
> This new package provides s6-linux-utils, a set of minimalistic
> Linux-specific system utilities.
> 
> Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr>
> ---
>  package/Config.in                          |  1 +
>  package/s6-linux-utils/Config.in           |  9 ++++++++
>  package/s6-linux-utils/s6-linux-utils.hash |  2 ++
>  package/s6-linux-utils/s6-linux-utils.mk   | 34 ++++++++++++++++++++++++++++++
>  4 files changed, 46 insertions(+)
>  create mode 100644 package/s6-linux-utils/Config.in
>  create mode 100644 package/s6-linux-utils/s6-linux-utils.hash
>  create mode 100644 package/s6-linux-utils/s6-linux-utils.mk

Applied to master, thanks.

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

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

* [Buildroot] [Patch v3 9/9] s6-linux-init: new package
  2016-12-19 21:29 ` [Buildroot] [Patch v3 9/9] s6-linux-init: " Eric Le Bihan
@ 2017-03-10 21:55   ` Thomas Petazzoni
  2017-03-13 22:54   ` Peter Korsgaard
  1 sibling, 0 replies; 23+ messages in thread
From: Thomas Petazzoni @ 2017-03-10 21:55 UTC (permalink / raw)
  To: buildroot

Hello,

On Mon, 19 Dec 2016 22:29:15 +0100, Eric Le Bihan wrote:
> This new package provides s6-linux-init, a set of minimalistic tools to
> create a s6-based init system, including a /sbin/init program, on a
> machine running a Linux kernel.
> 
> Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr>
> ---
>  package/Config.in                        |  1 +
>  package/s6-linux-init/Config.in          | 11 ++++++++++
>  package/s6-linux-init/s6-linux-init.hash |  2 ++
>  package/s6-linux-init/s6-linux-init.mk   | 36 ++++++++++++++++++++++++++++++++
>  4 files changed, 50 insertions(+)
>  create mode 100644 package/s6-linux-init/Config.in
>  create mode 100644 package/s6-linux-init/s6-linux-init.hash
>  create mode 100644 package/s6-linux-init/s6-linux-init.mk

Applied to master, thanks.

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

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

* [Buildroot] [Patch v3 6/9] s6-rc: new package
  2017-03-09 22:33   ` Thomas Petazzoni
@ 2017-03-13 22:34     ` Peter Korsgaard
  2017-03-14 12:40       ` Thomas Petazzoni
  0 siblings, 1 reply; 23+ messages in thread
From: Peter Korsgaard @ 2017-03-13 22:34 UTC (permalink / raw)
  To: buildroot

>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@free-electrons.com> writes:

 > Hello,
 > On Mon, 19 Dec 2016 22:29:12 +0100, Eric Le Bihan wrote:
 >> This new package provides s6-rc, a service manager for s6-based systems,
 >> i.e. a suite of programs that can start and stop services, both
 >> long-running daemons and one-time initialization scripts, in the proper
 >> order according to a dependency tree.
 >> 
 >> The host variant is provided so s6-rc-compile is available and can
 >> be used to build the services database offline, either in a package
 >> Makefile or a post-build script.

Hmm, shouldn't it then have a Config.in.host so it can be enabled for
post-build scripts?

-- 
Bye, Peter Korsgaard

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

* [Buildroot] [Patch v3 9/9] s6-linux-init: new package
  2016-12-19 21:29 ` [Buildroot] [Patch v3 9/9] s6-linux-init: " Eric Le Bihan
  2017-03-10 21:55   ` Thomas Petazzoni
@ 2017-03-13 22:54   ` Peter Korsgaard
  2017-03-16 21:16     ` Eric Le Bihan
  1 sibling, 1 reply; 23+ messages in thread
From: Peter Korsgaard @ 2017-03-13 22:54 UTC (permalink / raw)
  To: buildroot

>>>>> "Eric" == Eric Le Bihan <eric.le.bihan.dev@free.fr> writes:

 > This new package provides s6-linux-init, a set of minimalistic tools to
 > create a s6-based init system, including a /sbin/init program, on a
 > machine running a Linux kernel.

Hmm, should this then be added as one of the available init options in
the system menu? Or if not, at least depend on BR2_INIT_NONE to ensure
no other init system overwrites /sbin/init?


 > Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr>
 > ---
 >  package/Config.in                        |  1 +
 >  package/s6-linux-init/Config.in          | 11 ++++++++++
 >  package/s6-linux-init/s6-linux-init.hash |  2 ++
 >  package/s6-linux-init/s6-linux-init.mk   | 36 ++++++++++++++++++++++++++++++++
 >  4 files changed, 50 insertions(+)
 >  create mode 100644 package/s6-linux-init/Config.in
 >  create mode 100644 package/s6-linux-init/s6-linux-init.hash
 >  create mode 100644 package/s6-linux-init/s6-linux-init.mk

 > diff --git a/package/Config.in b/package/Config.in
 > index 29d9121..a7d70eb 100644
 > --- a/package/Config.in
 > +++ b/package/Config.in
 > @@ -1761,6 +1761,7 @@ menu "System tools"
 >  	source "package/rsyslog/Config.in"
 >  	source "package/runc/Config.in"
 >  	source "package/s6/Config.in"
 > +	source "package/s6-linux-init/Config.in"
 >  	source "package/s6-linux-utils/Config.in"
 >  	source "package/s6-portable-utils/Config.in"
 >  	source "package/s6-rc/Config.in"
 > diff --git a/package/s6-linux-init/Config.in b/package/s6-linux-init/Config.in
 > new file mode 100644
 > index 0000000..db07e69
 > --- /dev/null
 > +++ b/package/s6-linux-init/Config.in
 > @@ -0,0 +1,11 @@
 > +config BR2_PACKAGE_S6_LINUX_INIT
 > +	bool "s6-linux-init"
 > +	select BR2_PACKAGE_S6
 > +	select BR2_PACKAGE_S6_LINUX_UTILS
 > +	select BR2_PACKAGE_S6_PORTABLE_UTILS
 > +	depends on BR2_USE_MMU # s6
 > +	help
 > +	  s6-linux-init is a set of minimalistic tools to create a s6-based
 > +	  init system, including a /sbin/init binary, on a Linux kernel.
 > +
 > +	  http://skarnet.org/software/s6-linux-init/
 > diff --git a/package/s6-linux-init/s6-linux-init.hash b/package/s6-linux-init/s6-linux-init.hash
 > new file mode 100644
 > index 0000000..e02e391
 > --- /dev/null
 > +++ b/package/s6-linux-init/s6-linux-init.hash
 > @@ -0,0 +1,2 @@
 > +# Locally generated
 > +sha256 131484e61eff0e671e112f0436b13e8e7d08752f810d8bec4924a68383eee2b9 s6-linux-init-0.2.0.0.tar.gz
 > diff --git a/package/s6-linux-init/s6-linux-init.mk b/package/s6-linux-init/s6-linux-init.mk
 > new file mode 100644
 > index 0000000..112e176
 > --- /dev/null
 > +++ b/package/s6-linux-init/s6-linux-init.mk
 > @@ -0,0 +1,36 @@
 > +################################################################################
 > +#
 > +# s6-linux-init
 > +#
 > +################################################################################
 > +
 > +S6_LINUX_INIT_VERSION = 0.2.0.0
 > +S6_LINUX_INIT_SITE = http://skarnet.org/software/s6-linux-init
 > +S6_LINUX_INIT_LICENSE = ISC
 > +S6_LINUX_INIT_LICENSE_FILES = COPYING
 > +S6_LINUX_INIT_DEPENDENCIES = s6 s6-linux-utils s6-portable-utils
 > +
 > +S6_LINUX_INIT_CONF_OPTS = \
 > +	--prefix=/usr \
 > +	--with-sysdeps=$(STAGING_DIR)/usr/lib/skalibs/sysdeps \
 > +	--with-include=$(STAGING_DIR)/usr/include \
 > +	--with-dynlib=$(STAGING_DIR)/usr/lib \
 > +	--with-lib=$(STAGING_DIR)/usr/lib/execline \
 > +	--with-lib=$(STAGING_DIR)/usr/lib/s6 \
 > +	--with-lib=$(STAGING_DIR)/usr/lib/skalibs \
 > +	$(if $(BR2_STATIC_LIBS),,--disable-allstatic) \
 > +	$(SHARED_STATIC_LIBS_OPTS)
 > +
 > +define S6_LINUX_INIT_CONFIGURE_CMDS
 > +	(cd $(@D); $(TARGET_CONFIGURE_OPTS) ./configure $(S6_LINUX_INIT_CONF_OPTS))
 > +endef
 > +
 > +define S6_LINUX_INIT_BUILD_CMDS
 > +	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D)
 > +endef
 > +
 > +define S6_LINUX_INIT_INSTALL_TARGET_CMDS
 > +	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) install
 > +endef
 > +
 > +$(eval $(generic-package))
 > -- 
 > 2.5.5

 > _______________________________________________
 > buildroot mailing list
 > buildroot at busybox.net
 > http://lists.busybox.net/mailman/listinfo/buildroot

-- 
Bye, Peter Korsgaard

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

* [Buildroot] [Patch v3 6/9] s6-rc: new package
  2017-03-13 22:34     ` Peter Korsgaard
@ 2017-03-14 12:40       ` Thomas Petazzoni
  0 siblings, 0 replies; 23+ messages in thread
From: Thomas Petazzoni @ 2017-03-14 12:40 UTC (permalink / raw)
  To: buildroot

Hello,

On Mon, 13 Mar 2017 23:34:50 +0100, Peter Korsgaard wrote:

>  > On Mon, 19 Dec 2016 22:29:12 +0100, Eric Le Bihan wrote:  
>  >> This new package provides s6-rc, a service manager for s6-based systems,
>  >> i.e. a suite of programs that can start and stop services, both
>  >> long-running daemons and one-time initialization scripts, in the proper
>  >> order according to a dependency tree.
>  >> 
>  >> The host variant is provided so s6-rc-compile is available and can
>  >> be used to build the services database offline, either in a package
>  >> Makefile or a post-build script.  
> 
> Hmm, shouldn't it then have a Config.in.host so it can be enabled for
> post-build scripts?

Indeed. I guess that's something Eric can improve in a follow-up patch.

Thanks,

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com

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

* [Buildroot] [Patch v3 9/9] s6-linux-init: new package
  2017-03-13 22:54   ` Peter Korsgaard
@ 2017-03-16 21:16     ` Eric Le Bihan
  0 siblings, 0 replies; 23+ messages in thread
From: Eric Le Bihan @ 2017-03-16 21:16 UTC (permalink / raw)
  To: buildroot

Hi!

On 17-03-13 23:54:41, Peter Korsgaard wrote:
> >>>>> "Eric" == Eric Le Bihan <eric.le.bihan.dev@free.fr> writes:
>
>  > This new package provides s6-linux-init, a set of minimalistic tools to
>  > create a s6-based init system, including a /sbin/init program, on a
>  > machine running a Linux kernel.
>
> Hmm, should this then be added as one of the available init options in
> the system menu? Or if not, at least depend on BR2_INIT_NONE to ensure
> no other init system overwrites /sbin/init?

s6-linux-init [1] does not provide a replacement for /sbin/init, but
a tool to generate one FROM the target. So when this package is selected,
there is no risk of messing up target/sbin/init at build time. Hence no
need to make it depend on on BR2_INIT_NONE.

The s6* packages provide the tools to build an init system with service
supervision (as the author states it: "mechanism over policy"). It is up
to the user to glue everything via post-build scripts or a custom
skeleton. A basic example of such a skeleton [2] is available in a
personal Buildroot external customization [3].

Should some comments be added in s6-linux-init/Config.in to clarify
this?

[1] http://skarnet.org/software/s6-linux-init/
[2] https://github.com/elebihan/s6-br2-init-skeleton/
[3] https://github.com/elebihan/br2-ext-skarnet/blob/master/system/Config.in

--
ELB

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

end of thread, other threads:[~2017-03-16 21:16 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-12-19 21:29 [Buildroot] [Patch v3 0/9] Introducing service supervision/management with s6 Eric Le Bihan
2016-12-19 21:29 ` [Buildroot] [Patch v3 1/9] skalibs: new package Eric Le Bihan
2017-02-07 10:21   ` Thomas De Schampheleire
2016-12-19 21:29 ` [Buildroot] [Patch v3 2/9] execline: " Eric Le Bihan
2017-03-01 22:54   ` Thomas Petazzoni
2016-12-19 21:29 ` [Buildroot] [Patch v3 3/9] s6: " Eric Le Bihan
2017-03-09 22:08   ` Thomas Petazzoni
2016-12-19 21:29 ` [Buildroot] [Patch v3 4/9] s6-dns: " Eric Le Bihan
2017-03-09 22:08   ` Thomas Petazzoni
2016-12-19 21:29 ` [Buildroot] [Patch v3 5/9] s6-networking: " Eric Le Bihan
2017-03-09 22:17   ` Thomas Petazzoni
2016-12-19 21:29 ` [Buildroot] [Patch v3 6/9] s6-rc: " Eric Le Bihan
2017-03-09 22:33   ` Thomas Petazzoni
2017-03-13 22:34     ` Peter Korsgaard
2017-03-14 12:40       ` Thomas Petazzoni
2016-12-19 21:29 ` [Buildroot] [Patch v3 7/9] s6-portable-utils: " Eric Le Bihan
2017-03-09 22:33   ` Thomas Petazzoni
2016-12-19 21:29 ` [Buildroot] [Patch v3 8/9] s6-linux-utils: " Eric Le Bihan
2017-03-10 21:53   ` Thomas Petazzoni
2016-12-19 21:29 ` [Buildroot] [Patch v3 9/9] s6-linux-init: " Eric Le Bihan
2017-03-10 21:55   ` Thomas Petazzoni
2017-03-13 22:54   ` Peter Korsgaard
2017-03-16 21:16     ` Eric Le Bihan

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.