# Maintainer: Natanael Copa global _flavor := 'grsec' global _kpkg := "linux-$_flavor" global _realname := 'open-vm-tools' global _kver := '4.4.47' global _kpkgrel := '0' global _realver := '10.1.0' global _ver := $(_realver/_p/-) global _mypkgrel := '0' # source open-vm-tools version if test -f ../main/$_realname/APKBUILD { source ../main/$_realname/APKBUILD test $(_realver) != $pkgver && global pkgname := "$_realname-$_flavor" \ && die "please set _realver to $pkgver" } # source the kernel version if test -f ../main/linux-$(_flavor)/APKBUILD { source ../main/linux-${_flavor}/APKBUILD test $_kver != $pkgver && die "please set _kver to $pkgver" test $_kpkgrel != $pkgrel && die "please set _kpkgrel to $pkgrel" } global _abiver := ""$(_kver)-$(_kpkgrel)"" global _abi_releases := ""$(_abiver)-$(_flavor) $(_abiver)-virtgrsec"" global _kernelver := ""$_kver-r$_kpkgrel"" global pkgname := ""$_realname-$_flavor"" global pkgver := $_kver global pkgrel := $($_kpkgrel + $_mypkgrel) global pkgdesc := '"The Open Virtual Machine Tools are the open source implementation of VMware Tools.'" global url := '"https://github.com/vmware/open-vm-tools/'" global arch := '"x86 x86_64'" global license := '"LGPL'" global subpackages := ""$_realname-virtgrsec:_virtgrsec"" global depends := ""linux-$(_flavor)=$(_kernelver)"" global depends_dev := ""bash glib-dev gettext-dev linux-$(_flavor)-dev=$(_kernelver) linux-virtgrsec-dev=$(_kernelver)"" global makedepends := ""$depends_dev autoconf automake libtool linux-headers"" global source := ""https://github.com/vmware/open-vm-tools/archive/stable-$_ver.tar.gz 0001-Fix-vmxnet-module-on-kernels-3.16.patch missing-config-dir.patch "" global install_if := ""linux-$(_flavor)=$(_kernelver) open-vm-tools"" global builddir := ""$srcdir/open-vm-tools-stable-$_ver"/open-vm-tools" proc prepare { cd $builddir update_config_sub || return 1 default_prepare || return 1 autoreconf -vif || return 1 for _abi in [$_abi_releases] { mkdir ../build-$_abi cp -r * ../build-$_abi/ } } proc build { for _abi in [$_abi_releases] { cd "$builddir"/../build-$_abi ./configure \ --build=$CBUILD \ --host=$CHOST \ --disable-deploypkg \ --without-pam \ --without-x \ --without-dnet \ --without-icu \ --without-procps \ --without-ssl \ --with-kernel-release="$(_abi)" \ || return 1 make -j1 -C modules modules MODULES="vmxnet vmhgfs" \ || return 1 } } proc package { for _abi in [$_abi_releases] { mkdir -p "$pkgdir"/lib/modules/$(_abi)/misc/ cd "$builddir"/../build-$_abi for module in [$[find . -type f -name '*.ko]] { install -D -m644 $module "$pkgdir/lib/modules/$(_abi)/misc/" || return 1 } } } proc _virtgrsec { global pkgdesc := '"VMware guest modules for virtgrsec kernel'" mkdir -p "$subpkgdir"/lib/modules mv "$pkgdir"/lib/modules/$(_abiver)-virtgrsec "$subpkgdir"/lib/modules/ || return 1 } global md5sums := '"46f5a319275f63658f1a44b6c8755f6b stable-10.1.0.tar.gz 3254b99481cea970acd6d65863ce6b48 0001-Fix-vmxnet-module-on-kernels-3.16.patch 5ab8e8249a65a8b750c5bf278f438351 missing-config-dir.patch'" global sha256sums := '"2b76d8461022774f2c077b032fbe870f86046f20724eb24824cf9b6ccc4b5355 stable-10.1.0.tar.gz 85be67ed9827e685d55dd5cba25144d95296159ff1be73f491b343c395dd6a7d 0001-Fix-vmxnet-module-on-kernels-3.16.patch fb7a4bb532ffc81c8be73c66008538f4119a1147bbbdbf32328d286f012b2035 missing-config-dir.patch'" global sha512sums := '"f497b828510ebc2a88788ad5292047f20513c844e889b3f652ecce382efd6d4672560be7387b55dcb7300cfdde5c8eda407836c9b75614c018e058bb169b374d stable-10.1.0.tar.gz c445631b7faf8badfbf8e66518bfb70aec1049c1a0393ff038253e70190d7f8580cbcd3e7037c43664ee0ee48d26edd8f8eaca06383bbd7fa763a182050f9551 0001-Fix-vmxnet-module-on-kernels-3.16.patch f77d3848d87d7c387d2cc1555ff3a39e547a8e8fcecee3aa1f785b828fd238c3779c1e5704f52ec46701b29a2ad9aec1cd5aef04677bc2a03b8a7780435f7fdd missing-config-dir.patch'" (CommandList children: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:_flavor) op:Equal rhs:{(grsec)} spids:[4])] spids: [4] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_kpkg) op: Equal rhs: {(linux-) ($ VSub_Name "$_flavor")} spids: [7] ) ] spids: [7] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:_realname) op:Equal rhs:{(open-vm-tools)} spids:[11])] spids: [11] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:_kver) op:Equal rhs:{(4.4.47)} spids:[14])] spids: [14] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:_kpkgrel) op:Equal rhs:{(0)} spids:[17])] spids: [17] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:_realver) op:Equal rhs:{(10.1.0)} spids:[20])] spids: [20] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_ver) op: Equal rhs: { (BracedVarSub token: suffix_op: (PatSub pat: {(_p)} replace: {(-)} do_all: False do_prefix: False do_suffix: False ) spids: [24 30] ) } spids: [23] ) ] spids: [23] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:_mypkgrel) op:Equal rhs:{(0)} spids:[32])] spids: [32] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other "[")} {(-f)} {(../main/) ($ VSub_Name "$_realname") (/APKBUILD)} {(Lit_Other "]")} ) terminator: ) ] action: [ (C {(.)} {(../main/) ($ VSub_Name "$_realname") (/APKBUILD)}) (AndOr children: [ (C {(Lit_Other "[")} {(DQ (${ VSub_Name _realver))} {(KW_Bang "!") (Lit_Other "=")} {(DQ ($ VSub_Name "$pkgver"))} {(Lit_Other "]")} ) (AndOr children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgname) op: Equal rhs: {($ VSub_Name "$_realname") (-) ($ VSub_Name "$_flavor")} spids: [81] ) ] spids: [81] ) (C {(die)} {(DQ ("please set _realver to ") ($ VSub_Name "$pkgver"))}) ] op_id: Op_DAmp ) ] op_id: Op_DAmp ) ] spids: [-1 52] ) ] spids: [-1 97] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other "[")} {(-f)} {(../main/linux-) (${ VSub_Name _flavor) (/APKBUILD)} {(Lit_Other "]")} ) terminator: ) ] action: [ (C {(.)} {(../main/linux-) (${ VSub_Name _flavor) (/APKBUILD)}) (AndOr children: [ (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$_kver"))} {(KW_Bang "!") (Lit_Other "=")} {(DQ ($ VSub_Name "$pkgver"))} {(Lit_Other "]")} ) (C {(die)} {(DQ ("please set _kver to ") ($ VSub_Name "$pkgver"))}) ] op_id: Op_DAmp ) (AndOr children: [ (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$_kpkgrel"))} {(KW_Bang "!") (Lit_Other "=")} {(DQ ($ VSub_Name "$pkgrel"))} {(Lit_Other "]")} ) (C {(die)} {(DQ ("please set _kpkgrel to ") ($ VSub_Name "$pkgrel"))}) ] op_id: Op_DAmp ) ] spids: [-1 118] ) ] spids: [-1 179] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_abiver) op: Equal rhs: {(DQ (${ VSub_Name _kver) (-) (${ VSub_Name _kpkgrel))} spids: [182] ) ] spids: [182] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_abi_releases) op: Equal rhs: { (DQ (${ VSub_Name _abiver) (-) (${ VSub_Name _flavor) (" ") (${ VSub_Name _abiver) (-virtgrsec) ) } spids: [193] ) ] spids: [193] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_kernelver) op: Equal rhs: {(DQ ($ VSub_Name "$_kver") (-r) ($ VSub_Name "$_kpkgrel"))} spids: [209] ) ] spids: [209] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgname) op: Equal rhs: {(DQ ($ VSub_Name "$_realname") (-) ($ VSub_Name "$_flavor"))} spids: [217] ) ] spids: [217] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgver) op: Equal rhs: {($ VSub_Name "$_kver")} spids: [224] ) ] spids: [224] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgrel) op: Equal rhs: { (ArithSubPart anode: (ArithBinary op_id: Arith_Plus left: (ArithWord w:{($ VSub_Name "$_kpkgrel")}) right: (ArithWord w:{($ VSub_Name "$_mypkgrel")}) ) spids: [228 235] ) } spids: [227] ) ] spids: [227] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgdesc) op: Equal rhs: { (DQ ( "The Open Virtual Machine Tools are the open source implementation of VMware Tools." ) ) } spids: [238] ) ] spids: [238] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:url) op: Equal rhs: {(DQ ("https://github.com/vmware/open-vm-tools/"))} spids: [243] ) ] spids: [243] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:arch) op:Equal rhs:{(DQ ("x86 x86_64"))} spids:[248])] spids: [248] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:license) op:Equal rhs:{(DQ (LGPL))} spids:[253])] spids: [253] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:subpackages) op: Equal rhs: {(DQ ($ VSub_Name "$_realname") ("-virtgrsec:_virtgrsec"))} spids: [258] ) ] spids: [258] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:depends) op: Equal rhs: {(DQ (linux-) (${ VSub_Name _flavor) ("=") (${ VSub_Name _kernelver))} spids: [264] ) ] spids: [264] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:depends_dev) op: Equal rhs: { (DQ ("bash glib-dev gettext-dev linux-") (${ VSub_Name _flavor) ("-dev=") (${ VSub_Name _kernelver) (" linux-virtgrsec-dev=") (${ VSub_Name _kernelver) ) } spids: [276] ) ] spids: [276] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:makedepends) op: Equal rhs: {(DQ ($ VSub_Name "$depends_dev") (" autoconf automake libtool linux-headers"))} spids: [292] ) ] spids: [292] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:source) op: Equal rhs: { (DQ ("https://github.com/vmware/open-vm-tools/archive/stable-") ($ VSub_Name "$_ver") (".tar.gz\n") ("\t0001-Fix-vmxnet-module-on-kernels-3.16.patch\n") ("\tmissing-config-dir.patch\n") ("\t") ) } spids: [298] ) ] spids: [298] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:install_if) op: Equal rhs: {(DQ (linux-) (${ VSub_Name _flavor) ("=") (${ VSub_Name _kernelver) (" open-vm-tools"))} spids: [308] ) ] spids: [308] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:builddir) op: Equal rhs: {(DQ ($ VSub_Name "$srcdir") (/open-vm-tools-stable-) ($ VSub_Name "$_ver")) (/open-vm-tools) } spids: [322] ) ] spids: [322] ) (FuncDef name: prepare body: (BraceGroup children: [ (C {(cd)} {(DQ ($ VSub_Name "$builddir"))}) (AndOr children: [ (C {(update_config_sub)}) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) (AndOr children: [ (C {(default_prepare)}) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) (AndOr children: [ (C {(autoreconf)} {(-vif)}) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) (ForEach iter_name: _abi iter_words: [{($ VSub_Name "$_abi_releases")}] do_arg_iter: False body: (DoGroup children: [ (C {(mkdir)} {(../build-) ($ VSub_Name "$_abi")}) (C {(cp)} {(-r)} {(Lit_Other "*")} {(../build-) ($ VSub_Name "$_abi") (/)}) ] spids: [383 403] ) spids: [379 381] ) ] spids: [335] ) spids: [331 334] ) (FuncDef name: build body: (BraceGroup children: [ (ForEach iter_name: _abi iter_words: [{($ VSub_Name "$_abi_releases")}] do_arg_iter: False body: (DoGroup children: [ (C {(cd)} {(DQ ($ VSub_Name "$builddir")) (/../build-) ($ VSub_Name "$_abi")}) (AndOr children: [ (C {(./configure)} {(--build) (Lit_Other "=") ($ VSub_Name "$CBUILD")} {(--host) (Lit_Other "=") ($ VSub_Name "$CHOST")} {(--disable-deploypkg)} {(--without-pam)} {(--without-x)} {(--without-dnet)} {(--without-icu)} {(--without-procps)} {(--without-ssl)} {(--with-kernel-release) (Lit_Other "=") (DQ (${ VSub_Name _abi))} ) (ControlFlow token: arg_word: {(1)} ) ] op_id: Op_DPipe ) (AndOr children: [ (C {(make)} {(-j1)} {(-C)} {(modules)} {(modules)} {(Lit_VarLike "MODULES=") (DQ ("vmxnet vmhgfs"))} ) (ControlFlow token: arg_word: {(1)} ) ] op_id: Op_DPipe ) ] spids: [424 521] ) spids: [420 422] ) ] spids: [412] ) spids: [408 411] ) (FuncDef name: package body: (BraceGroup children: [ (ForEach iter_name: _abi iter_words: [{($ VSub_Name "$_abi_releases")}] do_arg_iter: False body: (DoGroup children: [ (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$pkgdir")) (/lib/modules/) (${ VSub_Name _abi) (/misc/)} ) (C {(cd)} {(DQ ($ VSub_Name "$builddir")) (/../build-) ($ VSub_Name "$_abi")}) (ForEach iter_name: module iter_words: [ { (CommandSubPart command_list: (CommandList children: [(C {(find)} {(.)} {(-type)} {(f)} {(-name)} {(SQ <"*.ko">)})] ) left_token: spids: [574 588] ) } ] do_arg_iter: False body: (DoGroup children: [ (AndOr children: [ (C {(install)} {(-D)} {(-m644)} {($ VSub_Name "$module")} { (DQ ($ VSub_Name "$pkgdir") (/lib/modules/) (${ VSub_Name _abi) (/misc/) ) } ) (ControlFlow token: arg_word: {(1)} ) ] op_id: Op_DPipe ) ] spids: [591 618] ) spids: [573 589] ) ] spids: [542 621] ) spids: [538 540] ) ] spids: [530] ) spids: [526 529] ) (FuncDef name: _virtgrsec body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgdesc) op: Equal rhs: {(DQ ("VMware guest modules for virtgrsec kernel"))} spids: [633] ) ] spids: [633] ) (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$subpkgdir")) (/lib/modules)}) (AndOr children: [ (C {(mv)} {(DQ ($ VSub_Name "$pkgdir")) (/lib/modules/) (${ VSub_Name _abiver) (-virtgrsec)} {(DQ ($ VSub_Name "$subpkgdir")) (/lib/modules/)} ) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) ] spids: [630] ) spids: [626 629] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:md5sums) op: Equal rhs: { (DQ ("46f5a319275f63658f1a44b6c8755f6b stable-10.1.0.tar.gz\n") ( "3254b99481cea970acd6d65863ce6b48 0001-Fix-vmxnet-module-on-kernels-3.16.patch\n" ) ("5ab8e8249a65a8b750c5bf278f438351 missing-config-dir.patch") ) } spids: [674] ) ] spids: [674] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:sha256sums) op: Equal rhs: { (DQ ( "2b76d8461022774f2c077b032fbe870f86046f20724eb24824cf9b6ccc4b5355 stable-10.1.0.tar.gz\n" ) ( "85be67ed9827e685d55dd5cba25144d95296159ff1be73f491b343c395dd6a7d 0001-Fix-vmxnet-module-on-kernels-3.16.patch\n" ) ("fb7a4bb532ffc81c8be73c66008538f4119a1147bbbdbf32328d286f012b2035 missing-config-dir.patch") ) } spids: [681] ) ] spids: [681] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:sha512sums) op: Equal rhs: { (DQ ( "f497b828510ebc2a88788ad5292047f20513c844e889b3f652ecce382efd6d4672560be7387b55dcb7300cfdde5c8eda407836c9b75614c018e058bb169b374d stable-10.1.0.tar.gz\n" ) ( "c445631b7faf8badfbf8e66518bfb70aec1049c1a0393ff038253e70190d7f8580cbcd3e7037c43664ee0ee48d26edd8f8eaca06383bbd7fa763a182050f9551 0001-Fix-vmxnet-module-on-kernels-3.16.patch\n" ) ( "f77d3848d87d7c387d2cc1555ff3a39e547a8e8fcecee3aa1f785b828fd238c3779c1e5704f52ec46701b29a2ad9aec1cd5aef04677bc2a03b8a7780435f7fdd missing-config-dir.patch" ) ) } spids: [688] ) ] spids: [688] ) ] )