* Move the hwclock.sh initscript from the busybox recipe to util-linux.
This script is generally useful for distros that get their hwclock
implementation from sources other than busybox and we follow debian's
example by providing it in util-linux.
:busybox/*
* Remove the busybox-hwclock package, as it no longer has a purpose.
* If busybox is configured to include hwclock, the busybox package will
RDEPEND on util-linux-hwclock-init.
:util-linux/*
* Add util-linux-hwclock-init as its own recipe so that distros which
exclusively use busybox do not have to build the entire util-linux
recipe to get the hwclock.sh initscript.
* Provide the hwclock.sh script in util-linux-hwclock-init, which can be
pulled by any packages that depend on its functionality.
* util-linux-hwclock RDEPENDS on util-linux-hwclock-init for its
initscript.
Signed-off-by: Alex Stewart
---
meta/recipes-core/busybox/busybox.inc | 16 +++--
meta/recipes-core/busybox/busybox_1.27.2.bb| 1 -
meta/recipes-core/busybox/files/hwclock.sh | 83 --
.../util-linux/util-linux-hwclock-init_1.0.bb | 33 +
meta/recipes-core/util-linux/util-linux.inc| 1 +
meta/recipes-core/util-linux/util-linux/hwclock.sh | 83 ++
6 files changed, 126 insertions(+), 91 deletions(-)
delete mode 100644 meta/recipes-core/busybox/files/hwclock.sh
create mode 100644 meta/recipes-core/util-linux/util-linux-hwclock-init_1.0.bb
create mode 100644 meta/recipes-core/util-linux/util-linux/hwclock.sh
diff --git a/meta/recipes-core/busybox/busybox.inc
b/meta/recipes-core/busybox/busybox.inc
index 4012f921c6..d9c3c2793b 100644
--- a/meta/recipes-core/busybox/busybox.inc
+++ b/meta/recipes-core/busybox/busybox.inc
@@ -20,19 +20,17 @@ export EXTRA_LDFLAGS = "${LDFLAGS}"
EXTRA_OEMAKE = "CC='${CC}' LD='${CCLD}' V=1 ARCH=${TARGET_ARCH}
CROSS_COMPILE=${TARGET_PREFIX} SKIP_STRIP=y HOSTCC='${BUILD_CC}'
HOSTCPP='${BUILD_CPP}'"
-PACKAGES =+ "${PN}-httpd ${PN}-udhcpd ${PN}-udhcpc ${PN}-syslog ${PN}-mdev
${PN}-hwclock"
+PACKAGES =+ "${PN}-httpd ${PN}-udhcpd ${PN}-udhcpc ${PN}-syslog ${PN}-mdev"
FILES_${PN}-httpd = "${sysconfdir}/init.d/busybox-httpd /srv/www"
FILES_${PN}-syslog = "${sysconfdir}/init.d/syslog*
${sysconfdir}/syslog-startup.conf* ${sysconfdir}/syslog.conf*
${systemd_unitdir}/system/syslog.service ${sysconfdir}/default/busybox-syslog"
FILES_${PN}-mdev = "${sysconfdir}/init.d/mdev ${sysconfdir}/mdev.conf
${sysconfdir}/mdev/*"
FILES_${PN}-udhcpd = "${sysconfdir}/init.d/busybox-udhcpd"
FILES_${PN}-udhcpc = "${sysconfdir}/udhcpc.d ${datadir}/udhcpc"
-FILES_${PN}-hwclock = "${sysconfdir}/init.d/hwclock.sh"
-INITSCRIPT_PACKAGES = "${PN}-httpd ${PN}-syslog ${PN}-udhcpd ${PN}-mdev
${PN}-hwclock"
+INITSCRIPT_PACKAGES = "${PN}-httpd ${PN}-syslog ${PN}-udhcpd ${PN}-mdev"
INITSCRIPT_NAME_${PN}-httpd = "busybox-httpd"
-INITSCRIPT_NAME_${PN}-hwclock = "hwclock.sh"
INITSCRIPT_NAME_${PN}-mdev = "mdev"
INITSCRIPT_PARAMS_${PN}-mdev = "start 04 S ."
INITSCRIPT_NAME_${PN}-syslog = "syslog"
@@ -276,9 +274,6 @@ do_install () {
if grep "CONFIG_UDHCPD=y" ${B}/.config; then
install -m 0755 ${WORKDIR}/busybox-udhcpd
${D}${sysconfdir}/init.d/
fi
- if grep "CONFIG_HWCLOCK=y" ${B}/.config; then
- install -m 0755 ${WORKDIR}/hwclock.sh ${D}${sysconfdir}/init.d/
- fi
if grep "CONFIG_UDHCPC=y" ${B}/.config; then
install -d ${D}${sysconfdir}/udhcpc.d
install -d ${D}${datadir}/udhcpc
@@ -377,6 +372,13 @@ python do_package_prepend () {
else:
set_alternative_vars("${sysconfdir}/busybox.links.nosuid",
"${base_bindir}/busybox.nosuid")
set_alternative_vars("${sysconfdir}/busybox.links.suid",
"${base_bindir}/busybox.suid")
+
+# If busybox is configured to provide a hwclock implementation, add a
+# package dependency on util-linux-hwclock-init for the
+# /etc/init.d/hwclock.sh initscript.
+with open(d.getVar('B', expand=True) + '/.config', 'r') as fp_conf:
+if 'CONFIG_HWCLOCK=y' in fp_conf.read():
+d.appendVar('RDEPENDS_busybox', ' util-linux-hwclock-init ')
}
pkg_postinst_${PN} () {
diff --git a/meta/recipes-core/busybox/busybox_1.27.2.bb
b/meta/recipes-core/busybox/busybox_1.27.2.bb
index 6c1f4888cf..af2abadc5e 100644
--- a/meta/recipes-core/busybox/busybox_1.27.2.bb
+++ b/meta/recipes-core/busybox/busybox_1.27.2.bb
@@ -8,7 +8,6 @@ SRC_URI =
"http://www.busybox.net/downloads/busybox-${PV}.tar.bz2;name=tarball \
file://busybox-udhcpd \
file://default.script \
file://simple.script \
- file://hwclock.sh \
file://mount.busybox \
file://syslog \
file://syslog-startup.conf \
diff --git a/meta/recipes-core/busybox/files/hwclock.sh
b/meta/recipes-core/busybox/files/hwclock.sh
deleted file mode 100644
index