From: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH 1/5] initscripts: new package
Date: Sat, 18 Oct 2014 16:47:00 +0200 [thread overview]
Message-ID: <1413643624-14757-2-git-send-email-maxime.hadjinlian@gmail.com> (raw)
In-Reply-To: <1413643624-14757-1-git-send-email-maxime.hadjinlian@gmail.com>
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.
Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
---
v3 -> v4:
- Fix bug with busybox
v2 -> v3:
- Fix rebase issues
v1 -> v2:
- Redo the patch using git format-patch -M
---
package/busybox/busybox.mk | 4 ++++
.../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, 38 insertions(+), 5 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%)
diff --git a/package/busybox/busybox.mk b/package/busybox/busybox.mk
index 73a99fb..422a95d 100644
--- a/package/busybox/busybox.mk
+++ b/package/busybox/busybox.mk
@@ -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)
diff --git a/system/skeleton/etc/inittab b/package/initscripts/busybox_inittab
similarity index 100%
rename from system/skeleton/etc/inittab
rename to package/initscripts/busybox_inittab
diff --git a/system/skeleton/etc/init.d/S20urandom b/package/initscripts/init.d/S20urandom
similarity index 100%
rename from system/skeleton/etc/init.d/S20urandom
rename to package/initscripts/init.d/S20urandom
diff --git a/system/skeleton/etc/init.d/S40network b/package/initscripts/init.d/S40network
similarity index 100%
rename from system/skeleton/etc/init.d/S40network
rename to package/initscripts/init.d/S40network
diff --git a/system/skeleton/etc/init.d/rcK b/package/initscripts/init.d/rcK
similarity index 100%
rename from system/skeleton/etc/init.d/rcK
rename to package/initscripts/init.d/rcK
diff --git a/system/skeleton/etc/init.d/rcS b/package/initscripts/init.d/rcS
similarity index 100%
rename from system/skeleton/etc/init.d/rcS
rename to package/initscripts/init.d/rcS
diff --git a/package/initscripts/initscripts.mk b/package/initscripts/initscripts.mk
new file mode 100644
index 0000000..13affe8
--- /dev/null
+++ b/package/initscripts/initscripts.mk
@@ -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))
diff --git a/package/sysvinit/inittab b/package/initscripts/sysvinit_inittab
similarity index 100%
rename from package/sysvinit/inittab
rename to package/initscripts/sysvinit_inittab
diff --git a/package/sysvinit/sysvinit.mk b/package/sysvinit/sysvinit.mk
index d588122..6793ab8 100644
--- a/package/sysvinit/sysvinit.mk
+++ b/package/sysvinit/sysvinit.mk
@@ -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,6 @@ 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
- # Override BusyBox's inittab with an inittab compatible with
- # sysvinit
- $(INSTALL) -D -m 0644 package/sysvinit/inittab $(TARGET_DIR)/etc/inittab
ln -sf /sbin/halt $(TARGET_DIR)/sbin/reboot
ln -sf /sbin/halt $(TARGET_DIR)/sbin/poweroff
ln -sf killall5 $(TARGET_DIR)/sbin/pidof
--
2.1.1
next prev parent reply other threads:[~2014-10-18 14:47 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-10-18 14:46 [Buildroot] [PATCH 0/5] Various init scripts modification Maxime Hadjinlian
2014-10-18 14:47 ` Maxime Hadjinlian [this message]
2015-02-03 10:32 ` [Buildroot] [PATCH 1/5] initscripts: new package Thomas Petazzoni
2014-10-18 14:47 ` [Buildroot] [PATCH 2/5] busybox: Install scripts only when needed Maxime Hadjinlian
2014-10-18 16:53 ` Thomas Petazzoni
2014-10-18 16:54 ` Maxime Hadjinlian
2015-02-03 10:31 ` Thomas Petazzoni
2014-10-18 14:47 ` [Buildroot] [PATCH 3/5] infra: Add automatic install of init scripts Maxime Hadjinlian
2014-10-18 16:56 ` Thomas Petazzoni
2014-10-18 16:59 ` Maxime Hadjinlian
2014-10-18 17:06 ` Thomas Petazzoni
2014-10-18 17:11 ` Maxime Hadjinlian
2014-10-18 17:23 ` Thomas Petazzoni
2014-10-18 17:02 ` Thomas Petazzoni
2014-10-18 18:52 ` André Erdmann
2014-10-18 14:47 ` [Buildroot] [PATCH 4/5] acpid: Use new FOO_INIT_SYSV_FILES variable Maxime Hadjinlian
2014-10-18 14:47 ` [Buildroot] [PATCH 5/5] am33x-cm3: " Maxime Hadjinlian
2015-02-03 10:29 ` [Buildroot] [PATCH 0/5] Various init scripts modification Thomas Petazzoni
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1413643624-14757-2-git-send-email-maxime.hadjinlian@gmail.com \
--to=maxime.hadjinlian@gmail.com \
--cc=buildroot@busybox.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.