Skip to contentSkip to conversation

initscripts: new package

PATCH New Maxime Hadjinlian 2 participants 3 messages Oct 13, 2014

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 initscripts: new package

The folder init.d is currently installed by default since it's part of our skeleton.
This patch creates a package out of it and make busybox/sysvinit depends on it.

This way, if you chose another init, you don't end up with a useless init.d folder.

---
v1 -> v2:
- Redo the patch using git format-patch -M

---
 package/busybox/busybox.mk                         |  6 +++++
 .../inittab => package/initscripts/busybox_inittab |  0
 .../etc => package/initscripts}/init.d/S20urandom  |  0
 .../etc => package/initscripts}/init.d/S40network  |  0
 .../etc => package/initscripts}/init.d/rcK         |  0
 .../etc => package/initscripts}/init.d/rcS         |  0
 package/initscripts/initscripts.mk                 | 28 ++++++++++++++++++++++
 .../inittab => initscripts/sysvinit_inittab}       |  0
 package/sysvinit/sysvinit.mk                       | 11 +++++++--
 9 files changed, 43 insertions(+), 2 deletions(-)
 rename system/skeleton/etc/inittab => package/initscripts/busybox_inittab (100%)
 rename {system/skeleton/etc => package/initscripts}/init.d/S20urandom (100%)
 rename {system/skeleton/etc => package/initscripts}/init.d/S40network (100%)
 rename {system/skeleton/etc => package/initscripts}/init.d/rcK (100%)
 rename {system/skeleton/etc => package/initscripts}/init.d/rcS (100%)
 create mode 100644 package/initscripts/initscripts.mk
 rename package/{sysvinit/inittab => initscripts/sysvinit_inittab} (100%)
package/busybox/busybox.mk +6 -0
index 73a99fb..2bfd55c 100644
@@ -16,6 +16,10 @@ BUSYBOX_CFLAGS = \
 BUSYBOX_LDFLAGS = \
 	$(TARGET_LDFLAGS)
 
+# initscripts contains/install only inittab and the init.d folder with base
+# scripts.
+BUSYBOX_DEPENDENCIES = initscripts
+
 # Link against libtirpc if available so that we can leverage its RPC
 # support for NFS mounting with BusyBox
 ifeq ($(BR2_PACKAGE_LIBTIRPC),y)
@@ -220,8 +224,10 @@ define BUSYBOX_INSTALL_TARGET_CMDS
 	fi
 	$(BUSYBOX_INSTALL_MDEV_SCRIPT)
 	$(BUSYBOX_INSTALL_MDEV_CONF)
+ifeq ($(BR2_INIT_BUSYBOX),y)
 	$(BUSYBOX_INSTALL_LOGGING_SCRIPT)
 	$(BUSYBOX_INSTALL_WATCHDOG_SCRIPT)
+endif
 endef
 
 $(eval $(kconfig-package))
package/initscripts/busybox_inittab renamed from system/skeleton/etc/inittab +0 -0
similarity index 100%
rename from system/skeleton/etc/inittab
rename to package/initscripts/busybox_inittab
package/initscripts/init.d/S20urandom renamed from system/skeleton/etc/init.d/S20urandom +0 -0
similarity index 100%
rename from system/skeleton/etc/init.d/S20urandom
rename to package/initscripts/init.d/S20urandom
package/initscripts/init.d/S40network renamed from system/skeleton/etc/init.d/S40network +0 -0
similarity index 100%
rename from system/skeleton/etc/init.d/S40network
rename to package/initscripts/init.d/S40network
package/initscripts/init.d/rcK renamed from system/skeleton/etc/init.d/rcK +0 -0
similarity index 100%
rename from system/skeleton/etc/init.d/rcK
rename to package/initscripts/init.d/rcK
package/initscripts/init.d/rcS renamed from system/skeleton/etc/init.d/rcS +0 -0
similarity index 100%
rename from system/skeleton/etc/init.d/rcS
rename to package/initscripts/init.d/rcS
package/initscripts/initscripts.mk new file +28 -0
new file mode 100644
index 0000000..13affe8
@@ -0,0 +1,28 @@
+################################################################################
+#
+# initscripts
+#
+################################################################################
+
+# source included in buildroot
+INITSCRIPTS_SOURCE =
+
+# Note: We need to override Busybox's inittab with an inittab compatible with
+# sysvinit if we want SYSVINIT as our init.
+ifeq ($(BR2_PACKAGE_SYSVINIT),y)
+define INITSCRIPTS_INSTALL_INITTAB
+	$(INSTALL) -D -m 0644 package/initscripts/sysvinit_inittab $(TARGET_DIR)/etc/inittab
+endef
+else
+define INITSCRIPTS_INSTALL_INITTAB
+	$(INSTALL) -D -m 0644 package/initscripts/busybox_inittab $(TARGET_DIR)/etc/inittab
+endef
+endif
+
+define INITSCRIPTS_INSTALL_TARGET_CMDS
+	mkdir -p  $(TARGET_DIR)/etc/init.d
+	$(INSTALL) -D -m 0755 package/initscripts/init.d/* $(TARGET_DIR)/etc/init.d/
+	$(INITSCRIPTS_INSTALL_INITTAB)
+endef
+
+$(eval $(generic-package))
package/initscripts/sysvinit_inittab renamed from package/sysvinit/inittab +0 -0
similarity index 100%
rename from package/sysvinit/inittab
rename to package/initscripts/sysvinit_inittab
package/sysvinit/sysvinit.mk +9 -2
index d588122..d515882 100644
@@ -11,9 +11,13 @@ SYSVINIT_SITE = $(BR2_DEBIAN_MIRROR)/debian/pool/main/s/sysvinit
 SYSVINIT_LICENSE = GPLv2+
 SYSVINIT_LICENSE_FILES = COPYING
 
-# Override BusyBox implementations if BusyBox is enabled.
+# initscripts contains/install only inittab and the init.d folder with base
+# scripts.
+SYSVINIT_DEPENDENCIES = initscripts
+
+# Override Busybox implementations if Busybox is enabled.
 ifeq ($(BR2_PACKAGE_BUSYBOX),y)
-SYSVINIT_DEPENDENCIES = busybox
+SYSVINIT_DEPENDENCIES += busybox
 endif
 
 define SYSVINIT_DEBIAN_PATCHES
@@ -34,9 +38,12 @@ define SYSVINIT_INSTALL_TARGET_CMDS
 	for x in halt init shutdown killall5; do \
 		$(INSTALL) -D -m 0755 $(@D)/src/$$x $(TARGET_DIR)/sbin/$$x || exit 1; \
 	done
+<<<<<<< HEAD
 	# Override BusyBox's inittab with an inittab compatible with
 	# sysvinit
 	$(INSTALL) -D -m 0644 package/sysvinit/inittab $(TARGET_DIR)/etc/inittab
+=======
+>>>>>>> initscripts: new package
 	ln -sf /sbin/halt $(TARGET_DIR)/sbin/reboot
 	ln -sf /sbin/halt $(TARGET_DIR)/sbin/poweroff
 	ln -sf killall5 $(TARGET_DIR)/sbin/pidof
Signature · 1 line
2.1.1
#1 lore raw

PATCH 1/1 initscripts: new package

Hi Maxime,

package/sysvinit/sysvinit.mk define SYSVINIT_INSTALL_TARGET_CMDS · line 49

Quoted 13 lines · Maxime Hadjinlian
package/sysvinit/sysvinit.mk +3 -0
@@ -34,9 +38,12 @@ define SYSVINIT_INSTALL_TARGET_CMDS
 	for x in halt init shutdown killall5; do \
 		$(INSTALL) -D -m 0755 $(@D)/src/$$x $(TARGET_DIR)/sbin/$$x || exit 1; \
 	done
+<<<<<<< HEAD
 	# Override BusyBox's inittab with an inittab compatible with
 	# sysvinit
 	$(INSTALL) -D -m 0644 package/sysvinit/inittab $(TARGET_DIR)/etc/inittab
+=======
+>>>>>>> initscripts: new package
 	ln -sf /sbin/halt $(TARGET_DIR)/sbin/reboot
 	ln -sf /sbin/halt $(TARGET_DIR)/sbin/poweroff
 	ln -sf killall5 $(TARGET_DIR)/sbin/pidof

Something went wrong here.

baruch

Signature · 3 lines
     http://baruch.siach.name/blog/                  ~. .~   Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
   - baruch at tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -
#2 lore raw

PATCH 1/1 initscripts: new package

Quoted 7 lines · Baruch Siach

Hi Maxime,

Review define SYSVINIT_INSTALL_TARGET_CMDS · line 39

Quoted 3 lines · Maxime Hadjinlian
(quoted diff) +0 -0
@@ -34,9 +38,12 @@ define SYSVINIT_INSTALL_TARGET_CMDS
      for x in halt init shutdown killall5; do \
              $(INSTALL) -D -m 0755 $(@D)/src/$$x

$(TARGET_DIR)/sbin/$$x || exit 1; \

Quoted 5 lines

package/sysvinit/sysvinit.mk define SYSVINIT_INSTALL_TARGET_CMDS

Quoted 5 lines
package/sysvinit/sysvinit.mk +1 -0
      done
+<<<<<<< HEAD
      # Override BusyBox's inittab with an inittab compatible with
      # sysvinit
      $(INSTALL) -D -m 0644 package/sysvinit/inittab

$(TARGET_DIR)/etc/inittab

Quoted 7 lines

package/sysvinit/sysvinit.mk define SYSVINIT_INSTALL_TARGET_CMDS · line 49

Quoted 5 lines
package/sysvinit/sysvinit.mk +2 -0
+=======
+>>>>>>> initscripts: new package
      ln -sf /sbin/halt $(TARGET_DIR)/sbin/reboot
      ln -sf /sbin/halt $(TARGET_DIR)/sbin/poweroff
      ln -sf killall5 $(TARGET_DIR)/sbin/pidof

Something went wrong here.

Oops ! Rebasing done wrong. Thanks ! I'll respin that.

Quoted 5 lines

baruch

--
http://baruch.siach.name/blog/ ~. .~ Tk Open

Systems

Quoted 1 line

=}------------------------------------------------ooO--U--Ooo------------{=

Quoted 1 line

- baruch at tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20141013/c8615d32/attachment.html>