diff options
-rw-r--r-- | package/execline/Makefile | 34 | ||||
-rw-r--r-- | package/s6-linux-utils/Makefile | 34 | ||||
-rw-r--r-- | package/s6-portable-utils/Makefile | 33 | ||||
-rw-r--r-- | package/s6/Makefile | 39 | ||||
-rw-r--r-- | package/skalibs/Makefile | 31 | ||||
-rw-r--r-- | package/skalibs/patches/patch-configure | 58 | ||||
-rw-r--r-- | package/skalibs/src/src/sysdeps/trybigendian.c | 17 | ||||
-rw-r--r-- | package/skalibs/src/src/sysdeps/trylittleendian.c | 16 | ||||
-rw-r--r-- | target/config/Config.in.runtime | 6 |
9 files changed, 268 insertions, 0 deletions
diff --git a/package/execline/Makefile b/package/execline/Makefile new file mode 100644 index 000000000..18b824b4c --- /dev/null +++ b/package/execline/Makefile @@ -0,0 +1,34 @@ +# This file is part of the OpenADK project. OpenADK is copyrighted +# material, please see the LICENCE file in the top-level directory. + +include $(ADK_TOPDIR)/rules.mk + +PKG_NAME:= execline +PKG_VERSION:= 2.1.5.0 +PKG_RELEASE:= 1 +PKG_HASH:= 8a3605a6db73183baa376bf2130e8b7eb75a5b5347c7f9144e520fe86bcb1142 +PKG_DESCR:= non-interactive scripting language +PKG_SECTION:= libs/misc +PKG_DEPENDS:= skalibs +PKG_BUILDDEP:= skalibs +PKG_URL:= http://skarnet.org/software/execline/ +PKG_SITES:= http://skarnet.org/software/execline/ +PKG_OPTS:= dev + +DISTFILES:= $(PKG_NAME)-$(PKG_VERSION).tar.gz + +include $(ADK_TOPDIR)/mk/package.mk + +$(eval $(call PKG_template,EXECLINE,execline,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION),$(PKG_OPTS))) + +CONFIGURE_ARGS+= --with-sysdeps=$(STAGING_TARGET_DIR)/usr/lib/skalibs/sysdeps \ + --with-include=$(STAGING_TARGET_DIR)/usr/include \ + --with-dynlib=$(STAGING_TARGET_DIR)/usr/lib \ + --disable-allstatic + +execline-install: + $(INSTALL_DIR) $(IDIR_EXECLINE)/usr/lib + $(CP) $(WRKINST)/usr/lib/libexecline*.so* \ + $(IDIR_EXECLINE)/usr/lib + +include $(ADK_TOPDIR)/mk/pkg-bottom.mk diff --git a/package/s6-linux-utils/Makefile b/package/s6-linux-utils/Makefile new file mode 100644 index 000000000..1e8410187 --- /dev/null +++ b/package/s6-linux-utils/Makefile @@ -0,0 +1,34 @@ +# This file is part of the OpenADK project. OpenADK is copyrighted +# material, please see the LICENCE file in the top-level directory. + +include $(ADK_TOPDIR)/rules.mk + +PKG_NAME:= s6-linux-utils +PKG_VERSION:= 2.1.0.0 +PKG_RELEASE:= 1 +PKG_HASH:= 3523ba84ba524198711b2de3edaaf620381a4e95d78ec6d13dcb7aba42397ead +PKG_DESCR:= set of minimalistic Linux-specific system utilities +PKG_SECTION:= sys/misc +PKG_DEPENDS:= skalibs +PKG_BUILDDEP:= skalibs +PKG_URL:= http://skarnet.org/software/s6-linux-utils/ +PKG_SITES:= http://skarnet.org/software/s6-linux-utils/ + +DISTFILES:= $(PKG_NAME)-$(PKG_VERSION).tar.gz + +include $(ADK_TOPDIR)/mk/package.mk + +$(eval $(call PKG_template,S6_LINUX_UTILS,s6-linux-utils,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION))) + +TARGET_LDFLAGS+= -lrt +CONFIGURE_ARGS+= --with-sysdeps=$(STAGING_TARGET_DIR)/usr/lib/skalibs/sysdeps \ + --with-include=$(STAGING_TARGET_DIR)/usr/include \ + --with-dynlib=$(STAGING_TARGET_DIR)/usr/lib \ + --disable-allstatic + +s6-linux-utils-install: + $(INSTALL_DIR) $(IDIR_S6_LINUX_UTILS)/usr/bin + $(CP) $(WRKINST)/usr/bin/* \ + $(IDIR_S6_LINUX_UTILS)/usr/bin + +include $(ADK_TOPDIR)/mk/pkg-bottom.mk diff --git a/package/s6-portable-utils/Makefile b/package/s6-portable-utils/Makefile new file mode 100644 index 000000000..224e4fa59 --- /dev/null +++ b/package/s6-portable-utils/Makefile @@ -0,0 +1,33 @@ +# This file is part of the OpenADK project. OpenADK is copyrighted +# material, please see the LICENCE file in the top-level directory. + +include $(ADK_TOPDIR)/rules.mk + +PKG_NAME:= s6-portable-utils +PKG_VERSION:= 2.0.6.0 +PKG_RELEASE:= 1 +PKG_HASH:= 233b7d13766a23661cc7ed5c052f29b9c558c1d516a538a281a17da22a909d4b +PKG_DESCR:= set of tiny general Unix utilities +PKG_SECTION:= sys/misc +PKG_DEPENDS:= skalibs +PKG_BUILDDEP:= skalibs +PKG_URL:= http://skarnet.org/software/s6-portable-utils/ +PKG_SITES:= http://skarnet.org/software/s6-portable-utils/ + +DISTFILES:= $(PKG_NAME)-$(PKG_VERSION).tar.gz + +include $(ADK_TOPDIR)/mk/package.mk + +$(eval $(call PKG_template,S6_PORTABLE_UTILS,s6-portable-utils,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION))) + +CONFIGURE_ARGS+= --with-sysdeps=$(STAGING_TARGET_DIR)/usr/lib/skalibs/sysdeps \ + --with-include=$(STAGING_TARGET_DIR)/usr/include \ + --with-dynlib=$(STAGING_TARGET_DIR)/usr/lib \ + --disable-allstatic + +s6-portable-utils-install: + $(INSTALL_DIR) $(IDIR_S6_PORTABLE_UTILS)/usr/bin + $(CP) $(WRKINST)/usr/bin/* \ + $(IDIR_S6_PORTABLE_UTILS)/usr/bin + +include $(ADK_TOPDIR)/mk/pkg-bottom.mk diff --git a/package/s6/Makefile b/package/s6/Makefile new file mode 100644 index 000000000..323709e2a --- /dev/null +++ b/package/s6/Makefile @@ -0,0 +1,39 @@ +# This file is part of the OpenADK project. OpenADK is copyrighted +# material, please see the LICENCE file in the top-level directory. + +include $(ADK_TOPDIR)/rules.mk + +PKG_NAME:= s6 +PKG_VERSION:= 2.3.0.0 +PKG_RELEASE:= 1 +PKG_HASH:= 49c9a0476d93c6279c776ca5ae9c49b3fd39c356eda674828aebf78f8488e8e6 +PKG_DESCR:= small suite of programs for UNIX, designed to allow process supervision +PKG_SECTION:= base/apps +PKG_DEPENDS:= skalibs execline +PKG_BUILDDEP:= skalibs execline +PKG_URL:= http://www.skarnet.org/software/s6/ +PKG_SITES:= http://www.skarnet.org/software/s6/ + +DISTFILES:= $(PKG_NAME)-$(PKG_VERSION).tar.gz + +include $(ADK_TOPDIR)/mk/package.mk + +$(eval $(call PKG_template,S6,s6,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION))) + +CONFIGURE_ARGS+= --with-sysdeps=$(STAGING_TARGET_DIR)/usr/lib/skalibs/sysdeps \ + --with-include=$(STAGING_TARGET_DIR)/usr/include \ + --with-dynlib=$(STAGING_TARGET_DIR)/usr/lib \ + --disable-allstatic + +s6-install: + $(INSTALL_DIR) $(IDIR_S6)/usr/bin + $(INSTALL_DIR) $(IDIR_S6)/usr/sbin + $(INSTALL_DIR) $(IDIR_S6)/usr/libexec + $(CP) $(WRKINST)/usr/bin/* \ + $(IDIR_S6)/usr/bin + $(CP) $(WRKINST)/usr/sbin/* \ + $(IDIR_S6)/usr/sbin + $(CP) $(WRKINST)/usr/libexec/* \ + $(IDIR_S6)/usr/libexec + +include $(ADK_TOPDIR)/mk/pkg-bottom.mk diff --git a/package/skalibs/Makefile b/package/skalibs/Makefile new file mode 100644 index 000000000..cc3b48a6a --- /dev/null +++ b/package/skalibs/Makefile @@ -0,0 +1,31 @@ +# This file is part of the OpenADK project. OpenADK is copyrighted +# material, please see the LICENCE file in the top-level directory. + +include $(ADK_TOPDIR)/rules.mk + +PKG_NAME:= skalibs +PKG_VERSION:= 2.3.10.0 +PKG_RELEASE:= 1 +PKG_HASH:= e4d5147941055b2a367794666f773a4b216c3ae83c015a5fcf2cd0498470ea44 +PKG_DESCR:= general purpose libraries +PKG_SECTION:= libs/misc +PKG_URL:= http://www.skarnet.org/software/skalibs/ +PKG_SITES:= http://www.skarnet.org/software/skalibs/ +PKG_OPTS:= dev + +DISTFILES:= $(PKG_NAME)-$(PKG_VERSION).tar.gz + +include $(ADK_TOPDIR)/mk/package.mk + +$(eval $(call PKG_template,SKALIBS,skalibs,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION),$(PKG_OPTS))) + +CONFIGURE_ARGS+= --enable-force-devr \ + --disable-allstatic \ + --with-default-path=/sbin:/usr/sbin:/bin:/usr/bin + +skalibs-install: + $(INSTALL_DIR) $(IDIR_SKALIBS)/usr/lib + $(CP) $(WRKINST)/usr/lib/libskarnet.so* \ + $(IDIR_SKALIBS)/usr/lib + +include $(ADK_TOPDIR)/mk/pkg-bottom.mk diff --git a/package/skalibs/patches/patch-configure b/package/skalibs/patches/patch-configure new file mode 100644 index 000000000..bfd291622 --- /dev/null +++ b/package/skalibs/patches/patch-configure @@ -0,0 +1,58 @@ +--- skalibs-2.3.10.0.orig/configure 2016-03-19 16:04:58.000000000 +0100 ++++ skalibs-2.3.10.0/configure 2016-09-03 17:23:41.494368249 +0200 +@@ -154,10 +154,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 +@@ -451,12 +469,20 @@ EOF + fi + + echo "Checking system endianness..." +- $CC_AUTO $CPPFLAGS_AUTO $CFLAGS_AUTO -o tryendianness src/sysdeps/tryendianness.c +- endianness=$(./tryendianness) || fail "$0: unable to determine 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/package/skalibs/src/src/sysdeps/trybigendian.c b/package/skalibs/src/src/sysdeps/trybigendian.c new file mode 100644 index 000000000..f1e3fa537 --- /dev/null +++ b/package/skalibs/src/src/sysdeps/trybigendian.c @@ -0,0 +1,17 @@ +#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/package/skalibs/src/src/sysdeps/trylittleendian.c b/package/skalibs/src/src/sysdeps/trylittleendian.c new file mode 100644 index 000000000..5dfe44e31 --- /dev/null +++ b/package/skalibs/src/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; +} diff --git a/target/config/Config.in.runtime b/target/config/Config.in.runtime index 607c62d68..278cbb4c2 100644 --- a/target/config/Config.in.runtime +++ b/target/config/Config.in.runtime @@ -15,6 +15,12 @@ default ADK_RUNTIME_INIT_SYSV config ADK_RUNTIME_INIT_SYSV bool "Use busybox init" +config ADK_RUNTIME_INIT_S6 + bool "Use s6 init and supervision" + select ADK_PACKAGE_S6 + select ADK_PACKAGE_S6_PORTABLE_UTILS + select ADK_PACKAGE_S6_LINUX_UTILS + config ADK_RUNTIME_INIT_SIMPLEINIT bool "Use a very simple init" select ADK_PACKAGE_SIMPLEINIT |