diff --git a/app-emulation/vmware-modules/Manifest b/app-emulation/vmware-modules/Manifest index 9acf8f6..1a5f083 100644 --- a/app-emulation/vmware-modules/Manifest +++ b/app-emulation/vmware-modules/Manifest @@ -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 diff --git a/app-emulation/vmware-modules/files/279-3.10-00-userns.patch b/app-emulation/vmware-modules/files/279-3.10-00-userns.patch deleted file mode 100644 index b1b78b7..0000000 --- a/app-emulation/vmware-modules/files/279-3.10-00-userns.patch +++ /dev/null @@ -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; - diff --git a/app-emulation/vmware-modules/files/279-3.10-03-deprecated.patch b/app-emulation/vmware-modules/files/279-3.10-03-deprecated.patch deleted file mode 100644 index 98b28aa..0000000 --- a/app-emulation/vmware-modules/files/279-3.10-03-deprecated.patch +++ /dev/null @@ -1,89 +0,0 @@ -undefines DEPRECATED which is unfortunately also defined (as a string) -in . 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 - diff --git a/app-emulation/vmware-modules/files/279-3.10-04-dentry.patch b/app-emulation/vmware-modules/files/279-3.10-04-dentry.patch deleted file mode 100644 index f4f59d9..0000000 --- a/app-emulation/vmware-modules/files/279-3.10-04-dentry.patch +++ /dev/null @@ -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)) { diff --git a/app-emulation/vmware-modules/files/279-3.15-00-readlink.patch b/app-emulation/vmware-modules/files/279-3.15-00-readlink.patch deleted file mode 100644 index b8ee078..0000000 --- a/app-emulation/vmware-modules/files/279-3.15-00-readlink.patch +++ /dev/null @@ -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); - } - - diff --git a/app-emulation/vmware-modules/files/279-3.15-01-vsock.patch b/app-emulation/vmware-modules/files/279-3.15-01-vsock.patch deleted file mode 100644 index 9e8d9d1..0000000 --- a/app-emulation/vmware-modules/files/279-3.15-01-vsock.patch +++ /dev/null @@ -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; diff --git a/app-emulation/vmware-modules/files/279-3.17-00-netdev.patch b/app-emulation/vmware-modules/files/279-3.17-00-netdev.patch deleted file mode 100644 index e3ee3aa..0000000 --- a/app-emulation/vmware-modules/files/279-3.17-00-netdev.patch +++ /dev/null @@ -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; diff --git a/app-emulation/vmware-modules/files/279-apic.patch b/app-emulation/vmware-modules/files/305-apic.patch similarity index 100% rename from app-emulation/vmware-modules/files/279-apic.patch rename to app-emulation/vmware-modules/files/305-apic.patch diff --git a/app-emulation/vmware-modules/files/279-filldir.patch b/app-emulation/vmware-modules/files/305-filldir.patch similarity index 100% rename from app-emulation/vmware-modules/files/279-filldir.patch rename to app-emulation/vmware-modules/files/305-filldir.patch diff --git a/app-emulation/vmware-modules/files/305-kernel-3.15.patch b/app-emulation/vmware-modules/files/305-kernel-3.15.patch new file mode 100644 index 0000000..54d2fce --- /dev/null +++ b/app-emulation/vmware-modules/files/305-kernel-3.15.patch @@ -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; diff --git a/app-emulation/vmware-modules/files/305-kernel-3.19.patch b/app-emulation/vmware-modules/files/305-kernel-3.19.patch new file mode 100644 index 0000000..9dcfe76 --- /dev/null +++ b/app-emulation/vmware-modules/files/305-kernel-3.19.patch @@ -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 + { diff --git a/app-emulation/vmware-modules/files/279-makefile-include.patch b/app-emulation/vmware-modules/files/305-makefile-include.patch similarity index 64% rename from app-emulation/vmware-modules/files/279-makefile-include.patch rename to app-emulation/vmware-modules/files/305-makefile-include.patch index 39c3000..bba923e 100644 --- a/app-emulation/vmware-modules/files/279-makefile-include.patch +++ b/app-emulation/vmware-modules/files/305-makefile-include.patch @@ -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, ) - - + diff --git a/app-emulation/vmware-modules/files/279-makefile-kernel-dir.patch b/app-emulation/vmware-modules/files/305-makefile-kernel-dir.patch similarity index 60% rename from app-emulation/vmware-modules/files/279-makefile-kernel-dir.patch rename to app-emulation/vmware-modules/files/305-makefile-kernel-dir.patch index 1a647a3..31fd566 100644 --- a/app-emulation/vmware-modules/files/279-makefile-kernel-dir.patch +++ b/app-emulation/vmware-modules/files/305-makefile-kernel-dir.patch @@ -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 diff --git a/app-emulation/vmware-modules/files/279-netdevice.patch b/app-emulation/vmware-modules/files/305-netdevice.patch similarity index 100% rename from app-emulation/vmware-modules/files/279-netdevice.patch rename to app-emulation/vmware-modules/files/305-netdevice.patch diff --git a/app-emulation/vmware-modules/files/279-putname.patch b/app-emulation/vmware-modules/files/305-putname.patch similarity index 100% rename from app-emulation/vmware-modules/files/279-putname.patch rename to app-emulation/vmware-modules/files/305-putname.patch diff --git a/app-emulation/vmware-modules/files/279-3.10-05-inode.patch b/app-emulation/vmware-modules/files/305-vfsfollowlink.patch similarity index 63% rename from app-emulation/vmware-modules/files/279-3.10-05-inode.patch rename to app-emulation/vmware-modules/files/305-vfsfollowlink.patch index 01c8893..13f600e 100644 --- a/app-emulation/vmware-modules/files/279-3.10-05-inode.patch +++ b/app-emulation/vmware-modules/files/305-vfsfollowlink.patch @@ -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) diff --git a/app-emulation/vmware-modules/files/279-3.10-01-getname.patch b/app-emulation/vmware-modules/files/305-vmblock-3.14.patch similarity index 69% rename from app-emulation/vmware-modules/files/279-3.10-01-getname.patch rename to app-emulation/vmware-modules/files/305-vmblock-3.14.patch index 05ed8db..d6d4066 100644 --- a/app-emulation/vmware-modules/files/279-3.10-01-getname.patch +++ b/app-emulation/vmware-modules/files/305-vmblock-3.14.patch @@ -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'; + } diff --git a/app-emulation/vmware-modules/files/279-vmblock.patch b/app-emulation/vmware-modules/files/305-vmblock.patch similarity index 66% rename from app-emulation/vmware-modules/files/279-vmblock.patch rename to app-emulation/vmware-modules/files/305-vmblock.patch index 0daf603..fe4f6c7 100644 --- a/app-emulation/vmware-modules/files/279-vmblock.patch +++ b/app-emulation/vmware-modules/files/305-vmblock.patch @@ -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); + diff --git a/app-emulation/vmware-modules/files/279-hardened.patch b/app-emulation/vmware-modules/files/hardened.patch similarity index 65% rename from app-emulation/vmware-modules/files/279-hardened.patch rename to app-emulation/vmware-modules/files/hardened.patch index cc3e041..ea1b0f3 100644 --- a/app-emulation/vmware-modules/files/279-hardened.patch +++ b/app-emulation/vmware-modules/files/hardened.patch @@ -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 diff --git a/app-emulation/vmware-modules/vmware-modules-279.3.ebuild b/app-emulation/vmware-modules/vmware-modules-305.0.ebuild similarity index 68% rename from app-emulation/vmware-modules/vmware-modules-279.3.ebuild rename to app-emulation/vmware-modules/vmware-modules-305.0.ebuild index bf8e379..5aed169 100644 --- a/app-emulation/vmware-modules/vmware-modules-279.3.ebuild +++ b/app-emulation/vmware-modules/vmware-modules-305.0.ebuild @@ -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}" } diff --git a/app-emulation/vmware-player/Manifest b/app-emulation/vmware-player/Manifest new file mode 100644 index 0000000..046a7d4 --- /dev/null +++ b/app-emulation/vmware-player/Manifest @@ -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 diff --git a/app-emulation/vmware-player/files/config-3.0 b/app-emulation/vmware-player/files/config-3.0 new file mode 100644 index 0000000..cc83931 --- /dev/null +++ b/app-emulation/vmware-player/files/config-3.0 @@ -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@@" diff --git a/app-emulation/vmware-player/files/list-bundle-components.xsl b/app-emulation/vmware-player/files/list-bundle-components.xsl new file mode 100644 index 0000000..db1a4e4 --- /dev/null +++ b/app-emulation/vmware-player/files/list-bundle-components.xsl @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/app-emulation/vmware-player/files/list-component-files.xsl b/app-emulation/vmware-player/files/list-component-files.xsl new file mode 100644 index 0000000..91c6152 --- /dev/null +++ b/app-emulation/vmware-player/files/list-component-files.xsl @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/app-emulation/vmware-player/files/vmware-3.0.rc b/app-emulation/vmware-player/files/vmware-3.0.rc new file mode 100644 index 0000000..4b524dc --- /dev/null +++ b/app-emulation/vmware-player/files/vmware-3.0.rc @@ -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 $? +} diff --git a/app-emulation/vmware-player/vmware-player-7.1.0.2496824.ebuild b/app-emulation/vmware-player/vmware-player-7.1.0.2496824.ebuild new file mode 100644 index 0000000..0839767 --- /dev/null +++ b/app-emulation/vmware-player/vmware-player-7.1.0.2496824.ebuild @@ -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 +} diff --git a/app-emulation/vmware-tools/Manifest b/app-emulation/vmware-tools/Manifest new file mode 100644 index 0000000..20d8641 --- /dev/null +++ b/app-emulation/vmware-tools/Manifest @@ -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 diff --git a/app-emulation/vmware-tools/vmware-tools-9.9.2.2496824.ebuild b/app-emulation/vmware-tools/vmware-tools-9.9.2.2496824.ebuild new file mode 100644 index 0000000..5c263df --- /dev/null +++ b/app-emulation/vmware-tools/vmware-tools-9.9.2.2496824.ebuild @@ -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 +} diff --git a/app-emulation/vmware-workstation/Manifest b/app-emulation/vmware-workstation/Manifest new file mode 100644 index 0000000..45f7c73 --- /dev/null +++ b/app-emulation/vmware-workstation/Manifest @@ -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 diff --git a/app-emulation/vmware-workstation/files/configure-hostd.sh b/app-emulation/vmware-workstation/files/configure-hostd.sh new file mode 100644 index 0000000..480e903 --- /dev/null +++ b/app-emulation/vmware-workstation/files/configure-hostd.sh @@ -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 diff --git a/app-emulation/vmware-workstation/files/list-bundle-components.xsl b/app-emulation/vmware-workstation/files/list-bundle-components.xsl new file mode 100644 index 0000000..db1a4e4 --- /dev/null +++ b/app-emulation/vmware-workstation/files/list-bundle-components.xsl @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/app-emulation/vmware-workstation/files/list-component-files.xsl b/app-emulation/vmware-workstation/files/list-component-files.xsl new file mode 100644 index 0000000..91c6152 --- /dev/null +++ b/app-emulation/vmware-workstation/files/list-component-files.xsl @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/app-emulation/vmware-workstation/files/vmware-11.1.rc b/app-emulation/vmware-workstation/files/vmware-11.1.rc new file mode 100644 index 0000000..82e45f1 --- /dev/null +++ b/app-emulation/vmware-workstation/files/vmware-11.1.rc @@ -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 $? +} diff --git a/app-emulation/vmware-workstation/files/vmware-server-11.1.rc b/app-emulation/vmware-workstation/files/vmware-server-11.1.rc new file mode 100644 index 0000000..353f369 --- /dev/null +++ b/app-emulation/vmware-workstation/files/vmware-server-11.1.rc @@ -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 $? +} diff --git a/app-emulation/vmware-workstation/vmware-workstation-11.1.0.2496824.ebuild b/app-emulation/vmware-workstation/vmware-workstation-11.1.0.2496824.ebuild new file mode 100644 index 0000000..3bf2778 --- /dev/null +++ b/app-emulation/vmware-workstation/vmware-workstation-11.1.0.2496824.ebuild @@ -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 +}