From b0f23d1e562e753cb78a473fdade956a25cc337b Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Sun, 20 Nov 2016 17:42:34 +0100 Subject: 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. --- package/base-files/Makefile | 106 ++++++++++++++++++++++++-------------------- 1 file changed, 57 insertions(+), 49 deletions(-) (limited to 'package/base-files/Makefile') 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},) -- cgit v1.2.3