diff options
author | Waldemar Brodkorb <wbx@uclibc-ng.org> | 2016-11-20 17:42:34 +0100 |
---|---|---|
committer | Waldemar Brodkorb <wbx@openadk.org> | 2016-11-25 01:49:36 +0100 |
commit | b0f23d1e562e753cb78a473fdade956a25cc337b (patch) | |
tree | fe4a5908d1e39e24ec6df66052e866ed72421a79 | |
parent | 49a817b44be5695a87f6b4c8eadef3bb0f9419f9 (diff) |
finalize systemd as alternative init system
Most important is the fix in patch-src_journal_journald-server_c,
which breaks startup of systemd-journald when code is compiled
with -DNDEBUG.
A lot of base-files reorganizing to only install required files
on sysv systems.
40 files changed, 401 insertions, 98 deletions
diff --git a/mk/image.mk b/mk/image.mk index b880e48af..272c21709 100644 --- a/mk/image.mk +++ b/mk/image.mk @@ -72,6 +72,15 @@ image-prepare-post: $(SED) '/^root:/s!:/bin/sh$$!:${ROOTSH}!' ${TARGET_DIR}/etc/passwd -rm -f ${TARGET_DIR}/bin/sh ln -sf ${BINSH} ${TARGET_DIR}/bin/sh + +ifeq ($(ADK_RUNTIME_INIT_SYSTEMD),y) + ln -fs ../usr/${ADK_TARGET_LIBC_PATH}/systemd/systemd $(TARGET_DIR)/sbin/init + ln -fs ../usr/bin/systemctl $(TARGET_DIR)/sbin/halt + ln -fs ../usr/bin/systemctl $(TARGET_DIR)/sbin/poweroff + ln -fs ../usr/bin/systemctl $(TARGET_DIR)/sbin/reboot + ln -fs ../../../lib/systemd/system/multi-user.target \ + $(TARGET_DIR)/etc/systemd/system/default.target +endif test -z $(GIT) || \ $(GIT) log -1|head -1|sed -e 's#commit ##' \ > $(TARGET_DIR)/etc/.adkgithash diff --git a/mk/package.mk b/mk/package.mk index 88c08cba9..efcb18315 100644 --- a/mk/package.mk +++ b/mk/package.mk @@ -244,7 +244,7 @@ endif @rm -f '$${STAGING_PKG_DIR}/$(1)' ifeq (,$(filter nostaging,$(7))) @-cd $${IDIR_$(1)}; \ - x=$$$$(find tmp var -mindepth 1 2>/dev/null); if [[ -n $$$$x ]]; then \ + x=$$$$(find tmp run -mindepth 1 2>/dev/null); if [[ -n $$$$x ]]; then \ echo 'WARNING: $${IPKG_$(1)} installs files into a' \ 'ramdisk location:' >&2; \ echo "$$$$x" | sed 's/^/- /' >&2; \ diff --git a/package/Config.in.options b/package/Config.in.options index a806da895..39e6a0b96 100644 --- a/package/Config.in.options +++ b/package/Config.in.options @@ -47,7 +47,7 @@ config ADK_LEAVE_ETC_ALONE config ADK_INSTALL_PACKAGE_INIT_SCRIPTS bool "ship custom init-scripts along with packages" - default y + default y if !ADK_RUNTIME_INIT_SYSTEMD depends on !ADK_LEAVE_ETC_ALONE help Turning this option to false will prevent the ADK from @@ -59,7 +59,7 @@ config ADK_INSTALL_PACKAGE_INIT_SCRIPTS config ADK_INSTALL_PACKAGE_NETWORK_SCRIPTS bool "ship custom network-scripts along with packages" - default y + default y if !ADK_RUNTIME_INIT_SYSTEMD depends on !ADK_LEAVE_ETC_ALONE help Turning this option to false will prevent the ADK from diff --git a/package/audit/Makefile b/package/audit/Makefile new file mode 100644 index 000000000..8f6eea1a0 --- /dev/null +++ b/package/audit/Makefile @@ -0,0 +1,36 @@ +# 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:= audit +PKG_VERSION:= 2.6.7 +PKG_RELEASE:= 1 +PKG_HASH:= 8923917332daa7833bbc0c1d9eb012167093fbad000da4a9630fb3356aff8cdc +PKG_DESCR:= audit library +PKG_SECTION:= libs/misc +PKG_URL:= http://people.redhat.com/sgrubb/audit +PKG_SITES:= http://people.redhat.com/sgrubb/audit/ +PKG_OPTS:= dev + +DISTFILES:= $(PKG_NAME)-$(PKG_VERSION).tar.gz + +include $(ADK_TOPDIR)/mk/package.mk + +$(eval $(call PKG_template,AUDIT,audit,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION),$(PKG_OPTS))) + +ifeq ($(OS_FOR_BUILD),Darwin) +HOST_CFLAGS+= -I$(STAGING_TARGET_DIR)/usr/include +endif + +CONFIGURE_ARGS+= --without-python \ + --without-python3 \ + --without-libcap-ng \ + --disable-zos-remote + +audit-install: + $(INSTALL_DIR) $(IDIR_AUDIT)/usr/lib + $(CP) $(WRKINST)/usr/lib/libaudit*.so* \ + $(IDIR_AUDIT)/usr/lib + +include $(ADK_TOPDIR)/mk/pkg-bottom.mk diff --git a/package/base-files/Makefile b/package/base-files/Makefile index 4a8b4c5f2..9c9ef9395 100644 --- a/package/base-files/Makefile +++ b/package/base-files/Makefile @@ -6,7 +6,7 @@ include $(ADK_TOPDIR)/mk/rootfs.mk PKG_NAME:= base-files PKG_VERSION:= 1.1 -PKG_RELEASE:= 22 +PKG_RELEASE:= 23 PKG_SECTION:= base/apps PKG_DESCR:= basic files and scripts @@ -23,48 +23,20 @@ INSTALL_STYLE:= manual do-install: $(CP) ./src/* $(IDIR_BASE_FILES) -ifeq ($(ADK_RUNTIME_DEV_MDEV),y) - $(CP) ./files/rcdev.mdev $(IDIR_BASE_FILES)/etc/init.d/rcdev -else ifeq ($(ADK_RUNTIME_DEV_UDEV),y) - $(CP) ./files/rcdev.udev $(IDIR_BASE_FILES)/etc/init.d/rcdev -endif -ifeq (${ADK_TARGET_PACKAGE_IPKG},y) - $(CP) ./files/ipkg.conf $(IDIR_BASE_FILES)/etc/ - $(SED) 's,@ARCH@,$(ADK_TARGET_CPU_ARCH),g' $(IDIR_BASE_FILES)/etc/ipkg.conf - $(SED) 's,@SYSTEM@,$(ADK_TARGET_SYSTEM),g' $(IDIR_BASE_FILES)/etc/ipkg.conf - $(SED) 's,@LIBC@,$(ADK_TARGET_LIBC),g' $(IDIR_BASE_FILES)/etc/ipkg.conf - $(SED) 's,@HOST@,$(ADK_HOST),g' $(IDIR_BASE_FILES)/etc/ipkg.conf - $(SED) 's,@VENDOR@,$(ADK_VENDOR),g' $(IDIR_BASE_FILES)/etc/ipkg.conf - mkdir -p $(IDIR_BASE_FILES)/usr/lib/ipkg/lists -endif -ifeq (${ADK_TARGET_PACKAGE_OPKG},y) - $(CP) ./files/ipkg.conf $(IDIR_BASE_FILES)/etc/ - $(SED) 's,@ARCH@,$(ADK_TARGET_CPU_ARCH),g' $(IDIR_BASE_FILES)/etc/ipkg.conf - $(SED) 's,@SYSTEM@,$(ADK_TARGET_SYSTEM),g' $(IDIR_BASE_FILES)/etc/ipkg.conf - $(SED) 's,@LIBC@,$(ADK_TARGET_LIBC),g' $(IDIR_BASE_FILES)/etc/ipkg.conf - $(SED) 's,@HOST@,$(ADK_HOST),g' $(IDIR_BASE_FILES)/etc/ipkg.conf - $(SED) 's,@VENDOR@,$(ADK_VENDOR),g' $(IDIR_BASE_FILES)/etc/ipkg.conf - mkdir -p $(IDIR_BASE_FILES)/usr/lib/opkg/lists -endif - echo /bin/sh >${IDIR_BASE_FILES}/etc/shells - echo /bin/mksh >>${IDIR_BASE_FILES}/etc/shells -ifneq (${ADK_PACKAGE_ASH},) - echo /bin/ash >>${IDIR_BASE_FILES}/etc/shells -endif -ifneq (${ADK_PACKAGE_HUSH},) - echo /bin/hush >>${IDIR_BASE_FILES}/etc/shells -endif -ifneq (${ADK_PACKAGE_BASH},) - echo /bin/bash >>${IDIR_BASE_FILES}/etc/shells -endif -ifneq (${ADK_PACKAGE_ZSH},) - echo /bin/zsh >>${IDIR_BASE_FILES}/etc/shells -endif - mkdir -p $(IDIR_BASE_FILES)/etc/crontabs - mkdir -p $(IDIR_BASE_FILES)/{dev,boot,root,sys,proc,tmp,mnt,media} - mkdir -p $(IDIR_BASE_FILES)/etc/network/{if-pre-up.d,if-up.d,if-down.d,if-post-down.d} - mkdir -p $(IDIR_BASE_FILES)/usr/{lib,bin} + mkdir -p $(IDIR_BASE_FILES)/{etc,dev,boot,root,sys,proc,tmp,run,mnt,media} + mkdir -p $(IDIR_BASE_FILES)/usr/{lib,bin,sbin} + mkdir -p $(IDIR_BASE_FILES)/var/{log,lib} + ln -sf ../run $(IDIR_BASE_FILES)/var/run chmod 600 $(IDIR_BASE_FILES)/etc/shadow + chmod 1777 ${IDIR_BASE_FILES}/tmp +ifeq ($(ADK_RUNTIME_INIT_SYSTEMD),) + mkdir -p $(IDIR_BASE_FILES)/etc/init.d + cp ./files/init.d/* $(IDIR_BASE_FILES)/etc/init.d + mkdir -p $(IDIR_BASE_FILES)/etc/network/{if-pre-up.d,if-up.d,if-down.d,if-post-down.d} + ln -sf ../tmp $(IDIR_BASE_FILES)/var/tmp + echo $(ADK_RUNTIME_TMPFS_SIZE) > $(IDIR_BASE_FILES)/etc/tmpfs + cp ./files/fstab $(IDIR_BASE_FILES)/etc + ln -sf ../proc/mounts $(IDIR_BASE_FILES)/etc/mtab ifeq ($(ADK_TARGET_WITH_NETDEVICE),y) cp ./files/interfaces-dhcp $(IDIR_BASE_FILES)/etc/network/interfaces cp ./files/rc.netinfo $(IDIR_BASE_FILES)/etc/ @@ -78,12 +50,17 @@ ifeq (${ADK_TARGET_ROOTFS_NFSROOT},y) else (cd $(IDIR_BASE_FILES)/etc; ln -sf ../tmp/resolv.conf .) endif - chmod 1777 ${IDIR_BASE_FILES}/tmp - ln -sf ../proc/mounts $(IDIR_BASE_FILES)/etc/mtab - rm -rf $(IDIR_BASE_FILES)/var - ln -sf tmp $(IDIR_BASE_FILES)/var - ln -sf var/run $(IDIR_BASE_FILES)/run +endif +ifeq ($(ADK_RUNTIME_DEV_MDEV),y) + $(CP) ./files/rcdev.mdev $(IDIR_BASE_FILES)/etc/init.d/rcdev + $(CP) ./files/mdev.conf $(IDIR_BASE_FILES)/etc + $(CP) ./files/mdev $(IDIR_BASE_FILES)/etc +endif +ifeq ($(ADK_RUNTIME_DEV_UDEV),y) + $(CP) ./files/rcdev.udev $(IDIR_BASE_FILES)/etc/init.d/rcdev +endif ifeq ($(ADK_RUNTIME_INIT_SYSV),y) + cp ./files/inittab.sysv $(IDIR_BASE_FILES)/etc/inittab test -z $(ADK_RUNTIME_SHELL) || \ cat ./files/inittab.shell >> $(IDIR_BASE_FILES)/etc/inittab ifeq ($(ADK_TARGET_WITH_VGA),y) @@ -98,7 +75,7 @@ endif $(SED) 's#@SPEED@#$(ADK_RUNTIME_CONSOLE_SERIAL_SPEED)#' $(IDIR_BASE_FILES)/etc/inittab endif ifeq ($(ADK_RUNTIME_INIT_SYSVINIT),y) - cp ./files/inittab.sysv $(IDIR_BASE_FILES)/etc/inittab + cp ./files/inittab.sysvinit $(IDIR_BASE_FILES)/etc/inittab endif test -z $(ADK_RUNTIME_HOSTNAME) || \ echo $(ADK_RUNTIME_HOSTNAME) > $(IDIR_BASE_FILES)/etc/hostname; \ @@ -113,7 +90,20 @@ endif test -z '$(ADK_RUNTIME_PASSWORD)' || \ $(SED) 's,\*NP\*,'"$$(awk -F\= '/^ADK_RUNTIME_PASSWORD/ { print $$2 }' $(ADK_TOPDIR)/.config|sed -e 's^\"^^g'),g" \ $(IDIR_BASE_FILES)/etc/shadow - echo $(ADK_RUNTIME_TMPFS_SIZE) > $(IDIR_BASE_FILES)/etc/tmpfs + echo /bin/sh >${IDIR_BASE_FILES}/etc/shells + echo /bin/mksh >>${IDIR_BASE_FILES}/etc/shells +ifneq (${ADK_PACKAGE_ASH},) + echo /bin/ash >>${IDIR_BASE_FILES}/etc/shells +endif +ifneq (${ADK_PACKAGE_HUSH},) + echo /bin/hush >>${IDIR_BASE_FILES}/etc/shells +endif +ifneq (${ADK_PACKAGE_BASH},) + echo /bin/bash >>${IDIR_BASE_FILES}/etc/shells +endif +ifneq (${ADK_PACKAGE_ZSH},) + echo /bin/zsh >>${IDIR_BASE_FILES}/etc/shells +endif ifeq ($(ADK_PACKAGE_MKSH),y) $(CP) ./files/profile $(IDIR_BASE_FILES)/etc/profile ifeq ($(ADK_TARGET_WITH_ROOT_RW),y) @@ -125,6 +115,24 @@ ifeq ($(ADK_TARGET_BOARD_BCM28XX),y) echo 'export LD_LIBRARY_PATH=/opt/vc/lib' >> $(IDIR_BASE_FILES)/etc/profile endif endif +ifeq (${ADK_TARGET_PACKAGE_IPKG},y) + $(CP) ./files/ipkg.conf $(IDIR_BASE_FILES)/etc/ + $(SED) 's,@ARCH@,$(ADK_TARGET_CPU_ARCH),g' $(IDIR_BASE_FILES)/etc/ipkg.conf + $(SED) 's,@SYSTEM@,$(ADK_TARGET_SYSTEM),g' $(IDIR_BASE_FILES)/etc/ipkg.conf + $(SED) 's,@LIBC@,$(ADK_TARGET_LIBC),g' $(IDIR_BASE_FILES)/etc/ipkg.conf + $(SED) 's,@HOST@,$(ADK_HOST),g' $(IDIR_BASE_FILES)/etc/ipkg.conf + $(SED) 's,@VENDOR@,$(ADK_VENDOR),g' $(IDIR_BASE_FILES)/etc/ipkg.conf + mkdir -p $(IDIR_BASE_FILES)/usr/lib/ipkg/lists +endif +ifeq (${ADK_TARGET_PACKAGE_OPKG},y) + $(CP) ./files/ipkg.conf $(IDIR_BASE_FILES)/etc/ + $(SED) 's,@ARCH@,$(ADK_TARGET_CPU_ARCH),g' $(IDIR_BASE_FILES)/etc/ipkg.conf + $(SED) 's,@SYSTEM@,$(ADK_TARGET_SYSTEM),g' $(IDIR_BASE_FILES)/etc/ipkg.conf + $(SED) 's,@LIBC@,$(ADK_TARGET_LIBC),g' $(IDIR_BASE_FILES)/etc/ipkg.conf + $(SED) 's,@HOST@,$(ADK_HOST),g' $(IDIR_BASE_FILES)/etc/ipkg.conf + $(SED) 's,@VENDOR@,$(ADK_VENDOR),g' $(IDIR_BASE_FILES)/etc/ipkg.conf + mkdir -p $(IDIR_BASE_FILES)/usr/lib/opkg/lists +endif # simple network configuration ifneq (${ADK_SIMPLE_NETWORK_CONFIG},) diff --git a/package/base-files/src/etc/fstab b/package/base-files/files/fstab index 16fc0357b..06f19d9b6 100644 --- a/package/base-files/src/etc/fstab +++ b/package/base-files/files/fstab @@ -4,6 +4,7 @@ proc /proc proc defaults 0 0 devpts /dev/pts devpts defaults,gid=5,mode=620 0 0 tmpfs /dev/shm tmpfs mode=0777 0 0 tmpfs /tmp tmpfs mode=1777 0 0 +tmpfs /run tmpfs mode=777 0 0 sysfs /sys sysfs defaults 0 0 tmpfs /media tmpfs defaults 0 0 # example for cifs diff --git a/package/base-files/src/etc/init.d/cifs b/package/base-files/files/init.d/cifs index b3ca9c649..b3ca9c649 100644 --- a/package/base-files/src/etc/init.d/cifs +++ b/package/base-files/files/init.d/cifs diff --git a/package/base-files/src/etc/init.d/done b/package/base-files/files/init.d/done index 04950fdc2..04950fdc2 100755 --- a/package/base-files/src/etc/init.d/done +++ b/package/base-files/files/init.d/done diff --git a/package/base-files/src/etc/init.d/fs b/package/base-files/files/init.d/fs index 55e2c3449..55e2c3449 100755 --- a/package/base-files/src/etc/init.d/fs +++ b/package/base-files/files/init.d/fs diff --git a/package/base-files/src/etc/init.d/kmod b/package/base-files/files/init.d/kmod index 509496a9e..509496a9e 100755 --- a/package/base-files/src/etc/init.d/kmod +++ b/package/base-files/files/init.d/kmod diff --git a/package/base-files/src/etc/init.d/nfs b/package/base-files/files/init.d/nfs index 4c3f9ba83..4c3f9ba83 100644 --- a/package/base-files/src/etc/init.d/nfs +++ b/package/base-files/files/init.d/nfs diff --git a/package/base-files/src/etc/init.d/rcK b/package/base-files/files/init.d/rcK index 8bff46cc6..8bff46cc6 100755 --- a/package/base-files/src/etc/init.d/rcK +++ b/package/base-files/files/init.d/rcK diff --git a/package/base-files/src/etc/init.d/rcS b/package/base-files/files/init.d/rcS index bc27ed29c..bc27ed29c 100755 --- a/package/base-files/src/etc/init.d/rcS +++ b/package/base-files/files/init.d/rcS diff --git a/package/base-files/files/inittab.sysv b/package/base-files/files/inittab.sysv index edfe9dc94..f1fd8b126 100644 --- a/package/base-files/files/inittab.sysv +++ b/package/base-files/files/inittab.sysv @@ -1,4 +1,10 @@ -id:2:initdefault: -si::sysinit:/etc/init.d/rcS -1:234:respawn:/sbin/agetty 115200 tty1 -AMA0:3:respawn:/sbin/agetty -L 9600 ttyAMA0 vt320 +null::sysinit:/bin/mount -t proc proc /proc +null::sysinit:/bin/mount -t sysfs sys /sys +null::sysinit:/bin/mkdir -p /dev/pts +null::sysinit:/bin/mkdir -p /dev/shm +null::sysinit:/bin/mount -a -t devpts +null::sysinit:/bin/mount -a -t tmpfs +::sysinit:/etc/init.d/rcS +::shutdown:/etc/init.d/rcK +null::shutdown:/bin/umount -a +null::shutdown:/sbin/swapoff -a diff --git a/package/base-files/files/inittab.sysvinit b/package/base-files/files/inittab.sysvinit new file mode 100644 index 000000000..edfe9dc94 --- /dev/null +++ b/package/base-files/files/inittab.sysvinit @@ -0,0 +1,4 @@ +id:2:initdefault: +si::sysinit:/etc/init.d/rcS +1:234:respawn:/sbin/agetty 115200 tty1 +AMA0:3:respawn:/sbin/agetty -L 9600 ttyAMA0 vt320 diff --git a/package/base-files/src/etc/mdev.conf b/package/base-files/files/mdev.conf index 179222221..179222221 100644 --- a/package/base-files/src/etc/mdev.conf +++ b/package/base-files/files/mdev.conf diff --git a/package/base-files/src/etc/mdev/fs b/package/base-files/files/mdev/fs index 86c4cee2f..86c4cee2f 100755 --- a/package/base-files/src/etc/mdev/fs +++ b/package/base-files/files/mdev/fs diff --git a/package/base-files/src/etc/inittab b/package/base-files/src/etc/inittab deleted file mode 100644 index f1fd8b126..000000000 --- a/package/base-files/src/etc/inittab +++ /dev/null @@ -1,10 +0,0 @@ -null::sysinit:/bin/mount -t proc proc /proc -null::sysinit:/bin/mount -t sysfs sys /sys -null::sysinit:/bin/mkdir -p /dev/pts -null::sysinit:/bin/mkdir -p /dev/shm -null::sysinit:/bin/mount -a -t devpts -null::sysinit:/bin/mount -a -t tmpfs -::sysinit:/etc/init.d/rcS -::shutdown:/etc/init.d/rcK -null::shutdown:/bin/umount -a -null::shutdown:/sbin/swapoff -a diff --git a/package/busybox/Makefile b/package/busybox/Makefile index 76e575848..1b74786d4 100644 --- a/package/busybox/Makefile +++ b/package/busybox/Makefile @@ -64,6 +64,7 @@ do-build: do-install: PATH='$(HOST_PATH)' $(MAKE) ${BB_MAKE_FLAGS} -C ${WRKBUILD} install $(MAKE_TRACE) $(CP) $(WRKINST)/* $(IDIR_BUSYBOX)/ +ifeq ($(ADK_RUNTIME_INIT_SYSTEMD),) ifeq ($(BUSYBOX_IFUPDOWN),y) $(INSTALL_DIR) $(IDIR_BUSYBOX)/etc/init.d ifeq ($(ADK_RUNTIME_WAIT_FOR_ETHERNET),y) @@ -72,6 +73,7 @@ else $(INSTALL_BIN) ./files/network $(IDIR_BUSYBOX)/etc/init.d/network endif endif +endif ifeq ($(ADK_DEBUG),y) ${INSTALL_BIN} $(WRKBUILD)/busybox_unstripped \ $(IDIR_BUSYBOX)/bin/busybox diff --git a/package/dbus/Makefile b/package/dbus/Makefile index 7b17fff5a..d0c5a4ee9 100644 --- a/package/dbus/Makefile +++ b/package/dbus/Makefile @@ -4,9 +4,9 @@ include ${ADK_TOPDIR}/rules.mk PKG_NAME:= dbus -PKG_VERSION:= 1.10.8 +PKG_VERSION:= 1.10.12 PKG_RELEASE:= 1 -PKG_HASH:= baf3d22baa26d3bdd9edc587736cd5562196ce67996d65b82103bedbe1f0c014 +PKG_HASH:= 210a79430b276eafc6406c71705e9140d25b9956d18068df98a70156dc0e475d PKG_DESCR:= desktop bus daemon PKG_SECTION:= sys/misc PKG_DEPENDS:= libdbus libexpat @@ -24,23 +24,38 @@ PKGSD_LIBDBUS:= DBUS library PKGSC_LIBDBUS:= libs/misc PKGSS_LIBDBUS:= libexpat libuuid +PKG_FLAVOURS_DBUS:= WITH_SYSTEMD +PKGFD_WITH_SYSTEMD:= enable systemd support +PKGFB_WITH_SYSTEMD:= systemd + include ${ADK_TOPDIR}/mk/package.mk $(eval $(call PKG_template,DBUS,dbus,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION})) $(eval $(call PKG_template,LIBDBUS,libdbus,${PKG_VERSION}-${PKG_RELEASE},${PKGSS_LIBDBUS},${PKGSD_LIBDBUS},${PKGSC_LIBDBUS},${PKG_OPTS})) TARGET_LDFLAGS+= -luuid + +AUTOTOOL_STYLE:= autoreconf +ifeq ($(ADK_PACKAGE_DBUS_WITH_SYSTEMD),y) +CONFIGURE_ARGS+= --enable-systemd --with-systemdsystemunitdir=/usr/lib/systemd/system +TARGET_LDFLAGS+= -lsystemd +else +CONFIGURE_ARGS+= --disable-systemd +endif + CONFIGURE_ARGS+= --disable-tests \ - --disable-abstract-sockets \ - --enable-checks \ + --disable-asserts \ + --enable-abstract-sockets \ + --with-dbus-user=dbus \ + --with-system-socket=/run/dbus/system_bus_socket \ + --with-system-pid-file=/run/dbus/dbus.pid \ --disable-verbose-mode \ - --with-session-socket-dir=/var/tmp \ --disable-kqueue \ - --disable-systemd \ + --disable-selinux \ + --disable-libaudit \ + --disable-doxygen-docs \ --disable-xml-docs \ - --without-x \ - --disable-doxygen-docs -CONFIGURE_ENV+= ac_cv_have_abstract_sockets=no + --without-x pre-install: ${INSTALL_DIR} $(STAGING_TARGET_DIR)/usr/include/dbus-1.0/dbus @@ -54,15 +69,17 @@ libdbus-install: dbus-install: ${INSTALL_DIR} ${IDIR_DBUS}/etc ${IDIR_DBUS}/usr/share \ ${IDIR_DBUS}/usr/bin ${IDIR_DBUS}/usr/libexec + ${INSTALL_DIR} ${IDIR_DBUS}/var/lib/dbus ${IDIR_DBUS}/run/dbus + (cd ${IDIR_DBUS}/var/lib/dbus; ln -sf ../../../etc/machine-id .) ${INSTALL_BIN} ${WRKINST}/usr/libexec/dbus-daemon-launch-helper \ ${IDIR_DBUS}/usr/libexec/ ${CP} ${WRKINST}/etc/dbus-1 ${IDIR_DBUS}/etc ${CP} ${WRKINST}/usr/share/dbus-1 ${IDIR_DBUS}/usr/share - ${INSTALL_BIN} ${WRKINST}/usr/bin/dbus-daemon ${IDIR_DBUS}/usr/bin - ${INSTALL_BIN} ${WRKINST}/usr/bin/dbus-launch ${IDIR_DBUS}/usr/bin - ${INSTALL_BIN} ${WRKINST}/usr/bin/dbus-uuidgen ${IDIR_DBUS}/usr/bin - ${INSTALL_BIN} ${WRKINST}/usr/bin/dbus-send ${IDIR_DBUS}/usr/bin - ${INSTALL_BIN} ${WRKINST}/usr/bin/dbus-monitor ${IDIR_DBUS}/usr/bin + ${CP} ${WRKINST}/usr/bin/dbus-* ${IDIR_DBUS}/usr/bin +ifeq ($(ADK_PACKAGE_DBUS_WITH_SYSTEMD),y) + ${INSTALL_DIR} ${IDIR_DBUS}/usr/lib/systemd + ${CP} ${WRKINST}/usr/lib/systemd/* ${IDIR_DBUS}/usr/lib/systemd +endif # workaround for dev subpackage ${INSTALL_DIR} $(IDIR_DBUS_DEV)/usr/include/dbus-1.0/dbus $(CP) $(WRKBUILD)/dbus/dbus-arch-deps.h \ diff --git a/package/dbus/files/dbus.postinst b/package/dbus/files/dbus.postinst index e92450597..0f3f9c6ae 100644 --- a/package/dbus/files/dbus.postinst +++ b/package/dbus/files/dbus.postinst @@ -1,12 +1,10 @@ #!/bin/sh . $IPKG_INSTROOT/etc/functions.sh gid=$(get_next_gid) -add_group messagebus $gid -add_user messagebus $(get_next_uid) $gid /var/run/dbus +add_group dbus $gid +add_user dbus $(get_next_uid) $gid /var/run/dbus add_rcconf dbus NO -echo Generating UUID if [ -z $IPKG_INSTROOT ];then - mkdir /lib/dbus /var/lib - ln -sf /lib/dbus /var/lib/dbus - dbus-uuidgen --ensure + echo Generating UUID + dbus-uuidgen --ensure fi diff --git a/package/dbus/patches/patch-configure_ac b/package/dbus/patches/patch-configure_ac new file mode 100644 index 000000000..cd50a7b14 --- /dev/null +++ b/package/dbus/patches/patch-configure_ac @@ -0,0 +1,26 @@ +--- dbus-1.10.8.orig/configure.ac 2016-03-07 17:06:22.000000000 +0100 ++++ dbus-1.10.8/configure.ac 2016-11-21 11:25:39.000000000 +0100 +@@ -1186,23 +1186,9 @@ dnl systemd detection + if test x$enable_systemd = xno ; then + have_systemd=no; + else +- PKG_CHECK_MODULES([SYSTEMD], +- [libsystemd >= 209], +- [have_systemd=yes], +- [PKG_CHECK_MODULES([SYSTEMD], +- [libsystemd-login >= 32, libsystemd-daemon >= 32, libsystemd-journal >= 32], +- [have_systemd=yes], +- [have_systemd=no])]) +-fi +- +-if test x$have_systemd = xyes; then + AC_DEFINE(HAVE_SYSTEMD,1,[Have systemd]) + fi + +-if test x$enable_systemd = xyes -a x$have_systemd != xyes ; then +- AC_MSG_ERROR([Explicitly requested systemd support, but systemd not found]) +-fi +- + # If not found in $PATH, we might still have systemd and systemctl at runtime + # (perhaps dbus is being compiled in a minimal chroot with no systemd). + # Assume the upstream-recommended location. Distributors with split /usr diff --git a/package/expat/Makefile b/package/expat/Makefile index e00f4559a..bafe5a47a 100644 --- a/package/expat/Makefile +++ b/package/expat/Makefile @@ -9,6 +9,7 @@ PKG_RELEASE:= 1 PKG_HASH:= d9e50ff2d19b3538bd2127902a89987474e1a4db8e43a66a4d1a712ab9a504ff PKG_DESCR:= xml parsing library PKG_SECTION:= libs/data +PKG_NEEDS:= c++ PKG_URL:= http://expat.sourceforge.net PKG_SITES:= ${MASTER_SITE_SOURCEFORGE:=expat/} PKG_LIBNAME:= libexpat diff --git a/package/libcap/Makefile b/package/libcap/Makefile index 53587d7f1..294cd2bd8 100644 --- a/package/libcap/Makefile +++ b/package/libcap/Makefile @@ -19,10 +19,11 @@ include $(ADK_TOPDIR)/mk/package.mk $(eval $(call HOST_template,LIBCAP,libcap,$(PKG_VERSION)-$(PKG_RELEASE))) $(eval $(call PKG_template,LIBCAP,libcap,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION),$(PKG_OPTS))) -HOST_STYLE:= manual +ifeq ($(OS_FOR_BUILD),Darwin) +HOST_CFLAGS+= -I$(STAGING_TARGET_DIR)/usr/include +endif -# for Darwin hosts -CPPFLAGS_FOR_BUILD+= -I$(STAGING_TARGET_DIR)/usr/include +HOST_STYLE:= manual CONFIG_STYLE:= manual host-build: diff --git a/package/libcap/patches/patch-Make_Rules b/package/libcap/patches/patch-Make_Rules index 4c909e150..fa587e654 100644 --- a/package/libcap/patches/patch-Make_Rules +++ b/package/libcap/patches/patch-Make_Rules @@ -1,5 +1,5 @@ --- libcap-2.25.orig/Make.Rules 2016-01-31 02:14:53.000000000 +0100 -+++ libcap-2.25/Make.Rules 2016-09-26 20:46:02.214228217 +0200 ++++ libcap-2.25/Make.Rules 2016-11-21 12:54:45.000000000 +0100 @@ -13,21 +13,14 @@ FAKEROOT=$(DESTDIR) # administrative operations that could be needed to recover a system. @@ -39,3 +39,12 @@ AR := ar RANLIB := ranlib DEBUG = -g #-DDEBUG +@@ -68,7 +61,7 @@ INCS=$(topdir)/libcap/include/sys/capabi + LDFLAGS += -L$(topdir)/libcap + CFLAGS += -Dlinux $(WARNINGS) $(DEBUG) + PAM_CAP := $(shell if [ -f /usr/include/security/pam_modules.h ]; then echo yes ; else echo no ; fi) +-INDENT := $(shell if [ -n "$$(which indent 2>/dev/null)" ]; then echo "| indent -kr" ; fi) ++#INDENT := $(shell if [ -n "$$(which indent 2>/dev/null)" ]; then echo "| indent -kr" ; fi) + DYNAMIC := $(shell if [ ! -d "$(topdir)/.git" ]; then echo yes; fi) + + # When installing setcap, set its inheritable bit to be able to place diff --git a/package/strace/Makefile b/package/strace/Makefile index eebf68bde..313a3b980 100644 --- a/package/strace/Makefile +++ b/package/strace/Makefile @@ -19,7 +19,11 @@ $(eval $(call PKG_template,STRACE,strace,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEP # fails for x86_64 XAKE_FLAGS+= GCC_HONOUR_COPTS=s +ifeq ($(OS_FOR_BUILD),Darwin) +XAKE_FLAGS+= CPPFLAGS_FOR_BUILD="-I$(STAGING_TARGET_DIR)/usr/include -I$(LINUX_DIR)/include/uapi -I$(LINUX_DIR)/arch/$(ADK_TARGET_ARCH)/include/generated" +else XAKE_FLAGS+= CPPFLAGS_FOR_BUILD="-I$(LINUX_DIR)/include/uapi -I$(LINUX_DIR)/arch/$(ADK_TARGET_ARCH)/include/generated" +endif ifeq ($(ADK_TARGET_LIB_MUSL),y) TARGET_CPPFLAGS+= -DMSG_EXCEPT=020000 -D_LARGEFILE64_SOURCE=1 diff --git a/package/systemd/Makefile b/package/systemd/Makefile index 5bb456221..458ba5e88 100644 --- a/package/systemd/Makefile +++ b/package/systemd/Makefile @@ -9,11 +9,14 @@ PKG_RELEASE:= 1 PKG_HASH:= 1172c7c7d5d72fbded53186e7599d5272231f04cc8b72f9a0fb2c5c20dfc4880 PKG_DESCR:= system and service manager PKG_SECTION:= base/apps -PKG_DEPENDS:= libcap libmount -PKG_BUILDDEP:= intltool-host gperf-host libcap util-linux gettext-host +PKG_DEPENDS:= libcap libmount libuuid libblkid libncurses kmod +PKG_BUILDDEP:= intltool-host gperf-host libcap util-linux gettext-host kmod +PKG_KDEPENDS:= cgroups namespaces fhandle tmpfs-posix-acl tmpfs-xattr PKG_URL:= https://wiki.freedesktop.org/www/Software/systemd/ PKG_SITES:= https://github.com/systemd/systemd/archive/ +PKG_CFLINE_SYSTEMD:= select BUSYBOX_SULOGIN + PKG_LIBC_DEPENDS:= glibc DISTFILES:= v$(PKG_VERSION).tar.gz @@ -22,13 +25,17 @@ include $(ADK_TOPDIR)/mk/package.mk $(eval $(call PKG_template,SYSTEMD,systemd,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION))) +XAKE_FLAGS+= V=1 + AUTOTOOL_STYLE:= autogen +CONFIGURE_ENV+= ac_cv_path_SULOGIN=/sbin/sulogin \ + ac_cv_path_MOUNT_PATH=/bin/mount CONFIGURE_ARGS+= --disable-static \ --disable-manpages \ --disable-selinux \ + --enable-split-usr \ |