1 DESCRIPTION = "Util-linux-ng is a suite of essential utilities for any Linux system."
4 DEPENDS = "udev zlib ncurses virtual/libintl"
6 inherit autotools_stage
7 AUTOTOOLS_STAGE_PKGCONFIG = "1"
9 DEFAULT_PREFERENCE = "-1"
11 # allows for a release candidate
14 SRC_URI = "${KERNELORG_MIRROR}/pub/linux/utils/util-linux-ng/v${PV}/util-linux-ng-${PV}${RC}.tar.bz2"
16 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 "
17 PACKAGES_DYNAMIC = "libblkid*"
19 FILES_${PN}-doc += "/usr/share/misc/getopt/getopt-*.*"
20 FILES_${PN} = "${bindir} ${sbindir} ${base_bindir} ${base_sbindir}"
22 FILES_util-linux-ng-fdisk = "/sbin/fdisk.${PN}"
23 FILES_util-linux-ng-cfdisk = "/sbin/cfdisk"
24 FILES_util-linux-ng-sfdisk = "/sbin/sfdisk"
25 FILES_util-linux-ng-swaponoff = "/sbin/swapon.${PN} /sbin/swapoff.${PN}"
26 FILES_util-linux-ng-losetup = "/sbin/losetup.${PN}"
27 FILES_util-linux-ng-mount = "/bin/mount.${PN} ${sysconfdir}/default/mountall"
28 FILES_util-linux-ng-umount = "/bin/umount.${PN}"
29 FILES_util-linux-ng-readprofile = "/usr/sbin/readprofile.${PN}"
31 RRECOMMENDS_${PN} = "util-linux-ng-fdisk util-linux-ng-cfdisk util-linux-ng-sfdisk util-linux-ng-mount util-linux-ng-readprofile "
32 RDEPENDS_${PN} = "util-linux-ng-umount util-linux-ng-swaponoff util-linux-ng-losetup"
34 EXTRA_OECONF = "--disable-use-tty-group --disable-makeinstall-chown \
35 --enable-kill --enable-last --enable-mesg --enable-raw --enable-login-utils \
36 --enable-arch --enable-init --enable-partx --enable-schedutils \
37 --with-fsprobe=builtin"
39 S = "${WORKDIR}/util-linux-ng-${PV}${RC}"
43 # install ${WORKDIR}/MCONFIG ${S}/MCONFIG
44 # install ${WORKDIR}/make_include ${S}/make_include
45 # install ${WORKDIR}/swapargs.h ${S}/mount/swapargs.h
46 # install ${WORKDIR}/defines.h ${S}/defines.h
47 oe_runmake ARCH=${TARGET_ARCH} CPU= CPUOPT= \
48 'OPT=${CFLAGS}' 'CC=${CC}' 'LD=${LD}' \
59 value="$(readlink "$link")"
60 if test "$value" = "$targ"
63 ln -s "$targ"."${PN}" "$link$ext"
66 echo "$link: '$value' found '$targ' expected" >&2
70 echo "$link: not a symbolic link" >&2
76 # with ccache the timestamps on compiled files may
77 # end up earlier than on their inputs, this allows
78 # for the resultant compilation in the install step.
79 oe_runmake ARCH=${TARGET_ARCH} CPU= CPUOPT= \
80 'OPT=${CFLAGS}' 'CC=${CC}' 'LD=${LD}' \
81 'LDFLAGS=${LDFLAGS}' 'DESTDIR=${D}' install
82 mkdir ${D}${base_bindir}
83 mkdir ${D}${base_sbindir}
84 test -f ${D}${sbindir}/pivot_root && \
85 mv ${D}${sbindir}/pivot_root ${D}${base_sbindir}/pivot_root.${PN}
86 mv ${D}${bindir}/dmesg ${D}${base_bindir}/dmesg.${PN}
87 mv ${D}${bindir}/kill ${D}${base_bindir}/kill.${PN}
88 mv ${D}${bindir}/more ${D}${base_bindir}/more.${PN}
89 mv ${D}${sbindir}/hwclock ${D}${base_sbindir}/hwclock.${PN}
90 mv ${D}${sbindir}/mkswap ${D}${base_sbindir}/mkswap.${PN}
91 mv ${D}${sbindir}/shutdown ${D}${base_sbindir}/shutdown.${PN}
92 # mv ${D}${sbindir}/sln ${D}${base_sbindir}/sln.${PN}
93 mv ${D}${sbindir}/mkfs.minix ${D}${base_sbindir}/mkfs.minix.${PN}
94 mv ${D}${sbindir}/fsck.minix ${D}${base_sbindir}/fsck.minix.${PN}
95 mv ${D}${bindir}/hexdump ${D}${bindir}/hexdump.${PN}
96 mv ${D}${bindir}/last ${D}${bindir}/last.${PN}
97 mv ${D}${bindir}/logger ${D}${bindir}/logger.${PN}
98 mv ${D}${bindir}/mesg ${D}${bindir}/mesg.${PN}
99 mv ${D}${bindir}/renice ${D}${bindir}/renice.${PN}
100 mv ${D}${bindir}/wall ${D}${bindir}/wall.${PN}
102 mv ${D}${sbindir}/losetup ${D}${base_sbindir}/losetup.${PN}
103 mv ${D}${sbindir}/swapon ${D}${base_sbindir}/swapon.${PN}
104 mv ${D}${bindir}/umount ${D}${base_bindir}/umount.${PN}
105 mv ${D}${bindir}/mount ${D}${base_bindir}/mount.${PN}
106 mv ${D}${sbindir}/fdisk ${D}${base_sbindir}/fdisk.${PN}
108 mv ${D}${sbindir}/agetty ${D}${base_sbindir}/
109 mv ${D}${sbindir}/blockdev ${D}${base_sbindir}/
110 mv ${D}${sbindir}/cfdisk ${D}${base_sbindir}/
111 mv ${D}${sbindir}/ctrlaltdel ${D}${base_sbindir}/
113 mv ${D}${sbindir}/readprofile ${D}${sbindir}/readprofile.${PN}
115 install -d ${D}${sysconfdir}/default/
116 echo 'MOUNTALL="-t nonfs,nosmbfs,noncpfs"' > ${D}${sysconfdir}/default/mountall
118 ln -sf ${sbindir}/swapon ${D}${sbindir}/swapoff.${PN}
119 ln -sf ${sbindir}/shutdown ${D}${sbindir}/reboot.${PN}
120 ln -sf ${sbindir}/shutdown ${D}${sbindir}/halt.${PN}
121 ln -sf ${sbindir}/shutdown ${D}${sbindir}/fastboot
122 ln -sf ${sbindir}/shutdown ${D}${sbindir}/fasthalt
125 python populate_packages_prepend () {
126 cv_libdir = bb.data.expand('${libdir}', d)
127 cv_libdir_dbg = bb.data.expand('${libdir}/.debug', d)
128 do_split_packages(d, cv_libdir, '^lib(.*)\.so$', 'lib%s-dev', 'util-linux-ng %s development package', extra_depends='${PN}-dev', allow_links=True)
129 do_split_packages(d, cv_libdir, '^lib(.*)\.la$', 'lib%s-dev', 'util-linux-ng %s development package', extra_depends='${PN}-dev')
130 do_split_packages(d, cv_libdir, '^lib(.*)\.a$', 'lib%s-dev', 'util-linux-ng %s development package', extra_depends='${PN}-dev')
131 do_split_packages(d, cv_libdir, '^lib(.*)\.so\.*', 'lib%s', 'util-linux-ng %s library', extra_depends='', allow_links=True)
135 pkg_postinst_${PN} () {
136 update-alternatives --install ${base_bindir}/dmesg dmesg dmesg.${PN} 100
137 update-alternatives --install ${base_bindir}/kill kill kill.${PN} 100
138 update-alternatives --install ${base_bindir}/more more more.${PN} 100
139 update-alternatives --install ${base_sbindir}/mkswap mkswap mkswap.${PN} 100
140 test -x ${base_sbindir}/pivot_root.${PN} && \
141 update-alternatives --install ${base_sbindir}/pivot_root pivot_root pivot_root.${PN} 100
142 update-alternatives --install ${base_sbindir}/sln sln sln.${PN} 100
143 update-alternatives --install ${base_sbindir}/mkfs.minix mkfs.minix mkfs.minix.${PN} 100
144 update-alternatives --install ${base_sbindir}/fsck.minix fsck.minix fsck.minix.${PN} 100
145 update-alternatives --install ${bindir}/hexdump hexdump hexdump.${PN} 100
146 update-alternatives --install ${bindir}/last last last.${PN} 100
147 update-alternatives --install ${bindir}/logger logger logger.${PN} 100
148 update-alternatives --install ${bindir}/mesg mesg mesg.${PN} 100
149 update-alternatives --install ${bindir}/renice renice renice.${PN} 100
150 update-alternatives --install ${bindir}/wall wall wall.${PN} 100
152 # There seems to be problem, atleast on nslu2, with these, until they are
153 # fixed the busybox ones have higher priority
154 update-alternatives --install ${base_sbindir}/hwclock hwclock hwclock.${PN} 10
155 update-alternatives --install ${base_sbindir}/shutdown shutdown shutdown.${PN} 10
156 update-alternatives --install ${base_sbindir}/reboot reboot reboot.${PN} 10
157 update-alternatives --install ${base_sbindir}/halt halt halt.${PN} 10
161 test -x ${base_sbindir}/pivot_root.${PN} && \
162 update-alternatives --remove pivot_root pivot_root.${PN}
163 update-alternatives --remove dmesg dmesg.${PN}
164 update-alternatives --remove kill kill.${PN}
165 update-alternatives --remove more more.${PN}
166 update-alternatives --remove halt halt.${PN}
167 update-alternatives --remove hwclock hwclock.${PN}
168 update-alternatives --remove mkswap mkswap.${PN}
169 update-alternatives --remove reboot reboot.${PN}
170 update-alternatives --remove shutdown shutdown.${PN}
171 update-alternatives --remove sln sln.${PN}
172 update-alternatives --remove mkfs.minix mkfs.minix.${PN}
173 update-alternatives --remove fsck.minix fsck.minix.${PN}
174 update-alternatives --remove hexdump hexdump.${PN}
175 update-alternatives --remove last last.${PN}
176 update-alternatives --remove logger logger.${PN}
177 update-alternatives --remove mesg mesg.${PN}
178 update-alternatives --remove renice renice.${PN}
179 update-alternatives --remove wall wall.${PN}
182 pkg_postinst_util-linux-ng-fdisk () {
183 update-alternatives --install ${base_sbindir}/fdisk fdisk fdisk.${PN} 100
186 pkg_prerm_util-linux-ng-fdisk () {
187 update-alternatives --remove fdisk fdisk.${PN}
190 pkg_postinst_util-linux-ng-mount () {
191 update-alternatives --install ${base_bindir}/mount mount mount.${PN} 100
194 pkg_prerm_util-linux-ng-mount () {
195 update-alternatives --remove mount mount.${PN}
198 pkg_postinst_util-linux-ng-umount () {
199 update-alternatives --install ${base_bindir}/umount umount umount.${PN} 100
202 pkg_prerm_util-linux-ng-umount () {
203 update-alternatives --remove umount umount.${PN}
206 pkg_postinst_util-linux-ng-losetup () {
207 update-alternatives --install ${base_sbindir}/losetup losetup losetup.${PN} 100
210 pkg_prerm_util-linux-ng-losetup () {
211 update-alternatives --remove losetup losetup.${PN}
214 pkg_postinst_util-linux-ng-swaponoff () {
215 update-alternatives --install ${base_sbindir}/swapoff swapoff swapoff.${PN} 100
216 update-alternatives --install ${base_sbindir}/swapon swapon swapon.${PN} 100
219 pkg_prerm_util-linux-ng-swaponoff () {
220 update-alternatives --remove swapoff swapoff.${PN}
221 update-alternatives --remove swapon swapon.${PN}
224 pkg_postinst_util-linux-ng-readprofile() {
225 update-alternatives --install ${sbindir}/readprofile readprofile readprofile.${PN} 100
228 pkg_prerm_util-linux-ng-readprofile () {
229 update-alternatives --remove readprofile readprofile.${PN} 100