Upgrade vmware-workstation to 11.1.0 and vmware-player to 7.1.0

This commit is contained in:
Sergey Morozov 2015-04-25 17:29:15 +03:00
parent 06f65a5d33
commit bf991051d0
35 changed files with 1427 additions and 351 deletions

View File

@ -1,17 +1,13 @@
AUX 279-3.10-00-userns.patch 1690 SHA256 15f290e50f179ef3dcd4737632971b5f0bd3f2c252a7188dc23244d24e45c3d9 SHA512 996aa6933afe7dea1fe4eb7f152c5eb5fff7fe64d56f257593a03b7dd1b2e9a0f702e5b14b51721d938aa389590e5b777ac5abfd514f410a9568e1c34e408908 WHIRLPOOL 70c652d7e0fcf6b8317aba9cbc1248c19bc3282cbd44c3791871c1819533ad877f31e54df6b03aadbfde2d4613f31c02cdd15d2791b6a769ff39d36a59668d75
AUX 279-3.10-01-getname.patch 729 SHA256 59864b8c33b1b21d816bb2405232d4df1dadc4e969970f704520d01309e8ea2e SHA512 67aaf42b3f7b9602ea3e84ca2f07251ef0ffc2eb2eee2919410325b9ff9ddd3629e5af2eedc91a3f6f409f17b8f69c56f06d8e24573a7e12070fb52ca96c8522 WHIRLPOOL 4348ec879efb941042f11791cc8dafa6b560cf314dd97e407d8b63833043451a7a14c5215b3178afae506566f1ab5f3e499d0ef7d9de00dc44a523e2d597c85f
AUX 279-3.10-03-deprecated.patch 3799 SHA256 ab44a1514e1e0c483094f1e4d9d57ae06b80f866260c35c75b3d292a39e333e7 SHA512 c7bd7dda3d6f1617eb2615d667b75000b5c85f6806016d5dd31f4b3508ef89e616c48aaf9785fadfdfb3e34897952d8b14db02fbdbf8e8e25754b7a3bc8b92bf WHIRLPOOL cf8116e9a99b63e099febad091bd153f7c714b718e14717a5b54cca87b34780fc6fdd44a2fa24fd6429fbcd4e34ecc51c54e72415f861fb361ceb6f1eb6a0c39
AUX 279-3.10-04-dentry.patch 1265 SHA256 4ed8fbf240e8263ccf9ec85de3a6a42df2c174044dff8b7213b4b5e74f731e71 SHA512 7d7729667d084cb8c89eed5e085efe818e2039f3869667081a0bb0f837c96f395f3d3177b88d2cd38e382c3842f6f2e614a470778dca0f34307972d3732e1d64 WHIRLPOOL 2baf16bfa96de468f87ba430e13272b89d75f85fd3f126ed2f0a7a30da9f455db07352d38dc45db994d284d7529bdeabd3d7ec04972cfb5fc1b698306eaa12dd
AUX 279-3.10-05-inode.patch 1489 SHA256 d4db76ed1dc40386f4bb59886996e22c677629f1179a139e370cbe8b7859d1a7 SHA512 7c425186a21fd8546b3c2f51d18ff24ce999464d31e97326ddaf9ef134f1efcbc911ac538d9fa2c41b36569a5421633048bdcaf82db4d577dac28f04e1c7f413 WHIRLPOOL df57492be3c7eff7d35d026af595ade477c32c7893f73da61958579af6e97e7401d5f9bf9324ed374000f99a2999fa664be0ab7ec89f76b1378124ffe3efb672
AUX 279-3.15-00-readlink.patch 544 SHA256 eeeefdd94c2c78adf0ae27c4f62ff612c53ef81c2b4bf1cb8b2b333f72a2de99 SHA512 2a238442f04685dc5daa2dfdcd7fbac8f46e954e90f604c681bfcae59c4a1c2b35d8311fb3560d5c8410207a691aac48da03665556429b54b493a7cda2e16a21 WHIRLPOOL d145b0a8879d365c0d861fccd0f3ec75b5db6fcd7f69dda5d9ab14285f2f65078123a6c9ade760513b5a77707f0ec8d3984e3881c4b546d0487edff353a5962e
AUX 279-3.15-01-vsock.patch 1419 SHA256 7e12baa018536c6a2b4296d0167bd9fb459fcb3950857314c9491ebf06d572b2 SHA512 34fb51223102f96b9e94d2536d1397ce2d11cc5342d80f0a8797d3309326e2f9f2b3b675bf9180bb0eb915abcabf7fdab60619f5992956c4ee7bf9804a567626 WHIRLPOOL ae3ba7caf99468182363ed9928b1b6c8cbe0d771170b0061924cc55e395e1d2a017090f3aee62fa53cc6f07a17b2446805173494b4bd3283153285f1dcdce624
AUX 279-3.17-00-netdev.patch 721 SHA256 1da176c9a3cff1a04d0424abd7ab090696a086021e73ca143d50f69252c86b00 SHA512 3b3e79e2afe9d19315de94bd021c73a26cb7d935a1bd5f771dc0eed8100c14522d4c07a58e4b1edea42ff8522a3a2139f55de7bd048e0067fddf6e8cb1aa2262 WHIRLPOOL c3cea09406deb050a42c1ebea0ecc01d3cc98e02794ead3caf26791df67785f0ec7bda621dc51a58ec1a38a7fd472c82e96c7c51d4918c96d44ff2c7129f55c6
AUX 279-apic.patch 302 SHA256 60e7df881281fedcabe9ea4427b324b5e1142a1a2b6ab5236ac0843bd1051048 SHA512 003240043e5875d8c6425c146e708eb3c3d8be7fa48a2ac42b3071f00dafdbd51f7796d6f884298b135adccaf8a3eac32fd82b34a436a724da125dac5f6261d7 WHIRLPOOL 4707d0ddd532d5ec27ee2ba3d0fb25c1972bbc9f958b4b89f2f5cceffdf955ba88cd1be0cde046aa5fa688d52faeab5ccf3f03bbccb3e9b088abc37ad579e8e0
AUX 279-filldir.patch 2485 SHA256 539e8940b47cb7a5f39ab2ba6f18ceb290a2627c81bd6daead6e5850aec02a63 SHA512 e5f85031f459a79a0f64b15224ae8c1ef23892ef159a37955b9c2a2b13ab6e892325a5aeedd4fd2969da3b187cedcaea8fc41540638d02cf56dce2d3e9194937 WHIRLPOOL a455300e72624e4f9c8d3dc79fa5c3ab1b288e79a04483503006a61d44bc83bf14faf0bfa753f82a70dbd23f870b2f6bfe1b06d23792eb1522a7265799ce03eb
AUX 279-hardened.patch 3334 SHA256 198c182b626aeeb0c6e6558e6982b6d9cd2f11bf03515f72972842f5c773e52c SHA512 eb6829742c44677c6d475894a2a996a87feb1c2ab9afda6a045333fc5befb1c2551ea17ec33e665542d322fb43195b6cfcd576665a73cfc82d66a98579521cf3 WHIRLPOOL d8fde574d68978a4850f06469e5a6dfe21acd0a68b744f3f37ffeb98d5f8786eedeb9fb435e1b141044a23fb142ae44879ee09a45229f2be1c84ef744c15cb7a
AUX 279-makefile-include.patch 2501 SHA256 208121855fe18ecb279ff40f2833463559363461c2170d32c17040211a01f169 SHA512 c498c025c7eb025f6554cee683242dd73e4a284e4b28c95b75339f4f4a912a156acc1845881fbd78bf399c2092af7413f5d6c4782cd066527ea275518b411c1d WHIRLPOOL e03a6d7139ab7b309e0ca1527cb8b52a8f84f5f5d997a510305d2a6ccdd39f33b18c7276df8ac78d92d2a17a66236f582baaa5e374069d3912090544908a0338
AUX 279-makefile-kernel-dir.patch 2153 SHA256 d76b1028d21b804836e36478d243cd7914435a34f3fe014058e0a9cc7a020653 SHA512 f18339dc8ac4c864b0c2fb234ad2db8f4638a5cd28e8fd11b5593c82107925b41b42e0d0acac52232a373780d79a3e397f70886534cdf889055e86cfda718f62 WHIRLPOOL 70c869bf4efab6843856addd0c5f5a295ed2fe38f9fc2a8ab2ca55523cd39cb92018d6bd0dac75658fa0f5260962c98f0bbd001593f3f11c2d204c693061c5b6
AUX 279-netdevice.patch 833 SHA256 8f17ce379abda45a8f94e1dcd6e43367273f97f76edd41f9941beb3b1730a751 SHA512 b4ec7c1694968a1843f10e8bfe0dbfdc99bd3b5fc1391456d91a3648b848b82df681a0748d967afa19e728c4d19b79b6a3cb9fd3e15a52a5cab048a6ac9b06a9 WHIRLPOOL b0cabe2ec1b8ca52d427c02593d6057c98d4ed00c578d006de65460138c37a5be76a7938d85f5a35eb6f49ee5e34065ce62b60a51b0ccf021639a59b27aeac8a
AUX 279-putname.patch 394 SHA256 b8103d3c72c24696e974e49dcdcdf2d5a2b2c2fdd5f6ca050842b840e906ba77 SHA512 86a0a0ec3ff225940190056e85d498fd7eb260bcc52882fea8921398f572bc46f56c3f2941d3f3d1587a07bc72c8885cbddacf632d2b5fed7d8c9d284399d6d8 WHIRLPOOL e1e8afcafe00131fd6d90b61e5d911da69d7c26b7fd19be085eb5cfd23c2ab19784ae5ddf18928f9cc4a178d87c6d51e8de27dfab8507e2d57fc18868fde9f45
AUX 279-vmblock.patch 1041 SHA256 217d27619ac782711686cffee44fbc4bbb40eb0657f335357ad1b0d064f30a35 SHA512 e8e565b677110090cb5bdb7c18d3e97c31049d846b82ee0406aa27dbfa9af8afc39512f1314d49edd6108ec576f3cbc565921de8dfdaaefe2822029ef98c303c WHIRLPOOL 769d0cffcb186d6110de049db963e20e049ef11d92b872c1a6ecfe262acad6c17f456376d219ce01e22839ddcb6a21a2d3e995d797f4c962a0838318dc6f56f9
EBUILD vmware-modules-279.3.ebuild 3379 SHA256 b9e32d1f67971c2e4da4104d097f8481fe8d240482e3288d45e83bc051bd18b1 SHA512 c3a6c5417fffd541c916d215d4803e7071950244d8e8b760eb35c96f59f9197afeace8048fd414f768ce27df85016dee9aa685bd088af14f7b9eb928a17c62de WHIRLPOOL 94bc4d1de1b70d8f401a3a0c540ac7d3571ad279361b31f4cda7d8d71ff328e17eba80e93018c30dc76a03df001c5e619e2054934837532f70f286d4b8408a74
AUX 305-apic.patch 302 SHA256 60e7df881281fedcabe9ea4427b324b5e1142a1a2b6ab5236ac0843bd1051048 SHA512 003240043e5875d8c6425c146e708eb3c3d8be7fa48a2ac42b3071f00dafdbd51f7796d6f884298b135adccaf8a3eac32fd82b34a436a724da125dac5f6261d7 WHIRLPOOL 4707d0ddd532d5ec27ee2ba3d0fb25c1972bbc9f958b4b89f2f5cceffdf955ba88cd1be0cde046aa5fa688d52faeab5ccf3f03bbccb3e9b088abc37ad579e8e0
AUX 305-filldir.patch 2485 SHA256 539e8940b47cb7a5f39ab2ba6f18ceb290a2627c81bd6daead6e5850aec02a63 SHA512 e5f85031f459a79a0f64b15224ae8c1ef23892ef159a37955b9c2a2b13ab6e892325a5aeedd4fd2969da3b187cedcaea8fc41540638d02cf56dce2d3e9194937 WHIRLPOOL a455300e72624e4f9c8d3dc79fa5c3ab1b288e79a04483503006a61d44bc83bf14faf0bfa753f82a70dbd23f870b2f6bfe1b06d23792eb1522a7265799ce03eb
AUX 305-kernel-3.15.patch 1467 SHA256 c4596f85734e4ce8af6bfa577232a2c14f60d712bea6882354ad8f5e4aa7683f SHA512 f5b4482d3cf5bb6f1d65f652befa8ef233d83baefad1170115a8cb8b90941cf337902cb501c8669dc4795f3597c8342ee577cb67b94c1c460bbbae2615c49fed WHIRLPOOL a1541eca32a98d19ddabd2153acdbbd8b7a0ca7ca7777d6b816549355d9ff6e5619256f19e63a91711518f1074c91ccaf5e908ba5920def49898ea5e2ecc8ea5
AUX 305-kernel-3.19.patch 9279 SHA256 1031775aad2d5ad73bdc3f4b48d7557f3184a293a84bfb663dfdf44934bb8e64 SHA512 58fe553553bd5b42884ab0dcf47f575fefe945e74e236da7c86a6e84a4672312cbc15265055d65a80078c3b6d98a50bb5dd4745ef3a2e8501789e6ed51323c7b WHIRLPOOL 3ce3568745d896f8d92a27494160489e9a0650c9578888f4648d6164bf67f5773c36031efa9a067766a92edaea94fa9c9e5fd1a93ec62bf5bc65b8a33fecd3d2
AUX 305-makefile-include.patch 1625 SHA256 23ea30e46d011e2cecf313a20925fcd46106a21be1409edb62800b4a9174175a SHA512 ea26e77b75149650658ea8be24075e093fee211bb19bdc1e721f62943c5ee692a42cfb091fa30de41687fb9e723938a9f5fb793339b0137d6050172f39a48b4c WHIRLPOOL eec948eda2e67540dcdc3c6ceefeff951001f407633dab0abf09d77d55bc083ea0647aa20e61949584960ea81e52605a2755ea9b99c32c8071a50f3363668a9e
AUX 305-makefile-kernel-dir.patch 1306 SHA256 50cde0cbd5c50a19b02a0811bc381a96096ee9410835b6ebddcd4f7ac995bafa SHA512 cae398c7f6bbdd6419cfa4cf597420822e69c756017cf697601a9110db899008634b45f2c72ef4fb71f04e2da6736e49b1c9e5abe923f50daff7cdc1be8a816e WHIRLPOOL a4e77cfdac84305a97a7ad2f4ce0dc1fe69d66e97cb75842c3a0617c21489783f8ad2aadc2af831b2f084d3d7b699f758a4757e947ba7f4ba57f7bfbe93968ba
AUX 305-netdevice.patch 833 SHA256 8f17ce379abda45a8f94e1dcd6e43367273f97f76edd41f9941beb3b1730a751 SHA512 b4ec7c1694968a1843f10e8bfe0dbfdc99bd3b5fc1391456d91a3648b848b82df681a0748d967afa19e728c4d19b79b6a3cb9fd3e15a52a5cab048a6ac9b06a9 WHIRLPOOL b0cabe2ec1b8ca52d427c02593d6057c98d4ed00c578d006de65460138c37a5be76a7938d85f5a35eb6f49ee5e34065ce62b60a51b0ccf021639a59b27aeac8a
AUX 305-putname.patch 394 SHA256 b8103d3c72c24696e974e49dcdcdf2d5a2b2c2fdd5f6ca050842b840e906ba77 SHA512 86a0a0ec3ff225940190056e85d498fd7eb260bcc52882fea8921398f572bc46f56c3f2941d3f3d1587a07bc72c8885cbddacf632d2b5fed7d8c9d284399d6d8 WHIRLPOOL e1e8afcafe00131fd6d90b61e5d911da69d7c26b7fd19be085eb5cfd23c2ab19784ae5ddf18928f9cc4a178d87c6d51e8de27dfab8507e2d57fc18868fde9f45
AUX 305-vfsfollowlink.patch 1219 SHA256 b195f6492a172f682d55fb506ba02c473fd924bb47dc0d1359dd5de163b4da22 SHA512 b675f68175be0b7003d2f80c54dce05a064f8d5bd8744d40571d3d1e0153c01f909e37e0403e53f23a6d61383a9b054c40a2a9ffa95dd765eeffb0c7e739ff1d WHIRLPOOL 3e108ee29c2050029c6079f652e2670529a9f6b220524db214c7dadba3dcaef8fa1ab261f0e10ffa7506456d9f3cccc954bf6a82960e78ebd120c1eb2aac68e8
AUX 305-vmblock-3.14.patch 533 SHA256 2158c00df00e9ea47983b91bf6e72e98c3bc128bd3df1fbd553a8711a9356b9c SHA512 e005e612ad603a5522c7e402c92a6bc6a5802967d4b8211043cf6abe6fc63b416ef8734c86a1b548cbc97eb5f3f48b6187ed7f13da48b6879099df93d2ac43ba WHIRLPOOL f183495b2f35b95c065ac12bad450239e415953efef5dc36912c8b2e4f1495b752939617b4392fe3b6409adb1a2e00b87192168515b2a1d5009879fcdf37f94b
AUX 305-vmblock.patch 1558 SHA256 7b23b17f5049431227b1090ce367368e96c815839c1f468cdc728a1723750eeb SHA512 640e1105c52ba2d59f10a1a7684d0b171f6200fd643ae36b13e1abbfe2827daba8d58c33ba1121978f4273bfd601267e9a95c5208249f1e20874cb48d4af0ef5 WHIRLPOOL b0f3ea5d7093aa4c3ebcf76516e48fd8bd7617a57917e5bd71df126bce885b9c162c7fc9c1fd1ded716231b3463af9398284b03a571609064344da1473dcef7d
AUX hardened.patch 5052 SHA256 191cf892bfb9a6288d110191de824bf6243bc6f48f1e62ab49f3582c7ade5af6 SHA512 52dcca8d9f689f0a0d0ca369c0c7ce0d177de3529d2d1325330eb5a9e940a55e8930bbbe7374793bdf29cbdefac9727e9eb21d00f81ad4f5eddba3a51597b7a5 WHIRLPOOL 539731bc36f3e292403f55d74c353deeb28baa312f726b36d2a6060adf3483dfa2ed011baf93eff941fa754ef62f4d6da86868c40550ee2292c4a711e061bde0
EBUILD vmware-modules-305.0.ebuild 3093 SHA256 c9628a27d0bbbf10fd110bef80913448b6bc0aa44c7e9d1c428fac4d58ae6793 SHA512 f7e9fcf6cf1c16ee45cc1135702853c533e20cabc2161542748cc2858b17be92776047acb8a0cf81af9763ee40f7b1703689db0c8aa560dc3ef91a2ab2f5058b WHIRLPOOL 5c75ee64decb6e93dab274d7e130cf4aee52d3d45cfd426f21fc80fe70e1c8ceb9ee7cfef9e88f735e64f78f79b08f02a7479fc6b48e8afca36f14fee46c46d0

View File

@ -1,41 +0,0 @@
correctly initializes UID/GID values
gets UID correctly in light of user namespace API
origionally from https://462666.bugs.gentoo.org/attachment.cgi?id=342888
--- a/vmblock-only/linux/inode.c 2013-03-20 17:37:48.000000000 +0100
+++ b/vmblock-only/linux/inode.c 2013-03-20 17:41:22.000000000 +0100
@@ -135,7 +135,8 @@
inode->i_size = INODE_TO_IINFO(inode)->nameLen;
inode->i_version = 1;
inode->i_atime = inode->i_mtime = inode->i_ctime = CURRENT_TIME;
- inode->i_uid = inode->i_gid = 0;
+ inode->i_uid = GLOBAL_ROOT_UID;
+ inode->i_gid = GLOBAL_ROOT_GID;
inode->i_op = &LinkInodeOps;
d_add(dentry, inode);
--- a/vmci-only/linux/driver.c 2013-03-20 17:57:35.000000000 +0100
+++ b/vmci-only/linux/driver.c 2013-03-20 17:57:43.000000000 +0100
@@ -740,7 +740,7 @@
goto init_release;
}
- user = current_uid();
+ user = from_kuid(current_user_ns(), current_uid());
retval = VMCIContext_InitContext(initBlock.cid, initBlock.flags,
0 /* Unused */, vmciLinux->userVersion,
&user, &vmciLinux->context);
--- a/vsock-only/linux/af_vsock.c 2013-03-20 18:01:48.000000000 +0100
+++ b/vsock-only/linux/af_vsock.c 2013-03-20 18:01:58.000000000 +0100
@@ -2866,7 +2866,7 @@
vsk->connectTimeout = psk->connectTimeout;
} else {
vsk->trusted = capable(CAP_NET_ADMIN);
- vsk->owner = current_uid();
+ vsk->owner = from_kuid(current_user_ns(), current_uid());
vsk->queuePairSize = VSOCK_DEFAULT_QP_SIZE;
vsk->queuePairMinSize = VSOCK_DEFAULT_QP_SIZE_MIN;
vsk->queuePairMaxSize = VSOCK_DEFAULT_QP_SIZE_MAX;

View File

@ -1,89 +0,0 @@
undefines DEPRECATED which is unfortunately also defined (as a string)
in <linux/printk.h>. Realistically, this macro isn't even used, so this
doesn't matter much. But it hushes some very loud warnings.
diff -rupN vmblock-only/shared/vm_assert.h vmblock-only.new/shared/vm_assert.h
--- vmblock-only/shared/vm_assert.h 2014-04-14 17:41:41.000000000 -0400
+++ vmblock-only.new/shared/vm_assert.h 2014-10-11 17:37:23.010352172 -0400
@@ -251,11 +251,13 @@ void WarningThrottled(uint32 *count, con
#define LOG_ONCE(_s) DO_ONCE(Log _s)
#ifdef VMX86_DEVEL
+ #undef DEPRECATED
#define DEPRECATED(_fix) DO_ONCE( \
Warning("%s:%d: %s is DEPRECATED. %s\n", \
__FILE__, __LINE__, __FUNCTION__, \
_fix))
#else
+ #undef DEPRECATED
#define DEPRECATED(_fix) do {} while (0)
#endif
diff -rupN vmci-only/shared/vm_assert.h vmci-only.new/shared/vm_assert.h
--- vmci-only/shared/vm_assert.h 2014-04-14 17:41:41.000000000 -0400
+++ vmci-only.new/shared/vm_assert.h 2014-10-11 17:37:08.936352130 -0400
@@ -251,11 +251,13 @@ void WarningThrottled(uint32 *count, con
#define LOG_ONCE(_s) DO_ONCE(Log _s)
#ifdef VMX86_DEVEL
+ #undef DEPRECATED
#define DEPRECATED(_fix) DO_ONCE( \
Warning("%s:%d: %s is DEPRECATED. %s\n", \
__FILE__, __LINE__, __FUNCTION__, \
_fix))
#else
+ #undef DEPRECATED
#define DEPRECATED(_fix) do {} while (0)
#endif
diff -rupN vmmon-only/include/vm_assert.h vmmon-only.new/include/vm_assert.h
--- vmmon-only/include/vm_assert.h 2014-04-14 20:06:20.000000000 -0400
+++ vmmon-only.new/include/vm_assert.h 2014-10-11 17:36:45.289352058 -0400
@@ -251,11 +251,13 @@ void WarningThrottled(uint32 *count, con
#define LOG_ONCE(_s) DO_ONCE(Log _s)
#ifdef VMX86_DEVEL
+ #undef DEPRECATED
#define DEPRECATED(_fix) DO_ONCE( \
Warning("%s:%d: %s is DEPRECATED. %s\n", \
__FILE__, __LINE__, __FUNCTION__, \
_fix))
#else
+ #undef DEPRECATED
#define DEPRECATED(_fix) do {} while (0)
#endif
diff -rupN vmnet-only/vm_assert.h vmnet-only.new/vm_assert.h
--- vmnet-only/vm_assert.h 2014-04-14 20:06:21.000000000 -0400
+++ vmnet-only.new/vm_assert.h 2014-10-11 17:37:14.364352146 -0400
@@ -251,11 +251,13 @@ void WarningThrottled(uint32 *count, con
#define LOG_ONCE(_s) DO_ONCE(Log _s)
#ifdef VMX86_DEVEL
+ #undef DEPRECATED
#define DEPRECATED(_fix) DO_ONCE( \
Warning("%s:%d: %s is DEPRECATED. %s\n", \
__FILE__, __LINE__, __FUNCTION__, \
_fix))
#else
+ #undef DEPRECATED
#define DEPRECATED(_fix) do {} while (0)
#endif
diff -rupN vsock-only/shared/vm_assert.h vsock-only.new/shared/vm_assert.h
--- vsock-only/shared/vm_assert.h 2014-04-14 17:41:41.000000000 -0400
+++ vsock-only.new/shared/vm_assert.h 2014-10-11 17:37:02.778352111 -0400
@@ -251,11 +251,13 @@ void WarningThrottled(uint32 *count, con
#define LOG_ONCE(_s) DO_ONCE(Log _s)
#ifdef VMX86_DEVEL
+ #undef DEPRECATED
#define DEPRECATED(_fix) DO_ONCE( \
Warning("%s:%d: %s is DEPRECATED. %s\n", \
__FILE__, __LINE__, __FUNCTION__, \
_fix))
#else
+ #undef DEPRECATED
#define DEPRECATED(_fix) do {} while (0)
#endif

View File

@ -1,34 +0,0 @@
starting with kernel 3.6, d_revalidate takes an unsigned int "flags"
as the second argument, not a nameidata pointer! see fs/namei.c
for implementation
diff -Naur vmblock-only/linux/dentry.c vmblock-only/linux/dentry.c
--- vmblock-only/linux/dentry.c 2013-11-05 23:33:26.000000000 -0500
+++ vmblock-only/linux/dentry.c 2014-04-26 10:58:03.062635343 -0400
@@ -32,7 +32,7 @@
#include "block.h"
-static int DentryOpRevalidate(struct dentry *dentry, struct nameidata *nd);
+static int DentryOpRevalidate(struct dentry *dentry, unsigned int flags);
struct dentry_operations LinkDentryOps = {
.d_revalidate = DentryOpRevalidate,
@@ -60,7 +60,7 @@
static int
DentryOpRevalidate(struct dentry *dentry, // IN: dentry revalidating
- struct nameidata *nd) // IN: lookup flags & intent
+ unsigned int flags) // IN: lookup flags & intent
{
VMBlockInodeInfo *iinfo;
struct nameidata actualNd;
@@ -101,7 +101,7 @@
if (actualDentry &&
actualDentry->d_op &&
actualDentry->d_op->d_revalidate) {
- return actualDentry->d_op->d_revalidate(actualDentry, nd);
+ return actualDentry->d_op->d_revalidate(actualDentry, flags);
}
if (compat_path_lookup(iinfo->name, 0, &actualNd)) {

View File

@ -1,15 +0,0 @@
replacing usage of vfs_readlink with new readlink_copy API
see: http://permalink.gmane.org/gmane.linux.kernel.commits.head/445090
diff -rupN vmblock-only/linux/inode.c vmblock-only/linux/inode.c
--- vmblock-only/linux/inode.c 2014-10-05 23:20:14.545218357 -0400
+++ vmblock-only/linux/inode.c 2014-10-05 23:33:01.549259933 -0400
@@ -178,7 +178,7 @@ InodeOpReadlink(struct dentry *dentry,
return -EINVAL;
}
- return vfs_readlink(dentry, buffer, buflen, iinfo->name);
+ return readlink_copy(buffer, buflen, iinfo->name);
}

View File

@ -1,46 +0,0 @@
removing the no longer existing second parameter to sk_data_ready
doesn't seem it ever served a purpose.
diff -rupN vsock-only/linux/notify.c vsock-only.new/linux/notify.c
--- vsock-only/linux/notify.c 2013-11-05 23:33:27.000000000 -0500
+++ vsock-only.new/linux/notify.c 2014-10-05 23:46:47.943304728 -0400
@@ -515,8 +515,11 @@ VSockVmciHandleWrote(struct sock *sk,
vsk = vsock_sk(sk);
PKT_FIELD(vsk, sentWaitingRead) = FALSE;
#endif
-
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 15, 0)
+ sk->sk_data_ready(sk);
+#else
sk->sk_data_ready(sk, 0);
+#endif
}
diff -rupN vsock-only/linux/notifyQState.c vsock-only.new/linux/notifyQState.c
--- vsock-only/linux/notifyQState.c 2013-11-05 23:33:27.000000000 -0500
+++ vsock-only.new/linux/notifyQState.c 2014-10-05 23:46:33.231303931 -0400
@@ -164,7 +164,11 @@ VSockVmciHandleWrote(struct sock *sk,
struct sockaddr_vm *dst, // IN: unused
struct sockaddr_vm *src) // IN: unused
{
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 15, 0)
+ sk->sk_data_ready(sk);
+#else
sk->sk_data_ready(sk, 0);
+#endif
}
@@ -566,7 +570,11 @@ VSockVmciNotifyPktRecvPostDequeue(struct
}
/* See the comment in VSockVmciNotifyPktSendPostEnqueue */
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 15, 0)
+ sk->sk_data_ready(sk);
+#else
sk->sk_data_ready(sk, 0);
+#endif
}
return err;

View File

@ -1,16 +0,0 @@
new alloc_netdev requires a new parameter. All examples in the kernel i've seen just
use the constant NET_NAME_UNKNOWN.
origionally from: https://communities.vmware.com/message/2425189
diff -rupN vmnet-only/netif.c vmnet-only.new/netif.c
--- vmnet-only/netif.c 2013-11-06 00:40:52.000000000 -0500
+++ vmnet-only.new/netif.c 2014-10-09 17:29:12.361307961 -0400
@@ -149,7 +149,7 @@ VNetNetIf_Create(char *devName, // IN:
memcpy(deviceName, devName, sizeof deviceName);
NULL_TERMINATE_STRING(deviceName);
- dev = alloc_netdev(sizeof *netIf, deviceName, VNetNetIfSetup);
+ dev = alloc_netdev(sizeof *netIf, deviceName, NET_NAME_USER, VNetNetIfSetup);
if (!dev) {
retval = -ENOMEM;
goto out;

View File

@ -0,0 +1,47 @@
--- vmblock-only/linux/inode.c 2014-04-14 23:25:31.755344470 +0200
+++ vmblock-only/linux/inode.c.new 2014-04-14 23:23:31.732337759 +0200
@@ -178,7 +178,11 @@
return -EINVAL;
}
+#if LINUX_VERSION_CODE <= KERNEL_VERSION(3, 14, 99)
return vfs_readlink(dentry, buffer, buflen, iinfo->name);
+#else
+ return readlink_copy(buffer, buflen, iinfo->name);
+#endif
}
diff -rupN vsock-only/linux/notify.c vsock-only-mod/linux/notify.c
--- vsock-only/linux/notify.c 2014-04-15 03:11:41.000000000 +0530
+++ vsock-only-mod/linux/notify.c 2014-05-27 21:36:56.713291909 +0530
@@ -516,7 +516,7 @@ VSockVmciHandleWrote(struct sock *sk,
PKT_FIELD(vsk, sentWaitingRead) = FALSE;
#endif
- sk->sk_data_ready(sk, 0);
+ sk->sk_data_ready(sk);
}
diff -rupN vsock-only/linux/notifyQState.c vsock-only-mod/linux/notifyQState.c
--- vsock-only/linux/notifyQState.c 2014-04-15 03:11:41.000000000 +0530
+++ vsock-only-mod/linux/notifyQState.c 2014-05-27 21:38:52.561286734 +0530
@@ -164,7 +164,7 @@ VSockVmciHandleWrote(struct sock *sk,
struct sockaddr_vm *dst, // IN: unused
struct sockaddr_vm *src) // IN: unused
{
- sk->sk_data_ready(sk, 0);
+ sk->sk_data_ready(sk);
}
@@ -566,7 +566,7 @@ VSockVmciNotifyPktRecvPostDequeue(struct
}
/* See the comment in VSockVmciNotifyPktSendPostEnqueue */
- sk->sk_data_ready(sk, 0);
+ sk->sk_data_ready(sk);
}
return err;

View File

@ -0,0 +1,236 @@
diff -u vmnet-only/driver.c vmnet-only.new/driver.c
--- vmnet-only/driver.c 2014-11-20 20:13:56.000000000 -0500
+++ vmnet-only.new/driver.c 2015-02-09 11:53:18.000000000 -0500
@@ -264,11 +264,17 @@
struct file * filp) // IN:
{
int ret = -ENOTTY;
-
- if (filp && filp->f_op && filp->f_op->ioctl == VNetFileOpIoctl) {
- ret = VNetFileOpIoctl(filp->f_dentry->d_inode, filp, iocmd, ioarg);
- }
- return ret;
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 19, 0)
+ if (filp && filp->f_op && filp->f_op->ioctl == VNetFileOpIoctl) {
+ ret = VNetFileOpIoctl(filp->f_dentry->d_inode, filp, iocmd, ioarg);
+ }
+ return ret;
+#else
+ if (filp && filp->f_op && filp->f_op->ioctl == VNetFileOpIoctl) {
+ ret = VNetFileOpIoctl(filp->f_path.dentry->d_inode, filp, iocmd, ioarg);
+ }
+ return ret;
+#endif
}
@@ -1191,11 +1197,20 @@
struct inode *inode = NULL;
long err;
- if (filp && filp->f_dentry) {
- inode = filp->f_dentry->d_inode;
- }
- err = VNetFileOpIoctl(inode, filp, iocmd, ioarg);
- return err;
+ #if LINUX_VERSION_CODE < KERNEL_VERSION(3, 19, 0)
+ if (filp && filp->f_dentry) {
+ inode = filp->f_dentry->d_inode;
+ }
+ err = VNetFileOpIoctl(inode, filp, iocmd, ioarg);
+ return err;
+#else
+ if (filp && filp->f_path.dentry) {
+ inode = filp->f_path.dentry->d_inode;
+ }
+ err = VNetFileOpIoctl(inode, filp, iocmd, ioarg);
+ return err;
+#endif
+
}
#endif
diff -u vmnet-only/userif.c vmnet-only.new/userif.c
--- vmnet-only/userif.c 2014-11-20 20:13:56.000000000 -0500
+++ vmnet-only.new/userif.c 2015-02-09 11:56:03.000000000 -0500
@@ -523,7 +523,13 @@
.iov_base = buf,
.iov_len = len,
};
- return skb_copy_datagram_iovec(skb, 0, &iov, len);
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 19, 0)
+ return skb_copy_datagram_iovec(skb, 0, &iov, len);
+#else
+ struct iov_iter to;
+ iov_iter_init(&to, READ, &iov, 1, len);
+ return skb_copy_datagram_iter(skb, 0, &to, len);
+#endif
}
diff -u vmblock-only.orig/linux/file.c vmblock-only/linux/file.c
--- vmblock-only.orig/linux/file.c 2015-02-11 12:18:29.000000000 -0500
+++ vmblock-only/linux/file.c 2015-02-11 12:41:41.000000000 -0500
@@ -92,7 +92,7 @@
* and that would try to acquire the inode's semaphore; if the two inodes
* are the same we'll deadlock.
*/
- if (actualFile->f_dentry && inode == actualFile->f_dentry->d_inode) {
+ if (actualFile->f_path.dentry && inode == actualFile->f_path.dentry->d_inode) {
Warning("FileOpOpen: identical inode encountered, open cannot succeed.\n");
if (filp_close(actualFile, current->files) < 0) {
Warning("FileOpOpen: unable to close opened file.\n");
diff -rupN vmblock-only.orig/linux/dentry.c vmblock-only/linux/dentry.c
--- vmblock-only.orig/linux/dentry.c 2015-02-14 18:05:46.000000000 -0500
+++ vmblock-only/linux/dentry.c 2015-02-14 18:09:59.000000000 -0500
@@ -63,7 +63,7 @@ DentryOpRevalidate(struct dentry *dentry
unsigned int flags) // IN: lookup flags & intent
{
VMBlockInodeInfo *iinfo;
- struct nameidata actualNd;
+ struct path actualNd;
struct dentry *actualDentry;
int ret;
diff -rupN vmblock-only.orig/linux/filesystem.c vmblock-only/linux/filesystem.c
--- vmblock-only.orig/linux/filesystem.c 2014-11-20 19:29:15.000000000 -0500
+++ vmblock-only/linux/filesystem.c 2015-02-14 18:10:49.000000000 -0500
@@ -322,7 +322,7 @@ Iget(struct super_block *sb, // IN: f
{
VMBlockInodeInfo *iinfo;
struct inode *inode;
- struct nameidata actualNd;
+ struct path actualNd;
ASSERT(sb);
diff -rupN vmblock-only.orig/shared/compat_namei.h vmblock-only/shared/compat_namei.h
--- vmblock-only.orig/shared/compat_namei.h 2014-11-20 19:29:15.000000000 -0500
+++ vmblock-only/shared/compat_namei.h 2015-02-14 18:08:38.000000000 -0500
@@ -26,21 +26,21 @@
* struct. They were both replaced with a struct path.
*/
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 25)
-#define compat_vmw_nd_to_dentry(nd) (nd).path.dentry
+#define compat_vmw_nd_to_dentry(nd) (nd).dentry
#else
#define compat_vmw_nd_to_dentry(nd) (nd).dentry
#endif
/* In 2.6.25-rc2, path_release(&nd) was replaced with path_put(&nd.path). */
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 25)
-#define compat_path_release(nd) path_put(&(nd)->path)
+#define compat_path_release(nd) path_put(nd)
#else
#define compat_path_release(nd) path_release(nd)
#endif
/* path_lookup was removed in 2.6.39 merge window VFS merge */
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 38)
-#define compat_path_lookup(name, flags, nd) kern_path(name, flags, &((nd)->path))
+#define compat_path_lookup(name, flags, nd) kern_path(name, flags, nd)
#else
#define compat_path_lookup(name, flags, nd) path_lookup(name, flags, nd)
#endif
diff -ur vmci-only.orig/linux/vmciKernelIf.c vmci-only/linux/vmciKernelIf.c
--- vmci-only.orig/linux/vmciKernelIf.c 2014-06-13 01:20:45.000000000 +0200
+++ vmci-only/linux/vmciKernelIf.c 2015-02-21 17:59:47.011588979 +0100
@@ -1249,6 +1249,23 @@
return VMCI_SUCCESS;
}
+int memcpy_toiovec(struct iovec *iov, unsigned char *kdata, int len)
+{
+ while (len > 0) {
+ if (iov->iov_len) {
+ int copy = min_t(unsigned int, iov->iov_len, len);
+ if (copy_to_user(iov->iov_base, kdata, copy))
+ return -EFAULT;
+ kdata += copy;
+ len -= copy;
+ iov->iov_len -= copy;
+ iov->iov_base += copy;
+ }
+ iov++;
+ }
+
+ return 0;
+}
/*
*-----------------------------------------------------------------------------
diff -ur vsock-only.orig/linux/af_vsock.c vsock-only/linux/af_vsock.c
--- vsock-only.orig/linux/af_vsock.c 2015-02-21 18:09:14.147266976 +0100
+++ vsock-only/linux/af_vsock.c 2015-02-21 18:14:07.134285068 +0100
@@ -233,13 +233,13 @@
char __user *optval, int __user * optlen);
static int VSockVmciDgramSendmsg(struct kiocb *kiocb,
- struct socket *sock, struct msghdr *msg, size_t len);
+ struct socket *sock, struct user_msghdr *msg, size_t len);
static int VSockVmciDgramRecvmsg(struct kiocb *kiocb, struct socket *sock,
- struct msghdr *msg, size_t len, int flags);
+ struct user_msghdr *msg, size_t len, int flags);
static int VSockVmciStreamSendmsg(struct kiocb *kiocb,
- struct socket *sock, struct msghdr *msg, size_t len);
+ struct socket *sock, struct user_msghdr *msg, size_t len);
static int VSockVmciStreamRecvmsg(struct kiocb *kiocb, struct socket *sock,
- struct msghdr *msg, size_t len, int flags);
+ struct user_msghdr *msg, size_t len, int flags);
static int VSockVmciCreate(
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 24)
@@ -4195,7 +4195,7 @@
static int
VSockVmciDgramSendmsg(struct kiocb *kiocb, // UNUSED
struct socket *sock, // IN: socket to send on
- struct msghdr *msg, // IN: message to send
+ struct user_msghdr *msg, // IN: message to send
size_t len) // IN: length of message
{
int err;
@@ -4525,7 +4525,7 @@
static int
VSockVmciStreamSendmsg(struct kiocb *kiocb, // UNUSED
struct socket *sock, // IN: socket to send on
- struct msghdr *msg, // IN: message to send
+ struct user_msghdr *msg, // IN: message to send
size_t len) // IN: length of message
{
struct sock *sk;
@@ -4694,7 +4694,7 @@
static int
VSockVmciDgramRecvmsg(struct kiocb *kiocb, // UNUSED
struct socket *sock, // IN: socket to receive from
- struct msghdr *msg, // IN/OUT: message to receive into
+ struct user_msghdr *msg, // IN/OUT: message to receive into
size_t len, // IN: length of receive buffer
int flags) // IN: receive flags
{
@@ -4704,6 +4704,7 @@
VMCIDatagram *dg;
size_t payloadLen;
struct sk_buff *skb;
+ struct iov_iter to;
sk = sock->sk;
noblock = flags & MSG_DONTWAIT;
@@ -4742,7 +4743,8 @@
}
/* Place the datagram payload in the user's iovec. */
- err = skb_copy_datagram_iovec(skb, sizeof *dg, msg->msg_iov, payloadLen);
+ iov_iter_init(&to, READ, msg->msg_iov, 1, payloadLen);
+ err = skb_copy_datagram_iter(skb, sizeof *dg, &to, payloadLen);
if (err) {
goto out;
}
@@ -4785,7 +4787,7 @@
static int
VSockVmciStreamRecvmsg(struct kiocb *kiocb, // UNUSED
struct socket *sock, // IN: socket to receive from
- struct msghdr *msg, // IN/OUT: message to receive into
+ struct user_msghdr *msg, // IN/OUT: message to receive into
size_t len, // IN: length of receive buffer
int flags) // IN: receive flags
{

View File

@ -11,19 +11,6 @@ index ab7a727..e3ec9d2 100644
EXTRA_CFLAGS += $(call vm_check_build, $(AUTOCONF_DIR)/cachecreate.c, -DVMW_KMEMCR_HAS_DTOR, )
EXTRA_CFLAGS += $(call vm_check_build, $(AUTOCONF_DIR)/cachector.c, -DVMW_KMEMCR_CTOR_HAS_3_ARGS, )
diff --git a/vmci-only/Makefile.kernel b/vmci-only/Makefile.kernel
index ba343ee..861ea83 100644
--- a/vmci-only/Makefile.kernel
+++ b/vmci-only/Makefile.kernel
@@ -21,7 +21,7 @@ CC_OPTS += -DVMCI
INCLUDE += -I$(SRCROOT)/shared -I$(SRCROOT)/common -I$(SRCROOT)/linux
-EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE)
+EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE) $(LINUXINCLUDE)
obj-m += $(DRIVER).o
diff --git a/vmmon-only/Makefile.kernel b/vmmon-only/Makefile.kernel
index 8770d1d..c4746c3 100644
--- a/vmmon-only/Makefile.kernel
@ -50,16 +37,4 @@ index d1e3133..665d428 100644
EXTRA_CFLAGS += $(call vm_check_build, $(SRCROOT)/netdev_has_net.c,-DVMW_NETDEV_HAS_NET, )
EXTRA_CFLAGS += $(call vm_check_build, $(SRCROOT)/netdev_has_dev_net.c,-DVMW_NETDEV_HAS_DEV_NET, )
EXTRA_CFLAGS += $(call vm_check_build, $(SRCROOT)/nfhook_uses_skb.c,-DVMW_NFHOOK_USES_SKB, )
diff --git a/vsock-only/Makefile.kernel b/vsock-only/Makefile.kernel
index b4629ee..264b8cb 100644
--- a/vsock-only/Makefile.kernel
+++ b/vsock-only/Makefile.kernel
@@ -25,7 +25,7 @@ INCLUDE += -I$(SRCROOT)/include
INCLUDE += -I$(SRCROOT)/linux
INCLUDE += -I$(SRCROOT)/common
-EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE)
+EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE) $(LINUXINCLUDE)
EXTRA_CFLAGS += $(call vm_check_build, $(AUTOCONF_DIR)/netcreate_num_params.c, -DVMW_NETCREATE_KERNARG, )

View File

@ -15,23 +15,6 @@ index 2b81323..746c8b8 100644
DRIVER := vmblock
PRODUCT := ws
diff --git a/vmci-only/Makefile b/vmci-only/Makefile
index 8e9c5be..6ec828b 100644
--- a/vmci-only/Makefile
+++ b/vmci-only/Makefile
@@ -49,10 +49,10 @@ VM_UNAME = $(shell uname -r)
ifdef LINUXINCLUDE
HEADER_DIR = $(LINUXINCLUDE)
else
-HEADER_DIR = /lib/modules/$(VM_UNAME)/build/include
+HEADER_DIR = $(KERNEL_DIR)
endif
-BUILD_DIR = $(HEADER_DIR)/..
+BUILD_DIR = $(KBUILD_OUTPUT)
DRIVER := vmci
PRODUCT := ws
diff --git a/vmmon-only/Makefile b/vmmon-only/Makefile
index 5bd867b..91a83d4 100644
--- a/vmmon-only/Makefile
@ -66,20 +49,3 @@ index d4eb73c..c7c6d38 100644
DRIVER := vmnet
PRODUCT := @@PRODUCT@@
diff --git a/vsock-only/Makefile b/vsock-only/Makefile
index 93dd61d..9765696 100644
--- a/vsock-only/Makefile
+++ b/vsock-only/Makefile
@@ -49,10 +49,10 @@ VM_UNAME = $(shell uname -r)
ifdef LINUXINCLUDE
HEADER_DIR = $(LINUXINCLUDE)
else
-HEADER_DIR = /lib/modules/$(VM_UNAME)/build/include
+HEADER_DIR = $(KERNEL_DIR)
endif
-BUILD_DIR = $(HEADER_DIR)/..
+BUILD_DIR = $(KBUILD_OUTPUT)
DRIVER := vsock
PRODUCT := ws

View File

@ -1,11 +1,6 @@
starting with kernel 3.6, d_revalidate takes an unsigned int "flags"
as the second argument, not a nameidata pointer! see fs/namei.c
for implementation. Also changing vfs_follow_link to nd_set_link.
See: https://lkml.org/lkml/2013/9/9/236
diff -Naur vmblock-only/linux/inode.c vmblock-only/linux/inode.c
--- vmblock-only/linux/inode.c 2013-11-05 23:33:26.000000000 -0500
+++ vmblock-only/linux/inode.c 2014-04-26 10:58:03.063635343 -0400
diff -Naur a/linux/inode.c b/linux/inode.c
--- a/vmblock-only/linux/inode.c 2013-10-03 04:29:47.471339204 -0400
+++ b/vmblock-only/linux/inode.c 2013-10-03 04:31:56.607334636 -0400
@@ -36,7 +36,7 @@
/* Inode operations */
@ -20,17 +15,16 @@ diff -Naur vmblock-only/linux/inode.c vmblock-only/linux/inode.c
InodeOpLookup(struct inode *dir, // IN: parent directory's inode
struct dentry *dentry, // IN: dentry to lookup
- struct nameidata *nd) // IN: lookup intent and information
+ unsigned int flags) // IN: lookup intent and information
+ unsigned int flags) // IN: lookup intent and information
{
char *filename;
struct inode *inode;
@@ -221,7 +221,8 @@
@@ -221,7 +221,7 @@
goto out;
}
- ret = vfs_follow_link(nd, iinfo->name);
+ nd_set_link(nd, iinfo->name);
+ ret = 0;
out:
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13)

View File

@ -1,8 +1,3 @@
uses __getname/__putname instead of getname. getname was deprecated
the new code calls __getname (which really is a specific type of
memory allocator, then copies the string safely from user space
into the allocated buffer
--- vmblock-only/linux/control.c 2014-03-15 15:28:40.871076076 +0100
+++ vmblock-only/linux/control.c.new 2014-03-15 15:29:15.079074439 +0100
@@ -279,11 +279,17 @@
@ -22,3 +17,5 @@ into the allocated buffer
+ }
+
for (i = strlen(name) - 1; i >= 0 && name[i] == '/'; i--) {
name[i] = '\0';
}

View File

@ -21,3 +21,16 @@ diff -ruN work.orig/vmblock-only/linux/control.c work/vmblock-only/linux/control
return 0;
}
--- a/vmblock-only/linux/inode.c 2014-04-15 00:41:40.000000000 +0300
+++ b/vmblock-only/linux/inode.c 2014-04-23 12:44:50.005954179 +0300
@@ -135,7 +135,8 @@ InodeOpLookup(struct inode *dir, //
inode->i_size = INODE_TO_IINFO(inode)->nameLen;
inode->i_version = 1;
inode->i_atime = inode->i_mtime = inode->i_ctime = CURRENT_TIME;
- inode->i_uid = inode->i_gid = 0;
+ inode->i_uid = GLOBAL_ROOT_UID;
+ inode->i_gid = GLOBAL_ROOT_GID;
inode->i_op = &LinkInodeOps;
d_add(dentry, inode);

View File

@ -1,3 +1,60 @@
diff --git a/vmci-only/linux/driver.c b/vmci-only/linux/driver.c
index 921f25c..41a39e3 100644
--- a/vmci-only/linux/driver.c
+++ b/vmci-only/linux/driver.c
@@ -241,7 +241,24 @@ static unsigned int LinuxDriverPoll(struct file *file, poll_table *wait);
#define LinuxDriverUnlockIoctlPerFD(mutex) do {} while (0)
#endif
-static struct file_operations vmuser_fops;
+/*
+ * Moved file operations initialize here because of incompatibilites
+ * with Gentoo hardened profile/hardend Linux 3.
+ */
+static struct file_operations vmuser_fops = {
+ .owner = THIS_MODULE,
+ .poll = LinuxDriverPoll,
+#ifdef HAVE_UNLOCKED_IOCTL
+ .unlocked_ioctl = LinuxDriver_UnlockedIoctl,
+#else
+ .ioctl = LinuxDriver_Ioctl,
+#endif
+#ifdef HAVE_COMPAT_IOCTL
+ .compat_ioctl = LinuxDriver_UnlockedIoctl,
+#endif
+ .open = LinuxDriver_Open,
+ .release = LinuxDriver_Close
+};
/*
@@ -378,26 +395,6 @@ vmci_host_init(void)
return -ENOMEM;
}
- /*
- * Initialize the file_operations structure. Because this code is always
- * compiled as a module, this is fine to do it here and not in a static
- * initializer.
- */
-
- memset(&vmuser_fops, 0, sizeof vmuser_fops);
- vmuser_fops.owner = THIS_MODULE;
- vmuser_fops.poll = LinuxDriverPoll;
-#ifdef HAVE_UNLOCKED_IOCTL
- vmuser_fops.unlocked_ioctl = LinuxDriver_UnlockedIoctl;
-#else
- vmuser_fops.ioctl = LinuxDriver_Ioctl;
-#endif
-#ifdef HAVE_COMPAT_IOCTL
- vmuser_fops.compat_ioctl = LinuxDriver_UnlockedIoctl;
-#endif
- vmuser_fops.open = LinuxDriver_Open;
- vmuser_fops.release = LinuxDriver_Close;
-
sprintf(linuxState.deviceName, "vmci");
linuxState.major = 10;
linuxState.misc.minor = MISC_DYNAMIC_MINOR;
diff --git a/vmmon-only/linux/driver.c b/vmmon-only/linux/driver.c
index b21dd44..960c2aa 100644
--- a/vmmon-only/linux/driver.c

View File

@ -16,16 +16,18 @@ SRC_URI=""
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
KEYWORDS="~amd64"
IUSE="pax_kernel +vmci +vsock"
RDEPEND=""
DEPEND="${RDEPEND}
|| ( =app-emulation/vmware-player-6.0.${PV_MINOR}*
=app-emulation/vmware-workstation-10.0.${PV_MINOR}* )"
|| ( =app-emulation/vmware-player-7.1.0.2496824
=app-emulation/vmware-workstation-11.1.0.2496824 )"
S=${WORKDIR}
MAKEOPTS="${MAKEOPTS} -j1"
pkg_setup() {
CONFIG_CHECK="~HIGH_RES_TIMERS"
if kernel_is ge 2 6 37 && kernel_is lt 2 6 39; then
@ -59,6 +61,7 @@ pkg_setup() {
enewgroup "${VMWARE_GROUP}"
filter-flags -mfpmath=sse
filter-flags -msse -msse2 -msse3 -mssse3 -msse4.1 -msse4.2 -mf16c -mpclmul
for mod in ${VMWARE_MODULE_LIST}; do
MODULE_NAMES="${MODULE_NAMES} ${mod}(misc:${S}/${mod}-only)"
@ -76,21 +79,16 @@ src_prepare() {
epatch "${FILESDIR}/${PV_MAJOR}-makefile-kernel-dir.patch"
epatch "${FILESDIR}/${PV_MAJOR}-makefile-include.patch"
epatch "${FILESDIR}/${PV_MAJOR}-netdevice.patch"
use pax_kernel && epatch "${FILESDIR}/279-hardened.patch"
use pax_kernel && epatch "${FILESDIR}/hardened.patch"
epatch "${FILESDIR}/${PV_MAJOR}-apic.patch"
kernel_is ge 3 7 0 && epatch "${FILESDIR}/${PV_MAJOR}-putname.patch"
kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-vmblock.patch"
kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.10-00-userns.patch"
kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.10-01-getname.patch"
kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.10-03-deprecated.patch"
kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.10-04-dentry.patch"
kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.10-05-inode.patch"
kernel_is ge 3 11 0 && epatch "${FILESDIR}/${PV_MAJOR}-filldir.patch"
kernel_is ge 3 15 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.15-00-readlink.patch"
kernel_is ge 3 15 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.15-01-vsock.patch"
kernel_is ge 3 17 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.17-00-netdev.patch"
kernel_is ge 3 12 0 && epatch "${FILESDIR}/${PV_MAJOR}-vfsfollowlink.patch"
kernel_is ge 3 14 0 && epatch "${FILESDIR}/${PV_MAJOR}-vmblock-3.14.patch"
kernel_is ge 3 15 0 && epatch "${FILESDIR}/${PV_MAJOR}-kernel-3.15.patch"
kernel_is ge 3 19 0 && epatch "${FILESDIR}/${PV_MAJOR}-kernel-3.19.patch"
# Allow user patches so they can support RC kernels and whatever else
epatch_user
}
@ -98,10 +96,10 @@ src_install() {
linux-mod_src_install
local udevrules="${T}/60-vmware.rules"
cat > "${udevrules}" <<-EOF
KERNEL=="vmci", GROUP="vmware", MODE=660
KERNEL=="vmw_vmci", GROUP="vmware", MODE=660
KERNEL=="vmmon", GROUP="vmware", MODE=660
KERNEL=="vsock", GROUP="vmware", MODE=660
KERNEL=="vmci", GROUP="vmware", MODE="660"
KERNEL=="vmw_vmci", GROUP="vmware", MODE="660"
KERNEL=="vmmon", GROUP="vmware", MODE="660"
KERNEL=="vsock", GROUP="vmware", MODE="660"
EOF
udev_dorules "${udevrules}"
}

View File

@ -0,0 +1,6 @@
AUX config-3.0 308 SHA256 f00e4bb7e23d1d9dffdb5043705f512dba34c641121401851ab77c648fe64a70 SHA512 5016074165523e01b1d1f5e80baca0f040edbc454263f9a1d74e3215361935f7b60753fe227b7365c4da81d4a66f55692d6f6e321adde53fcd166a37fe69c732 WHIRLPOOL ba7304f816512a974eb918e81cd76940825dbed48b766f6feb3040c2792f7293253f28cc5fde346c07ba1d12bdbce60c2085e795724c95989712b91b1a5718d3
AUX list-bundle-components.xsl 470 SHA256 4fe6b25ecbb99b3a4f15cbb8de41be466ff545f8e9fa1110d62ca0cf24e72395 SHA512 7e1a186e9e40df09f3fdee413e67a5377d04c25f92b807a7800929cb7d585aeb0d5d3869997a409d35ff8dcd0334255d1e33d32e1a78d7ba9876f99b0f8647ae WHIRLPOOL 9b6a0a79e4ecdfe5bdf40eabbeb37d5d69aa34559d5507a6e9350b6978617fb7ccc684fbfd2516f3c591ed76e68acea30872bf74f4d8ad7eff50fafd4f16048c
AUX list-component-files.xsl 545 SHA256 6682c07630ef4586016776e065018f8695a790c5297408597b1ae24692fab629 SHA512 e3e4e7bf4eac86e614d0363d47e1a0587d3d735a3542dd830304c12b4de822f12f2f9f10cb6c5a128db2112721491f0317a0080a2c8cfd31acdbcda70061b260 WHIRLPOOL b05c186e9d98b51b02d8f068e5b8ae55765a22a2baa046bdd790045a2dade3be9f005f8d342eb914d541dba661d723dcff3e462908c1caea02fd95c802a83a84
AUX vmware-3.0.rc 888 SHA256 8e7b3e024d41a7f2a1fccf3a2f3d232f2936cd62e6cf172aeba43f651ee64a87 SHA512 e47fd5ca7ae30225bef0d682d45a54dab96edb4a0260b982aa668434d80889c95e42efb04cf3ba15cee2ec6778ebb9cb89bb4526a8e85cd5bedab7a27fd9b114 WHIRLPOOL fd27327ff8fcecdb06614c6fc30b87ed97bfbbbcdcb1f1c1aac0b00dccf8cf7648cc46a9fa78b1872a33784eb0d8064937c7ced3112076646324cadd7fa72921
DIST VMware-Player-7.1.0-2496824.x86_64.bundle.tar 211077120 SHA256 80259e2b9337d4193da27109634fcb112e40241038f6956fa0e4e3b2f19900af SHA512 28f51f5b167fee8ad3c77fc3c36b0bb084e9f7e891f29952293f5857dcc1e03427d8db33a013abd64145293e19866f3c7d61e6e0d008eb94a1a349e9e8176459 WHIRLPOOL bca1a430a33914c004ddaaf13788ec26fa859a959f017c85b398f72c8b9af2da58c2f96c3d4034ab2d18aded07a304b4d30291eb422e692baefc833e47aec430
EBUILD vmware-player-7.1.0.2496824.ebuild 6697 SHA256 19492b86cb627f76c0327b255f4fa0aaddb79be6be2d920414be4a73a5775a2a SHA512 03cfaa0462c06ad0a8ef9579a807bd136fa90290fadb1f21d7166f4523588c58673a563802f540e278de8036f1e312daafe497e50aea1122b46ceab5df6dcdae WHIRLPOOL 5b18433bc8f0f2cc0d3e61e7d7c3aa31c3c7d82ec2351be015ab0f61e2055d429d37eb9eee3d5b5bcac7b7c531f7113e138346dbe0447545ce784f06c8bd0647

View File

@ -0,0 +1,10 @@
VMCI_CONFED = "yes"
NETWORKING = "yes"
initscriptdir = "/etc/init.d"
VMBLOCK_CONFED = "yes"
authd.fullpath = "@@VM_INSTALL_DIR@@/sbin/vmware-authd"
gksu.rootMethod = "su"
VSOCK_CONFED = "yes"
libdir = "@@VM_INSTALL_DIR@@/lib/vmware"
bindir = "@@VM_INSTALL_DIR@@/bin"
product.buildNumber = "@@BUILD_NUMBER@@"

View File

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes"/>
<xsl:template match="text()"/>
<xsl:template match="/bundle/components/component">
<xsl:value-of select="@offset"/>
<xsl:text> </xsl:text>
<xsl:value-of select="@size"/>
<xsl:text> </xsl:text>
<xsl:value-of select="@name"/>
<xsl:text>&#10;</xsl:text>
</xsl:template>
</xsl:stylesheet>

View File

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes"/>
<xsl:template match="text()"/>
<xsl:template match="/component/fileset/file">
<xsl:value-of select="@offset"/>
<xsl:text> </xsl:text>
<xsl:value-of select="@compressedSize"/>
<xsl:text> </xsl:text>
<xsl:value-of select="@uncompressedSize"/>
<xsl:text> </xsl:text>
<xsl:value-of select="@path"/>
<xsl:text>&#10;</xsl:text>
</xsl:template>
</xsl:stylesheet>

View File

@ -0,0 +1,33 @@
#!/sbin/runscript
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-emulation/vmware-player/files/vmware-3.0.rc,v 1.1 2011/03/27 15:23:48 vadimk Exp $
depend() {
need localmount
use net
}
start() {
ebegin Starting VMware USB Arbitrator
#start-stop-daemon --start --exec @@BINDIR@@/vmware-usbarbitrator
@@BINDIR@@/vmware-usbarbitrator
eend $?
ebegin Starting VMware services
modprobe -a vmmon vmci vsock vmblock vmnet
eend $?
@@BINDIR@@/vmware-networks --start
eend $?
}
stop() {
ebegin Stopping VMware USB Arbitrator
#start-stop-daemon --stop --exec @@BINDIR@@/vmware-usbarbitrator
killall --wait @@BINDIR@@/vmware-usbarbitrator
eend $?
@@BINDIR@@/vmware-networks --stop
eend $?
ebegin Stopping VMware services
modprobe -r vsock vmci vmmon vmblock vmnet
eend $?
}

View File

@ -0,0 +1,244 @@
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-emulation/vmware-player/vmware-player-6.0.3.1895310.ebuild,v 1.1 2014/10/16 21:58:49 dilfridge Exp $
EAPI=5
inherit eutils versionator fdo-mime gnome2-utils pax-utils vmware-bundle
MY_PN="VMware-Player"
MY_PV=$(get_version_component_range 1-3)
PV_MINOR=$(get_version_component_range 3)
PV_BUILD=$(get_version_component_range 4)
MY_P="${MY_PN}-${MY_PV}-${PV_BUILD}"
DESCRIPTION="Emulate a complete PC on your PC without the usual performance overhead of most emulators"
HOMEPAGE="http://www.vmware.com/products/player/"
BASE_URI="https://softwareupdate.vmware.com/cds/vmw-desktop/player/${MY_PV}/${PV_BUILD}/linux/core/"
SRC_URI="
amd64? ( ${BASE_URI}${MY_P}.x86_64.bundle.tar )
"
LICENSE="vmware GPL-2"
SLOT="0"
KEYWORDS="-* ~amd64"
IUSE="cups doc +vmware-tools"
RESTRICT="strip"
# vmware-workstation should not use virtual/libc as this is a
# precompiled binary package thats linked to glibc.
RDEPEND="dev-cpp/cairomm
dev-cpp/glibmm:2
dev-cpp/gtkmm:2.4
dev-cpp/libgnomecanvasmm:2.6
dev-cpp/pangomm:1.4
dev-libs/atk
dev-libs/glib:2
dev-libs/libaio
dev-libs/libsigc++
dev-libs/libxml2
=dev-libs/openssl-0.9.8*
dev-libs/xmlrpc-c
gnome-base/libgnomecanvas
gnome-base/libgtop-compat
gnome-base/librsvg:2
gnome-base/orbit
media-libs/fontconfig
media-libs/freetype
media-libs/libart_lgpl
=media-libs/libpng-1.2*
net-misc/curl
cups? ( net-print/cups )
sys-devel/gcc
sys-fs/fuse
sys-libs/glibc
sys-libs/zlib
x11-libs/cairo
x11-libs/gtk+:2
x11-libs/libgksu
x11-libs/libICE
x11-libs/libSM
x11-libs/libX11
x11-libs/libXau
x11-libs/libxcb
x11-libs/libXcomposite
x11-libs/libXcursor
x11-libs/libXdamage
x11-libs/libXdmcp
x11-libs/libXext
x11-libs/libXfixes
x11-libs/libXft
x11-libs/libXi
x11-libs/libXinerama
x11-libs/libXrandr
x11-libs/libXrender
x11-libs/libXtst
x11-libs/pango
x11-libs/startup-notification
!app-emulation/vmware-workstation"
PDEPEND="~app-emulation/vmware-modules-305.${PV_MINOR}
vmware-tools? ( app-emulation/vmware-tools )"
S=${WORKDIR}
VM_INSTALL_DIR="/opt/vmware"
src_unpack() {
default
local bundle=${A%.tar}
local component ; for component in \
vmware-player \
vmware-player-app \
vmware-vmx \
vmware-usbarbitrator \
vmware-network-editor \
vmware-player-setup
#vmware-ovftool
do
vmware-bundle_extract-bundle-component "${bundle}" "${component}" "${S}"
done
}
src_prepare() {
rm -f bin/vmware-modconfig
rm -rf lib/modules/binary
# Bug 459566
mv lib/libvmware-netcfg.so lib/lib/
}
clean_bundled_libs() {
ebegin 'Removing superfluous libraries'
# exclude OpenSSL from unbundling until the AES-NI patch gets into the tree
# see http://forums.gentoo.org/viewtopic-t-835867.html
# must use shipped libgcr.so.0 or else "undefined symbol: gcr_certificate_widget_new"
ldconfig -p | sed 's:^\s\+\([^(]*[^( ]\).*=> \(/.*\)$:\1 \2:g;t;d' | fgrep -v 'libcrypto.so.0.9.8
libssl.so.0.9.8
libgcr.so.0' | while read -r libname libpath ; do
dosym "${libpath}" "${VM_INSTALL_DIR}/lib/vmware/lib/${libname}/${libname}"
done
eend
}
src_install() {
# install the binaries
into "${VM_INSTALL_DIR}"
dobin bin/* || die "failed to install bin"
# install the libraries
insinto "${VM_INSTALL_DIR}"/lib/vmware
doins -r lib/*
# Bug 432918
dosym "${VM_INSTALL_DIR}"/lib/vmware/lib/libcrypto.so.0.9.8/libcrypto.so.0.9.8 \
"${VM_INSTALL_DIR}"/lib/vmware/lib/libvmwarebase.so.0/libcrypto.so.0.9.8
dosym "${VM_INSTALL_DIR}"/lib/vmware/lib/libssl.so.0.9.8/libssl.so.0.9.8 \
"${VM_INSTALL_DIR}"/lib/vmware/lib/libvmwarebase.so.0/libssl.so.0.9.8
# install the ancillaries
insinto /usr
doins -r share
if use cups; then
exeinto $(cups-config --serverbin)/filter
doexe extras/thnucups
insinto /etc/cups
doins -r etc/cups/*
fi
# install documentation
if use doc; then
dodoc doc/*
fi
exeinto "${VM_INSTALL_DIR}"/lib/vmware/setup
doexe vmware-config
# create symlinks for the various tools
local tool ; for tool in thnuclnt vmplayer{,-daemon} \
vmware-{acetool,unity-helper,modconfig{,-console},gksu,fuseUI} ; do
dosym appLoader "${VM_INSTALL_DIR}"/lib/vmware/bin/"${tool}"
done
dosym "${VM_INSTALL_DIR}"/lib/vmware/bin/vmplayer "${VM_INSTALL_DIR}"/bin/vmplayer
dosym "${VM_INSTALL_DIR}"/lib/vmware/icu /etc/vmware/icu
# fix permissions
fperms 0755 "${VM_INSTALL_DIR}"/lib/vmware/bin/{appLoader,fusermount,launcher.sh,mkisofs,vmware-remotemks}
fperms 0755 "${VM_INSTALL_DIR}"/lib/vmware/lib/{wrapper-gtk24.sh,libgksu2.so.0/gksu-run-helper}
fperms 4711 "${VM_INSTALL_DIR}"/lib/vmware/bin/vmware-vmx{,-debug,-stats}
pax-mark -m "${D}${VM_INSTALL_DIR}"/lib/vmware/bin/vmware-vmx
# create the environment
local envd="${T}/90vmware"
cat > "${envd}" <<-EOF
PATH='${VM_INSTALL_DIR}/bin'
ROOTPATH='${VM_INSTALL_DIR}/bin'
EOF
doenvd "${envd}" || die
# create the configuration
dodir /etc/vmware || die
cat > "${D}"/etc/vmware/bootstrap <<-EOF
BINDIR='${VM_INSTALL_DIR}/bin'
LIBDIR='${VM_INSTALL_DIR}/lib'
EOF
cat > "${D}"/etc/vmware/config <<-EOF
bindir = "${VM_INSTALL_DIR}/bin"
libdir = "${VM_INSTALL_DIR}/lib/vmware"
initscriptdir = "/etc/init.d"
authd.fullpath = "${VM_INSTALL_DIR}/sbin/vmware-authd"
gksu.rootMethod = "su"
VMCI_CONFED = "yes"
VMBLOCK_CONFED = "yes"
VSOCK_CONFED = "yes"
NETWORKING = "yes"
player.product.version = "${MY_PV}"
product.buildNumber = "${PV_BUILD}"
EOF
# install the init.d script
local initscript="${T}/vmware.rc"
sed -e "s:@@BINDIR@@:${VM_INSTALL_DIR}/bin:g" \
"${FILESDIR}/vmware-3.0.rc" > "${initscript}" || die
newinitd "${initscript}" vmware || die
# fill in variable placeholders
sed -e "s:@@LIBCONF_DIR@@:${VM_INSTALL_DIR}/lib/vmware/libconf:g" \
-i "${D}${VM_INSTALL_DIR}"/lib/vmware/libconf/etc/{gtk-2.0/{gdk-pixbuf.loaders,gtk.immodules},pango/pango{.modules,rc}} || die
sed -e "s:@@BINARY@@:${VM_INSTALL_DIR}/bin/vmplayer:g" \
-e "/^Encoding/d" \
-i "${D}/usr/share/applications/${PN}.desktop" || die
}
pkg_config() {
"${VM_INSTALL_DIR}"/bin/vmware-networks --postinstall ${PN},old,new
}
pkg_preinst() {
gnome2_icon_savelist
}
pkg_postinst() {
fdo-mime_desktop_database_update
gnome2_icon_cache_update
ewarn "/etc/env.d was updated. Please run:"
ewarn "env-update && source /etc/profile"
ewarn ""
ewarn "Before you can use vmware-player, you must configure a default network setup."
ewarn "You can do this by running 'emerge --config ${PN}'."
}
pkg_prerm() {
einfo "Stopping ${PN} for safe unmerge"
/etc/init.d/vmware stop
}
pkg_postrm() {
fdo-mime_desktop_database_update
gnome2_icon_cache_update
}

View File

@ -0,0 +1,7 @@
DIST vmware-tools-freebsd-9.9.2-2496824.x86_64.component.tar 15267840 SHA256 92331cc0c1b6340e23c7f06f36fef6d2945385527f9f49f06c1d9099bbec03d9 SHA512 d58ddaa59b8c939484aa60fe27f2ae857564cb3e607ec76163aec9c02b11115c0d592cb77dfe123397b0700ca7617c2a69e624a6279b6e4fb99101e5ced43bbd WHIRLPOOL e02783002ab5b862c69de1f5d68ec7690b2c6cd9013cdffd2df6b7337bc8e2b532438568cfa503d5b9d23af8c1d35512097522ccc2e4a92dca71e04225d4ff8f
DIST vmware-tools-linux-9.9.2-2496824.x86_64.component.tar 62044160 SHA256 3b08dc7dedb9312ddb465c96435120f87053cd1e456e42dc60fba9e0367044f1 SHA512 8bf3022715f40440838225b1ab2e0fb265c7920da3445a252898d3a4d845e93cbd1af34829e470da0bf9427342adeefd2e5b3df915ec63417fa33d9fa995b783 WHIRLPOOL ba49c9e645528ffb59187937a1b1dc01026da9386ddbcf489b25a3ff7d0b1d799c60beb7c820e5472b6b001c56f7b1bdbf6af1e22f8d78fc1ec4c6d32b7aa9d4
DIST vmware-tools-netware-9.9.2-2496824.x86_64.component.tar 81920 SHA256 a590932c3b0294b14ea16c93c76547f2ff7a552019ca79646422d0f5025fd20f SHA512 df18e77a2cb6be56d0009f75d4fb040d5275191456c6dbe44d1d69f741edbabd48cefc0ac6c0a29a8b624bd635accc1665c79c3b7c185d0f4cb3047c5839b7f1 WHIRLPOOL 56f11f4e98bc186519338ff31fd742d0ab16790f1cdf9d8a739fedf53fc88acbe15500c04df892a64b19b042ae20a302ec9326a835ab072b4d51da0cd1ffea04
DIST vmware-tools-solaris-9.9.2-2496824.x86_64.component.tar 13015040 SHA256 af2974298a6149a869532fe9c2fa1afff68565340d50a3712d72326c29a40f08 SHA512 2c399b37e539b4cd4419e4c34b8af22baf621bd45fb39640936b0c30724719f45ac49ff470121a1453ff4dac9f4ce06192c653a75dc12fb49e3122f6692ce046 WHIRLPOOL b950ecf772d902dea333270dc65d44fbbb3c4b388ffcf7b7e5f6f00c23b8ae7ea2bef567563d14f8236418b1af5c5800ce4797d0e486d0deba295bdcb71868d2
DIST vmware-tools-winPre2k-9.9.2-2496824.x86_64.component.tar 11530240 SHA256 af08bcc956943bc0ed09e37e03bf2005f32cabdd5697d0398f32b6c1943677c3 SHA512 bdce5073ee5937f7e6cf0944360fda5c5e136f7f19f00bbc5fffb7c6e8ce328494309697e4dfabeece73380421f9e6fa34dadaf3c6d540e676a491245de79d36 WHIRLPOOL b59a72c2d63368119998e3d26267f032f8923f792e0031cbd4805911cf65e0a3d39be3d5bb1489b5fac84fba50554d212b9fcaabec726810ed35f1c36e94defe
DIST vmware-tools-windows-9.9.2-2496824.x86_64.component.tar 71485440 SHA256 3ef86f0bfce6f9396b4868d2fc067baa425cf9d1db2c4361dad81adb8fb02b69 SHA512 0c1df24026f96d160c3e3f4afac127d82f5ba1a4aabff4ca8fa64a60cde4b67b648601144d54a97bc760636bea1f9e71229b05bdc1c6d2959b3be93c1dc421eb WHIRLPOOL 090e49c1452987a77010e20f23f24f747e3158d4cc7ab6604d3fada16bb42410b34631c82d1580611bb7364faa1174108cce037ec4cc873821fe68e3d745cb3c
EBUILD vmware-tools-9.9.2.2496824.ebuild 1523 SHA256 dafe2e1c32ef7e86b31e107756324a00d7ff779579a3894a33ecd5de541c4396 SHA512 b5de80898a165a56a307c33117098c0007793b1e77ae878cd495a478a66fb0b4bac47cff94d3c3b85f95600805ec5bc4ec7b75fa87ce913b810c02d82ec84c9a WHIRLPOOL add598a534f17799db5a7445f004c5cbd3dc76bddcd02f2b4bd1410e2747f36b7a2ee25ad8c9ee0028ec647ad43913dfdba804160cbb86d0b442e6fa2ba2d0f7

View File

@ -0,0 +1,54 @@
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-emulation/vmware-tools/vmware-tools-9.6.2.1744117.ebuild,v 1.1 2014/04/19 16:26:21 dilfridge Exp $
inherit versionator vmware-bundle
MY_PV="$(replace_version_separator 3 - $PV)"
BASE_URI="http://softwareupdate.vmware.com/cds/vmw-desktop/player/7.1.0/$(get_version_component_range 4)/linux/packages/"
DESCRIPTION="VMware Tools for guest operating systems"
HOMEPAGE="http://www.vmware.com/products/player/"
LICENSE="vmware"
SLOT="0"
KEYWORDS="-* ~amd64 ~x86"
RESTRICT="mirror"
IUSE=""
DEPEND=""
RDEPEND=""
IUSE_VMWARE_GUEST="freebsd linux netware solaris windows winPre2k"
VM_INSTALL_DIR="/opt/vmware"
for guest in ${IUSE_VMWARE_GUEST} ; do
SRC_URI+=" vmware_guest_${guest}? (
amd64? ( ${BASE_URI}vmware-tools-${guest}-${MY_PV}.x86_64.component.tar )
)"
IUSE+=" vmware_guest_${guest}"
done ; unset guest
src_unpack() {
local arch
if use x86 ; then arch='i386'
elif use amd64 ; then arch='x86_64'
fi
local guest ; for guest in ${IUSE_VMWARE_GUEST} ; do
if use "vmware_guest_${guest}" ; then
local component="vmware-tools-${guest}-${MY_PV}.${arch}.component"
unpack "${component}.tar"
vmware-bundle_extract-component "${component}"
fi
done
}
src_install() {
insinto "${VM_INSTALL_DIR}"/lib/vmware/isoimages
local guest ; for guest in ${IUSE_VMWARE_GUEST} ; do
if use "vmware_guest_${guest}" ; then
doins "${guest}".iso{,.sig}
fi
done
}

View File

@ -0,0 +1,8 @@
AUX configure-hostd.sh 372 SHA256 072604b18a4122d72004caa33fee4e5a8624f37c6c4a32ac9fb5f834d7cf157b SHA512 87c84f5e51e8b4585a9a55f13771cd8b84f2e4e0bb33679e3a1b23eb84a5be5d523a57b6c770095c1d21712a98e9317bbd215ab027843b0586b35ecf9fb85b49 WHIRLPOOL 6bd9bbfa93bcd85e6b8c135e517fb3b16287696f49080d731d5ea82166c7ac609ca2c508f2c6cd45143f6fd1e2e8cd2310c462b21e34131a9320edfeae623811
AUX list-bundle-components.xsl 470 SHA256 4fe6b25ecbb99b3a4f15cbb8de41be466ff545f8e9fa1110d62ca0cf24e72395 SHA512 7e1a186e9e40df09f3fdee413e67a5377d04c25f92b807a7800929cb7d585aeb0d5d3869997a409d35ff8dcd0334255d1e33d32e1a78d7ba9876f99b0f8647ae WHIRLPOOL 9b6a0a79e4ecdfe5bdf40eabbeb37d5d69aa34559d5507a6e9350b6978617fb7ccc684fbfd2516f3c591ed76e68acea30872bf74f4d8ad7eff50fafd4f16048c
AUX list-component-files.xsl 545 SHA256 6682c07630ef4586016776e065018f8695a790c5297408597b1ae24692fab629 SHA512 e3e4e7bf4eac86e614d0363d47e1a0587d3d735a3542dd830304c12b4de822f12f2f9f10cb6c5a128db2112721491f0317a0080a2c8cfd31acdbcda70061b260 WHIRLPOOL b05c186e9d98b51b02d8f068e5b8ae55765a22a2baa046bdd790045a2dade3be9f005f8d342eb914d541dba661d723dcff3e462908c1caea02fd95c802a83a84
AUX vmware-11.1.rc 997 SHA256 287adf0ac9fa41371efbe1b42e00892b420c78ddfccfe64b76dd5ae257e03237 SHA512 abd4c01ae1d1bf991308a3681f7d7227ecec591240240811e8dcb7c5a449133775ca860fa59bf1ca98851e55ba3ea475436f783b02aeabdf26fdd116d4c53a75 WHIRLPOOL 9b5c07fbeb4ae9f503f5cba1d84db9ee5da74dde74395582c8c4ae3360a827c9a87376309b7975e978d50a3ec0a818a044ea770b6449f0b0c23243ffa4707324
AUX vmware-server-11.1.rc 1690 SHA256 2548a2aed8f33bde76fd6a0fc9a970128332506ebc38d94da87723166cf09efa SHA512 34a604442c9eefefa88a742a1682e4b16ca1cbcf48ef2ff84742dd0bc27314ae3f59ca7db73d588fb20ce4eedb00c97671621ec1bdabd92b1543f33304eb420a WHIRLPOOL 46718c4fafd4e401644de17c043d08bfa59a6575bdf5e6cc26b5828f068729578604301cd2e79ec6bca109d82031684e984e63cd949c2a96bd4ba78b6db2a8fb
DIST VMware-Workstation-11.1.0-2496824.x86_64.bundle.tar 259112960 SHA256 bad9d8e223a2d7be07965c6dfc1dc450c996d4d447c500a7c874b85fc731d6c1 SHA512 78de89be8943f8ee99fae048047047f98ae44ee3bbb6dabd550726af864c61b0824a72b5ad91120cab0115d91fa036908d182518fcbd1b68b9a78caeb18ebc33 WHIRLPOOL 77807b5139eef194233bca608c888cec81a40b3fda1c08fb31a39bd24133ac58f700b6b84fd50207b9a47184a72a86e00cf00c74b13523c05b069b3dc089b34b
DIST gentoo-01.tar.gz 1884 SHA256 e92c694865f1b29f4d7a39efa1dd87bc71dc5f922573f00a3d31ee8e27a8c335 SHA512 454ab93997781bd0a9accddb2ac7bb446f07ea7cddef5640369025c30e03592e14869e0f0f7b4457db2f1ada31c98051426016c86201afa8bc8e3aa4ccc2f875 WHIRLPOOL 9202583b617532ab2612b384da307218e7c93c2962f0d233e28bea066b07163c9bc51c0a599309f9d703c5575ebeb292d787716225624dc1c2fdff3c44fa3513
EBUILD vmware-workstation-11.1.0.2496824.ebuild 14246 SHA256 cae21a603c3f31a68321f42431a275d35f6b1de2c4608ddf0fc656baf95f48d2 SHA512 eebf03eb634edef654b6eae2908777c3bb1881de4bf6dfead96df1efe1b560af66e188b2b8ef8d3fcd0bc520075d7553642a51c40dc705dea3212b77955814ac WHIRLPOOL e99e3b701a42a42435764ee3a44a6ed15e89e93641cce597522a242593246676608dafb8f356091e746f266f5f432001bfeaaeeb4c682ba7cfec6d1a25545759

View File

@ -0,0 +1,20 @@
#!/bin/bash
action="$1"
case $action in
add)
rc-update -q add vmware-workstation-server default
rc-service vmware-workstation-server start
;;
remove)
rc-update -q del vmware-workstation-server default
rc-service vmware-workstation-server stop
;;
status)
rc-service -q vmware-workstation-server status
;;
*)
exit 1
;;
esac

View File

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes"/>
<xsl:template match="text()"/>
<xsl:template match="/bundle/components/component">
<xsl:value-of select="@offset"/>
<xsl:text> </xsl:text>
<xsl:value-of select="@size"/>
<xsl:text> </xsl:text>
<xsl:value-of select="@name"/>
<xsl:text>&#10;</xsl:text>
</xsl:template>
</xsl:stylesheet>

View File

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes"/>
<xsl:template match="text()"/>
<xsl:template match="/component/fileset/file">
<xsl:value-of select="@offset"/>
<xsl:text> </xsl:text>
<xsl:value-of select="@compressedSize"/>
<xsl:text> </xsl:text>
<xsl:value-of select="@uncompressedSize"/>
<xsl:text> </xsl:text>
<xsl:value-of select="@path"/>
<xsl:text>&#10;</xsl:text>
</xsl:template>
</xsl:stylesheet>

View File

@ -0,0 +1,37 @@
#!/sbin/runscript
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-emulation/vmware-workstation/files/vmware-10.0.rc,v 1.2 2014/04/26 20:36:17 dilfridge Exp $
depend() {
need localmount
use net
}
start() {
ebegin Starting VMware USB Arbitrator
#start-stop-daemon --start --exec @@BINDIR@@/vmware-usbarbitrator
@@BINDIR@@/vmware-usbarbitrator
eend $?
ebegin Starting VMware services
modprobe -v vmci || modprobe -v vmw_vmci
eend $?
modprobe -av vmmon vmci vsock vmblock vmnet
eend $?
@@BINDIR@@/vmware-networks --start
eend $?
}
stop() {
ebegin Stopping VMware USB Arbitrator
#start-stop-daemon --stop --exec @@BINDIR@@/vmware-usbarbitrator
killall --wait @@BINDIR@@/vmware-usbarbitrator
eend $?
@@BINDIR@@/vmware-networks --stop
eend $?
ebegin Stopping VMware services
modprobe -rv vsock vmmon vmblock vmnet
eend $?
modprobe -rv vmci || modprobe -rv vmw_vmci
eend $?
}

View File

@ -0,0 +1,55 @@
#!/sbin/runscript
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-emulation/vmware-workstation/files/vmware-server-10.0.rc,v 1.1 2013/10/19 11:38:39 dilfridge Exp $
depend() {
need localmount vmware
use net
}
checkconfig() {
# Check if certificates exist. If not, we need to generate them, ala sshd.
if [ ! -e @@ETCDIR@@/ssl/rui.key -o ! -e @@ETCDIR@@/ssl/rui.crt ]; then
mkdir -p @@ETCDIR@@/ssl
openssl req -x509 -days 365 -newkey rsa:2048 -keyout @@ETCDIR@@/ssl/rui.key -out @@ETCDIR@@/ssl/rui.crt -config @@ETCDIR@@/ssl/hostd.ssl.config
chmod -R 600 @@ETCDIR@@/ssl
fi
}
start() {
checkconfig
ebegin Starting VMware Authentication Daemon
start-stop-daemon --start \
--exec @@PREFIX@@/sbin/vmware-authdlauncher
eend $?
ebegin Starting VMware Workstation Server
start-stop-daemon --start \
--pidfile /var/run/vmware/vmware-hostd.PID \
--exec @@BINDIR@@/vmware-hostd \
-- -a -d @@ETCDIR@@/hostd/config.xml
eend $?
}
stop() {
ebegin "Shutdown VMs in the AutoStart Sequence"
local HOHO_ADMIN="$(@@BINDIR@@/vmware-wssc-adminTool "@@ETCDIR@@/hostd/authorization.xml" 2>/dev/null)"
if [ "x" != "x${HOHO_ADMIN}" ]; then
@@BINDIR@@/vmware-vim-cmd -U "${HOHO_ADMIN}" hostsvc/autostartmanager/autostop
fi
eend $?
ebegin Stopping VMware Workstation Server
start-stop-daemon --stop \
--pidfile /var/run/vmware/vmware-hostd.PID \
--exec @@BINDIR@@/vmware-hostd
eend $?
ebegin Stopping VMware Authentication Daemon
#start-stop-daemon --stop \
# --exec @@PREFIX@@/sbin/vmware-authdlauncher
killall @@PREFIX@@/sbin/vmware-authdlauncher
eend $?
}

View File

@ -0,0 +1,492 @@
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-emulation/vmware-workstation/vmware-workstation-10.0.2.1744117.ebuild,v 1.1 2014/04/19 10:13:35 dilfridge Exp $
EAPI="4"
inherit eutils versionator fdo-mime systemd gnome2-utils pam vmware-bundle
MY_PN="VMware-Workstation"
MY_PV=$(get_version_component_range 1-3)
PV_MINOR=$(get_version_component_range 3)
PV_BUILD=$(get_version_component_range 4)
MY_P="${MY_PN}-${MY_PV}-${PV_BUILD}"
SYSTEMD_UNITS_TAG="gentoo-01"
DESCRIPTION="Emulate a complete PC on your PC without the usual performance overhead of most emulators"
HOMEPAGE="http://www.vmware.com/products/workstation/"
BASE_URI="http://softwareupdate.vmware.com/cds/vmw-desktop/ws/${MY_PV}/${PV_BUILD}/linux/core/"
SRC_URI="
amd64? ( ${BASE_URI}${MY_P}.x86_64.bundle.tar )
https://github.com/akhuettel/systemd-vmware/archive/${SYSTEMD_UNITS_TAG}.tar.gz
"
LICENSE="vmware GPL-2"
SLOT="0"
KEYWORDS="-* ~amd64"
IUSE="cups doc ovftool server vix vmware-tools"
RESTRICT="mirror strip"
# vmware-workstation should not use virtual/libc as this is a
# precompiled binary package thats linked to glibc.
RDEPEND="dev-cpp/cairomm
dev-cpp/glibmm:2
dev-cpp/gtkmm:2.4
dev-cpp/libgnomecanvasmm
dev-cpp/pangomm
dev-libs/atk
dev-libs/glib:2
dev-libs/icu
dev-libs/expat
dev-libs/libaio
dev-libs/libgcrypt:0
dev-libs/libsigc++
dev-libs/libxml2
=dev-libs/openssl-0.9.8*
dev-libs/xmlrpc-c
gnome-base/libgnomecanvas
gnome-base/libgtop-compat
gnome-base/librsvg:2
gnome-base/orbit
media-libs/fontconfig
media-libs/freetype
media-libs/libart_lgpl
=media-libs/libpng-1.2*
media-libs/libpng
net-misc/curl
cups? ( net-print/cups )
sys-devel/gcc
sys-fs/fuse
sys-libs/glibc
sys-libs/zlib
x11-libs/cairo
x11-libs/gtk+:2
x11-libs/libgksu
x11-libs/libICE
x11-libs/libSM
x11-libs/libX11
x11-libs/libXau
x11-libs/libxcb
x11-libs/libXcomposite
x11-libs/libXcursor
x11-libs/libXdamage
x11-libs/libXdmcp
x11-libs/libXext
x11-libs/libXfixes
x11-libs/libXft
x11-libs/libXi
x11-libs/libXinerama
x11-libs/libXrandr
x11-libs/libXrender
x11-libs/libXtst
x11-libs/pango
x11-libs/pangox-compat
x11-libs/startup-notification
x11-themes/hicolor-icon-theme
!app-emulation/vmware-player"
PDEPEND="=app-emulation/vmware-modules-305.${PV_MINOR}
vmware-tools? ( app-emulation/vmware-tools )"
S=${WORKDIR}
VM_INSTALL_DIR="/opt/vmware"
VM_DATA_STORE_DIR="/var/lib/vmware/Shared VMs"
VM_HOSTD_USER="root"
src_unpack() {
default
local bundle
use amd64 && bundle=${MY_P}.x86_64.bundle
use x86 && bundle=${MY_P}.i386.bundle
local component; for component in \
vmware-vmx \
vmware-player-app \
vmware-player-setup \
vmware-workstation \
vmware-network-editor \
vmware-network-editor-ui \
vmware-usbarbitrator \
vmware-vprobe
do
vmware-bundle_extract-bundle-component "${bundle}" "${component}" "${S}"
done
if use server; then
vmware-bundle_extract-bundle-component "${bundle}" vmware-workstation-server #"${S}"
fi
if use vix; then
vmware-bundle_extract-bundle-component "${bundle}" vmware-vix-core vmware-vix
vmware-bundle_extract-bundle-component "${bundle}" vmware-vix-lib-Workstation1100andvSphere600 vmware-vix
fi
if use ovftool; then
vmware-bundle_extract-bundle-component "${bundle}" vmware-ovftool
fi
}
src_prepare() {
rm -f bin/vmware-modconfig
rm -rf lib/modules/binary
# Bug 459566
mv lib/libvmware-netcfg.so lib/lib/
if use server; then
rm -f vmware-workstation-server/bin/{openssl,configure-hostd.sh}
fi
find "${S}" -name '*.a' -delete
# clean_bundled_libs
}
clean_bundled_libs() {
ebegin 'Removing superfluous libraries'
cd lib/lib || die
ldconfig -p | \
sed 's:^\s\+\([^(]*[^( ]\).*=> /.*$:\1:g;t;d' | \
fgrep -vx 'libcrypto.so.0.9.8
libssl.so.0.9.8i
libgcr.so.0
libglib-2.0.so.0' |
xargs -d'\n' -r rm -rf
eend
}
src_install() {
local major_minor=$(get_version_component_range 1-2 "${PV}")
local major_minor_revision=$(get_version_component_range 1-3 "${PV}")
local build=$(get_version_component_range 4 "${PV}")
# install the binaries
into "${VM_INSTALL_DIR}"
dobin bin/*
# install the libraries
insinto "${VM_INSTALL_DIR}"/lib/vmware
doins -r lib/*
# Bug 432918
dosym "${VM_INSTALL_DIR}"/lib/vmware/lib/libcrypto.so.0.9.8/libcrypto.so.0.9.8 \
"${VM_INSTALL_DIR}"/lib/vmware/lib/libvmwarebase.so.0/libcrypto.so.0.9.8
dosym "${VM_INSTALL_DIR}"/lib/vmware/lib/libssl.so.0.9.8/libssl.so.0.9.8 \
"${VM_INSTALL_DIR}"/lib/vmware/lib/libvmwarebase.so.0/libssl.so.0.9.8
# install the ancillaries
insinto /usr
doins -r share
if use cups; then
exeinto $(cups-config --serverbin)/filter
doexe extras/thnucups
insinto /etc/cups
doins -r etc/cups/*
fi
insinto /etc/xdg
doins -r etc/xdg/*
# install documentation
doman man/man1/vmware.1.gz
if use doc; then
dodoc doc/*
fi
insinto "${VM_INSTALL_DIR}"/lib/vmware/setup
doins vmware-config
# install vmware workstation server
if use server; then
dosbin sbin/*
cd "${S}"/vmware-workstation-server
# install binaries
into "${VM_INSTALL_DIR}"/lib/vmware
dobin bin/*
dobin "${FILESDIR}"/configure-hostd.sh
dobin "${FILESDIR}"/configure-hostd.sh
# install the libraries
insinto "${VM_INSTALL_DIR}"/lib/vmware/lib
doins -r lib/*
into "${VM_INSTALL_DIR}"
for tool in vmware-{hostd,wssc-adminTool} ; do
cat > "${T}/${tool}" <<-EOF
#!/usr/bin/env bash
set -e
. /etc/vmware/bootstrap
exec "${VM_INSTALL_DIR}/lib/vmware/lib/wrapper-gtk24.sh" \\
"${VM_INSTALL_DIR}/lib/vmware/lib" \\
"${VM_INSTALL_DIR}/lib/vmware/bin/${tool}" \\
"${VM_INSTALL_DIR}/lib/vmware/libconf" "\$@"
EOF
dobin "${T}/${tool}"
done
insinto "${VM_INSTALL_DIR}"/lib/vmware
doins -r hostd
# create the configuration
insinto /etc/vmware/hostd
doins -r config/etc/vmware/hostd/*
doins -r etc/vmware/hostd/*
insinto /etc/vmware/ssl
doins etc/vmware/ssl/*
# pam
pamd_mimic_system vmware-authd auth account
# create directory for shared virtual machines.
keepdir "${VM_DATA_STORE_DIR}"
keepdir /var/log/vmware
fi
# install vmware-vix
if use vix; then
cd "${S}"/vmware-vix
# install the binary
into "${VM_INSTALL_DIR}"
dobin bin/*
# install the libraries
insinto "${VM_INSTALL_DIR}"/lib/vmware-vix
doins -r lib/*
dosym vmware-vix/libvixAllProducts.so "${VM_INSTALL_DIR}"/lib/libbvixAllProducts.so
# install headers
insinto /usr/include/vmware-vix
doins include/*
if use doc; then
dohtml -r doc/*
fi
fi
# install ovftool
if use ovftool; then
cd "${S}"
insinto "${VM_INSTALL_DIR}"/lib/vmware-ovftool
doins -r vmware-ovftool/*
chmod 0755 "${D}${VM_INSTALL_DIR}"/lib/vmware-ovftool/{ovftool,ovftool.bin}
dosym "${D}${VM_INSTALL_DIR}"/lib/vmware-ovftool/ovftool "${VM_INSTALL_DIR}"/bin/ovftool
fi
# create symlinks for the various tools
local tool ; for tool in thnuclnt vmware vmplayer{,-daemon} licenseTool vmamqpd \
vmware-{acetool,enter-serial,gksu,fuseUI,modconfig{,-console},netcfg,tray,unity-helper,zenity} ; do
dosym appLoader "${VM_INSTALL_DIR}"/lib/vmware/bin/"${tool}"
done
dosym "${VM_INSTALL_DIR}"/lib/vmware/bin/vmplayer "${VM_INSTALL_DIR}"/bin/vmplayer
dosym "${VM_INSTALL_DIR}"/lib/vmware/bin/vmware "${VM_INSTALL_DIR}"/bin/vmware
dosym "${VM_INSTALL_DIR}"/lib/vmware/icu /etc/vmware/icu
# fix permissions
fperms 0755 "${VM_INSTALL_DIR}"/lib/vmware/bin/{appLoader,fusermount,launcher.sh,mkisofs,vmware-remotemks}
fperms 0755 "${VM_INSTALL_DIR}"/lib/vmware/lib/{wrapper-gtk24.sh,libgksu2.so.0/gksu-run-helper}
fperms 0755 "${VM_INSTALL_DIR}"/lib/vmware/setup/vmware-config
fperms 4711 "${VM_INSTALL_DIR}"/bin/vmware-mount
fperms 4711 "${VM_INSTALL_DIR}"/lib/vmware/bin/vmware-vmx{,-debug,-stats}
if use server; then
fperms 0755 "${VM_INSTALL_DIR}"/lib/vmware/bin/vmware-{hostd,wssc-adminTool}
fperms 4711 "${VM_INSTALL_DIR}"/sbin/vmware-authd
fperms 1777 "${VM_DATA_STORE_DIR}"
fi
if use vix; then
fperms 0755 "${VM_INSTALL_DIR}"/lib/vmware-vix/setup/vmware-config
fi
# create the environment
local envd="${T}/90vmware"
cat > "${envd}" <<-EOF
PATH='${VM_INSTALL_DIR}/bin'
ROOTPATH='${VM_INSTALL_DIR}/bin'
EOF
doenvd "${envd}"
# create the configuration
dodir /etc/vmware
cat > "${D}"/etc/vmware/bootstrap <<-EOF
BINDIR='${VM_INSTALL_DIR}/bin'
LIBDIR='${VM_INSTALL_DIR}/lib'
EOF
cat > "${D}"/etc/vmware/config <<-EOF
bindir = "${VM_INSTALL_DIR}/bin"
libdir = "${VM_INSTALL_DIR}/lib/vmware"
initscriptdir = "/etc/init.d"
authd.fullpath = "${VM_INSTALL_DIR}/sbin/vmware-authd"
gksu.rootMethod = "su"
VMCI_CONFED = "yes"
VMBLOCK_CONFED = "yes"
VSOCK_CONFED = "yes"
NETWORKING = "yes"
player.product.version = "${major_minor_revision}"
product.version = "${major_minor_revision}"
product.buildNumber = "${build}"
product.name = "VMware Workstation"
workstation.product.version = "${major_minor_revision}"
EOF
if use vix; then
cat >> "${D}"/etc/vmware/config <<-EOF
vmware.fullpath = "${VM_INSTALL_DIR}/bin/vmware"
vix.libdir = "${VM_INSTALL_DIR}/lib/vmware-vix"
vix.config.version = "1"
EOF
fi
if use server; then
cat >> "${D}"/etc/vmware/config <<-EOF
authd.client.port = "902"
authd.proxy.nfc = "vmware-hostd:ha-nfc"
authd.soapserver = "TRUE"
EOF
fi
# install the init.d script
local initscript="${T}/vmware.rc"
sed -e "s:@@BINDIR@@:${VM_INSTALL_DIR}/bin:g" \
"${FILESDIR}/vmware-${major_minor}.rc" > ${initscript}
newinitd "${initscript}" vmware
if use server; then
# install the init.d script
local initscript="${T}/vmware-workstation-server.rc"
sed -e "s:@@ETCDIR@@:/etc/vmware:g" \
-e "s:@@PREFIX@@:${VM_INSTALL_DIR}:g" \
-e "s:@@BINDIR@@:${VM_INSTALL_DIR}/bin:g" \
-e "s:@@LIBDIR@@:${VM_INSTALL_DIR}/lib/vmware:g" \
"${FILESDIR}/vmware-server-${major_minor}.rc" > ${initscript}
newinitd "${initscript}" vmware-workstation-server
fi
# fill in variable placeholders
sed -e "s:@@LIBCONF_DIR@@:${VM_INSTALL_DIR}/lib/vmware/libconf:g" \
-i "${D}${VM_INSTALL_DIR}"/lib/vmware/libconf/etc/{gtk-2.0/{gdk-pixbuf.loaders,gtk.immodules},pango/pango{.modules,rc}}
sed -e "s:@@BINARY@@:${VM_INSTALL_DIR}/bin/vmware:g" \
-e "/^Encoding/d" \
-i "${D}/usr/share/applications/${PN}.desktop"
sed -e "s:@@BINARY@@:${VM_INSTALL_DIR}/bin/vmplayer:g" \
-e "/^Encoding/d" \
-i "${D}/usr/share/applications/vmware-player.desktop"
sed -e "s:@@BINARY@@:${VM_INSTALL_DIR}/bin/vmware-netcfg:g" \
-e "/^Encoding/d" \
-i "${D}/usr/share/applications/vmware-netcfg.desktop"
if use server; then
# Configuration for vmware-workstation-server
local hostdUser="${VM_HOSTD_USER:-root}"
sed -e "/ACEDataUser/s:root:${hostdUser}:g" \
-i "${D}/etc/vmware/hostd/authorization.xml" || die
# Shared VMs Path: [standard].
sed -e "s:##{DS_NAME}##:standard:g" \
-e "s:##{DS_PATH}##:${VM_DATA_STORE_DIR}:g" \
-i "${D}/etc/vmware/hostd/datastores.xml" || die
sed -e "s:##{HTTP_PORT}##:-1:g" \
-e "s:##{HTTPS_PORT}##:443:g" \
-e "s:##{PIPE_PREFIX}##:/var/run/vmware/:g" \
-i "${D}/etc/vmware/hostd/proxy.xml" || die
# See vmware-workstation-server.py for more details.
sed -e "s:##{BUILD_CFGDIR}##:/etc/vmware/hostd/:g" \
-e "s:##{CFGALTDIR}##:/etc/vmware/hostd/:g" \
-e "s:##{CFGDIR}##:/etc/vmware/:g" \
-e "s:##{ENABLE_AUTH}##:true:g" \
-e "s:##{HOSTDMODE}##:ws:g" \
-e "s:##{HOSTD_CFGDIR}##:/etc/vmware/hostd/:g" \
-e "s:##{HOSTD_MOCKUP}##:false:g" \
-e "s:##{LIBDIR}##:${VM_INSTALL_DIR}/lib/vmware:g" \
-e "s:##{LIBDIR_INSTALLED}##:${VM_INSTALL_DIR}/lib/vmware/:g" \
-e "s:##{LOGDIR}##:/var/log/vmware/:g" \
-e "s:##{LOGLEVEL}##:verbose:g" \
-e "s:##{MOCKUP}##:mockup-host-config.xml:g" \
-e "s:##{PLUGINDIR}##:./:g" \
-e "s:##{SHLIB_PREFIX}##:lib:g" \
-e "s:##{SHLIB_SUFFIX}##:.so:g" \
-e "s:##{USE_BLKLISTSVC}##:false:g" \
-e "s:##{USE_CBRCSVC}##:false:g" \
-e "s:##{USE_CIMSVC}##:false:g" \
-e "s:##{USE_DIRECTORYSVC}##:false:g" \
-e "s:##{USE_DIRECTORYSVC_MOCKUP}##:false:g" \
-e "s:##{USE_DYNAMIC_PLUGIN_LOADING}##:false:g" \
-e "s:##{USE_DYNAMO}##:false:g" \
-e "s:##{USE_DYNSVC}##:false:g" \
-e "s:##{USE_GUESTSVC}##:false:g" \
-e "s:##{USE_HBRSVC}##:false:g" \
-e "s:##{USE_HBRSVC_MOCKUP}##:false:g" \
-e "s:##{USE_HOSTSVC_MOCKUP}##:false:g" \
-e "s:##{USE_HTTPNFCSVC}##:false:g" \
-e "s:##{USE_HTTPNFCSVC_MOCKUP}##:false:g" \
-e "s:##{USE_LICENSESVC_MOCKUP}##:false:g" \
-e "s:##{USE_NFCSVC}##:true:g" \
-e "s:##{USE_NFCSVC_MOCKUP}##:false:g" \
-e "s:##{USE_OVFMGRSVC}##:true:g" \
-e "s:##{USE_PARTITIONSVC}##:false:g" \
-e "s:##{USE_SECURESOAP}##:false:g" \
-e "s:##{USE_SNMPSVC}##:false:g" \
-e "s:##{USE_SOLO_MOCKUP}##:false:g" \
-e "s:##{USE_STATSSVC_MOCKUP}##:false:g" \
-e "s:##{USE_VCSVC_MOCKUP}##:false:g" \
-e "s:##{USE_VDISKSVC}##:false:g" \
-e "s:##{USE_VDISKSVC_MOCKUP}##:false:g" \
-e "s:##{USE_VMSVC_MOCKUP}##:false:g" \
-e "s:##{VM_INVENTORY}##:vmInventory.xml:g" \
-e "s:##{VM_RESOURCES}##:vmResources.xml:g" \
-e "s:##{WEBSERVER_PORT_ENTRY}##::g" \
-e "s:##{WORKINGDIR}##:./:g" \
-i "${D}/etc/vmware/hostd/config.xml" || die
sed -e "s:##{ENV_LOCATION}##:/etc/vmware/hostd/env/:g" \
-i "${D}/etc/vmware/hostd/environments.xml" || die
# @@VICLIENT_URL@@=XXX
sed -e "s:@@AUTHD_PORT@@:902:g" \
-i "${D}${VM_INSTALL_DIR}/lib/vmware/hostd/docroot/client/clients.xml" || die
fi
# install systemd unit files
systemd_dounit "${WORKDIR}/systemd-vmware-${SYSTEMD_UNITS_TAG}/"*.{service,target}
}
pkg_config() {
"${VM_INSTALL_DIR}"/bin/vmware-networks --postinstall ${PN},old,new
}
pkg_preinst() {
gnome2_icon_savelist
}
pkg_postinst() {
fdo-mime_desktop_database_update
gnome2_icon_cache_update
ewarn "/etc/env.d was updated. Please run:"
ewarn "env-update && source /etc/profile"
ewarn ""
ewarn "Before you can use vmware workstation, you must configure a default network setup."
ewarn "You can do this by running 'emerge --config ${PN}'."
}
pkg_prerm() {
einfo "Stopping ${PN} for safe unmerge"
/etc/init.d/vmware stop
}
pkg_postrm() {
fdo-mime_desktop_database_update
gnome2_icon_cache_update
}