Brad Bishop | 1932369 | 2019-04-05 15:28:33 -0400 | [diff] [blame] | 1 | # This recipe is modified from the recipe originally found in the Open-Switch |
| 2 | # repository: |
| 3 | # |
| 4 | # https://github.com/open-switch/ops-build |
| 5 | # yocto/openswitch/meta-foss-openswitch/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.0.5.bb |
| 6 | # Commit 9008de2d8e100f3f868c66765742bca9fa98f3f9 |
| 7 | # |
| 8 | # The recipe packaging has been relicensed under the MIT license for inclusion |
| 9 | # in meta-openembedded by agreement of the author (Diego Dompe). |
| 10 | # |
| 11 | |
| 12 | SUMMARY = "Tools to enhance VMWare guest integration and performance" |
| 13 | HOMEPAGE = "https://github.com/vmware/open-vm-tools" |
| 14 | SECTION = "vmware-tools" |
| 15 | |
| 16 | LICENSE = "LGPL-2.0 & GPL-2.0 & BSD & CDDL-1.0" |
| 17 | LIC_FILES_CHKSUM = "file://LICENSE;md5=559317809c5444fb39ceaf6ac45c43ac" |
| 18 | LICENSE_modules/freebsd/vmblock = "BSD" |
| 19 | LICENSE_modules/freebsd/vmmemctl = "GPL-2.0" |
| 20 | LICENSE_modules/freebsd/vmxnet = "GPL-2.0" |
| 21 | LICENSE_modules/linux = "GPL-2.0" |
| 22 | LICENSE_modules/solaris = "CDDL-1.0" |
| 23 | |
| 24 | SRC_URI = "git://github.com/vmware/open-vm-tools.git;protocol=https \ |
Brad Bishop | 15ae250 | 2019-06-18 21:44:24 -0400 | [diff] [blame] | 25 | file://tools.conf \ |
| 26 | file://vmtoolsd.service \ |
| 27 | file://vmtoolsd.init \ |
| 28 | file://0001-configure.ac-don-t-use-dnet-config.patch;patchdir=.. \ |
| 29 | file://0002-add-include-sys-sysmacros.h.patch;patchdir=.. \ |
| 30 | file://0003-Use-configure-test-for-struct-timespec.patch;patchdir=.. \ |
| 31 | file://0004-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch;patchdir=.. \ |
| 32 | file://0005-Use-configure-to-test-for-feature-instead-of-platfor.patch;patchdir=.. \ |
| 33 | file://0006-Use-configure-test-for-sys-stat.h-include.patch;patchdir=.. \ |
| 34 | file://0007-Fix-subdir-objects-configure-error.patch;patchdir=.. \ |
| 35 | file://0008-include-poll.h-instead-of-sys-poll.h.patch;patchdir=.. \ |
| 36 | file://0009-Rename-poll.h-to-vm_poll.h.patch;patchdir=.. \ |
| 37 | file://0010-use-posix-strerror_r-unless-on-gnu-libc-system.patch;patchdir=.. \ |
| 38 | file://0011-Use-uintmax_t-for-handling-rlim_t.patch;patchdir=.. \ |
| 39 | file://0012-Use-off64_t-instead-of-__off64_t.patch;patchdir=.. \ |
| 40 | file://0013-misc-Do-not-print-NULL-string-into-logs.patch;patchdir=.. \ |
Brad Bishop | 2d39a06 | 2019-10-28 08:33:36 -0400 | [diff] [blame] | 41 | file://0001-GitHub-Issue-367.-Remove-references-to-deprecated-G_.patch;patchdir=.. \ |
Brad Bishop | 87b3cb8 | 2019-11-15 16:35:37 -0500 | [diff] [blame] | 42 | file://0001-Make-HgfsConvertFromNtTimeNsec-aware-of-64-bit-time_.patch;patchdir=.. \ |
| 43 | file://0002-hgfsServerLinux-Consider-64bit-time_t-possibility.patch;patchdir=.. \ |
Brad Bishop | e42b3e3 | 2020-01-15 22:08:42 -0500 | [diff] [blame] | 44 | file://0001-utilBacktrace-Ignore-Warray-bounds.patch;patchdir=.. \ |
Brad Bishop | 0e2770c | 2020-01-21 07:31:46 -0500 | [diff] [blame] | 45 | file://0001-hgfsmounter-Makefile.am-support-usrmerge.patch;patchdir=.. \ |
Brad Bishop | 15ae250 | 2019-06-18 21:44:24 -0400 | [diff] [blame] | 46 | " |
Brad Bishop | 87b3cb8 | 2019-11-15 16:35:37 -0500 | [diff] [blame] | 47 | |
Brad Bishop | 2d39a06 | 2019-10-28 08:33:36 -0400 | [diff] [blame] | 48 | SRCREV = "d3edfd142a81096f9f58aff17d84219b457f4987" |
Brad Bishop | 1932369 | 2019-04-05 15:28:33 -0400 | [diff] [blame] | 49 | |
| 50 | S = "${WORKDIR}/git/open-vm-tools" |
| 51 | |
| 52 | DEPENDS = "glib-2.0 glib-2.0-native util-linux libdnet procps libtirpc" |
| 53 | |
| 54 | # open-vm-tools is supported only on x86. |
| 55 | COMPATIBLE_HOST = '(x86_64.*|i.86.*)-linux' |
| 56 | |
| 57 | inherit autotools pkgconfig systemd update-rc.d |
| 58 | |
| 59 | SYSTEMD_SERVICE_${PN} = "vmtoolsd.service" |
| 60 | |
| 61 | EXTRA_OECONF = "--without-icu --disable-multimon --disable-docs \ |
| 62 | --disable-tests --without-gtkmm --without-xerces --without-pam \ |
Brad Bishop | 2d39a06 | 2019-10-28 08:33:36 -0400 | [diff] [blame] | 63 | --disable-vgauth --disable-deploypkg \ |
Brad Bishop | 0e2770c | 2020-01-21 07:31:46 -0500 | [diff] [blame] | 64 | --without-root-privileges --without-kernel-modules --with-tirpc \ |
| 65 | --with-udev-rules-dir=${nonarch_base_libdir}/udev/rules.d" |
Brad Bishop | 1932369 | 2019-04-05 15:28:33 -0400 | [diff] [blame] | 66 | |
| 67 | NO_X11_FLAGS = "--without-x --without-gtk2 --without-gtk3" |
| 68 | X11_DEPENDS = "libxext libxi libxrender libxrandr libxtst gtk+ gdk-pixbuf" |
| 69 | PACKAGECONFIG[x11] = ",${NO_X11_FLAGS},${X11_DEPENDS}" |
| 70 | |
| 71 | # fuse gets implicitly detected; there is no --without-fuse option. |
| 72 | PACKAGECONFIG[fuse] = ",,fuse" |
| 73 | |
| 74 | CFLAGS_append_toolchain-clang = " -Wno-address-of-packed-member" |
| 75 | FILES_${PN} += "\ |
| 76 | ${libdir}/open-vm-tools/plugins/vmsvc/lib*.so \ |
| 77 | ${libdir}/open-vm-tools/plugins/common/lib*.so \ |
| 78 | ${sysconfdir}/vmware-tools/tools.conf \ |
| 79 | " |
| 80 | FILES_${PN}-locale += "${datadir}/open-vm-tools/messages" |
| 81 | FILES_${PN}-dev += "${libdir}/open-vm-tools/plugins/common/lib*.la" |
| 82 | |
| 83 | CONFFILES_${PN} += "${sysconfdir}/vmware-tools/tools.conf" |
| 84 | |
| 85 | RDEPENDS_${PN} = "util-linux libdnet fuse" |
| 86 | |
| 87 | do_install_append() { |
Brad Bishop | 0e2770c | 2020-01-21 07:31:46 -0500 | [diff] [blame] | 88 | if ! ${@bb.utils.contains('DISTRO_FEATURES','usrmerge','true','false',d)}; then |
| 89 | install -d ${D}/sbin |
| 90 | ln -sf ${sbindir}/mount.vmhgfs ${D}/sbin/mount.vmhgfs |
| 91 | fi |
Brad Bishop | 1932369 | 2019-04-05 15:28:33 -0400 | [diff] [blame] | 92 | install -d ${D}${sysconfdir}/vmware-tools |
| 93 | if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then |
| 94 | install -d ${D}${systemd_unitdir}/system |
| 95 | install -m 644 ${WORKDIR}/*.service ${D}${systemd_unitdir}/system |
| 96 | else |
| 97 | install -d ${D}${sysconfdir}/init.d |
| 98 | install -m 0755 ${WORKDIR}/vmtoolsd.init ${D}${sysconfdir}/init.d/vmtoolsd |
| 99 | fi |
| 100 | install -m 0644 ${WORKDIR}/tools.conf ${D}${sysconfdir}/vmware-tools/tools.conf |
| 101 | } |
| 102 | |
| 103 | do_configure_prepend() { |
| 104 | export CUSTOM_DNET_NAME=dnet |
| 105 | export CUSTOM_DNET_LIBS=-L${STAGING_LIBDIR}/libdnet.so |
| 106 | } |
| 107 | |
| 108 | INITSCRIPT_PACKAGES = "${PN}" |
| 109 | INITSCRIPT_NAME_${PN} = "vmtoolsd" |
| 110 | INITSCRIPT_PARAMS_${PN} = "start 90 2 3 4 5 . stop 60 0 1 6 ." |
| 111 | |
| 112 | python() { |
| 113 | if 'networking-layer' not in d.getVar('BBFILE_COLLECTIONS').split() or \ |
| 114 | 'filesystems-layer' not in d.getVar('BBFILE_COLLECTIONS').split(): |
| 115 | raise bb.parse.SkipRecipe('Requires meta-networking and meta-filesystems to be present.') |
| 116 | } |