mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2025-07-24 19:55:26 +03:00
291 lines
10 KiB
Text
291 lines
10 KiB
Text
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
|
|
# Contributor: Jakub Jirutka <jakub@jirutka.cz>
|
|
pkgname=open-vm-tools
|
|
pkgver=12.2.0
|
|
_pkgsubver=${pkgver#*_p}
|
|
_ver=${pkgver/_p/-}
|
|
pkgrel=0
|
|
pkgdesc="The Open Virtual Machine Tools are the open source implementation of VMware Tools."
|
|
url="https://github.com/vmware/open-vm-tools/"
|
|
arch="aarch64 x86 x86_64"
|
|
arch="$arch !x86" # Fails to compile with new musl
|
|
license="LGPL-2.1-or-later"
|
|
subpackages="
|
|
$pkgname-dbg
|
|
$pkgname-lang
|
|
$pkgname-deploypkg
|
|
$pkgname-hgfs
|
|
$pkgname-guestinfo
|
|
$pkgname-gtk
|
|
$pkgname-vix
|
|
$pkgname-static
|
|
$pkgname-timesync
|
|
$pkgname-vmbackup
|
|
$pkgname-plugins-all:_all:noarch
|
|
$pkgname-dev
|
|
$pkgname-openrc
|
|
$pkgname-doc
|
|
"
|
|
install="$pkgname.pre-install $pkgname.post-upgrade"
|
|
checkdepends="cunit checkbashisms"
|
|
makedepends="
|
|
autoconf
|
|
automake
|
|
bash
|
|
doxygen
|
|
fuse-dev
|
|
gdk-pixbuf-xlib-dev
|
|
glib-dev
|
|
gtk+3.0-dev
|
|
gtkmm3-dev
|
|
libice-dev
|
|
libmspack-dev
|
|
libsm-dev
|
|
libtirpc-dev
|
|
libtool
|
|
libxext-dev
|
|
libxinerama-dev
|
|
libxrandr-dev
|
|
libxtst-dev
|
|
linux-headers
|
|
openssl-dev>3
|
|
procps-compat-dev
|
|
rpcgen
|
|
"
|
|
pkggroups="vmware"
|
|
source="$pkgname-$pkgver.tar.gz::https://github.com/vmware/open-vm-tools/archive/stable-$_ver.tar.gz
|
|
0001-lib-misc-Recognize-Alpine-Linux.patch
|
|
0002-open-vm-tools-Add-disable-werror-configure-option.patch
|
|
0003-Do-not-assume-that-linux-and-gnu-libc-are-the-same-t.patch
|
|
0004-Use-configure-test-for-struct-timespec.patch
|
|
0005-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch
|
|
0006-Use-configure-to-test-for-feature-instead-of-platfor.patch
|
|
0007-Use-configure-test-for-sys-stat.h-include.patch
|
|
0008-Rename-poll.h-to-vm_poll.h.patch
|
|
0010-use-posix-strerror_r-unless-gnu.patch
|
|
0011-use-off64_t-instead-of-loff_t.patch
|
|
snprintf.patch
|
|
strerror_r.patch
|
|
systemLinux.c-fixup-for-Alpine.patch
|
|
mock-res_ninit-and-res_nclose.patch
|
|
change-default-log-dir.patch
|
|
change-statechange.subr-location.patch
|
|
tools.conf.patch
|
|
use-libtirpc-nokrb.patch
|
|
|
|
$pkgname.initd
|
|
$pkgname.confd
|
|
$pkgname.logrotate
|
|
"
|
|
builddir="$srcdir/$pkgname-stable-$_ver"
|
|
options="suid" # needed for vmware-user-suid-wrapper
|
|
|
|
# secfixes:
|
|
# 12.1.0-r0:
|
|
# - CVE-2022-31676
|
|
|
|
_subpackages="$subpackages" # save for func _all
|
|
_pluginsdir='usr/lib/open-vm-tools/plugins'
|
|
|
|
prepare() {
|
|
default_prepare
|
|
|
|
cd open-vm-tools
|
|
autoreconf -vif
|
|
}
|
|
|
|
build() {
|
|
export CUSTOM_PROCPS_NAME="procps"
|
|
export CFLAGS="$CFLAGS -Wno-unused-but-set-variable -D_GNU_SOURCE"
|
|
export CXXFLAGS="$CXXFLAGS -std=gnu++11"
|
|
|
|
cd open-vm-tools
|
|
|
|
./configure \
|
|
--build=$CBUILD \
|
|
--host=$CHOST \
|
|
--prefix=/usr \
|
|
--sysconfdir=/etc \
|
|
--with-x \
|
|
--without-dnet \
|
|
--without-xerces \
|
|
--without-icu \
|
|
--without-kernel-modules \
|
|
--without-pam \
|
|
--disable-werror \
|
|
--disable-glibc-check
|
|
make
|
|
}
|
|
|
|
check() {
|
|
cd open-vm-tools
|
|
|
|
make check
|
|
|
|
checkbashisms scripts/linux/network
|
|
checkbashisms scripts/common/statechange.sh
|
|
}
|
|
|
|
package() {
|
|
local confdir="$pkgdir/etc/vmware-tools"
|
|
local sharedir="$pkgdir/usr/share/$pkgname"
|
|
local i
|
|
|
|
make -C open-vm-tools install DESTDIR="$pkgdir"
|
|
|
|
cd "$pkgdir"
|
|
|
|
chmod -x "$confdir"/*.conf*
|
|
mv "$confdir"/tools.conf.example "$confdir"/tools.conf
|
|
|
|
# vm-support requires root privileges to run, so it should be in
|
|
# /usr/sbin, not /usr/bin.
|
|
mkdir -p ./usr/sbin
|
|
mv ./usr/bin/vm-support ./usr/sbin/vm-support
|
|
|
|
# *-vm-default scripts are identical and they are not supposed to be
|
|
# modified by the user, so move the script to /usr/share and symlink back.
|
|
mkdir -p "$sharedir"
|
|
mv "$confdir"/statechange.subr "$sharedir"/
|
|
cp -a ./etc/vmware-tools/poweroff-vm-default "$sharedir"/statechange.sh
|
|
local path; for path in ./etc/vmware-tools/*-vm-default; do
|
|
cmp "$path" "$sharedir"/statechange.sh \
|
|
|| die '*-vm-default scripts are not identical!'
|
|
rm $path
|
|
ln -s ../../usr/share/$pkgname/statechange.sh $path
|
|
done
|
|
|
|
# This script works with NetworkManager only.
|
|
# TODO: Write network script for Alpine.
|
|
rm -f "$confdir"/scripts/vmware/network
|
|
|
|
# We don't build with PAM support.
|
|
rm -Rf "$pkgdir"/etc/pam.d
|
|
|
|
# These commands allow to modify some VM's parameters or write to VM's
|
|
# logs which is typically undesirable to be allowed to any user or
|
|
# process. Of course, this cannot prevent users from copying and
|
|
# running their own open-vm-tools binaries, but better than nothing...
|
|
# See also https://github.com/vmware/open-vm-tools/issues/288.
|
|
for i in vmtoolsd vmware-namespace-cmd vmware-rpctool \
|
|
vmware-toolbox-cmd vmware-xferlogs;
|
|
do
|
|
chgrp vmware ./usr/bin/$i
|
|
chmod 750 ./usr/bin/$i
|
|
done
|
|
|
|
chmod 4755 ./usr/bin/vmware-user-suid-wrapper
|
|
|
|
install -D -m 755 "$srcdir"/$pkgname.initd ./etc/init.d/$pkgname
|
|
install -D -m 644 "$srcdir"/$pkgname.confd ./etc/conf.d/$pkgname
|
|
install -D -m 644 "$srcdir"/$pkgname.logrotate ./etc/logrotate.d/$pkgname
|
|
install -d -m 750 ./var/log/vmware
|
|
}
|
|
|
|
lang() {
|
|
pkgdesc="Languages for package $pkgname"
|
|
install_if="$pkgname=$pkgver-r$pkgrel lang"
|
|
|
|
amove usr/share/open-vm-tools/messages
|
|
}
|
|
|
|
deploypkg() {
|
|
pkgdesc="DeployPkg plugin for open-vm-tools"
|
|
depends="$pkgname=$pkgver-r$pkgrel"
|
|
|
|
amove usr/lib/libDeployPkg.so.*
|
|
amove $_pluginsdir/vmsvc/libdeployPkgPlugin.so
|
|
}
|
|
|
|
guestinfo() {
|
|
pkgdesc="GuestInfo plugin for open-vm-tools"
|
|
depends="$pkgname=$pkgver-r$pkgrel"
|
|
|
|
amove $_pluginsdir/vmsvc/libguestInfo.so
|
|
}
|
|
|
|
gtk() {
|
|
pkgdesc="Xorg apps and plugins for open-vm-tools"
|
|
depends="$pkgname=$pkgver-r$pkgrel"
|
|
|
|
amove etc/xdg
|
|
|
|
amove usr/bin/vmware-user-suid-wrapper
|
|
amove usr/bin/vmware-vmblock-fuse
|
|
amove usr/bin/vmware-user
|
|
|
|
amove usr/lib/open-vm-tools/plugins/vmusr
|
|
amove usr/lib/open-vm-tools/plugins/vmsvc/libresolutionKMS.so
|
|
}
|
|
|
|
hgfs() {
|
|
pkgdesc="Support for shared folders in VMware guests"
|
|
depends="$pkgname=$pkgver-r$pkgrel"
|
|
|
|
amove usr/bin/vmhgfs-fuse
|
|
amove usr/bin/vmware-hgfsclient
|
|
|
|
amove usr/lib/libhgfs.so.*
|
|
amove $_pluginsdir/common/libhgfsServer.so
|
|
}
|
|
|
|
timesync() {
|
|
pkgdesc="TimeSync plugin for open-vm-tools"
|
|
depends="$pkgname=$pkgver-r$pkgrel"
|
|
|
|
amove $_pluginsdir/vmsvc/libtimeSync.so
|
|
}
|
|
|
|
vix() {
|
|
pkgdesc="VIX plugin for open-vm-tools"
|
|
depends="$pkgname=$pkgver-r$pkgrel"
|
|
|
|
amove $_pluginsdir/common/libvix.so
|
|
}
|
|
|
|
vmbackup() {
|
|
pkgdesc="VmBackup plugin for open-vm-tools"
|
|
depends="$pkgname=$pkgver-r$pkgrel"
|
|
|
|
amove $_pluginsdir/vmsvc/libvmbackup.so
|
|
}
|
|
|
|
_all() {
|
|
pkgdesc="Meta package with all open-vm-tools plugins except gtk"
|
|
depends=""
|
|
local plugin
|
|
|
|
for plugin in deploypkg guestinfo hgfs timesync vix vmbackup; do
|
|
if ! echo "$_subpackages" | grep -qw "$pkgname-$plugin"; then
|
|
die "plugin $plugin is missing in subpackages!"
|
|
fi
|
|
depends="$depends $pkgname-$plugin"
|
|
done
|
|
|
|
mkdir -p "$subpkgdir"
|
|
}
|
|
|
|
sha512sums="
|
|
e751efbba931755ec314bc98e52da8bfae3d6692115e8884b2f810e12c6c727388bb68052e7641d24bbb7b6e549b84e7275a5d05ac85c4371f500dec503c286a open-vm-tools-12.2.0.tar.gz
|
|
c2ebf6e59cef79d9e981bd571a6991ed9eae26d1934f4fecc73136c29291383c0d4bd2e38c68183a5e56900def709227e7f09b4352bbf8d2c12f879bdb1866dd 0001-lib-misc-Recognize-Alpine-Linux.patch
|
|
9188161f9bbd6572ee20855e727257b2140b39f1ba19b96879eb9878fb08cbdb7c3a5c9f5f8a4f389090acea6f71ee88fb36c7d4a74c1b8b94c9124db696a7f2 0002-open-vm-tools-Add-disable-werror-configure-option.patch
|
|
1dd0cde6ee19aec77ddf803e95b0404e803569a38c7b3d001832b4bbeae95ea15ed32c59f27bffb315130bad0c7a788a7a522df13a5f265f66c4c7c302a1966d 0003-Do-not-assume-that-linux-and-gnu-libc-are-the-same-t.patch
|
|
c647561c72b3ad919502ec4dd0a1ab736e2d479d8437b882791adce5417d8c26163ecffe9e212dab633c513bce6447cdbcb610eecf7dbb0eeeb792db16301de5 0004-Use-configure-test-for-struct-timespec.patch
|
|
6b0b9cc4a7b9837649a01aacb957b4465ec901250e48dbb273514abedf8eb3a9c16b3ad09be413a8ab897e37dff0d065a3144a2418cd7ae5aa3020bd1ed14203 0005-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch
|
|
10a684b7c558f40bd5f22e0e369b9bbc84ade258acc13d82793529f1788a991adccdb9b9c36ad6cdcb15dc1ff8f620d7813bf910b45a460019f74ad4977af0b8 0006-Use-configure-to-test-for-feature-instead-of-platfor.patch
|
|
9d28eab3e1a40138efa05e78956a2615b171703f9689252d0960145e39b0ba5bbf0e2007479cbbca3dced89ccb45758908a57a2f5b361e4813ad67a0732e4539 0007-Use-configure-test-for-sys-stat.h-include.patch
|
|
03579b28ecc446c6a16256be8b53dcb9b5f90d05ea52aad77997f2a7957d63af546182872b2ad2ed2f99904a22be23fc64ced4ecac91a53646d9946bd6d13625 0008-Rename-poll.h-to-vm_poll.h.patch
|
|
6c8b99f51bc0fd114ce66a3311f151efbe56ec308d079afec837b9d0b60eae3fb42e1b5219246c1015a23fb63616398b958e1388830b80d5efdb27cce7bd6552 0010-use-posix-strerror_r-unless-gnu.patch
|
|
a38bb2ac16657be9f7e9b2a5e32d23e66db1f283284c1cb8e7ffe853e047373397e60f01e735a28ecfaa60010f285b0b5a4066465a2afbe643a9b4b9b74ac1f4 0011-use-off64_t-instead-of-loff_t.patch
|
|
129209e050ceed58fcfeccf7ebe0f67bb7a883c6bb4af0aef5db69e20c4b8da257a84e4e3f35ba565bedd03ece7a0d512601e95beed4bda0c41ad0a3ffeefdac snprintf.patch
|
|
5507a58198179805e4c924b6bd6ac8b026bd602c9e5e4c52213dadf6c8880a23a16ee49a4dfe2db27515c2a36009e609dd81b7ee0d560bbea1ddf6a5324eb7ac strerror_r.patch
|
|
c18280eb3fdfe1e3ecc5aa116369908c71917bd4dd49743a9abf78e0096e8d6c7d4323057cf506ef31886b893b2e4c4839656172edd5097a347efa96aea1c86c systemLinux.c-fixup-for-Alpine.patch
|
|
8288503c54c5a15268b1590d747d4f246fa348734ebc70f3bd56f8cec6419d032ee6bf52a7579ee088f2c80f5b0d85f050e0615d6ad6cd8da016efa2a626ce17 mock-res_ninit-and-res_nclose.patch
|
|
0278188f5f0e486f88594ed8c921054343f05a7108d9c98d345f14362330ea028d65ede087b3d1126ac40db842decaa1fedc464de68bbec0bb333c1e133095ff change-default-log-dir.patch
|
|
6494fe94f332706a130dd12afa18b881f6b6c4e0523570ff866e1678e37af6bd6148c4cf7d957e12f8dc2a51b4f07aa849c4e947911bcbe20d0c81049a2b6974 change-statechange.subr-location.patch
|
|
211a31ebd00c9d824b2ddadf7353861ae5f97b8b2c689da62f2add556b52dfaee3abfde62ef374c8f581161bbb46858b8e5777eaee8ec80850e838c29d86c514 tools.conf.patch
|
|
0feef314fc178922f86fdb072fc46ae0932aa59085b8263beecc1ad53c9bec04967b0d7fa62ab1051e65685b03bba80ccb075fe01c0ac67591c81f38131176b2 use-libtirpc-nokrb.patch
|
|
1248234f19a29b28b6a75886b39d1579d0f94d43925db1f709b7a05907582f6650b78d39155e7da335f27b6da00586b9c3dc3ca7e4cab19dba5c84cfefd1e6cb open-vm-tools.initd
|
|
f996fc598d01ea778797674fca2a9f467d7ce7ced50e4e0343b3d53bea65770df488b1a286e42603d91e05ba85610161eb68e3fbaa5cbf1757a8aec81869a677 open-vm-tools.confd
|
|
4b79d7432f366e5ef202e69bffed5caacab8008f39475d50d54cfa5ac9f521cc0df7122d8e3a95340a4b00cb0b202717293df14f9d411d5edf41dcc7fa4c0550 open-vm-tools.logrotate
|
|
"
|