Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v5 1/3] busybox: Install scripts only when needed
@ 2015-07-12 18:44 Maxime Hadjinlian
  2015-07-12 18:44 ` [Buildroot] [PATCH v5 2/3] initscripts: new package Maxime Hadjinlian
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Maxime Hadjinlian @ 2015-07-12 18:44 UTC (permalink / raw)
  To: buildroot

Init scripts are only usefull with init system that supports them, it
means that we don't want init scripts files unless Busybox or SysV has
been chosen as the init.

Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
---
v1 -> v2:
   - Remove non needed space in ifeq (Thomas Petazzoni)
---
 package/busybox/busybox.mk | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/package/busybox/busybox.mk b/package/busybox/busybox.mk
index 92874cd..5602fb1 100644
--- a/package/busybox/busybox.mk
+++ b/package/busybox/busybox.mk
@@ -141,17 +141,23 @@ define BUSYBOX_SET_INIT
 endef
 endif
 
+ifeq ($(BR2_INIT_SYSV)$(BR2_INIT_BUSYBOX),y)
 define BUSYBOX_INSTALL_LOGGING_SCRIPT
 	if grep -q CONFIG_SYSLOGD=y $(@D)/.config; then \
 		$(INSTALL) -m 0755 -D package/busybox/S01logging \
 			$(TARGET_DIR)/etc/init.d/S01logging; \
 	else rm -f $(TARGET_DIR)/etc/init.d/S01logging; fi
 endef
+endif
 
 ifeq ($(BR2_PACKAGE_BUSYBOX_WATCHDOG),y)
 define BUSYBOX_SET_WATCHDOG
 	$(call KCONFIG_ENABLE_OPT,CONFIG_WATCHDOG,$(BUSYBOX_BUILD_CONFIG))
 endef
+endif
+
+ifeq ($(BR2_PACKAGE_BUSYBOX_WATCHDOG),y)
+ifeq ($(BR2_INIT_SYSV)$(BR2_INIT_BUSYBOX),y)
 define BUSYBOX_INSTALL_WATCHDOG_SCRIPT
 	$(INSTALL) -D -m 0755 package/busybox/S15watchdog \
 		$(TARGET_DIR)/etc/init.d/S15watchdog
@@ -167,6 +173,7 @@ define BUSYBOX_LINUX_PAM
 endef
 BUSYBOX_DEPENDENCIES += linux-pam
 endif
+endif
 
 # Enable "noclobber" in install.sh, to prevent BusyBox from overwriting any
 # full-blown versions of apps installed by other packages with sym/hard links.
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [Buildroot] [PATCH v5 2/3] initscripts: new package
  2015-07-12 18:44 [Buildroot] [PATCH v5 1/3] busybox: Install scripts only when needed Maxime Hadjinlian
@ 2015-07-12 18:44 ` Maxime Hadjinlian
  2015-07-12 18:44 ` [Buildroot] [PATCH v5 3/3] package: busybox: Collocate ntp startup script Maxime Hadjinlian
  2015-07-12 19:13 ` [Buildroot] [PATCH v5 1/3] busybox: Install scripts only when needed Thomas Petazzoni
  2 siblings, 0 replies; 4+ messages in thread
From: Maxime Hadjinlian @ 2015-07-12 18:44 UTC (permalink / raw)
  To: buildroot

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>
---
v4 -> v5:
    - Move inittab to their specifi packages (sysvinit and busybox)
    - Make BR2_INIT_SYSV and BR2_INIT_BUSYBOX select initscripts
    - Initscripts depends on BR2_INIT_SYSV or BR2_INIT_BUSYBOX so it
      can't be selected by anything else.
v3 -> v4:
    - Fix bug with busybox
v2 -> v3:
    - Fix rebase issues
v1 -> v2:
    - Redo the patch using git format-patch -M
---
 package/Config.in                     |  1 +
 package/busybox/busybox.mk            |  7 +++++
 package/busybox/inittab               | 35 ++++++++++++++++++++++++
 package/initscripts/Config.in         |  5 ++++
 package/initscripts/init.d/S20urandom | 51 +++++++++++++++++++++++++++++++++++
 package/initscripts/init.d/S40network | 28 +++++++++++++++++++
 package/initscripts/init.d/rcK        | 27 +++++++++++++++++++
 package/initscripts/init.d/rcS        | 27 +++++++++++++++++++
 package/initscripts/initscripts.mk    | 15 +++++++++++
 package/sysvinit/sysvinit.mk          |  6 ++---
 system/Config.in                      |  2 ++
 system/skeleton/etc/init.d/S20urandom | 51 -----------------------------------
 system/skeleton/etc/init.d/S40network | 28 -------------------
 system/skeleton/etc/init.d/rcK        | 27 -------------------
 system/skeleton/etc/init.d/rcS        | 27 -------------------
 system/skeleton/etc/inittab           | 35 ------------------------
 16 files changed, 200 insertions(+), 172 deletions(-)
 create mode 100644 package/busybox/inittab
 create mode 100644 package/initscripts/Config.in
 create mode 100755 package/initscripts/init.d/S20urandom
 create mode 100755 package/initscripts/init.d/S40network
 create mode 100755 package/initscripts/init.d/rcK
 create mode 100755 package/initscripts/init.d/rcS
 create mode 100644 package/initscripts/initscripts.mk
 delete mode 100755 system/skeleton/etc/init.d/S20urandom
 delete mode 100755 system/skeleton/etc/init.d/S40network
 delete mode 100755 system/skeleton/etc/init.d/rcK
 delete mode 100755 system/skeleton/etc/init.d/rcS
 delete mode 100644 system/skeleton/etc/inittab

diff --git a/package/Config.in b/package/Config.in
index e1b81a9..2b09f47 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -1408,6 +1408,7 @@ endif
 	source "package/ftop/Config.in"
 	source "package/getent/Config.in"
 	source "package/htop/Config.in"
+	source "package/initscripts/Config.in"
 	source "package/iotop/Config.in"
 	source "package/iprutils/Config.in"
 	source "package/irqbalance/Config.in"
diff --git a/package/busybox/busybox.mk b/package/busybox/busybox.mk
index 5602fb1..d722e02 100644
--- a/package/busybox/busybox.mk
+++ b/package/busybox/busybox.mk
@@ -150,6 +150,12 @@ define BUSYBOX_INSTALL_LOGGING_SCRIPT
 endef
 endif
 
+ifeq ($(BR2_INIT_BUSYBOX),y)
+define BUSYBOX_INSTALL_INITTAB
+	$(INSTALL) -D -m 0644 package/busybox/inittab $(TARGET_DIR)/etc/inittab
+endef
+endif
+
 ifeq ($(BR2_PACKAGE_BUSYBOX_WATCHDOG),y)
 define BUSYBOX_SET_WATCHDOG
 	$(call KCONFIG_ENABLE_OPT,CONFIG_WATCHDOG,$(BUSYBOX_BUILD_CONFIG))
@@ -204,6 +210,7 @@ endef
 
 define BUSYBOX_INSTALL_TARGET_CMDS
 	$(BUSYBOX_MAKE_ENV) $(MAKE) $(BUSYBOX_MAKE_OPTS) -C $(@D) install
+	$(BUSYBOX_INSTALL_INITTAB)
 	$(BUSYBOX_INSTALL_UDHCPC_SCRIPT)
 	$(BUSYBOX_INSTALL_MDEV_CONF)
 endef
diff --git a/package/busybox/inittab b/package/busybox/inittab
new file mode 100644
index 0000000..b1892c1
--- /dev/null
+++ b/package/busybox/inittab
@@ -0,0 +1,35 @@
+# /etc/inittab
+#
+# Copyright (C) 2001 Erik Andersen <andersen@codepoet.org>
+#
+# Note: BusyBox init doesn't support runlevels.  The runlevels field is
+# completely ignored by BusyBox init. If you want runlevels, use
+# sysvinit.
+#
+# Format for each entry: <id>:<runlevels>:<action>:<process>
+#
+# id        == tty to run on, or empty for /dev/console
+# runlevels == ignored
+# action    == one of sysinit, respawn, askfirst, wait, and once
+# process   == program to run
+
+# Startup the system
+null::sysinit:/bin/mount -t proc proc /proc
+null::sysinit:/bin/mount -o remount,rw /
+null::sysinit:/bin/mkdir -p /dev/pts
+null::sysinit:/bin/mkdir -p /dev/shm
+null::sysinit:/bin/mount -a
+null::sysinit:/bin/hostname -F /etc/hostname
+# now run any rc scripts
+::sysinit:/etc/init.d/rcS
+
+# Put a getty on the serial port
+#ttyS0::respawn:/sbin/getty -L ttyS0 115200 vt100 # GENERIC_SERIAL
+
+# Stuff to do for the 3-finger salute
+::ctrlaltdel:/sbin/reboot
+
+# Stuff to do before rebooting
+::shutdown:/etc/init.d/rcK
+::shutdown:/sbin/swapoff -a
+::shutdown:/bin/umount -a -r
diff --git a/package/initscripts/Config.in b/package/initscripts/Config.in
new file mode 100644
index 0000000..0c5176a
--- /dev/null
+++ b/package/initscripts/Config.in
@@ -0,0 +1,5 @@
+config BR2_PACKAGE_INITSCRIPTS
+	bool "initscripts"
+	depends on BR2_INIT_BUSYBOX || BR2_INIT_SYSV
+	help
+	  The basics startup scripts for both SysV and Busybox
diff --git a/package/initscripts/init.d/S20urandom b/package/initscripts/init.d/S20urandom
new file mode 100755
index 0000000..36277ba
--- /dev/null
+++ b/package/initscripts/init.d/S20urandom
@@ -0,0 +1,51 @@
+#! /bin/sh
+#
+# urandom	This script saves the random seed between reboots.
+#		It is called from the boot, halt and reboot scripts.
+#
+# Version:	@(#)urandom  1.33  22-Jun-1998  miquels at cistron.nl
+#
+
+[ -c /dev/urandom ] || exit 0
+#. /etc/default/rcS
+
+case "$1" in
+	start|"")
+		# check for read only file system
+		if ! touch /etc/random-seed 2>/dev/null
+		then
+			echo "read-only file system detected...done"
+			exit
+		fi
+		if [ "$VERBOSE" != no ]
+		then
+			echo -n "Initializing random number generator... "
+		fi
+		# Load and then save 512 bytes,
+		# which is the size of the entropy pool
+		cat /etc/random-seed >/dev/urandom
+		rm -f /etc/random-seed
+		umask 077
+		dd if=/dev/urandom of=/etc/random-seed count=1 \
+			>/dev/null 2>&1 || echo "urandom start: failed."
+		umask 022
+		[ "$VERBOSE" != no ] && echo "done."
+		;;
+	stop)
+		if ! touch /etc/random-seed 2>/dev/null
+                then
+                        exit
+                fi
+		# Carry a random seed from shut-down to start-up;
+		# see documentation in linux/drivers/char/random.c
+		[ "$VERBOSE" != no ] && echo -n "Saving random seed... "
+		umask 077
+		dd if=/dev/urandom of=/etc/random-seed count=1 \
+			>/dev/null 2>&1 || echo "urandom stop: failed."
+		[ "$VERBOSE" != no ] && echo "done."
+		;;
+	*)
+		echo "Usage: urandom {start|stop}" >&2
+		exit 1
+		;;
+esac
diff --git a/package/initscripts/init.d/S40network b/package/initscripts/init.d/S40network
new file mode 100755
index 0000000..bfdd491
--- /dev/null
+++ b/package/initscripts/init.d/S40network
@@ -0,0 +1,28 @@
+#!/bin/sh
+#
+# Start the network....
+#
+
+# Debian ifupdown needs the /run/network lock directory
+mkdir -p /run/network
+
+case "$1" in
+  start)
+ 	echo "Starting network..."
+	/sbin/ifup -a
+	;;
+  stop)
+	echo -n "Stopping network..."
+	/sbin/ifdown -a
+	;;
+  restart|reload)
+	"$0" stop
+	"$0" start
+	;;
+  *)
+	echo "Usage: $0 {start|stop|restart}"
+	exit 1
+esac
+
+exit $?
+
diff --git a/package/initscripts/init.d/rcK b/package/initscripts/init.d/rcK
new file mode 100755
index 0000000..59e9c54
--- /dev/null
+++ b/package/initscripts/init.d/rcK
@@ -0,0 +1,27 @@
+#!/bin/sh
+
+
+# Stop all init scripts in /etc/init.d
+# executing them in reversed numerical order.
+#
+for i in $(ls -r /etc/init.d/S??*) ;do
+
+     # Ignore dangling symlinks (if any).
+     [ ! -f "$i" ] && continue
+
+     case "$i" in
+	*.sh)
+	    # Source shell script for speed.
+	    (
+		trap - INT QUIT TSTP
+		set stop
+		. $i
+	    )
+	    ;;
+	*)
+	    # No sh extension, so fork subprocess.
+	    $i stop
+	    ;;
+    esac
+done
+
diff --git a/package/initscripts/init.d/rcS b/package/initscripts/init.d/rcS
new file mode 100755
index 0000000..de41153
--- /dev/null
+++ b/package/initscripts/init.d/rcS
@@ -0,0 +1,27 @@
+#!/bin/sh
+
+
+# Start all init scripts in /etc/init.d
+# executing them in numerical order.
+#
+for i in /etc/init.d/S??* ;do
+
+     # Ignore dangling symlinks (if any).
+     [ ! -f "$i" ] && continue
+
+     case "$i" in
+	*.sh)
+	    # Source shell script for speed.
+	    (
+		trap - INT QUIT TSTP
+		set start
+		. $i
+	    )
+	    ;;
+	*)
+	    # No sh extension, so fork subprocess.
+	    $i start
+	    ;;
+    esac
+done
+
diff --git a/package/initscripts/initscripts.mk b/package/initscripts/initscripts.mk
new file mode 100644
index 0000000..a5d8db7
--- /dev/null
+++ b/package/initscripts/initscripts.mk
@@ -0,0 +1,15 @@
+################################################################################
+#
+# initscripts
+#
+################################################################################
+
+# source included in buildroot
+INITSCRIPTS_SOURCE =
+
+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/
+endef
+
+$(eval $(generic-package))
diff --git a/package/sysvinit/sysvinit.mk b/package/sysvinit/sysvinit.mk
index 53640a4..56414e1 100644
--- a/package/sysvinit/sysvinit.mk
+++ b/package/sysvinit/sysvinit.mk
@@ -11,9 +11,9 @@ SYSVINIT_SITE = http://snapshot.debian.org/archive/debian/20141023T043132Z/pool/
 SYSVINIT_LICENSE = GPLv2+
 SYSVINIT_LICENSE_FILES = COPYING
 
-# Override BusyBox implementations if BusyBox is enabled.
+# Override Busybox implementations if Busybox is enabled.
 ifeq ($(BR2_PACKAGE_BUSYBOX),y)
-SYSVINIT_DEPENDENCIES = busybox
+SYSVINIT_DEPENDENCIES += busybox
 endif
 
 define SYSVINIT_DEBIAN_PATCHES
@@ -34,8 +34,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
diff --git a/system/Config.in b/system/Config.in
index b72aa17..fad829d 100644
--- a/system/Config.in
+++ b/system/Config.in
@@ -70,10 +70,12 @@ choice
 config BR2_INIT_BUSYBOX
 	bool "BusyBox"
 	select BR2_PACKAGE_BUSYBOX
+	select BR2_PACKAGE_INITSCRIPTS
 
 config BR2_INIT_SYSV
 	bool "systemV"
 	select BR2_PACKAGE_BUSYBOX_SHOW_OTHERS # sysvinit
+	select BR2_PACKAGE_INITSCRIPTS
 	select BR2_PACKAGE_SYSVINIT
 
 config BR2_INIT_SYSTEMD
diff --git a/system/skeleton/etc/init.d/S20urandom b/system/skeleton/etc/init.d/S20urandom
deleted file mode 100755
index 36277ba..0000000
--- a/system/skeleton/etc/init.d/S20urandom
+++ /dev/null
@@ -1,51 +0,0 @@
-#! /bin/sh
-#
-# urandom	This script saves the random seed between reboots.
-#		It is called from the boot, halt and reboot scripts.
-#
-# Version:	@(#)urandom  1.33  22-Jun-1998  miquels at cistron.nl
-#
-
-[ -c /dev/urandom ] || exit 0
-#. /etc/default/rcS
-
-case "$1" in
-	start|"")
-		# check for read only file system
-		if ! touch /etc/random-seed 2>/dev/null
-		then
-			echo "read-only file system detected...done"
-			exit
-		fi
-		if [ "$VERBOSE" != no ]
-		then
-			echo -n "Initializing random number generator... "
-		fi
-		# Load and then save 512 bytes,
-		# which is the size of the entropy pool
-		cat /etc/random-seed >/dev/urandom
-		rm -f /etc/random-seed
-		umask 077
-		dd if=/dev/urandom of=/etc/random-seed count=1 \
-			>/dev/null 2>&1 || echo "urandom start: failed."
-		umask 022
-		[ "$VERBOSE" != no ] && echo "done."
-		;;
-	stop)
-		if ! touch /etc/random-seed 2>/dev/null
-                then
-                        exit
-                fi
-		# Carry a random seed from shut-down to start-up;
-		# see documentation in linux/drivers/char/random.c
-		[ "$VERBOSE" != no ] && echo -n "Saving random seed... "
-		umask 077
-		dd if=/dev/urandom of=/etc/random-seed count=1 \
-			>/dev/null 2>&1 || echo "urandom stop: failed."
-		[ "$VERBOSE" != no ] && echo "done."
-		;;
-	*)
-		echo "Usage: urandom {start|stop}" >&2
-		exit 1
-		;;
-esac
diff --git a/system/skeleton/etc/init.d/S40network b/system/skeleton/etc/init.d/S40network
deleted file mode 100755
index bfdd491..0000000
--- a/system/skeleton/etc/init.d/S40network
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/bin/sh
-#
-# Start the network....
-#
-
-# Debian ifupdown needs the /run/network lock directory
-mkdir -p /run/network
-
-case "$1" in
-  start)
- 	echo "Starting network..."
-	/sbin/ifup -a
-	;;
-  stop)
-	echo -n "Stopping network..."
-	/sbin/ifdown -a
-	;;
-  restart|reload)
-	"$0" stop
-	"$0" start
-	;;
-  *)
-	echo "Usage: $0 {start|stop|restart}"
-	exit 1
-esac
-
-exit $?
-
diff --git a/system/skeleton/etc/init.d/rcK b/system/skeleton/etc/init.d/rcK
deleted file mode 100755
index 59e9c54..0000000
--- a/system/skeleton/etc/init.d/rcK
+++ /dev/null
@@ -1,27 +0,0 @@
-#!/bin/sh
-
-
-# Stop all init scripts in /etc/init.d
-# executing them in reversed numerical order.
-#
-for i in $(ls -r /etc/init.d/S??*) ;do
-
-     # Ignore dangling symlinks (if any).
-     [ ! -f "$i" ] && continue
-
-     case "$i" in
-	*.sh)
-	    # Source shell script for speed.
-	    (
-		trap - INT QUIT TSTP
-		set stop
-		. $i
-	    )
-	    ;;
-	*)
-	    # No sh extension, so fork subprocess.
-	    $i stop
-	    ;;
-    esac
-done
-
diff --git a/system/skeleton/etc/init.d/rcS b/system/skeleton/etc/init.d/rcS
deleted file mode 100755
index de41153..0000000
--- a/system/skeleton/etc/init.d/rcS
+++ /dev/null
@@ -1,27 +0,0 @@
-#!/bin/sh
-
-
-# Start all init scripts in /etc/init.d
-# executing them in numerical order.
-#
-for i in /etc/init.d/S??* ;do
-
-     # Ignore dangling symlinks (if any).
-     [ ! -f "$i" ] && continue
-
-     case "$i" in
-	*.sh)
-	    # Source shell script for speed.
-	    (
-		trap - INT QUIT TSTP
-		set start
-		. $i
-	    )
-	    ;;
-	*)
-	    # No sh extension, so fork subprocess.
-	    $i start
-	    ;;
-    esac
-done
-
diff --git a/system/skeleton/etc/inittab b/system/skeleton/etc/inittab
deleted file mode 100644
index b1892c1..0000000
--- a/system/skeleton/etc/inittab
+++ /dev/null
@@ -1,35 +0,0 @@
-# /etc/inittab
-#
-# Copyright (C) 2001 Erik Andersen <andersen@codepoet.org>
-#
-# Note: BusyBox init doesn't support runlevels.  The runlevels field is
-# completely ignored by BusyBox init. If you want runlevels, use
-# sysvinit.
-#
-# Format for each entry: <id>:<runlevels>:<action>:<process>
-#
-# id        == tty to run on, or empty for /dev/console
-# runlevels == ignored
-# action    == one of sysinit, respawn, askfirst, wait, and once
-# process   == program to run
-
-# Startup the system
-null::sysinit:/bin/mount -t proc proc /proc
-null::sysinit:/bin/mount -o remount,rw /
-null::sysinit:/bin/mkdir -p /dev/pts
-null::sysinit:/bin/mkdir -p /dev/shm
-null::sysinit:/bin/mount -a
-null::sysinit:/bin/hostname -F /etc/hostname
-# now run any rc scripts
-::sysinit:/etc/init.d/rcS
-
-# Put a getty on the serial port
-#ttyS0::respawn:/sbin/getty -L ttyS0 115200 vt100 # GENERIC_SERIAL
-
-# Stuff to do for the 3-finger salute
-::ctrlaltdel:/sbin/reboot
-
-# Stuff to do before rebooting
-::shutdown:/etc/init.d/rcK
-::shutdown:/sbin/swapoff -a
-::shutdown:/bin/umount -a -r
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [Buildroot] [PATCH v5 3/3] package: busybox: Collocate ntp startup script
  2015-07-12 18:44 [Buildroot] [PATCH v5 1/3] busybox: Install scripts only when needed Maxime Hadjinlian
  2015-07-12 18:44 ` [Buildroot] [PATCH v5 2/3] initscripts: new package Maxime Hadjinlian
@ 2015-07-12 18:44 ` Maxime Hadjinlian
  2015-07-12 19:13 ` [Buildroot] [PATCH v5 1/3] busybox: Install scripts only when needed Thomas Petazzoni
  2 siblings, 0 replies; 4+ messages in thread
From: Maxime Hadjinlian @ 2015-07-12 18:44 UTC (permalink / raw)
  To: buildroot

Instead of having an NTP startup scripts for NTPD, Busybox's NTPD,
OpenNTPD, have only one available in Busybox and make the rest symlink
to it.

The configuration file is also common.

Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
---
 package/busybox/S49ntp     | 29 +++++++++++++++++++++++++++++
 package/busybox/busybox.mk | 11 +++++++++++
 package/busybox/ntp.conf   |  4 ++++
 package/ntp/S49ntp         | 39 +--------------------------------------
 package/ntp/ntp.conf       |  1 +
 package/ntp/ntp.mk         |  2 +-
 package/ntp/ntpd.etc.conf  |  8 --------
 package/openntpd/S49ntp    | 26 +-------------------------
 8 files changed, 48 insertions(+), 72 deletions(-)
 create mode 100644 package/busybox/S49ntp
 create mode 100644 package/busybox/ntp.conf
 mode change 100755 => 120000 package/ntp/S49ntp
 create mode 120000 package/ntp/ntp.conf
 delete mode 100644 package/ntp/ntpd.etc.conf
 mode change 100755 => 120000 package/openntpd/S49ntp

diff --git a/package/busybox/S49ntp b/package/busybox/S49ntp
new file mode 100644
index 0000000..50b2aba
--- /dev/null
+++ b/package/busybox/S49ntp
@@ -0,0 +1,29 @@
+#! /bin/sh
+
+NAME=ntpd
+
+[ -x /usr/sbin/${NAME} ] || exit 0
+[ -f /etc/${NAME}.conf ] || exit 0
+
+case "$1" in
+        start)
+                echo -n "Starting ${NAME}: "
+                start-stop-daemon -S -x /usr/sbin/${NAME} -- -p /run/${NAME}.pid
+                [ $? = 0 ] && echo "OK" || echo "FAIL"
+                ;;
+        stop)
+                echo -n "Stopping ${NAME}: "
+                start-stop-daemon -K -q -p /run/${NAME}.pid
+                [ $? = 0 ] && echo "OK" || echo "FAIL"
+                ;;
+        restart)
+                "$0" stop
+                sleep 1
+                "$0" start
+                ;;
+        *)
+                echo "Usage: $0 {start|stop|restart}"
+                ;;
+esac
+
+exit 0
diff --git a/package/busybox/busybox.mk b/package/busybox/busybox.mk
index d722e02..9998bf4 100644
--- a/package/busybox/busybox.mk
+++ b/package/busybox/busybox.mk
@@ -135,6 +135,17 @@ define BUSYBOX_INSTALL_UDHCPC_SCRIPT
 	fi
 endef
 
+define BUSYBOX_INSTALL_NTPD_SCRIPT
+	if grep -q CONFIG_NTPD=y $(@D)/.config; then \
+		$(INSTALL) -m 0755 -D package/busybox/S49ntp \
+			$(TARGET_DIR)/etc/init.d/S49ntp; \
+	fi
+	if grep -q CONFIG_FEATURE_NTPD_CONF=y $(@D)/.config; then \
+		$(INSTALL) -m 0644 -D package/busybox/ntp.conf \
+			$(TARGET_DIR)/etc/ntp.conf; \
+	fi
+endef
+
 ifeq ($(BR2_INIT_BUSYBOX),y)
 define BUSYBOX_SET_INIT
 	$(call KCONFIG_ENABLE_OPT,CONFIG_INIT,$(BUSYBOX_BUILD_CONFIG))
diff --git a/package/busybox/ntp.conf b/package/busybox/ntp.conf
new file mode 100644
index 0000000..1e8afc5
--- /dev/null
+++ b/package/busybox/ntp.conf
@@ -0,0 +1,4 @@
+server 0.pool.ntp.org
+server 1.pool.ntp.org
+server 3.pool.ntp.org
+server 4.pool.ntp.org
diff --git a/package/ntp/S49ntp b/package/ntp/S49ntp
deleted file mode 100755
index 171c200..0000000
--- a/package/ntp/S49ntp
+++ /dev/null
@@ -1,38 +0,0 @@
-#! /bin/sh
-
-NAME=ntpd
-DAEMON=/usr/sbin/$NAME
-
-# Gracefully exit if the package has been removed.
-test -x $DAEMON || exit 0
-
-# Read config file if it is present.
-if [ -r /etc/default/$NAME ]
-then
-  . /etc/default/$NAME
-fi
-
-case "$1" in
-  start)
-    echo -n "Starting $NAME: "
-    start-stop-daemon -S -q -x $DAEMON -- -g
-    [ $? = 0 ] && echo "OK" || echo "FAIL"
-    ;;
-  stop)
-    echo -n "Stopping $NAME: "
-    start-stop-daemon -K -q -n $NAME
-    [ $? = 0 ] && echo "OK" || echo "FAIL"
-    ;;
-  restart|reload)
-    echo "Restarting $NAME: "
-    $0 stop
-    sleep 1
-    $0 start
-    ;;
-  *)
-    echo "Usage: $0 {start|stop|restart|reload}" >&2
-    exit 1
-    ;;
-esac
-
-exit 0
diff --git a/package/ntp/S49ntp b/package/ntp/S49ntp
new file mode 120000
index 0000000..2062ffd
--- /dev/null
+++ b/package/ntp/S49ntp
@@ -0,0 +1 @@
+../busybox/S49ntp
\ No newline at end of file
diff --git a/package/ntp/ntp.conf b/package/ntp/ntp.conf
new file mode 120000
index 0000000..8dbf833
--- /dev/null
+++ b/package/ntp/ntp.conf
@@ -0,0 +1 @@
+../busybox/ntp.conf
\ No newline at end of file
diff --git a/package/ntp/ntp.mk b/package/ntp/ntp.mk
index 5997247..14bbcc7 100644
--- a/package/ntp/ntp.mk
+++ b/package/ntp/ntp.mk
@@ -53,7 +53,7 @@ NTP_INSTALL_FILES_$(BR2_PACKAGE_NTP_TICKADJ) += util/tickadj
 define NTP_INSTALL_TARGET_CMDS
 	$(if $(BR2_PACKAGE_NTP_NTPD), install -m 755 $(@D)/ntpd/ntpd $(TARGET_DIR)/usr/sbin/ntpd)
 	test -z "$(NTP_INSTALL_FILES_y)" || install -m 755 $(addprefix $(@D)/,$(NTP_INSTALL_FILES_y)) $(TARGET_DIR)/usr/bin/
-	$(INSTALL) -m 644 package/ntp/ntpd.etc.conf $(TARGET_DIR)/etc/ntp.conf
+	$(INSTALL) -m 644 package/ntp/ntp.conf $(TARGET_DIR)/etc/ntp.conf
 endef
 
 ifeq ($(BR2_PACKAGE_NTP_NTPD),y)
diff --git a/package/ntp/ntpd.etc.conf b/package/ntp/ntpd.etc.conf
deleted file mode 100644
index 543c8ff..0000000
--- a/package/ntp/ntpd.etc.conf
+++ /dev/null
@@ -1,8 +0,0 @@
-server 0.pool.ntp.org iburst
-server 1.pool.ntp.org iburst
-
-# Allow only time queries, at a limited rate, sending KoD when in excess.
-# Allow all local queries (IPv4, IPv6)
-restrict default nomodify nopeer noquery limited kod
-restrict 127.0.0.1
-restrict [::1]
diff --git a/package/openntpd/S49ntp b/package/openntpd/S49ntp
deleted file mode 100755
index 2654f82..0000000
--- a/package/openntpd/S49ntp
+++ /dev/null
@@ -1,25 +0,0 @@
-#!/bin/sh
-
-[ -x /usr/sbin/ntpd ] || exit 0
-[ -f /etc/ntpd.conf ] || exit 0
-
-case "$1" in
-	start)
-		echo -n "Starting openntpd: "
-		start-stop-daemon -S -x /usr/sbin/ntpd -- -p /run/ntpd.pid
-		[ $? = 0 ] && echo "OK" || echo "FAIL"
-		;;
-	stop)
-		echo -n "Stopping openntpd: "
-		start-stop-daemon -K -q -p /run/ntpd.pid
-		[ $? = 0 ] && echo "OK" || echo "FAIL"
-		;;
-	restart)
-		"$0" stop
-		sleep 1
-		"$0" start
-		;;
-	*)
-		echo "Usage: $0 {start|stop|restart}"
-		;;
-esac
diff --git a/package/openntpd/S49ntp b/package/openntpd/S49ntp
new file mode 120000
index 0000000..2062ffd
--- /dev/null
+++ b/package/openntpd/S49ntp
@@ -0,0 +1 @@
+../busybox/S49ntp
\ No newline at end of file
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [Buildroot] [PATCH v5 1/3] busybox: Install scripts only when needed
  2015-07-12 18:44 [Buildroot] [PATCH v5 1/3] busybox: Install scripts only when needed Maxime Hadjinlian
  2015-07-12 18:44 ` [Buildroot] [PATCH v5 2/3] initscripts: new package Maxime Hadjinlian
  2015-07-12 18:44 ` [Buildroot] [PATCH v5 3/3] package: busybox: Collocate ntp startup script Maxime Hadjinlian
@ 2015-07-12 19:13 ` Thomas Petazzoni
  2 siblings, 0 replies; 4+ messages in thread
From: Thomas Petazzoni @ 2015-07-12 19:13 UTC (permalink / raw)
  To: buildroot

Dear Maxime Hadjinlian,

On Sun, 12 Jul 2015 20:44:56 +0200, Maxime Hadjinlian wrote:
> Init scripts are only usefull with init system that supports them, it
> means that we don't want init scripts files unless Busybox or SysV has
> been chosen as the init.
> 
> Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>

Completely unneeded: those macros are already called by
BUSYBOX_INSTALL_INIT_SYSV, which guarantees it is only executed when
Busybox init or SystemV init are used.

I'll mark the patch as Rejected in patchwork.

Best regards,

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2015-07-12 19:13 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-07-12 18:44 [Buildroot] [PATCH v5 1/3] busybox: Install scripts only when needed Maxime Hadjinlian
2015-07-12 18:44 ` [Buildroot] [PATCH v5 2/3] initscripts: new package Maxime Hadjinlian
2015-07-12 18:44 ` [Buildroot] [PATCH v5 3/3] package: busybox: Collocate ntp startup script Maxime Hadjinlian
2015-07-12 19:13 ` [Buildroot] [PATCH v5 1/3] busybox: Install scripts only when needed Thomas Petazzoni

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox