* 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/* * 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 <alex.stew...@ni.com> Acked-by: Haris Okanovic <haris.okano...@ni.com> Acked-by: Adrian Ratiu <adrian.ra...@ni.com> Acked-by: Ken Sharp <ken.sh...@ni.com> Natinst-ReviewBoard-ID: 214983, 215755 --- meta/recipes-core/busybox/busybox.inc | 16 +++++++++------- meta/recipes-core/busybox/busybox_1.27.2.bb | 1 - meta/recipes-core/util-linux/util-linux.inc | 14 ++++++++++++-- .../{busybox/files => util-linux/util-linux}/hwclock.sh | 0 meta/recipes-core/util-linux/util-linux_2.31.bb | 1 + 5 files changed, 22 insertions(+), 10 deletions(-) rename meta/recipes-core/{busybox/files => util-linux/util-linux}/hwclock.sh (100%) 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/util-linux/util-linux.inc b/meta/recipes-core/util-linux/util-linux.inc index 248e8bee95..7f86227811 100644 --- a/meta/recipes-core/util-linux/util-linux.inc +++ b/meta/recipes-core/util-linux/util-linux.inc @@ -19,13 +19,16 @@ LIC_FILES_CHKSUM = "file://README.licensing;md5=1715f5ee3e01203ca1e1e0b9ee65918c file://libblkid/COPYING;md5=fb93f01d4361069c5616327705373b16" #gtk-doc is not enabled as it requires xmlto which requires util-linux -inherit autotools gettext pkgconfig systemd update-alternatives python3-dir bash-completion ptest +inherit autotools gettext pkgconfig systemd update-alternatives update-rc.d python3-dir bash-completion ptest DEPENDS = "zlib ncurses" DEPENDS_append_class-native = " lzo-native" DEPENDS_append_class-nativesdk = " lzo-native" SRC_URI = "${KERNELORG_MIRROR}/linux/utils/util-linux/v${MAJOR_VERSION}/util-linux-${PV}.tar.xz \ " +INITSCRIPT_PACKAGES = "${PN}-hwclock-init" + +INITSCRIPT_NAME_${PN}-hwclock-init = "hwclock.sh" PACKAGES =+ "util-linux-agetty util-linux-fdisk util-linux-cfdisk util-linux-sfdisk \ util-linux-swaponoff util-linux-losetup util-linux-umount \ @@ -35,7 +38,9 @@ PACKAGES =+ "util-linux-agetty util-linux-fdisk util-linux-cfdisk util-linux-sfd util-linux-lsblk util-linux-mkfs.cramfs util-linux-fstrim \ util-linux-partx util-linux-hwclock util-linux-mountpoint \ util-linux-findfs util-linux-getopt util-linux-sulogin util-linux-prlimit \ - util-linux-ionice util-linux-switch-root" + util-linux-ionice util-linux-switch-root \ + util-linux-hwclock-init \ +" PACKAGES += "${@bb.utils.contains('PACKAGECONFIG', 'pylibmount', 'util-linux-pylibmount', '', d)}" PACKAGES =+ "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'util-linux-runuser util-linux-su', '', d)}" @@ -89,6 +94,7 @@ FILES_util-linux-uuidd = "${sbindir}/uuidd" FILES_util-linux-rfkill = "${base_bindir}/rfkill*" FILES_util-linux-partx = "${sbindir}/partx" FILES_util-linux-hwclock = "${base_sbindir}/hwclock.${BPN}" +FILES_util-linux-hwclock-init = "${sysconfdir}/init.d/hwclock.sh" FILES_util-linux-findfs = "${sbindir}/findfs" FILES_util-linux-getopt = "${base_bindir}/getopt.${BPN}" FILES_util-linux-runuser = "${sbindir}/runuser" @@ -193,6 +199,9 @@ do_install () { # and thus prevents the operation. ln -s su ${D}${sysconfdir}/pam.d/su-l fi + + install -d ${D}${sysconfdir}/init.d + install -m 0755 ${WORKDIR}/hwclock.sh ${D}${sysconfdir}/init.d/ } # nologin causes a conflict with shadow-native @@ -300,6 +309,7 @@ python populate_packages_prepend() { } RDEPENDS_${PN}-bash-completion += "util-linux-lsblk" +RDEPENDS_${PN}-hwclock += "util-linux-hwclock-init" RDEPENDS_${PN}-ptest = "bash grep coreutils which util-linux-blkid util-linux-fsck btrfs-tools" do_compile_ptest() { diff --git a/meta/recipes-core/busybox/files/hwclock.sh b/meta/recipes-core/util-linux/util-linux/hwclock.sh similarity index 100% rename from meta/recipes-core/busybox/files/hwclock.sh rename to meta/recipes-core/util-linux/util-linux/hwclock.sh diff --git a/meta/recipes-core/util-linux/util-linux_2.31.bb b/meta/recipes-core/util-linux/util-linux_2.31.bb index a83919b5ac..9d754de719 100644 --- a/meta/recipes-core/util-linux/util-linux_2.31.bb +++ b/meta/recipes-core/util-linux/util-linux_2.31.bb @@ -7,6 +7,7 @@ OLDHOST = "" OLDHOST_class-native = "file://util-linux-native-qsort.patch" SRC_URI += "file://configure-sbindir.patch \ + file://hwclock.sh \ file://runuser.pamd \ file://runuser-l.pamd \ ${OLDHOST} \ -- 2.11.0 -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core