util-linux: split libraries dynamically

util-linux has a number of utility libraries and not noticing a new one being
added in an upgrade results in many of the split-out core tools depending on the
entire package for the library.  To prevent this happening in the future do the
library packaging dynamically.

As a side-effect libsmartcols.so is no longer packaged in util-linux so
util-linux-fdisk no longer depends on the full util-linux.

(From OE-Core rev: a7572d7000bbc5739a1f0bec466dbcf856606f12)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Ross Burton
2015-03-11 13:40:05 +00:00
committed by Richard Purdie
parent b14dd6a177
commit 73dca1ed8c

View File

@@ -27,8 +27,7 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/utils/util-linux/v${MAJOR_VERSION}/util-lin
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 \
@@ -36,6 +35,8 @@ PACKAGES =+ "util-linux-agetty util-linux-fdisk util-linux-cfdisk util-linux-sfd
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 \
--enable-kill --enable-last --enable-mesg --enable-partx \
@@ -85,11 +86,8 @@ 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-pylibmount = "${libdir}/${PYTHON_DIR}/dist-packages/libmount/pylibmount.so \
${libdir}/${PYTHON_DIR}/dist-packages/libmount/__init__.*"
FILES_util-linux-libuuid = "${base_libdir}/libuuid.so.*"
FILES_util-linux-lscpu = "${bindir}/lscpu"
FILES_util-linux-fsck = "${base_sbindir}/fsck*"
@@ -243,3 +241,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)
}