summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--package/Config.in1
-rw-r--r--package/sysvinit/Config.in7
-rw-r--r--package/sysvinit/sysvinit-2.86-gentoo.patch9
-rw-r--r--package/sysvinit/sysvinit.mk48
4 files changed, 65 insertions, 0 deletions
diff --git a/package/Config.in b/package/Config.in
index ca159d1c9..477851b96 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -110,6 +110,7 @@ source "package/slang/Config.in"
source "package/socat/Config.in"
source "package/strace/Config.in"
source "package/sysklogd/Config.in"
+source "package/sysvinit/Config.in"
source "package/tcl/Config.in"
source "package/tcpdump/Config.in"
source "package/tftpd/Config.in"
diff --git a/package/sysvinit/Config.in b/package/sysvinit/Config.in
new file mode 100644
index 000000000..fc645d4a9
--- /dev/null
+++ b/package/sysvinit/Config.in
@@ -0,0 +1,7 @@
+config BR2_PACKAGE_SYSVINIT
+ bool "sysvinit"
+ default n
+ help
+ /sbin/init - parent of all processes
+
+ http://freshmeat.net/projects/sysvinit/
diff --git a/package/sysvinit/sysvinit-2.86-gentoo.patch b/package/sysvinit/sysvinit-2.86-gentoo.patch
new file mode 100644
index 000000000..06b9e152d
--- /dev/null
+++ b/package/sysvinit/sysvinit-2.86-gentoo.patch
@@ -0,0 +1,9 @@
+--- sysvinit/src/Makefile
++++ sysvinit/src/Makefile
+@@ -10,5 +10,3 @@
+
+-CC = gcc
+-CFLAGS = -Wall -O2 -fomit-frame-pointer -D_GNU_SOURCE
+-LDFLAGS = -s
++CFLAGS += -Wall -D_GNU_SOURCE
+ STATIC =
diff --git a/package/sysvinit/sysvinit.mk b/package/sysvinit/sysvinit.mk
new file mode 100644
index 000000000..3a94a0de4
--- /dev/null
+++ b/package/sysvinit/sysvinit.mk
@@ -0,0 +1,48 @@
+#############################################################
+#
+# sysvinit
+#
+#############################################################
+SYSVINIT_VER:=2.86
+SYSVINIT_SOURCE:=sysvinit-$(SYSVINIT_VER).tar.gz
+SYSVINIT_SITE:=ftp://ftp.cistron.nl/pub/people/miquels/software
+SYSVINIT_DIR:=$(BUILD_DIR)/sysvinit-$(SYSVINIT_VER)
+SYSVINIT_CAT:=zcat
+SYSVINIT_BINARY:=src/init
+SYSVINIT_TARGET_BINARY:=bin/init
+
+$(DL_DIR)/$(SYSVINIT_SOURCE):
+ $(WGET) -P $(DL_DIR) $(SYSVINIT_SITE)/$(SYSVINIT_SOURCE)
+
+sysvinit-unpacked: $(SYSVINIT_DIR)/.unpacked
+$(SYSVINIT_DIR)/.unpacked: $(DL_DIR)/$(SYSVINIT_SOURCE)
+ $(SYSVINIT_CAT) $(DL_DIR)/$(SYSVINIT_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
+ toolchain/patch-kernel.sh $(SYSVINIT_DIR) package/sysvinit/ sysvinit-*.patch
+ touch $(SYSVINIT_DIR)/.unpacked
+
+$(SYSVINIT_DIR)/$(SYSVINIT_BINARY): $(SYSVINIT_DIR)/.unpacked
+ CFLAGS="$(TARGET_CFLAGS)" $(MAKE) CC=$(TARGET_CC) -C $(SYSVINIT_DIR)/src
+
+$(TARGET_DIR)/$(SYSVINIT_TARGET_BINARY): $(SYSVINIT_DIR)/$(SYSVINIT_BINARY)
+ for x in halt init shutdown ; do \
+ install -D $(SYSVINIT_DIR)/src/$$x $(TARGET_DIR)/sbin/$$x || exit 1 ; \
+ done
+
+sysvinit: uclibc ncurses $(TARGET_DIR)/$(SYSVINIT_TARGET_BINARY)
+
+sysvinit-clean:
+ for x in halt init shutdown ; do \
+ rm -f $(TARGET_DIR)/sbin/$$x || exit 1 ; \
+ done
+ -$(MAKE) -C $(SYSVINIT_DIR) clean
+
+sysvinit-dirclean:
+ rm -rf $(SYSVINIT_DIR)
+#############################################################
+#
+# Toplevel Makefile options
+#
+#############################################################
+ifeq ($(strip $(BR2_PACKAGE_SYSVINIT)),y)
+TARGETS+=sysvinit
+endif