pango: remove elfutis dep
[openembedded.git] / recipes / util-linux-ng / util-linux-ng.inc
index 01e769e..e4acd36 100644 (file)
@@ -1,45 +1,91 @@
 DESCRIPTION = "Util-linux-ng is a suite of essential utilities for any Linux system."
 SECTION = "base"
 LICENSE = "GPL"
-DEPENDS = "udev zlib ncurses e2fsprogs-libs virtual/libintl"
+DEPENDS = "udev zlib ncurses virtual/libintl"
+DEPENDS_virtclass-native = "zlib-native ncurses-native lzo-native"
 
 inherit autotools
 
 DEFAULT_PREFERENCE = "-1"
 
+INC_PR = "r20"
+
 # allows for a release candidate
 RC ?= ""
 
-SRC_URI = "${KERNELORG_MIRROR}/pub/linux/utils/util-linux-ng/v${PV}/util-linux-ng-${PV}${RC}.tar.bz2"
+SRC_URI = "${KERNELORG_MIRROR}/pub/linux/utils/util-linux-ng/v${PV}/util-linux-ng-${PV}${RC}.tar.bz2;name=archive"
 
-PACKAGES =+ "util-linux-ng-fdisk util-linux-ng-cfdisk util-linux-ng-sfdisk util-linux-ng-swaponoff util-linux-ng-losetup util-linux-ng-umount util-linux-ng-mount util-linux-ng-readprofile "
+SRC_URI_append_chinook-compat = " file://chinook_libtool.patch;patch=1 "
 
-FILES_${PN}-doc += "/usr/share/misc/getopt/getopt-*.*"
+PACKAGES =+ "${PN}-fdisk ${PN}-cfdisk ${PN}-sfdisk ${PN}-swaponoff \
+            ${PN}-losetup ${PN}-umount ${PN}-mount ${PN}-readprofile \
+            ${PN}-fsck ${PN}-blkid ${PN}-mountall"
+
+PACKAGES_virtclass-native = ""      
 
-FILES_util-linux-ng-fdisk = "/sbin/fdisk.${PN}"
-FILES_util-linux-ng-cfdisk = "/sbin/cfdisk"
-FILES_util-linux-ng-sfdisk = "/sbin/sfdisk"
-FILES_util-linux-ng-swaponoff = "/sbin/swapon.${PN} /sbin/swapoff.${PN}"
-FILES_util-linux-ng-losetup = "/sbin/losetup.${PN}"
-FILES_util-linux-ng-mount = "/bin/mount.${PN} ${sysconfdir}/default/mountall"
-FILES_util-linux-ng-umount = "/bin/umount.${PN}"
-FILES_util-linux-ng-readprofile = "/usr/sbin/readprofile.${PN}"
+PACKAGES_DYNAMIC = "libblkid* libuuid*"
 
-RRECOMMENDS_${PN} = "util-linux-ng-fdisk util-linux-ng-cfdisk util-linux-ng-sfdisk util-linux-ng-mount util-linux-ng-readprofile "
-RDEPENDS_${PN} = "util-linux-ng-umount util-linux-ng-swaponoff util-linux-ng-losetup"
+# Provide old util-linux names (several recipes still use DEPENDS or RDEPENDS = "util-linux"):
+PROVIDES = "util-linux"
+RPROVIDES_${PN} = "util-linux"
+RPROVIDES_util-linux-ng-fdisk = "util-linux-fdisk"
+RPROVIDES_util-linux-ng-cfdisk = "util-linux-cfdisk"
+RPROVIDES_util-linux-ng-sfdisk = "util-linux-sfdisk"
+RPROVIDES_util-linux-ng-swaponoff = "util-linux-swaponoff"
+RPROVIDES_util-linux-ng-losetup = "util-linux-losetup"
+RPROVIDES_util-linux-ng-umount = "util-linux-umount"
+RPROVIDES_util-linux-ng-mount = "util-linux-mount"
+RPROVIDES_util-linux-ng-readprofile = "util-linux-readprofile"
+RPROVIDES_util-linux-ng-fsck = "e2fsprogs-fsck"
+RPROVIDES_util-linux-ng-blkid = "e2fsprogs-blkid"
+
+FILES_${PN}-doc += "/usr/share/misc/getopt/getopt-*.*"
+FILES_${PN} = "${bindir} ${sbindir} ${base_bindir} ${base_sbindir}"
+
+FILES_util-linux-ng-fdisk = "${base_sbindir}/fdisk.${PN}"
+FILES_util-linux-ng-cfdisk = "${base_sbindir}/cfdisk"
+# Moved to ${sbindir} in new versions:
+FILES_util-linux-ng-sfdisk = "${base_sbindir}/sfdisk ${sbindir}/sfdisk"
+FILES_util-linux-ng-swaponoff = "${base_sbindir}/swapon.${PN} ${base_sbindir}/swapoff.${PN}"
+FILES_util-linux-ng-losetup = "${base_sbindir}/losetup.${PN}"
+FILES_util-linux-ng-mount = "${base_bindir}/mount.${PN} ${sysconfdir}/default/mountall"
+FILES_util-linux-ng-umount = "${base_bindir}/umount.${PN}"
+# Moved to ${base_sbindir} by do_install:
+FILES_util-linux-ng-readprofile = "${base_sbindir}/readprofile.${PN}"
+FILES_util-linux-ng-fsck = "${base_sbindir}/fsck.${PN}"
+FILES_util-linux-ng-blkid = "${sbindir}/blkid"
+FILES_${PN}-mountall = "${sysconfdir}/default/mountall.${PN}"
+
+RREPLACES_util-linux-ng-blkid = "e2fsprogs-blkid"
+RREPLACES_${PN}-mountall = "busybox-mountall"
+
+RRECOMMENDS_${PN} = "${PN}-fdisk ${PN}-cfdisk ${PN}-sfdisk ${PN}-mount ${PN}-readprofile"
+RDEPENDS_${PN} = "${PN}-mountall ${PN}-umount ${PN}-swaponoff ${PN}-losetup ${PN}-fsck ${PN}-blkid"
+
+RRECOMMENDS_${PN}_virtclass-native = ""
+RDEPENDS_${PN}_virtclass-native = ""
 
 EXTRA_OECONF = "--disable-use-tty-group --disable-makeinstall-chown \
 --enable-kill --enable-last --enable-mesg --enable-raw --enable-login-utils \
---enable-arch --enable-init"
+--enable-arch --enable-init --enable-partx --enable-schedutils \
+--with-fsprobe=builtin --enable-libuuid --enable-libblkid \
+--enable-fsck --enable-reset"
+
+LDFLAGS_append_libc-uclibc = " -lintl"
+LDFLAGS_virtclass-native = "${BUILD_LDFLAGS}"
 
 S = "${WORKDIR}/util-linux-ng-${PV}${RC}"
 
+do_configure_prepend_chinook-compat () {
+
+        for i in  lt~obsolete.m4 ltsugar.m4 libtool.m4 ltoptions.m4 ltversion.m4
+        do
+                rm ${S}/m4/${i}
+        done
+}
+
 do_compile () {
        set -e
-#      install ${WORKDIR}/MCONFIG ${S}/MCONFIG
-#      install ${WORKDIR}/make_include ${S}/make_include
-#      install ${WORKDIR}/swapargs.h ${S}/mount/swapargs.h
-#      install ${WORKDIR}/defines.h ${S}/defines.h
        oe_runmake ARCH=${TARGET_ARCH} CPU= CPUOPT= \
                'OPT=${CFLAGS}' 'CC=${CC}' 'LD=${LD}' \
                'LDFLAGS=${LDFLAGS}'
@@ -75,49 +121,70 @@ do_install () {
        oe_runmake ARCH=${TARGET_ARCH} CPU= CPUOPT= \
                'OPT=${CFLAGS}' 'CC=${CC}' 'LD=${LD}' \
                'LDFLAGS=${LDFLAGS}' 'DESTDIR=${D}' install
-       mkdir ${D}${base_bindir}
-       mkdir ${D}${base_sbindir}
-       test -f ${D}${sbindir}/pivot_root && \
-       mv ${D}${sbindir}/pivot_root ${D}${base_sbindir}/pivot_root.${PN}
-       mv ${D}${bindir}/dmesg ${D}${base_bindir}/dmesg.${PN}
-       mv ${D}${bindir}/kill ${D}${base_bindir}/kill.${PN}
-       mv ${D}${bindir}/more ${D}${base_bindir}/more.${PN}
-       mv ${D}${sbindir}/hwclock ${D}${base_sbindir}/hwclock.${PN}
-       mv ${D}${sbindir}/mkswap ${D}${base_sbindir}/mkswap.${PN}
-       mv ${D}${sbindir}/shutdown ${D}${base_sbindir}/shutdown.${PN}
-#      mv ${D}${sbindir}/sln ${D}${base_sbindir}/sln.${PN}
-       mv ${D}${sbindir}/mkfs.minix ${D}${base_sbindir}/mkfs.minix.${PN}
-       mv ${D}${sbindir}/fsck.minix ${D}${base_sbindir}/fsck.minix.${PN}
-       mv ${D}${bindir}/hexdump ${D}${bindir}/hexdump.${PN}
-       mv ${D}${bindir}/last ${D}${bindir}/last.${PN}
-       mv ${D}${bindir}/logger ${D}${bindir}/logger.${PN}
-       mv ${D}${bindir}/mesg ${D}${bindir}/mesg.${PN}
-       mv ${D}${bindir}/renice ${D}${bindir}/renice.${PN}
-       mv ${D}${bindir}/wall ${D}${bindir}/wall.${PN}
-
-       mv ${D}${sbindir}/losetup ${D}${base_sbindir}/losetup.${PN}
-       mv ${D}${sbindir}/swapon ${D}${base_sbindir}/swapon.${PN}
-       mv ${D}${bindir}/umount ${D}${base_bindir}/umount.${PN}
-       mv ${D}${bindir}/mount ${D}${base_bindir}/mount.${PN}
-       mv ${D}${sbindir}/fdisk ${D}${base_sbindir}/fdisk.${PN}
-
-       mv ${D}${sbindir}/agetty ${D}${base_sbindir}/ 
-       mv ${D}${sbindir}/blockdev ${D}${base_sbindir}/
-       mv ${D}${sbindir}/cfdisk ${D}${base_sbindir}/
-       mv ${D}${sbindir}/ctrlaltdel ${D}${base_sbindir}/
-
-       mv ${D}${sbindir}/readprofile ${D}${sbindir}/readprofile.${PN}
-       
+       mkdir -p ${D}${base_bindir}
+
+        sbinprogs="agetty blockdev ctrlaltdel cfdisk vipw vigr"
+        sbinprogs_a="pivot_root hwclock mkswap shutdown mkfs.minix fsck.minix losetup swapon fdisk readprofile fsck"
+        usrbinprogs_a="chfn chsh hexdump last logger mesg newgrp renice wall"
+        binprogs_a="dmesg kill more umount mount login reset"
+
+        if [ "${base_sbindir}" != "${sbindir}" ]; then
+               mkdir -p ${D}${base_sbindir}
+                for p in $sbinprogs $sbinprogs_a; do
+                        if [ -f "${D}${sbindir}/$p" ]; then
+                                mv "${D}${sbindir}/$p" "${D}${base_sbindir}/$p"
+                        fi
+                done
+        fi
+
+        if [ "${base_bindir}" != "${bindir}" ]; then
+               mkdir -p ${D}${base_bindir}
+                for p in $binprogs_a; do
+                        if [ -f "${D}${bindir}/$p" ]; then
+                                mv "${D}${bindir}/$p" "${D}${base_bindir}/$p"
+                        fi
+                done
+        fi
+
+        for p in $usrbinprogs_a; do
+                if [ -f "${D}${bindir}/$p" ]; then
+                        mv "${D}${bindir}/$p" "${D}${bindir}/$p.${PN}"
+                fi
+        done
+
+        for p in $binprogs_a; do
+                if [ -f "${D}${base_bindir}/$p" ]; then
+                        mv "${D}${base_bindir}/$p" "${D}${base_bindir}/$p.${PN}"
+                fi
+        done
+
+        for p in $sbinprogs_a; do
+                if [ -f "${D}${base_sbindir}/$p" ]; then
+                        mv "${D}${base_sbindir}/$p" "${D}${base_sbindir}/$p.${PN}"
+                fi
+        done
+
        install -d ${D}${sysconfdir}/default/
-       echo 'MOUNTALL="-t nonfs,nosmbfs,noncpfs"' > ${D}${sysconfdir}/default/mountall
+       echo 'MOUNTALL="-t nonfs,nosmbfs,noncpfs"' > ${D}${sysconfdir}/default/mountall.${PN}
 
-       ln -sf ${sbindir}/swapon ${D}${sbindir}/swapoff.${PN}
+       rm ${D}${sbindir}/swapoff -f
+       ln -sf ${base_sbindir}/swapon.${PN} ${D}${base_sbindir}/swapoff.${PN}
        ln -sf ${sbindir}/shutdown ${D}${sbindir}/reboot.${PN}
        ln -sf ${sbindir}/shutdown ${D}${sbindir}/halt.${PN}
        ln -sf ${sbindir}/shutdown ${D}${sbindir}/fastboot
        ln -sf ${sbindir}/shutdown ${D}${sbindir}/fasthalt
 }
 
+python populate_packages_prepend () {
+       ulinxng_libdir = bb.data.expand('${libdir}', d)
+       ulinxng_libdir_dbg = bb.data.expand('${libdir}/.debug', d)
+       do_split_packages(d, ulinxng_libdir, '^lib(.*)\.so$', 'lib%s-dev', 'util-linux-ng %s development package', extra_depends='${PN}-dev', allow_links=True)
+       do_split_packages(d, ulinxng_libdir, '^lib(.*)\.la$', 'lib%s-dev', 'util-linux-ng %s development package', extra_depends='${PN}-dev')
+       do_split_packages(d, ulinxng_libdir, '^lib(.*)\.a$', 'lib%s-dev', 'util-linux-ng %s development package', extra_depends='${PN}-dev')
+       do_split_packages(d, ulinxng_libdir, '^lib(.*)\.so\.*', 'lib%s', 'util-linux-ng %s library', extra_depends='', allow_links=True)
+}
+
+
 pkg_postinst_${PN} () {
        update-alternatives --install ${base_bindir}/dmesg dmesg dmesg.${PN} 100
        update-alternatives --install ${base_bindir}/kill kill kill.${PN} 100
@@ -134,6 +201,13 @@ pkg_postinst_${PN} () {
        update-alternatives --install ${bindir}/mesg mesg mesg.${PN} 100
        update-alternatives --install ${bindir}/renice renice renice.${PN} 100
        update-alternatives --install ${bindir}/wall wall wall.${PN} 100
+       update-alternatives --install ${bindir}/chfn chfn chfn.${PN} 100
+       update-alternatives --install ${bindir}/newgrp newgrp newgrp.${PN} 100
+       update-alternatives --install ${bindir}/chsh chsh chsh.${PN} 100
+       update-alternatives --install ${base_bindir}/login login login.${PN} 100
+       update-alternatives --install ${base_sbindir}/vipw vipw vipw.${PN} 100
+       update-alternatives --install ${base_sbindir}/vigr vigr vigr.${PN} 100
+       update-alternatives --install ${bindir}/reset reset reset.${PN} 100
        
        # There seems to be problem, atleast on nslu2, with these, until they are
        # fixed the busybox ones have higher priority
@@ -146,23 +220,10 @@ pkg_postinst_${PN} () {
 pkg_prerm_${PN} () {
        test -x ${base_sbindir}/pivot_root.${PN} && \
        update-alternatives --remove pivot_root pivot_root.${PN}
-       update-alternatives --remove dmesg dmesg.${PN}
-       update-alternatives --remove kill kill.${PN}
-       update-alternatives --remove more more.${PN}
-       update-alternatives --remove halt halt.${PN}
-       update-alternatives --remove hwclock hwclock.${PN}
-       update-alternatives --remove mkswap mkswap.${PN}
-       update-alternatives --remove reboot reboot.${PN}
-       update-alternatives --remove shutdown shutdown.${PN}
-       update-alternatives --remove sln sln.${PN}
-       update-alternatives --remove mkfs.minix mkfs.minix.${PN}
-       update-alternatives --remove fsck.minix fsck.minix.${PN}
-       update-alternatives --remove hexdump hexdump.${PN}
-       update-alternatives --remove last last.${PN}
-       update-alternatives --remove logger logger.${PN}
-       update-alternatives --remove mesg mesg.${PN}
-       update-alternatives --remove renice renice.${PN}
-       update-alternatives --remove wall wall.${PN}
+
+       for i in dmesg kill more halt hwclock mkswap reboot shutdown sln mkfs.minix fsck.minix hecdump last logger mesg renice wall vipw vigr chfn newgrp chsh login reset; do
+               update-alternatives --remove $i $i.${PN}
+       done
 }
 
 pkg_postinst_util-linux-ng-fdisk () {
@@ -198,12 +259,12 @@ pkg_prerm_util-linux-ng-losetup () {
 }
 
 pkg_postinst_util-linux-ng-swaponoff () {
-       update-alternatives --install ${base_sbindir}/swapoff swapoff swapoff.${PN} 100
+       update-alternatives --install ${base_sbindir}/swapoff swapoff swapon.${PN} 100
        update-alternatives --install ${base_sbindir}/swapon swapon swapon.${PN} 100
 }
 
 pkg_prerm_util-linux-ng-swaponoff () {
-       update-alternatives --remove swapoff swapoff.${PN}
+       update-alternatives --remove swapoff swapon.${PN}
        update-alternatives --remove swapon swapon.${PN}
 }
 
@@ -215,3 +276,19 @@ pkg_prerm_util-linux-ng-readprofile () {
     update-alternatives --remove readprofile readprofile.${PN} 100
 }
 
+pkg_postinst_util-linux-ng-mountall () {
+        update-alternatives --install ${sysconfdir}/default/mountall default_mountall mountall.${PN} 100
+}
+pkg_prerm_util-linux-ng-mountall () {
+        update-alternatives --remove default_mountall mountall.${PN}
+}
+
+pkg_postinst_util-linux-ng-fsck () {
+       update-alternatives --install ${base_sbindir}/fsck fsck fsck.${PN} 100
+}
+
+pkg_prerm_util-linux-ng-fsck () {
+       update-alternatives --remove fsck fsck.${PN}
+}
+
+BBCLASSEXTEND = "native"