[oe] [patch] util-linux-ng: repair do_install for prefix=/

Phil Blundell pb at reciva.com
Sat Jun 13 09:26:08 UTC 2009


The current util-linux recipe loses quite badly if ${sbindir} and
${base_sbindir} are the same location.  I think this patch should
correct the behaviour, but there didn't seem to be any clear pattern to
which files should go where and hence I'm not quite sure that I've got
it right.

p.

--

diff --git a/recipes/util-linux-ng/util-linux-ng.inc b/recipes/util-linux-ng/util-linux-ng.inc
index 7e949d1..ae2742c 100644
--- a/recipes/util-linux-ng/util-linux-ng.inc
+++ b/recipes/util-linux-ng/util-linux-ng.inc
@@ -83,39 +83,42 @@ 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 blkdev ctrlaltdel cfdisk"
+        sbinprogs_a="pivot_root hwclock mkswap shutdown mkfs.minix fsck.minix losetup swapon fdisk readprofile"
+        binprogs_a="dmesg kill more hexdump last logger mesg renice wall umount mount"
+
+        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 $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
 






More information about the Openembedded-devel mailing list