diff options
Diffstat (limited to 'meta/recipes-core/util-linux/util-linux.inc')
-rw-r--r-- | meta/recipes-core/util-linux/util-linux.inc | 75 |
1 files changed, 44 insertions, 31 deletions
diff --git a/meta/recipes-core/util-linux/util-linux.inc b/meta/recipes-core/util-linux/util-linux.inc index ffb84c4b64..10b14b335a 100644 --- a/meta/recipes-core/util-linux/util-linux.inc +++ b/meta/recipes-core/util-linux/util-linux.inc @@ -17,27 +17,25 @@ LIC_FILES_CHKSUM = "file://README.licensing;md5=1715f5ee3e01203ca1e1e0b9ee65918c file://libmount/COPYING;md5=fb93f01d4361069c5616327705373b16 \ file://libblkid/COPYING;md5=fb93f01d4361069c5616327705373b16" -inherit autotools gettext pkgconfig systemd +inherit autotools gettext pkgconfig systemd update-alternatives python-dir 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 \ - file://MCONFIG \ - file://defines.h \ - file://make_include \ - file://swapargs.h \ " PACKAGES =+ "util-linux-agetty util-linux-fdisk util-linux-cfdisk util-linux-sfdisk \ util-linux-swaponoff util-linux-losetup util-linux-umount \ - util-linux-mount util-linux-readprofile util-linux-libblkid \ - util-linux-libmount util-linux-libuuid util-linux-uuidd \ + util-linux-mount util-linux-readprofile util-linux-uuidd \ util-linux-uuidgen util-linux-lscpu util-linux-fsck util-linux-blkid \ util-linux-mkfs util-linux-mcookie util-linux-reset \ util-linux-mkfs.cramfs util-linux-fsck.cramfs util-linux-fstrim \ util-linux-partx ${PN}-bash-completion util-linux-hwclock \ - util-linux-findfs" + util-linux-findfs util-linux-getopt" +PACKAGES += "${@bb.utils.contains('PACKAGECONFIG', 'pylibmount', 'util-linux-pylibmount', '', d)}" + +PACKAGES_DYNAMIC = "^util-linux-lib.*" SHARED_EXTRA_OECONF = "--disable-use-tty-group \ --disable-makeinstall-chown \ @@ -51,19 +49,24 @@ SHARED_EXTRA_OECONF = "--disable-use-tty-group \ EXTRA_OECONF = "${SHARED_EXTRA_OECONF} --libdir=${base_libdir}" -PACKAGECONFIG_class-target ?= "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', '', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} " +PACKAGECONFIG_class-target ?= "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', '', d)}" PACKAGECONFIG[pam] = "--enable-su --enable-runuser,--disable-su --disable-runuser, libpam," # Respect the systemd feature for uuidd -PACKAGECONFIG[systemd] = "--enable-socket-activation --with-systemdsystemunitdir=${systemd_unitdir}/system/, --disable-socket-activation --without-systemdsystemunitdir" +PACKAGECONFIG[systemd] = "--with-systemd --with-systemdsystemunitdir=${systemd_unitdir}/system/, --without-systemd --without-systemdsystemunitdir,systemd" # Build setpriv requires libcap-ng PACKAGECONFIG[libcap-ng] = "--enable-setpriv,--disable-setpriv,libcap-ng," +# Build python bindings for libmount +PACKAGECONFIG[pylibmount] = "--with-python --enable-pylibmount,--without-python --disable-pylibmount,python" + FILES_${PN}-bash-completion += "${datadir}/bash-completion" FILES_${PN}-doc += "${datadir}/getopt/getopt-*.*" +FILES_${PN}-dev += "${libdir}/${PYTHON_DIR}/dist-packages/libmount/pylibmount.la" +FILES_${PN}-dbg += "${libdir}/${PYTHON_DIR}/dist-packages/libmount/.debug/" + FILES_util-linux-agetty = "${base_sbindir}/agetty" FILES_util-linux-fdisk = "${base_sbindir}/fdisk.${BPN}" FILES_util-linux-fstrim = "${base_sbindir}/fstrim" @@ -74,17 +77,17 @@ FILES_util-linux-losetup = "${base_sbindir}/losetup.${BPN}" FILES_util-linux-mount = "${base_bindir}/mount.${BPN}" FILES_util-linux-mcookie = "${bindir}/mcookie" FILES_util-linux-umount = "${base_bindir}/umount.${BPN}" -FILES_util-linux-readprofile = "${base_sbindir}/readprofile.${BPN}" +FILES_util-linux-readprofile = "${sbindir}/readprofile.${BPN}" FILES_util-linux-uuidgen = "${bindir}/uuidgen" FILES_util-linux-uuidd = "${sbindir}/uuidd" FILES_util-linux-reset = "${base_bindir}/reset" FILES_util-linux-partx = "${sbindir}/partx" FILES_util-linux-hwclock = "${base_sbindir}/hwclock.${BPN}" FILES_util-linux-findfs = "${sbindir}/findfs" +FILES_util-linux-getopt = "${base_bindir}/getopt.${BPN}" -FILES_util-linux-libblkid = "${base_libdir}/libblkid.so.*" -FILES_util-linux-libmount = "${base_libdir}/libmount.so.*" -FILES_util-linux-libuuid = "${base_libdir}/libuuid.so.*" +FILES_util-linux-pylibmount = "${libdir}/${PYTHON_DIR}/dist-packages/libmount/pylibmount.so \ + ${libdir}/${PYTHON_DIR}/dist-packages/libmount/__init__.*" FILES_util-linux-lscpu = "${bindir}/lscpu" FILES_util-linux-fsck = "${base_sbindir}/fsck*" @@ -93,7 +96,6 @@ FILES_util-linux-mkfs = "${sbindir}/mkfs" FILES_util-linux-fsck.cramfs = "${sbindir}/fsck.cramfs" FILES_util-linux-mkfs.cramfs = "${sbindir}/mkfs.cramfs" - # Util-linux' blkid replaces the e2fsprogs one FILES_util-linux-blkid = "${base_sbindir}/blkid*" RCONFLICTS_util-linux-blkid = "e2fsprogs-blkid" @@ -112,15 +114,14 @@ RDEPENDS_${PN}_class-nativesdk = "" RPROVIDES_${PN}-dev = "util-linux-libblkid-dev util-linux-libmount-dev util-linux-libuuid-dev" -SYSTEMD_PACKAGES = "${PN}-uuidd" -SYSTEMD_SERVICE_${PN}-uuidd = "uuidd.service" +#SYSTEMD_PACKAGES = "${PN}-uuidd ${PN}-fstrim" +SYSTEMD_SERVICE_${PN}-uuidd = "uuidd.socket uuidd.service" +SYSTEMD_AUTO_ENABLE_${PN}-uuidd = "disable" +SYSTEMD_SERVICE_${PN}-fstrim = "fstrim.timer fstrim.service" +SYSTEMD_AUTO_ENABLE_${PN}-fstrim = "disable" do_compile () { set -e - install ${WORKDIR}/MCONFIG ${S}/MCONFIG - install ${WORKDIR}/make_include ${S}/make_include - install ${WORKDIR}/swapargs.h ${S}/mount-deprecated/swapargs.h - install ${WORKDIR}/defines.h ${S}/defines.h oe_runmake ARCH=${TARGET_ARCH} CPU= CPUOPT= 'OPT=${CFLAGS}' } @@ -135,9 +136,8 @@ do_install () { mkdir -p ${D}${base_bindir} sbinprogs="agetty ctrlaltdel cfdisk vipw vigr" - sbinprogs_a="pivot_root hwclock mkswap mkfs.minix fsck.minix losetup swapon swapoff fdisk readprofile fsck blkid blockdev fstrim sulogin" - usrbinprogs_a="chfn chsh hexdump last logger mesg newgrp renice utmpdump wall setsid chrt flock getopt" - binprogs_a="dmesg kill more umount mount login reset su" + sbinprogs_a="pivot_root hwclock mkswap mkfs.minix fsck.minix losetup swapon swapoff fdisk fsck blkid blockdev fstrim sulogin switch_root" + binprogs_a="dmesg getopt kill more umount mount login reset su" if [ "${base_sbindir}" != "${sbindir}" ]; then mkdir -p ${D}${base_sbindir} @@ -163,13 +163,17 @@ do_install () { rm -f ${D}${bindir}/chkdupexe } -inherit update-alternatives +# reset and nologin causes a conflict with ncurses-native and shadow-native +do_install_append_class-native () { + rm -f ${D}${base_bindir}/reset + rm -f ${D}${base_sbindir}/nologin +} ALTERNATIVE_PRIORITY = "100" -ALTERNATIVE_${PN} = "dmesg kill more mkswap blockdev pivot_root" +ALTERNATIVE_${PN} = "dmesg kill more mkswap blockdev pivot_root switch_root" ALTERNATIVE_${PN} += "mkfs.minix hexdump last logger mesg renice wall" -ALTERNATIVE_${PN} += "setsid chrt flock utmpdump eject getopt sulogin" +ALTERNATIVE_${PN} += "setsid chrt flock utmpdump eject sulogin" ALTERNATIVE_LINK_NAME[dmesg] = "${base_bindir}/dmesg" ALTERNATIVE_LINK_NAME[kill] = "${base_bindir}/kill" @@ -177,11 +181,10 @@ ALTERNATIVE_LINK_NAME[more] = "${base_bindir}/more" ALTERNATIVE_LINK_NAME[mkswap] = "${base_sbindir}/mkswap" ALTERNATIVE_LINK_NAME[blockdev] = "${base_sbindir}/blockdev" ALTERNATIVE_LINK_NAME[pivot_root] = "${base_sbindir}/pivot_root" +ALTERNATIVE_LINK_NAME[switch_root] = "${base_sbindir}/switch_root" ALTERNATIVE_LINK_NAME[mkfs.minix] = "${base_sbindir}/mkfs.minix" ALTERNATIVE_LINK_NAME[eject] = "${bindir}/eject" -ALTERNATIVE_LINK_NAME[getopt] = "${base_bindir}/getopt" ALTERNATIVE_LINK_NAME[sulogin] = "${base_sbindir}/sulogin" -ALTERNATIVE_TARGET[getopt] = "${bindir}/getopt" ALTERNATIVE_${PN}-doc = "mountpoint.1 last.1 mesg.1 wall.1 sulogin.8 utmpdump.1 reset.1" @@ -213,7 +216,7 @@ ALTERNATIVE_util-linux-umount = "umount" ALTERNATIVE_LINK_NAME[umount] = "${base_bindir}/umount" ALTERNATIVE_util-linux-readprofile = "readprofile" -ALTERNATIVE_LINK_NAME[readprofile] = "${base_sbindir}/readprofile" +ALTERNATIVE_LINK_NAME[readprofile] = "${sbindir}/readprofile" ALTERNATIVE_util-linux-losetup = "losetup" ALTERNATIVE_LINK_NAME[losetup] = "${base_sbindir}/losetup" @@ -233,6 +236,9 @@ ALTERNATIVE_util-linux-reset = "reset" ALTERNATIVE_LINK_NAME[reset] = "${bindir}/reset" ALTERNATIVE_TARGET[reset] = "${base_bindir}/reset" +ALTERNATIVE_util-linux-getopt = "getopt" +ALTERNATIVE_LINK_NAME[getopt] = "${base_bindir}/getopt" + BBCLASSEXTEND = "native nativesdk" python do_package_prepend () { @@ -241,3 +247,10 @@ python do_package_prepend () { d.setVarFlag('ALTERNATIVE_LINK_NAME', alt_name, '%s/%s' % (d.getVar('base_bindir', True), alt_name)) d.appendVar('ALTERNATIVE_%s' % (d.getVar('PN', True)), ' ' + alt_name) } + +python populate_packages_prepend() { + do_split_packages(d, '${base_libdir}', '^lib(.*)\.so\..*$', + output_pattern='util-linux-lib%s', + description='util-linux lib%s', + extra_depends='', prepend=True, allow_links=True) +} |