[OE-core] [PATCH] recipes-core: breakout hwclock.sh from busybox
Khem Raj
raj.khem at gmail.com
Fri Jan 26 21:08:24 UTC 2018
On 1/23/18 8:21 AM, Alex Stewart wrote:
> * Move the hwclock.sh initscript from busybox into its own package and
> recipe (hwclock-init). This script is generally useful for distros
> that get their hwclock implementation from sources other than
> busybox (like 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 hwclock-init.
>
> :util-linux/*
> * util-linux-hwclock RDEPENDS on hwclock-init for its initscript.
>
> Signed-off-by: Alex Stewart <alex.stewart at ni.com>
> ---
> 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 ----------------------
> meta/recipes-core/hwclock-init/files/hwclock.sh | 83 ++++++++++++++++++++++
> meta/recipes-core/hwclock-init/hwclock-init_1.0.bb | 31 ++++++++
> meta/recipes-core/util-linux/util-linux.inc | 1 +
> 6 files changed, 124 insertions(+), 91 deletions(-)
> delete mode 100644 meta/recipes-core/busybox/files/hwclock.sh
> create mode 100644 meta/recipes-core/hwclock-init/files/hwclock.sh
> create mode 100644 meta/recipes-core/hwclock-init/hwclock-init_1.0.bb
>
> diff --git a/meta/recipes-core/busybox/busybox.inc b/meta/recipes-core/busybox/busybox.inc
> index 4012f921c6..bfcc6ba31a 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 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', ' hwclock-init ')
I wonder if it has some implications when rebuilding from shared state
since .config might not be there
More information about the Openembedded-core
mailing list