lvm2.inc 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. SECTION = "utils"
  2. DESCRIPTION = "LVM2 is a set of utilities to manage logical volumes in Linux."
  3. LICENSE = "GPLv2 & LGPLv2"
  4. LIC_FILES_CHKSUM = "file://COPYING;md5=12713b4d9386533feeb07d6e4831765a \
  5. file://COPYING.LIB;md5=fbc093901857fcd118f065f900982c24"
  6. DEPENDS += "util-linux"
  7. SRC_URI = "ftp://sources.redhat.com/pub/lvm2/old/LVM2.${PV}.tgz \
  8. file://lvm.conf \
  9. file://0001-implement-libc-specific-reopen_stream.patch \
  10. file://0002-Guard-use-of-mallinfo-with-__GLIBC__.patch \
  11. file://0003-include-fcntl.h-for-O_-defines-and-fcntl-signature.patch \
  12. file://0004-tweak-MODPROBE_CMD-for-cross-compile.patch \
  13. "
  14. S = "${WORKDIR}/LVM2.${PV}"
  15. inherit autotools-brokensep pkgconfig systemd
  16. LVM2_PACKAGECONFIG = "dmeventd lvmetad"
  17. LVM2_PACKAGECONFIG_append_class-target = " \
  18. ${@bb.utils.filter('DISTRO_FEATURES', 'selinux', d)} \
  19. thin-provisioning-tools \
  20. udev \
  21. "
  22. PACKAGECONFIG ??= "${LVM2_PACKAGECONFIG}"
  23. # odirect is always enabled because there currently is a bug in
  24. # lib/device/dev-io.c which prevents compiling without it. It is
  25. # better to stick to configurations that were actually tested by
  26. # upstream...
  27. PACKAGECONFIG_append = " odirect"
  28. PACKAGECONFIG[dmeventd] = "--enable-dmeventd,--disable-dmeventd"
  29. PACKAGECONFIG[lvmetad] = "--enable-lvmetad,--disable-lvmetad"
  30. PACKAGECONFIG[odirect] = "--enable-o_direct,--disable-o_direct"
  31. PACKAGECONFIG[readline] = "--enable-readline,--disable-readline,readline"
  32. PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux"
  33. PACKAGECONFIG[thin-provisioning-tools] = "--with-thin=internal,--with-thin=none,,thin-provisioning-tools"
  34. PACKAGECONFIG[udev] = "--enable-udev_sync --enable-udev_rules --with-udevdir=${nonarch_base_libdir}/udev/rules.d,--disable-udev_sync --disable-udev_rules,udev"
  35. # Unset user/group to unbreak install.
  36. EXTRA_OECONF = "--with-user= \
  37. --with-group= \
  38. --enable-realtime \
  39. --enable-applib \
  40. --enable-cmdlib \
  41. --enable-pkgconfig \
  42. --with-usrlibdir=${libdir} \
  43. --with-systemdsystemunitdir=${systemd_system_unitdir} \
  44. --disable-thin_check_needs_check \
  45. --with-thin-check=${sbindir}/thin_check \
  46. --with-thin-dump=${sbindir}/thin_dump \
  47. --with-thin-repair=${sbindir}/thin_repair \
  48. --with-thin-restore=${sbindir}/thin_restore \
  49. "
  50. CACHED_CONFIGUREVARS += "MODPROBE_CMD=${base_sbindir}/modprobe"
  51. do_install_append() {
  52. # Install machine specific configuration file
  53. install -d ${D}${sysconfdir}/lvm
  54. install -m 0644 ${WORKDIR}/lvm.conf ${D}${sysconfdir}/lvm/lvm.conf
  55. sed -i -e 's:@libdir@:${libdir}:g' ${D}${sysconfdir}/lvm/lvm.conf
  56. if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
  57. oe_runmake 'DESTDIR=${D}' install install_systemd_units
  58. sed -i -e 's:/usr/bin/true:${base_bindir}/true:g' ${D}${systemd_system_unitdir}/blk-availability.service
  59. else
  60. oe_runmake 'DESTDIR=${D}' install install_initscripts
  61. mv ${D}${sysconfdir}/rc.d/init.d ${D}${sysconfdir}/init.d
  62. rm -rf ${D}${sysconfdir}/rc.d
  63. fi
  64. }
  65. PACKAGE_BEFORE_PN = "${PN}-scripts libdevmapper libdevmapper-dev"
  66. SYSTEMD_PACKAGES = "${PN}"
  67. SYSTEMD_SERVICE_${PN} = "${@bb.utils.contains('PACKAGECONFIG', 'dmeventd', 'lvm2-monitor.service dm-event.socket dm-event.service', '', d)} \
  68. ${@bb.utils.contains('PACKAGECONFIG', 'lvmetad', 'lvm2-lvmetad.socket lvm2-pvscan@.service', '', d)} \
  69. blk-availability.service"
  70. SYSTEMD_AUTO_ENABLE = "disable"
  71. TARGET_CC_ARCH += "${LDFLAGS}"
  72. FILES_${PN} += "${libdir}/device-mapper/*.so ${nonarch_base_libdir}/udev"
  73. FILES_${PN}-scripts = " \
  74. ${sbindir}/blkdeactivate \
  75. ${sbindir}/fsadm \
  76. ${sbindir}/lvmconf \
  77. ${sbindir}/lvmdump \
  78. "
  79. FILES_libdevmapper = "${libdir}/libdevmapper.so.*"
  80. FILES_libdevmapper-dev = " \
  81. ${libdir}/libdevmapper.so \
  82. ${libdir}/pkgconfig/devmapper.pc \
  83. ${includedir}/libdevmapper.h \
  84. "
  85. RDEPENDS_${PN}-scripts = "${PN} (= ${EXTENDPKGV}) bash"
  86. RDEPENDS_libdevmapper-dev = "libdevmapper (= ${EXTENDPKGV})"
  87. RRECOMMENDS_${PN} = "${PN}-scripts (= ${EXTENDPKGV})"
  88. CONFFILES_${PN} += "${sysconfdir}/lvm/lvm.conf"