util-linux.inc 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195
  1. SUMMARY = "A suite of basic system administration utilities."
  2. DESCRIPTION = "Util-linux includes a suite of basic system administration utilities \
  3. commonly found on most Linux systems. Some of the more important utilities include \
  4. disk partitioning, kernel message management, filesystem creation, and system login."
  5. SECTION = "base"
  6. LICENSE = "GPLv2+ & LGPLv2.1+ & BSD"
  7. LIC_FILES_CHKSUM = "file://README.licensing;md5=9c920d811858a74b67a36ba23cbaa95f \
  8. file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
  9. file://Documentation/licenses/COPYING.GPLv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
  10. file://Documentation/licenses/COPYING.LGPLv2.1;md5=4fbd65380cdd255951079008b364516c \
  11. file://Documentation/licenses/COPYING.BSD-3;md5=58dcd8452651fc8b07d1f65ce07ca8af \
  12. file://Documentation/licenses/COPYING.UCB;md5=263860f8968d8bafa5392cab74285262 \
  13. file://libuuid/COPYING;md5=aa3ac5b4a5bcb707f714f78794011b80 \
  14. file://libmount/COPYING;md5=152f98bc301a5ea649769ede7203ac82 \
  15. file://libblkid/COPYING;md5=152f98bc301a5ea649769ede7203ac82"
  16. inherit autotools gettext pkgconfig
  17. DEPENDS = "zlib ncurses"
  18. DEPENDS_append_class-native = " lzo-native"
  19. SRC_URI = "${KERNELORG_MIRROR}/linux/utils/util-linux/v${MAJOR_VERSION}/util-linux-${PV}.tar.bz2 \
  20. file://MCONFIG \
  21. file://defines.h \
  22. file://make_include \
  23. file://swapargs.h \
  24. "
  25. PACKAGES =+ "util-linux-agetty util-linux-fdisk util-linux-cfdisk util-linux-sfdisk \
  26. util-linux-swaponoff util-linux-losetup util-linux-umount \
  27. util-linux-mount util-linux-readprofile util-linux-libblkid \
  28. util-linux-libblkid-dev util-linux-libuuid util-linux-libuuid-dev \
  29. util-linux-uuidgen util-linux-lscpu util-linux-fsck util-linux-blkid \
  30. util-linux-mkfs util-linux-mcookie util-linux-systemd util-linux-reset"
  31. EXTRA_OECONF = "--libdir=${base_libdir} --disable-use-tty-group \
  32. --disable-makeinstall-chown --enable-elvtune --enable-init \
  33. --enable-kill --enable-last --enable-mesg --enable-partx \
  34. --enable-raw --enable-rdev --enable-reset --disable-login \
  35. --disable-vipw --disable-newgrp --disable-chfn-chsh --disable-su \
  36. --enable-write --enable-arch --enable-mount --with-fsprobe=builtin \
  37. --enable-libuuid --enable-libblkid --enable-fsck --without-udev \
  38. usrsbin_execdir='${sbindir}' \
  39. "
  40. EXTRA_OECONF_append_class-native = " --disable-login --disable-su"
  41. FILES_${PN}-doc += "${datadir}/getopt/getopt-*.*"
  42. FILES_util-linux-agetty = "${base_sbindir}/agetty"
  43. FILES_util-linux-fdisk = "${base_sbindir}/fdisk.${BPN}"
  44. FILES_util-linux-cfdisk = "${base_sbindir}/cfdisk"
  45. FILES_util-linux-sfdisk = "${sbindir}/sfdisk"
  46. FILES_util-linux-swaponoff = "${base_sbindir}/swapon.${BPN} ${base_sbindir}/swapoff.${BPN}"
  47. FILES_util-linux-losetup = "${base_sbindir}/losetup.${BPN}"
  48. FILES_util-linux-mount = "${base_bindir}/mount.${BPN}"
  49. FILES_util-linux-mcookie = "${bindir}/mcookie"
  50. FILES_util-linux-umount = "${base_bindir}/umount.${BPN}"
  51. FILES_util-linux-readprofile = "${base_sbindir}/readprofile.${BPN}"
  52. FILES_util-linux-uuidgen = "${bindir}/uuidgen"
  53. FILES_util-linux-reset = "${base_bindir}/reset"
  54. FILES_util-linux-libblkid = "${base_libdir}/libblkid.so.*"
  55. FILES_util-linux-libblkid-dev = "${base_libdir}/libblkid.so ${base_libdir}/libblkid.la ${includedir}/blkid ${libdir}/pkgconfig/blkid.pc"
  56. FILES_util-linux-libuuid = "${base_libdir}/libuuid.so.*"
  57. FILES_util-linux-libuuid-dev = "${base_libdir}/libuuid.so ${base_libdir}/libuuid.la ${includedir}/uuid ${libdir}/pkgconfig/uuid.pc"
  58. FILES_util-linux-lscpu = "${bindir}/lscpu"
  59. FILES_util-linux-fsck = "${base_sbindir}/fsck*"
  60. FILES_util-linux-mkfs = "${sbindir}/mkfs"
  61. # Util-linux' blkid replaces the e2fsprogs one
  62. FILES_util-linux-blkid = "${base_sbindir}/blkid*"
  63. RCONFLICTS_util-linux-blkid = "e2fsprogs-blkid"
  64. RREPLACES_util-linux-blkid = "e2fsprogs-blkid"
  65. # reset calls 'tput'
  66. RDEPENDS_util-linux-reset += "ncurses"
  67. FILES_${PN}-systemd = "${systemd_unitdir}/system/"
  68. RDEPENDS_${PN} = "util-linux-umount util-linux-swaponoff util-linux-losetup"
  69. RRECOMMENDS_${PN} = "util-linux-fdisk util-linux-cfdisk util-linux-sfdisk util-linux-mount util-linux-readprofile util-linux-mkfs "
  70. RRECOMMENDS_${PN}_class-native = ""
  71. RDEPENDS_${PN}_class-native = ""
  72. do_compile () {
  73. set -e
  74. install ${WORKDIR}/MCONFIG ${S}/MCONFIG
  75. install ${WORKDIR}/make_include ${S}/make_include
  76. install ${WORKDIR}/swapargs.h ${S}/mount-deprecated/swapargs.h
  77. install ${WORKDIR}/defines.h ${S}/defines.h
  78. oe_runmake ARCH=${TARGET_ARCH} CPU= CPUOPT= 'OPT=${CFLAGS}'
  79. }
  80. do_install () {
  81. # with ccache the timestamps on compiled files may
  82. # end up earlier than on their inputs, this allows
  83. # for the resultant compilation in the install step.
  84. oe_runmake ARCH=${TARGET_ARCH} CPU= CPUOPT= \
  85. 'OPT=${CFLAGS}' 'CC=${CC}' 'LD=${LD}' \
  86. 'LDFLAGS=${LDFLAGS}' 'DESTDIR=${D}' install
  87. mkdir -p ${D}${base_bindir}
  88. sbinprogs="agetty ctrlaltdel cfdisk vipw vigr"
  89. sbinprogs_a="pivot_root hwclock mkswap mkfs.minix fsck.minix losetup swapon fdisk readprofile fsck blkid blockdev"
  90. usrbinprogs_a="chfn chsh hexdump last logger mesg newgrp renice utmpdump wall setsid chrt flock"
  91. binprogs_a="dmesg kill more umount mount login reset"
  92. if [ "${base_sbindir}" != "${sbindir}" ]; then
  93. mkdir -p ${D}${base_sbindir}
  94. for p in $sbinprogs $sbinprogs_a; do
  95. if [ -f "${D}${sbindir}/$p" ]; then
  96. mv "${D}${sbindir}/$p" "${D}${base_sbindir}/$p"
  97. fi
  98. done
  99. fi
  100. if [ "${base_bindir}" != "${bindir}" ]; then
  101. mkdir -p ${D}${base_bindir}
  102. for p in $binprogs_a; do
  103. if [ -f "${D}${bindir}/$p" ]; then
  104. mv "${D}${bindir}/$p" "${D}${base_bindir}/$p"
  105. fi
  106. done
  107. fi
  108. install -d ${D}${sysconfdir}/default/
  109. echo 'MOUNTALL="-t nonfs,nosmbfs,noncpfs"' > ${D}${sysconfdir}/default/mountall
  110. ln -sf swapon.${BPN} ${D}${base_sbindir}/swapoff.${BPN}
  111. rm -f ${D}${sbindir}/swapoff
  112. rm -f ${D}${bindir}/chkdupexe
  113. }
  114. inherit update-alternatives
  115. ALTERNATIVE_PRIORITY = "100"
  116. ALTERNATIVE_${PN} = "dmesg kill more mkswap blockdev pivot_root"
  117. ALTERNATIVE_${PN} += "mkfs.minix hexdump last logger mesg renice wall"
  118. ALTERNATIVE_${PN} += "setsid chrt flock hwclock utmpdump eject"
  119. ALTERNATIVE_LINK_NAME[dmesg] = "${base_bindir}/dmesg"
  120. ALTERNATIVE_LINK_NAME[kill] = "${base_bindir}/kill"
  121. ALTERNATIVE_LINK_NAME[more] = "${base_bindir}/more"
  122. ALTERNATIVE_LINK_NAME[mkswap] = "${base_sbindir}/mkswap"
  123. ALTERNATIVE_LINK_NAME[blockdev] = "${base_sbindir}/blockdev"
  124. ALTERNATIVE_LINK_NAME[pivot_root] = "${base_sbindir}/pivot_root"
  125. ALTERNATIVE_LINK_NAME[mkfs.minix] = "${base_sbindir}/mkfs.minix"
  126. ALTERNATIVE_LINK_NAME[eject] = "${bindir}/eject"
  127. # There seems to be problem, atleast on nslu2, with these, untill they are
  128. # fixed the busybox ones have higher priority
  129. ALTERNATIVE_PRIORITY[hwclock] = "10"
  130. ALTERNATIVE_LINK_NAME[hwclock] = "${base_sbindir}/hwclock"
  131. ALTERNATIVE_util-linux-fdisk = "fdisk"
  132. ALTERNATIVE_LINK_NAME[fdisk] = "${base_sbindir}/fdisk"
  133. ALTERNATIVE_util-linux-agetty = "getty"
  134. ALTERNATIVE_LINK_NAME[getty] = "${base_sbindir}/getty"
  135. ALTERNATIVE_TARGET[getty] = "${base_sbindir}/agetty"
  136. ALTERNATIVE_util-linux-mount = "mount"
  137. ALTERNATIVE_LINK_NAME[mount] = "${base_bindir}/mount"
  138. ALTERNATIVE_util-linux-umount = "umount"
  139. ALTERNATIVE_LINK_NAME[umount] = "${base_bindir}/umount"
  140. ALTERNATIVE_util-linux-losetup = "losetup"
  141. ALTERNATIVE_LINK_NAME[losetup] = "${base_sbindir}/losetup"
  142. ALTERNATIVE_util-linux-swaponoff = "swapoff swapon"
  143. ALTERNATIVE_LINK_NAME[swapoff] = "${base_sbindir}/swapoff"
  144. ALTERNATIVE_LINK_NAME[swapon] = "${base_sbindir}/swapon"
  145. ALTERNATIVE_util-linux-fsck = "fsck.minix fsck"
  146. ALTERNATIVE_LINK_NAME[fsck.minix] = "${base_sbindir}/fsck.minix"
  147. ALTERNATIVE_LINK_NAME[fsck] = "${base_sbindir}/fsck"
  148. ALTERNATIVE_util-linux-blkid = "blkid"
  149. ALTERNATIVE_LINK_NAME[blkid] = "${base_sbindir}/blkid"
  150. ALTERNATIVE_util-linux-reset = "reset"
  151. ALTERNATIVE_LINK_NAME[reset] = "${bindir}/reset"
  152. ALTERNATIVE_TARGET[reset] = "${base_bindir}/reset"
  153. BBCLASSEXTEND = "native"