s6: new package
authorEric Le Bihan <eric.le.bihan.dev@free.fr>
Mon, 19 Dec 2016 21:29:09 +0000 (22:29 +0100)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Thu, 9 Mar 2017 21:55:46 +0000 (22:55 +0100)
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>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
DEVELOPERS
package/Config.in
package/s6/Config.in [new file with mode: 0644]
package/s6/s6.hash [new file with mode: 0644]
package/s6/s6.mk [new file with mode: 0644]

index 6c74cac84d6b4ad34449860a16670c823e38a286..73413eb47d4657704598d39cff14229bdd23e54e 100644 (file)
@@ -440,6 +440,7 @@ F:  package/execline/
 F:     package/hicolor-icon-theme/
 F:     package/jemalloc/
 F:     package/ninja/
+F:     package/s6/
 F:     package/skalibs/
 F:     package/smack/
 F:     package/xvisor/
index 9eb6a22f424a2f4f4c64aa3fed2d9fa970332d14..1cb584ca1dfed7cfabdeaf6ca9c600bbf9b8c7a9 100644 (file)
@@ -1800,6 +1800,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 (file)
index 0000000..7c192c1
--- /dev/null
@@ -0,0 +1,11 @@
+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 (file)
index 0000000..36526de
--- /dev/null
@@ -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 (file)
index 0000000..de08f67
--- /dev/null
@@ -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))