diff options
16 files changed, 1767 insertions, 36 deletions
diff --git a/app-emulation/vmware-modules/ChangeLog b/app-emulation/vmware-modules/ChangeLog index c4931a6318df..1f02d226ed80 100644 --- a/app-emulation/vmware-modules/ChangeLog +++ b/app-emulation/vmware-modules/ChangeLog @@ -1,6 +1,16 @@ # ChangeLog for app-emulation/vmware-modules # Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/app-emulation/vmware-modules/ChangeLog,v 1.107 2013/08/11 17:24:06 dilfridge Exp $ +# $Header: /var/cvsroot/gentoo-x86/app-emulation/vmware-modules/ChangeLog,v 1.108 2013/10/19 11:42:47 dilfridge Exp $ + +*vmware-modules-279.0 (19 Oct 2013) + + 19 Oct 2013; Andreas K. Huettel <dilfridge@gentoo.org> + +files/279-3.10.0.patch, +files/279-apic.patch, + +files/279-makefile-include.patch, +files/279-makefile-kernel-dir.patch, + +files/279-netdevice.patch, +files/279-putname.patch, + +files/279-vmblock.patch, +vmware-modules-279.0.ebuild: + Version bump, added without keywords for testing. Bug 484098. Thanks to Billy + DeVincentis for the files. 11 Aug 2013; Andreas K. Huettel <dilfridge@gentoo.org> +files/264-3.10.0.patch, +files/271-3.10.0.patch, diff --git a/app-emulation/vmware-modules/Manifest b/app-emulation/vmware-modules/Manifest index f7a3ebed8663..c4d6161fb02e 100644 --- a/app-emulation/vmware-modules/Manifest +++ b/app-emulation/vmware-modules/Manifest @@ -27,26 +27,36 @@ AUX 271-makefile-kernel-dir.patch 2153 SHA256 d76b1028d21b804836e36478d243cd7914 AUX 271-netdevice.patch 833 SHA256 8f17ce379abda45a8f94e1dcd6e43367273f97f76edd41f9941beb3b1730a751 SHA512 b4ec7c1694968a1843f10e8bfe0dbfdc99bd3b5fc1391456d91a3648b848b82df681a0748d967afa19e728c4d19b79b6a3cb9fd3e15a52a5cab048a6ac9b06a9 WHIRLPOOL b0cabe2ec1b8ca52d427c02593d6057c98d4ed00c578d006de65460138c37a5be76a7938d85f5a35eb6f49ee5e34065ce62b60a51b0ccf021639a59b27aeac8a AUX 271-putname.patch 394 SHA256 b8103d3c72c24696e974e49dcdcdf2d5a2b2c2fdd5f6ca050842b840e906ba77 SHA512 86a0a0ec3ff225940190056e85d498fd7eb260bcc52882fea8921398f572bc46f56c3f2941d3f3d1587a07bc72c8885cbddacf632d2b5fed7d8c9d284399d6d8 WHIRLPOOL e1e8afcafe00131fd6d90b61e5d911da69d7c26b7fd19be085eb5cfd23c2ab19784ae5ddf18928f9cc4a178d87c6d51e8de27dfab8507e2d57fc18868fde9f45 AUX 271-vmmon.patch 1581 SHA256 a4e89766232d0fc0456bb026978dedca17fcc62e247c8d65ae747b537e62fd13 SHA512 10aca60b959647c058fa69f851892a0245acad971028876da8d0a0e6002d0e8f6f2677fd0d9b140ee8a1a68cf2cfa3f8937a992f8b0e7e163aa6bcc17b75c979 WHIRLPOOL 28d1a34e89c7a995dbde48d87d8942c6f58e61f4a24189a1463c148c843fdf16cea7df497993eb6fb8d8de228f07ae8a44233bb63e42b54ab1f762e7e24889ba +AUX 279-3.10.0.patch 23418 SHA256 346d1ca7705dd5f791e0d69cdbb346ebd31f2f4f11f3989c23d1a89e11e1b91b SHA512 878678f951b05137deb1656ccd7fd3185887f02649f2a223ef60ccecdedc7aeda6ca08ddd108e379734b5e04ef11d326b20e45c069c53cc52b7a6869b8db6410 WHIRLPOOL 196515870addefcd6857dd3e44a04b8a6c0da39185e7cea7826f1498f5a4c17997ebe43aada7f22a1c3fa94302576ced2a7ed36e2452de00711256c83f7fa41e +AUX 279-apic.patch 302 SHA256 60e7df881281fedcabe9ea4427b324b5e1142a1a2b6ab5236ac0843bd1051048 SHA512 003240043e5875d8c6425c146e708eb3c3d8be7fa48a2ac42b3071f00dafdbd51f7796d6f884298b135adccaf8a3eac32fd82b34a436a724da125dac5f6261d7 WHIRLPOOL 4707d0ddd532d5ec27ee2ba3d0fb25c1972bbc9f958b4b89f2f5cceffdf955ba88cd1be0cde046aa5fa688d52faeab5ccf3f03bbccb3e9b088abc37ad579e8e0 +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 1217 SHA256 6c25464162853bbf4d149314d13a7de3212d20e53269c918ab65c0d02252fba6 SHA512 34b26256a36c483ac917f483e5f87cb1e6a72c21a9113944f7525156d80483970bbee7c68863b6c96f11f9be5689e457dacb92ef1cbca6cc39c4fc72b4e88a0e WHIRLPOOL 1ad37266559f13ac8bde700460340d16bf152b44a8e01827916612ac13013fa280eaf1c4fa0b76944959ac4d6b3dde709e0f823c2259690307a0266f86b71fba AUX hardened.patch 5052 SHA256 191cf892bfb9a6288d110191de824bf6243bc6f48f1e62ab49f3582c7ade5af6 SHA512 52dcca8d9f689f0a0d0ca369c0c7ce0d177de3529d2d1325330eb5a9e940a55e8930bbbe7374793bdf29cbdefac9727e9eb21d00f81ad4f5eddba3a51597b7a5 WHIRLPOOL 539731bc36f3e292403f55d74c353deeb28baa312f726b36d2a6060adf3483dfa2ed011baf93eff941fa754ef62f4d6da86868c40550ee2292c4a711e061bde0 EBUILD vmware-modules-238.6.ebuild 2216 SHA256 495f742c98fc4ea4aaaa9daf1ffbc6d79e56a77e2d032cfe0ebc6cf409fa904c SHA512 70d3d107ac3b72215054efdf355f2731720dfdbc5b4ba6736b5b12a4f7809b29cc04809b30c208398c90152ba14ee6124d82dc067d6c0342538a2c3c8e9075fe WHIRLPOOL 9ff331f9b7c6bde939730b0b2511776f14607b768c1748ab612f2f52754736cb889cfdfb16186b0d6ef38fd83bdd07c1aabe2095059e8f79f89d8c72ab470675 EBUILD vmware-modules-264.5.ebuild 2296 SHA256 6cef014c0bec60e55ac83f18954680b89a35e031049b745ef864e1ffaac06bc6 SHA512 c63329e2ed5cd845f13935da9277dc3c9145f40832b1b7eb79fe5767fda241a0ceca004da080b164c3c25ed04975739ca9ed8ea4b9f941e33713e68a0032355d WHIRLPOOL ca5d4cc0523e6758a8013603812f6ca8ee03aaf480ae6a9c6123fb692c2900618d88cb1f0e6f94f4b167d66c8b4b3ee52867c4aa50ab9f2bc05649971fefae4d EBUILD vmware-modules-271.2.ebuild 2178 SHA256 1eea69a1154fd39be0ecfd60b0097be58265c7a3ca91949ea0c801380c91efa5 SHA512 58c108869ff3b73de5518ffec240e30398f261ca4c6b8a36172a36c494e9ca29a89ef272bddca6cdc38aa2cb3b8c59bdea79d4ad2c21ded6a1e592d3b23a662c WHIRLPOOL 1af685b6e45df9ccf18215b71653d3eb5991afa3830d358179c346a546f3ebfabae84307a1344b8cad64ccb3390b9f315926fd688a88bec89ed7c9c19445b910 -MISC ChangeLog 23431 SHA256 7c8b435026670569f969b6e2ba7dba8813fe7a389c4ce695c78ab8aad2c515d8 SHA512 8eeaf7df6a9d830e61a8ba3dd70edb9b7316bdc756c08a4beafdf50bdc17213adc0d12f6773c132d70c364ca19d4780334b445cc249553c0d79fe716ddb88799 WHIRLPOOL e0f0f5778a7cb5fa1857e1d075786f28c2bd67c3a2615b2d1e46c7abec1231d46458cc67ff311e3220990fb0379fee0cd297efa3679e2abbb2da07e7c5ffadd0 +EBUILD vmware-modules-279.0.ebuild 2237 SHA256 6558e769bb7b661db3a9d9d3a7460fea1edf46261459c0a4e0e7b9bab087f269 SHA512 92d13a3f6e45c12ebe7b483440009012f4570da1e8e012e9981bb6f1c237cf626414348474d08fa28563edce44fadc838fd2c15cb288b8f47904146c0dc72a9f WHIRLPOOL 1db2de061cb23b8af2246fbf6d7dc09413c2dd984496932a92619d51fb332c4bbbea668c3dc902397b2b448b8b205da58c4ada0a320b8fca71c8a02ceb84c64e +MISC ChangeLog 23874 SHA256 4759186b8e0bf4257c6791499f1a57f66f4b3188565ecad223c88f32ddc5136c SHA512 aebfbea0b27f2842d6d698570be4f1c3edd5a7affcfac895c53b6e814f0fc55fa8bd605e1922b9ac14f8e0f5664085f6825c4e266b576f143c402444907c8140 WHIRLPOOL 647f4f2a896959cc1cc0276c03d5c9717379983fa1f74fc750a595aeeb9ed15b9a7849969bc2042eaad09397c0c004d67b0fcf24f26e57d7ce637f4cb1dbe5dc MISC metadata.xml 318 SHA256 ac8fd80ce620f3ec98dfc0dac974408e862ac259c9e43830465598393faa95d0 SHA512 9f7b8c607064b29a2a80ab3af8e5a442a2af1cee3ef9f1929a525e8b3724cf7fef0a4de8d78f32b2bc30f1f734ecc204a3db06a0bcf1e09dbe3d6b8d49dba458 WHIRLPOOL de36c0b8febb345a20d876fceeaeab2bf6f2399620174028fe5bf956cdc871e6623981f8e42562668b34dbf0cf8c4fe35035f4696779f582f679614682c81c72 -----BEGIN PGP SIGNATURE----- -Version: GnuPG v2.0.20 (GNU/Linux) +Version: GnuPG v2.0.22 (GNU/Linux) -iQIcBAEBCAAGBQJSB8jMAAoJEJS/30SErRQv17gP/3RJZNZyWFFIXD4NxNbTtkGh -D7FENFzHoJIKs7CihF4LKu8JKlS0cSgkQA0es+yg+1DopGFMRYmiqx1ErJYaRpC+ -pjqx4Njp5g5HhN5ewaxta3s00gaE4CiuZI92oQhh9xQA3Agp2whXqVQ+n6L5yqq6 -IlIo1FvKPlnPGRh7cOOgAxoisTPvvS4+7xorsxXY3HNmyO7sHeWEyDeAXbxQCoa0 -ZFJr/FClCJb+6k+nge/wtgP7e4kdyfvBibOlsxBgEaM45cbNdJShk/PQ6b5sZ8by -s0m+MnvVH7S4D50jk4BIjkcRGu5H3I7KY89gJ33f+MS+5/igkuB59gsgz8zP/DUP -ql0ATPDNJI0na9QORNBSpokkHGnSVJji7PUZbZedcPWSdtnuNx+fpZ8oDfbKHZj3 -yEUz9RgCyy2ckElNklihqMa0ORi+2nP83YR0SO102HCDq/fhY8ImhmtfFVLpcTok -AMw694/1lB4XyUI8fK4newL8WPKfUB2+sk2IYIMYDaaJiooYJFBX8bhpFwqM2MDe -DBdDF8TkeQodtn4UHgNKClZS5Bpqx9w1iBAkO9sdnZq4ZW/gqm+qFkzReJL2E0ts -hl7euxeLSKxjhX7PDaYqzMJ4T68EFN7EP6/srV2lrxomRhCitBkWnlsP3kqZ52bY -eq36il+qfgeW8LxJODbJ -=aWzE +iQJ8BAEBCABmBQJSYnBEXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w +ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQwNzlCRDk4QzA4RENBRkYzQUEwRjQzMDlF +QkU2QTMzNkJFMTkwMzlDAAoJEOvmoza+GQOcjx4P/2qGYKHigokxPVw8zby6022c +BRUr8hYAHtPvsfvIOGv2bPiaJmVGa4k4WqbNx9ASv8SzUugC77r98oslMeAb+GmJ +X9swY6UT85dnIXBW3JeYOlWUscUhSUDUYd639UQWcHLjefXHO2x34C0uDmwzcAuB +oFgWw92tuk2DDRHTwleRyId8rPWB+gIvVx9IpUd2ee72Y5lPj/IQolYF9ik9yIJX +ci5016Jy+DhzXRoj/kyR5P8Wzqgj9SBXPCfbE5NsJ9S4iblwGmXgzl100F06K1rw +s6/sdosdAgmuXr5aKcAk48CDXsOgUF5es4esWM8THt4/uvxp2F3HUcX93aSblNnR +iLr0uta3TgP7y8oFnmEROJC/g8MpMnehVluLqPWe0RZ1dnKFMsJ5GrpPyapefn1z +SIp7WB9H4uFOHWsbP50gj50pRCUNT2nec/zB7B06bYohzJdRyliKB/p82FrmWc8h +yMmiMTFcKa/pakdaSzMMu5PXaY9Vwl0P9j2dtUd3zl9Yb2CpoSfCcRK/EVyulZg1 +00KaiiNPzsvsJGxwS7oVsf6xmm6EIY1CHtS7rcsNnBNqdyrJLzf441JciBfc1RDw +HB/24/gvB4iPfQUr5GCStRMsCJ2TYs/Ns7fUqkMKduyKHmZqePCXk8f6oX1Zfcj6 +HMjD6s3yGvW7RWppjW5Y +=6gXD -----END PGP SIGNATURE----- diff --git a/app-emulation/vmware-modules/files/279-3.10.0.patch b/app-emulation/vmware-modules/files/279-3.10.0.patch new file mode 100644 index 000000000000..7795b18f5d7e --- /dev/null +++ b/app-emulation/vmware-modules/files/279-3.10.0.patch @@ -0,0 +1,809 @@ +--- a/vmnet-only/bridge.c ++++ b/vmnet-only/bridge.c +@@ -105,8 +105,6 @@ static Bool VNetBridgeCycleDetect(VNetJack *this, int generation); + static Bool VNetBridgeIsDeviceWireless(struct net_device *dev); + static void VNetBridgePortsChanged(VNetJack *this); + static int VNetBridgeIsBridged(VNetJack *this); +-static int VNetBridgeProcRead(char *page, char **start, off_t off, +- int count, int *eof, void *data); + static void VNetBridgeComputeHeaderPosIPv6(struct sk_buff *skb); + static PacketStatus VNetCallSMACFunc(struct SMACState *state, + struct sk_buff **skb, void *startOfData, +@@ -225,6 +223,53 @@ VNetBridgeDevCompatible(VNetBridge *bridge, // IN: Bridge + /* + *---------------------------------------------------------------------- + * ++ * VNetBridgeProcShow -- ++ * ++ * Callback for read operation on this bridge entry in vnets proc fs. ++ * ++ * Results: ++ * Length of read operation. ++ * ++ * Side effects: ++ * None. ++ * ++ *---------------------------------------------------------------------- ++ */ ++ ++int ++VNetBridgeProcShow(struct seq_file *seqf, // IN/OUT: buffer to write into ++ void *data) // IN: client data - pointer to bridge ++{ ++ VNetBridge *bridge = (VNetBridge*)data; ++ ++ if (!bridge) { ++ return 0; ++ } ++ ++ VNetPrintPort(&bridge->port, seqf); ++ ++ seq_printf(seqf, "dev %s ", bridge->name); ++ ++ seq_printf(seqf, "\n"); ++ ++ return 0; ++} ++ ++static int proc_bridge_open(struct inode *inode, struct file *file) ++{ ++ return single_open(file, VNetBridgeProcShow, PDE_DATA(inode)); ++} ++ ++static const struct file_operations proc_bridge_fops = { ++ .open = proc_bridge_open, ++ .read = seq_read, ++ .llseek = seq_lseek, ++ .release = seq_release, ++}; ++ ++/* ++ *---------------------------------------------------------------------- ++ * + * VNetBridge_Create -- + * + * Creates a bridge. Allocates struct, allocates internal device, +@@ -319,17 +364,14 @@ VNetBridge_Create(const char *devName, // IN: name of device (e.g., "eth0") + * Make proc entry for this jack. + */ + +- retval = VNetProc_MakeEntry(bridge->port.jack.name, S_IFREG, +- &bridge->port.jack.procEntry); ++ retval = VNetProc_MakeEntryOps(bridge->port.jack.name, S_IFREG, ++ &bridge->port.jack.procEntry, &proc_bridge_fops, bridge); + if (retval) { + if (retval == -ENXIO) { + bridge->port.jack.procEntry = NULL; + } else { + goto out; + } +- } else { +- bridge->port.jack.procEntry->read_proc = VNetBridgeProcRead; +- bridge->port.jack.procEntry->data = bridge; + } + + /* +@@ -1719,45 +1761,3 @@ VNetBridgeReceiveFromDev(struct sk_buff *skb, // IN: packet to receive + return 0; + } + +- +-/* +- *---------------------------------------------------------------------- +- * +- * VNetBridgeProcRead -- +- * +- * Callback for read operation on this bridge entry in vnets proc fs. +- * +- * Results: +- * Length of read operation. +- * +- * Side effects: +- * None. +- * +- *---------------------------------------------------------------------- +- */ +- +-int +-VNetBridgeProcRead(char *page, // IN/OUT: buffer to write into +- char **start, // OUT: 0 if file < 4k, else offset into page +- off_t off, // IN: (unused) offset of read into the file +- int count, // IN: (unused) maximum number of bytes to read +- int *eof, // OUT: TRUE if there is nothing more to read +- void *data) // IN: client data - pointer to bridge +-{ +- VNetBridge *bridge = (VNetBridge*)data; +- int len = 0; +- +- if (!bridge) { +- return len; +- } +- +- len += VNetPrintPort(&bridge->port, page+len); +- +- len += sprintf(page+len, "dev %s ", bridge->name); +- +- len += sprintf(page+len, "\n"); +- +- *start = 0; +- *eof = 1; +- return len; +-} +--- a/vmnet-only/driver.c ++++ b/vmnet-only/driver.c +@@ -1785,21 +1785,17 @@ VNetSetMACUnique(VNetPort *port, // IN: + *---------------------------------------------------------------------- + */ + +-int ++void + VNetPrintJack(const VNetJack *jack, // IN: jack +- char *buf) // OUT: info about jack ++ struct seq_file *seqf) // OUT: info about jack + { +- int len = 0; +- + read_lock(&vnetPeerLock); + if (!jack->peer) { +- len += sprintf(buf+len, "connected not "); ++ seq_printf(seqf, "connected not "); + } else { +- len += sprintf(buf+len, "connected %s ", jack->peer->name); ++ seq_printf(seqf, "connected %s ", jack->peer->name); + } + read_unlock(&vnetPeerLock); +- +- return len; + } + + +@@ -1819,52 +1815,48 @@ VNetPrintJack(const VNetJack *jack, // IN: jack + *---------------------------------------------------------------------- + */ + +-int ++void + VNetPrintPort(const VNetPort *port, // IN: port +- char *buf) // OUT: info about port ++ struct seq_file *seqf) // OUT: info about port + { +- int len = 0; ++ VNetPrintJack(&port->jack, seqf); + +- len += VNetPrintJack(&port->jack, buf+len); +- +- len += sprintf(buf+len, "mac %02x:%02x:%02x:%02x:%02x:%02x ", ++ seq_printf(seqf, "mac %02x:%02x:%02x:%02x:%02x:%02x ", + port->paddr[0], port->paddr[1], port->paddr[2], + port->paddr[3], port->paddr[4], port->paddr[5]); + +- len += sprintf(buf+len, "ladrf %02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x ", ++ seq_printf(seqf, "ladrf %02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x ", + port->ladrf[0], port->ladrf[1], port->ladrf[2], + port->ladrf[3], port->ladrf[4], port->ladrf[5], + port->ladrf[6], port->ladrf[7]); + +- len += sprintf(buf+len, "flags IFF_RUNNING"); ++ seq_printf(seqf, "flags IFF_RUNNING"); + + if (port->flags & IFF_UP) { +- len += sprintf(buf+len, ",IFF_UP"); ++ seq_printf(seqf, ",IFF_UP"); + } + + if (port->flags & IFF_BROADCAST) { +- len += sprintf(buf+len, ",IFF_BROADCAST"); ++ seq_printf(seqf, ",IFF_BROADCAST"); + } + + if (port->flags & IFF_DEBUG) { +- len += sprintf(buf+len, ",IFF_DEBUG"); ++ seq_printf(seqf, ",IFF_DEBUG"); + } + + if (port->flags & IFF_PROMISC) { +- len += sprintf(buf+len, ",IFF_PROMISC"); ++ seq_printf(seqf, ",IFF_PROMISC"); + } + + if (port->flags & IFF_MULTICAST) { +- len += sprintf(buf+len, ",IFF_MULTICAST"); ++ seq_printf(seqf, ",IFF_MULTICAST"); + } + + if (port->flags & IFF_ALLMULTI) { +- len += sprintf(buf+len, ",IFF_ALLMULTI"); ++ seq_printf(seqf, ",IFF_ALLMULTI"); + } + +- len += sprintf(buf+len, " "); +- +- return len; ++ seq_printf(seqf, " "); + } + + +--- a/vmnet-only/hub.c ++++ b/vmnet-only/hub.c +@@ -25,6 +25,7 @@ + #include <linux/sched.h> + #include <linux/slab.h> + #include <linux/poll.h> ++#include <linux/seq_file.h> + + #include <linux/netdevice.h> + #include <linux/etherdevice.h> +@@ -71,8 +72,6 @@ static void VNetHubReceive(VNetJack *this, struct sk_buff *skb); + static Bool VNetHubCycleDetect(VNetJack *this, int generation); + static void VNetHubPortsChanged(VNetJack *this); + static int VNetHubIsBridged(VNetJack *this); +-static int VNetHubProcRead(char *page, char **start, off_t off, +- int count, int *eof, void *data); + + static VNetHub *vnetHub; + static DEFINE_SPINLOCK(vnetHubLock); +@@ -241,6 +240,53 @@ VNetHub_AllocPvn(uint8 id[]) // IN: the PVN ID to alloc on + /* + *---------------------------------------------------------------------- + * ++ * VNetHubProcShow -- ++ * ++ * Callback for read operation on hub entry in vnets proc fs. ++ * ++ * Results: ++ * Length of read operation. ++ * ++ * Side effects: ++ * None. ++ * ++ *---------------------------------------------------------------------- ++ */ ++ ++int ++VNetHubProcShow(struct seq_file *seqf, // IN/OUT: buffer to write into ++ void *data) // IN: client data - not used ++{ ++ VNetJack *jack = (VNetJack*)data; ++ VNetHub *hub; ++ ++ if (!jack || !jack->private) { ++ return 0; ++ } ++ hub = (VNetHub*)jack->private; ++ ++ VNetPrintJack(jack, seqf); ++ ++ seq_printf(seqf, "tx %u ", hub->stats[jack->index].tx); ++ seq_printf(seqf, "\n"); ++ return 0; ++} ++ ++static int proc_hub_open(struct inode *inode, struct file *file) ++{ ++ return single_open(file, VNetHubProcShow, PDE_DATA(inode)); ++} ++ ++static const struct file_operations proc_hub_fops = { ++ .open = proc_hub_open, ++ .read = seq_read, ++ .llseek = seq_lseek, ++ .release = seq_release, ++}; ++ ++/* ++ *---------------------------------------------------------------------- ++ * + * VNetHubAlloc -- + * + * Allocate a jack on this hub. +@@ -354,7 +400,7 @@ VNetHubAlloc(Bool allocPvn, // IN: TRUE for PVN, FALSE for vnet + * Make proc entry for this jack. + */ + +- retval = VNetProc_MakeEntry(jack->name, S_IFREG, &jack->procEntry); ++ retval = VNetProc_MakeEntryOps(jack->name, S_IFREG, &jack->procEntry, &proc_hub_fops, jack); + if (retval) { + if (retval == -ENXIO) { + jack->procEntry = NULL; +@@ -362,9 +408,6 @@ VNetHubAlloc(Bool allocPvn, // IN: TRUE for PVN, FALSE for vnet + hub->used[i] = FALSE; + return NULL; + } +- } else { +- jack->procEntry->read_proc = VNetHubProcRead; +- jack->procEntry->data = jack; + } + + /* +@@ -686,46 +729,3 @@ VNetHubIsBridged(VNetJack *this) + } + + +-/* +- *---------------------------------------------------------------------- +- * +- * VNetHubProcRead -- +- * +- * Callback for read operation on hub entry in vnets proc fs. +- * +- * Results: +- * Length of read operation. +- * +- * Side effects: +- * None. +- * +- *---------------------------------------------------------------------- +- */ +- +-int +-VNetHubProcRead(char *page, // IN/OUT: buffer to write into +- char **start, // OUT: 0 if file < 4k, else offset into page +- off_t off, // IN: offset of read into the file +- int count, // IN: maximum number of bytes to read +- int *eof, // OUT: TRUE if there is nothing more to read +- void *data) // IN: client data - not used +-{ +- VNetJack *jack = (VNetJack*)data; +- VNetHub *hub; +- int len = 0; +- +- if (!jack || !jack->private) { +- return len; +- } +- hub = (VNetHub*)jack->private; +- +- len += VNetPrintJack(jack, page+len); +- +- len += sprintf(page+len, "tx %u ", hub->stats[jack->index].tx); +- +- len += sprintf(page+len, "\n"); +- +- *start = 0; +- *eof = 1; +- return len; +-} +--- a/vmnet-only/netif.c ++++ b/vmnet-only/netif.c +@@ -62,8 +62,6 @@ static int VNetNetifStartXmit(struct sk_buff *skb, struct net_device *dev); + static struct net_device_stats *VNetNetifGetStats(struct net_device *dev); + static int VNetNetifSetMAC(struct net_device *dev, void *addr); + static void VNetNetifSetMulticast(struct net_device *dev); +-static int VNetNetIfProcRead(char *page, char **start, off_t off, +- int count, int *eof, void *data); + + /* + *---------------------------------------------------------------------- +@@ -116,6 +114,53 @@ VNetNetIfSetup(struct net_device *dev) // IN: + + } + ++/* ++ *---------------------------------------------------------------------- ++ * ++ * VNetNetIfProcShow -- ++ * ++ * Callback for read operation on this netif entry in vnets proc fs. ++ * ++ * Results: ++ * Length of read operation. ++ * ++ * Side effects: ++ * None. ++ * ++ *---------------------------------------------------------------------- ++ */ ++ ++int ++VNetNetIfProcShow(struct seq_file *seqf, // IN/OUT: buffer to write into ++ void *data) // IN: client data ++{ ++ VNetNetIF *netIf = data; ++ ++ if (!netIf) { ++ return 0; ++ } ++ ++ VNetPrintPort(&netIf->port, seqf); ++ ++ seq_printf(seqf, "dev %s ", netIf->dev->name); ++ ++ seq_printf(seqf, "\n"); ++ ++ return 0; ++} ++ ++static int proc_netif_open(struct inode *inode, struct file *file) ++{ ++ return single_open(file, VNetNetIfProcShow, PDE_DATA(inode)); ++} ++ ++static const struct file_operations proc_netif_fops = { ++ .open = proc_netif_open, ++ .read = seq_read, ++ .llseek = seq_lseek, ++ .release = seq_release, ++}; ++ + + /* + *---------------------------------------------------------------------- +@@ -180,16 +225,13 @@ VNetNetIf_Create(char *devName, // IN: + * Make proc entry for this jack. + */ + +- retval = VNetProc_MakeEntry(netIf->port.jack.name, S_IFREG, +- &netIf->port.jack.procEntry); ++ retval = VNetProc_MakeEntryOps(netIf->port.jack.name, S_IFREG, ++ &netIf->port.jack.procEntry, &proc_netif_fops, netIf); + if (retval) { + netIf->port.jack.procEntry = NULL; + if (retval != -ENXIO) { + goto outFreeDev; + } +- } else { +- netIf->port.jack.procEntry->read_proc = VNetNetIfProcRead; +- netIf->port.jack.procEntry->data = netIf; + } + + /* +@@ -553,45 +595,3 @@ VNetNetifGetStats(struct net_device *dev) // IN: + return &netIf->stats; + } + +- +-/* +- *---------------------------------------------------------------------- +- * +- * VNetNetIfProcRead -- +- * +- * Callback for read operation on this netif entry in vnets proc fs. +- * +- * Results: +- * Length of read operation. +- * +- * Side effects: +- * None. +- * +- *---------------------------------------------------------------------- +- */ +- +-int +-VNetNetIfProcRead(char *page, // IN/OUT: buffer to write into +- char **start, // OUT: 0 if file < 4k, else offset into page +- off_t off, // IN: (unused) offset of read into the file +- int count, // IN: (unused) maximum number of bytes to read +- int *eof, // OUT: TRUE if there is nothing more to read +- void *data) // IN: client data +-{ +- VNetNetIF *netIf = data; +- int len = 0; +- +- if (!netIf) { +- return len; +- } +- +- len += VNetPrintPort(&netIf->port, page+len); +- +- len += sprintf(page+len, "dev %s ", netIf->dev->name); +- +- len += sprintf(page+len, "\n"); +- +- *start = 0; +- *eof = 1; +- return len; +-} +--- a/vmnet-only/procfs.c ++++ b/vmnet-only/procfs.c +@@ -45,10 +45,6 @@ + + #if defined(CONFIG_PROC_FS) + +-static int VNetProcMakeEntryInt(VNetProcEntry *parent, char *name, int mode, +- VNetProcEntry **ret); +-static void VNetProcRemoveEntryInt(VNetProcEntry *node, VNetProcEntry *parent); +- + static VNetProcEntry *base = NULL; + + +@@ -71,7 +67,12 @@ static VNetProcEntry *base = NULL; + int + VNetProc_Init(void) + { +- return VNetProcMakeEntryInt(NULL, "vmnet", S_IFDIR, &base); ++ base = proc_mkdir("vmnet", NULL); ++ if(IS_ERR(base)) { ++ base = NULL; ++ return PTR_ERR(base); ++ } ++ return 0; + } + + +@@ -94,14 +95,14 @@ VNetProc_Init(void) + void + VNetProc_Cleanup(void) + { +- VNetProcRemoveEntryInt(base, NULL); ++ proc_remove(base); + base = NULL; + } + + /* + *---------------------------------------------------------------------- + * +- * VNetProcMakeEntryInt -- ++ * VNetProc_MakeEntryOps -- + * + * Make an entry in the vnets proc file system. + * +@@ -116,72 +117,21 @@ VNetProc_Cleanup(void) + */ + + int +-VNetProcMakeEntryInt(VNetProcEntry *parent, // IN: +- char *name, // IN: ++VNetProc_MakeEntryOps(char *name, // IN: + int mode, // IN: +- VNetProcEntry **ret) // OUT: ++ VNetProcEntry **ret, ++ const struct file_operations *fops, ++ void *data ++ ) // OUT: + { + VNetProcEntry *ent; +- ent = create_proc_entry(name, mode, parent); ++ ent = proc_create_data(name, mode, base, fops, data); + *ret = ent; + if (!ent) + return -ENOMEM; + return 0; + } + +- +-/* +- *---------------------------------------------------------------------- +- * +- * VNetProcRemoveEntryInt -- +- * +- * Remove a previously installed proc entry. +- * +- * Results: +- * None. +- * +- * Side effects: +- * None. +- * +- *---------------------------------------------------------------------- +- */ +- +-void +-VNetProcRemoveEntryInt(VNetProcEntry *node, +- VNetProcEntry *parent) +-{ +- if (node) { +- remove_proc_entry(node->name, parent); +- } +-} +- +- +-/* +- *---------------------------------------------------------------------- +- * +- * VNetProc_MakeEntry -- +- * +- * Make an entry in the vnets proc file system. +- * +- * Results: +- * errno. If errno is 0 and ret is non NULL then ret is filled +- * in with the resulting proc entry. +- * +- * Side effects: +- * None. +- * +- *---------------------------------------------------------------------- +- */ +- +-int +-VNetProc_MakeEntry(char *name, // IN: +- int mode, // IN: +- VNetProcEntry **ret) // OUT: +-{ +- return VNetProcMakeEntryInt(base, name, mode, ret); +-} +- +- + /* + *---------------------------------------------------------------------- + * +@@ -201,7 +151,8 @@ VNetProc_MakeEntry(char *name, // IN: + void + VNetProc_RemoveEntry(VNetProcEntry *node) + { +- VNetProcRemoveEntryInt(node, base); ++ if(node) ++ proc_remove(node); + } + + +@@ -253,31 +204,6 @@ VNetProc_Cleanup(void) + } + + +-/* +- *---------------------------------------------------------------------- +- * +- * VNetProc_MakeEntry -- +- * +- * Make an entry in the vnets proc file system. +- * +- * Results: +- * errno. If errno is 0 and ret is non NULL then ret is filled +- * in with the resulting proc entry. +- * +- * Side effects: +- * None. +- * +- *---------------------------------------------------------------------- +- */ +- +-int +-VNetProc_MakeEntry(char *name, +- int mode, +- VNetProcEntry **ret) +-{ +- return -ENXIO; +-} +- + + /* + *---------------------------------------------------------------------- +--- a/vmnet-only/userif.c ++++ b/vmnet-only/userif.c +@@ -389,7 +389,7 @@ VNetUserIfReceive(VNetJack *this, // IN + /* + *---------------------------------------------------------------------- + * +- * VNetUserIfProcRead -- ++ * VNetUserIfProcShow -- + * + * Callback for read operation on this userif entry in vnets proc fs. + * +@@ -403,30 +403,23 @@ VNetUserIfReceive(VNetJack *this, // IN + */ + + static int +-VNetUserIfProcRead(char *page, // IN/OUT: buffer to write into +- char **start, // OUT: 0 if file < 4k, else offset into +- // page +- off_t off, // IN: offset of read into the file +- int count, // IN: maximum number of bytes to read +- int *eof, // OUT: TRUE if there is nothing more to +- // read ++VNetUserIfProcShow(struct seq_file *seqf, // IN/OUT: buffer to write into + void *data) // IN: client data - not used + { + VNetUserIF *userIf = (VNetUserIF*)data; +- int len = 0; + + if (!userIf) { +- return len; ++ return 0; + } + +- len += VNetPrintPort(&userIf->port, page+len); ++ VNetPrintPort(&userIf->port, seqf); + +- len += sprintf(page+len, "read %u written %u queued %u ", ++ seq_printf(seqf, "read %u written %u queued %u ", + userIf->stats.read, + userIf->stats.written, + userIf->stats.queued); + +- len += sprintf(page+len, ++ seq_printf(seqf, + "dropped.down %u dropped.mismatch %u " + "dropped.overflow %u dropped.largePacket %u", + userIf->stats.droppedDown, +@@ -434,13 +427,23 @@ VNetUserIfProcRead(char *page, // IN/OUT: buffer to write into + userIf->stats.droppedOverflow, + userIf->stats.droppedLargePacket); + +- len += sprintf(page+len, "\n"); ++ seq_printf(seqf, "\n"); + +- *start = 0; +- *eof = 1; +- return len; ++ return 0; ++} ++ ++static int proc_userif_open(struct inode *inode, struct file *file) ++{ ++ return single_open(file, VNetUserIfProcShow, PDE_DATA(inode)); + } + ++static const struct file_operations proc_userif_fops = { ++ .open = proc_userif_open, ++ .read = seq_read, ++ .llseek = seq_lseek, ++ .release = seq_release, ++}; ++ + + /* + *---------------------------------------------------------------------- +@@ -1036,8 +1039,8 @@ VNetUserIf_Create(VNetPort **ret) // OUT + * Make proc entry for this jack. + */ + +- retval = VNetProc_MakeEntry(userIf->port.jack.name, S_IFREG, +- &userIf->port.jack.procEntry); ++ retval = VNetProc_MakeEntryOps(userIf->port.jack.name, S_IFREG, ++ &userIf->port.jack.procEntry, &proc_userif_fops, userIf); + if (retval) { + if (retval == -ENXIO) { + userIf->port.jack.procEntry = NULL; +@@ -1045,9 +1048,6 @@ VNetUserIf_Create(VNetPort **ret) // OUT + kfree(userIf); + return retval; + } +- } else { +- userIf->port.jack.procEntry->read_proc = VNetUserIfProcRead; +- userIf->port.jack.procEntry->data = userIf; + } + + /* +--- a/vmnet-only/vnetInt.h ++++ b/vmnet-only/vnetInt.h +@@ -171,12 +171,14 @@ VNetJack *VNetDisconnect(VNetJack *jack); + + void VNetSend(const VNetJack *jack, struct sk_buff *skb); + +-int VNetProc_MakeEntry(char *name, int mode, +- VNetProcEntry **ret); ++int VNetProc_MakeEntryOps(char *name, int mode, ++ VNetProcEntry **ret, ++ const struct file_operations *fops, ++ void *data); + + void VNetProc_RemoveEntry(VNetProcEntry *node); + +-int VNetPrintJack(const VNetJack *jack, char *buf); ++void VNetPrintJack(const VNetJack *jack, struct seq_file *seqf); + + int VNet_MakeMACAddress(VNetPort *port); + +@@ -196,7 +198,7 @@ Bool VNetPacketMatch(const uint8 *destAddr, const uint8 *ifAddr, + + Bool VNetCycleDetectIf(const char *name, int generation); + +-int VNetPrintPort(const VNetPort *port, char *buf); ++void VNetPrintPort(const VNetPort *port, struct seq_file *seqf); + + int VNetSnprintf(char *str, size_t size, const char *format, ...); + +-- +--- a/vmblock-only/linux/control.c 2013-05-21 19:21:19.165750556 +0200 ++++ b/vmblock-only/linux/control.c 2013-05-21 19:22:18.363747723 +0200 +@@ -208,9 +208,10 @@ + VMBlockSetProcEntryOwner(controlProcMountpoint); + + /* Create /proc/fs/vmblock/dev */ +- controlProcEntry = create_proc_entry(VMBLOCK_CONTROL_DEVNAME, +- VMBLOCK_CONTROL_MODE, +- controlProcDirEntry); ++ controlProcEntry = proc_create(VMBLOCK_CONTROL_DEVNAME, ++ VMBLOCK_CONTROL_MODE, ++ controlProcDirEntry, ++ &ControlFileOps); + if (!controlProcEntry) { + Warning("SetupProcDevice: could not create " VMBLOCK_DEVICE "\n"); + remove_proc_entry(VMBLOCK_CONTROL_MOUNTPOINT, controlProcDirEntry); +@@ -218,7 +219,6 @@ + return -EINVAL; + } + +- controlProcEntry->proc_fops = &ControlFileOps; + return 0; + } + diff --git a/app-emulation/vmware-modules/files/279-apic.patch b/app-emulation/vmware-modules/files/279-apic.patch new file mode 100644 index 000000000000..66cd45933246 --- /dev/null +++ b/app-emulation/vmware-modules/files/279-apic.patch @@ -0,0 +1,12 @@ +diff --git a/vmmon-only/linux/hostif.c b/vmmon-only/linux/hostif.c +index f1f4b10..c43242f 100644 +--- a/vmmon-only/linux/hostif.c ++++ b/vmmon-only/linux/hostif.c +@@ -55,6 +55,7 @@ + #include <linux/kthread.h> + #include <linux/wait.h> + ++#include <asm/apic.h> + + #include "vmware.h" + #include "x86apic.h" diff --git a/app-emulation/vmware-modules/files/279-makefile-include.patch b/app-emulation/vmware-modules/files/279-makefile-include.patch new file mode 100644 index 000000000000..39c300030805 --- /dev/null +++ b/app-emulation/vmware-modules/files/279-makefile-include.patch @@ -0,0 +1,65 @@ +diff --git a/vmblock-only/Makefile.kernel b/vmblock-only/Makefile.kernel +index ab7a727..e3ec9d2 100644 +--- a/vmblock-only/Makefile.kernel ++++ b/vmblock-only/Makefile.kernel +@@ -19,7 +19,7 @@ + + INCLUDE += -I$(SRCROOT)/include + +-EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE) ++EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE) $(LINUXINCLUDE) + + 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 ++++ b/vmmon-only/Makefile.kernel +@@ -22,7 +22,7 @@ CC_OPTS += -DVMMON -DVMCORE + INCLUDE := -I$(SRCROOT)/include -I$(SRCROOT)/common -I$(SRCROOT)/linux \ + -I$(SRCROOT)/vmcore + +-EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE) ++EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE) $(LINUXINCLUDE) + + EXTRA_CFLAGS += $(call vm_check_build, $(SRCROOT)/autoconf/smpcall.c, -DVMW_HAVE_SMP_CALL_3ARG, ) + +diff --git a/vmnet-only/Makefile.kernel b/vmnet-only/Makefile.kernel +index d1e3133..665d428 100644 +--- a/vmnet-only/Makefile.kernel ++++ b/vmnet-only/Makefile.kernel +@@ -19,7 +19,7 @@ + + INCLUDE := -I$(SRCROOT) + +-EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE) ++EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE) $(LINUXINCLUDE) + 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/279-makefile-kernel-dir.patch new file mode 100644 index 000000000000..1a647a3302d8 --- /dev/null +++ b/app-emulation/vmware-modules/files/279-makefile-kernel-dir.patch @@ -0,0 +1,85 @@ +diff --git a/vmblock-only/Makefile b/vmblock-only/Makefile +index 2b81323..746c8b8 100644 +--- a/vmblock-only/Makefile ++++ b/vmblock-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 := 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 ++++ b/vmmon-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 := vmmon + PRODUCT := @@PRODUCT@@ +diff --git a/vmnet-only/Makefile b/vmnet-only/Makefile +index d4eb73c..c7c6d38 100644 +--- a/vmnet-only/Makefile ++++ b/vmnet-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 := 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/279-netdevice.patch new file mode 100644 index 000000000000..35231a3205e3 --- /dev/null +++ b/app-emulation/vmware-modules/files/279-netdevice.patch @@ -0,0 +1,24 @@ +diff --git a/vmnet-only/compat_netdevice.h b/vmnet-only/compat_netdevice.h +index 7a56304..9ff4548 100644 +--- a/vmnet-only/compat_netdevice.h ++++ b/vmnet-only/compat_netdevice.h +@@ -47,6 +47,19 @@ + # define net_device device + #endif + ++/* it looks like these have been removed from the kernel 3.1 ++ * probably because the "transition" is considered complete. ++ * so to keep this source compatible we just redefine them like they were ++ * previously ++ */ ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 1, 0) ++#define HAVE_ALLOC_NETDEV /* feature macro: alloc_xxxdev ++ functions are available. */ ++#define HAVE_FREE_NETDEV /* free_netdev() */ ++#define HAVE_NETDEV_PRIV /* netdev_priv() */ ++#define HAVE_NETIF_QUEUE ++#define HAVE_NET_DEVICE_OPS ++#endif + + /* + * SET_MODULE_OWNER appeared sometime during 2.3.x. It was setting diff --git a/app-emulation/vmware-modules/files/279-putname.patch b/app-emulation/vmware-modules/files/279-putname.patch new file mode 100644 index 000000000000..6e76130fa165 --- /dev/null +++ b/app-emulation/vmware-modules/files/279-putname.patch @@ -0,0 +1,13 @@ +diff --git a/vmblock-only/linux/control.c b/vmblock-only/linux/control.c +index 79716bd..2dd83fe 100644 +--- a/vmblock-only/linux/control.c ++++ b/vmblock-only/linux/control.c +@@ -293,7 +293,7 @@ ExecuteBlockOp(const char __user *buf, // IN: buffer with name + + retval = i < 0 ? -EINVAL : blockOp(name, blocker); + +- putname(name); ++ __putname(name); + + return retval; + } diff --git a/app-emulation/vmware-modules/files/279-vmblock.patch b/app-emulation/vmware-modules/files/279-vmblock.patch new file mode 100644 index 000000000000..e578441e1219 --- /dev/null +++ b/app-emulation/vmware-modules/files/279-vmblock.patch @@ -0,0 +1,27 @@ +diff -ur vmblock-onlya/linux/control.c vmblock-only/linux/control.c +--- vmblock-only/linux/control.c 2013-02-26 10:17:29.000000000 +0200 ++++ vmblock-only/linux/control.c 2013-07-05 19:56:48.298553173 +0300 +@@ -208,17 +208,18 @@ + VMBlockSetProcEntryOwner(controlProcMountpoint); + + /* Create /proc/fs/vmblock/dev */ +- controlProcEntry = create_proc_entry(VMBLOCK_CONTROL_DEVNAME, ++ /*controlProcEntry = create_proc_entry(VMBLOCK_CONTROL_DEVNAME, + VMBLOCK_CONTROL_MODE, +- controlProcDirEntry); +- if (!controlProcEntry) { ++ controlProcDirEntry);*/ ++ controlProcEntry = proc_create(VMBLOCK_CONTROL_DEVNAME, VMBLOCK_CONTROL_MODE, controlProcDirEntry, &ControlFileOps); ++ if (controlProcEntry == NULL) { + Warning("SetupProcDevice: could not create " VMBLOCK_DEVICE "\n"); + remove_proc_entry(VMBLOCK_CONTROL_MOUNTPOINT, controlProcDirEntry); + remove_proc_entry(VMBLOCK_CONTROL_PROC_DIRNAME, NULL); + return -EINVAL; + } + +- controlProcEntry->proc_fops = &ControlFileOps; ++ /* controlProcEntry->proc_fops = &ControlFileOps; */ + return 0; + } + + diff --git a/app-emulation/vmware-modules/vmware-modules-279.0.ebuild b/app-emulation/vmware-modules/vmware-modules-279.0.ebuild new file mode 100644 index 000000000000..e967df4a9aa3 --- /dev/null +++ b/app-emulation/vmware-modules/vmware-modules-279.0.ebuild @@ -0,0 +1,84 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-emulation/vmware-modules/vmware-modules-279.0.ebuild,v 1.1 2013/10/19 11:42:47 dilfridge Exp $ + +EAPI=5 + +inherit eutils flag-o-matic linux-info linux-mod user versionator udev + +PV_MAJOR=$(get_major_version) +PV_MINOR=$(get_version_component_range 2) + +DESCRIPTION="VMware kernel modules" +HOMEPAGE="http://www.vmware.com/" + +SRC_URI="" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="" +IUSE="pax_kernel" + +RDEPEND="" +DEPEND="${RDEPEND} + || ( =app-emulation/vmware-player-6.0.${PV_MINOR}* + =app-emulation/vmware-workstation-10.0.${PV_MINOR}* )" + +S=${WORKDIR} + +pkg_setup() { + CONFIG_CHECK="~HIGH_RES_TIMERS" + if kernel_is ge 2 6 37 && kernel_is lt 2 6 39; then + CONFIG_CHECK="${CONFIG_CHECK} BKL" + fi + + linux-info_pkg_setup + + linux-mod_pkg_setup + + VMWARE_GROUP=${VMWARE_GROUP:-vmware} + + VMWARE_MODULE_LIST="vmblock vmci vmmon vmnet vsock" + VMWARE_MOD_DIR="${PN}-${PVR}" + + BUILD_TARGETS="auto-build KERNEL_DIR=${KERNEL_DIR} KBUILD_OUTPUT=${KV_OUT_DIR}" + + enewgroup "${VMWARE_GROUP}" + filter-flags -mfpmath=sse + + for mod in ${VMWARE_MODULE_LIST}; do + MODULE_NAMES="${MODULE_NAMES} ${mod}(misc:${S}/${mod}-only)" + done +} + +src_unpack() { + cd "${S}" + for mod in ${VMWARE_MODULE_LIST}; do + tar -xf /opt/vmware/lib/vmware/modules/source/${mod}.tar + done +} + +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}/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}-3.10.0.patch" + kernel_is ge 3 11 0 && epatch "${FILESDIR}/${PV_MAJOR}-vmblock.patch" + + # Allow user patches so they can support RC kernels and whatever else + epatch_user +} + +src_install() { + linux-mod_src_install + local udevrules="${T}/60-vmware.rules" + cat > "${udevrules}" <<-EOF + KERNEL=="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-workstation/ChangeLog b/app-emulation/vmware-workstation/ChangeLog index 93785c37fc59..1c01515cc469 100644 --- a/app-emulation/vmware-workstation/ChangeLog +++ b/app-emulation/vmware-workstation/ChangeLog @@ -1,6 +1,14 @@ # ChangeLog for app-emulation/vmware-workstation # Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/app-emulation/vmware-workstation/ChangeLog,v 1.246 2013/07/24 21:47:44 dilfridge Exp $ +# $Header: /var/cvsroot/gentoo-x86/app-emulation/vmware-workstation/ChangeLog,v 1.247 2013/10/19 11:38:38 dilfridge Exp $ + +*vmware-workstation-10.0.0.1295980 (19 Oct 2013) + + 19 Oct 2013; Andreas K. Huettel <dilfridge@gentoo.org> + +vmware-workstation-10.0.0.1295980.ebuild, +files/vmware-10.0.rc, + +files/vmware-server-10.0.rc: + Version bump, added without keywords for testing. Bug 484098. Thanks to Billy + DeVincentis for the files. *vmware-workstation-9.0.2.1031769-r1 (24 Jul 2013) diff --git a/app-emulation/vmware-workstation/Manifest b/app-emulation/vmware-workstation/Manifest index d64baa50659c..64fc07fff1ad 100644 --- a/app-emulation/vmware-workstation/Manifest +++ b/app-emulation/vmware-workstation/Manifest @@ -4,13 +4,17 @@ Hash: SHA256 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-10.0.rc 896 SHA256 5ecf61dcbdfd0bf235e5cff37d411fa7b07ddd7507d0704323af0e6f8e933445 SHA512 48f3926aca508e3a73c7e80cb3c76c63106834c415045e790ad2c9e04f0d4fea192ebb841d0fa83403c1464e4aa58db597534fdd27c1441c89929f5d50ac43bc WHIRLPOOL 66befaa831645a7808424a52cb8b50a84aeabf621f89e6a96c899404e3c77e6f56610395827cf40674a2a25fc5eb970961034bdbffe350dbccea67ee73fc8921 AUX vmware-7.0.rc 892 SHA256 7fcb4e2a221dbe26116597cd53c5b78f8fa27faaadebc942ba66f7b6d819517c SHA512 36f7a848ac0ca1802089d687bf23600b169e07d11e2a4828a92d9065850d308e4111ade029d6f5e7e8dbebb6c363a05139caef9ab49636758151e6b6bc7cc440 WHIRLPOOL d1299f592ba3644f88090c5bbedffaaad1994c7c049ab921e13c9d7094af3ca583cf5ece8c1debe32ccb424e2ca6d834179c8bef9d28164d6ca0dc9ad7284731 AUX vmware-8.0.rc 892 SHA256 3462430c17d53112f1b4050829a2e3ce664275ab26573d6c1d7505a5a0a55f53 SHA512 a05500982892336e726c11b7b1ad61cbe80a8ee7baef9c0984091a5ebf078b46c185de1ed47a0db53441b74356f64da6c1ebefa8322ba3cd610848b870fadc2d WHIRLPOOL 501480023227e2943fe36bfb8c3b875de69bf382643ea37172a60b8c969420eddb18ad0e6363cefc5d1039bb1cacb208e1b9345df7a64498660fe4f910eaca2e AUX vmware-9.0.rc 892 SHA256 28fe67276cbee3cbbc76c70ade6460b11f50c042fe9cd77a186b38d68dd7be9f SHA512 098758c2aa8617741b160831c4745900a33b693f3e4d90832fd22f7cb4244416463a5151444b6a119036bd90ebb2a0f760dd8c5a82ace2f0be422a1d8cd6e9ac WHIRLPOOL 377745ba75ca193b8d15463f9c41a15d1040599c9a7a8471e2c08aeb5040863a59b6b22b9b07af619a4ee923b5328397bc41d5e2726a2f0a7d6d776ac1573011 AUX vmware-player.desktop 599 SHA256 b967f2e6dba531613498a2dea130f557fc366e869876aa63ba3ae97f5ff59c54 SHA512 9dc8b41dc94ebeaec8e6c476a893443d36806df21d877ee2a667efec9558f393b2c21fa647180bb67da20cf906c5e6a106df114e5f224725397f04ebffa67273 WHIRLPOOL 4579b6fd704a5add0d0eb32f72571fb64e5a54b584d39664a9e1e3c11c979ec1e0b41cfe079d17e9d8a4d2e0aa9c8294e06fec68faf9fe27d078ad948f8b799f +AUX vmware-server-10.0.rc 1690 SHA256 2548a2aed8f33bde76fd6a0fc9a970128332506ebc38d94da87723166cf09efa SHA512 34a604442c9eefefa88a742a1682e4b16ca1cbcf48ef2ff84742dd0bc27314ae3f59ca7db73d588fb20ce4eedb00c97671621ec1bdabd92b1543f33304eb420a WHIRLPOOL 46718c4fafd4e401644de17c043d08bfa59a6575bdf5e6cc26b5828f068729578604301cd2e79ec6bca109d82031684e984e63cd949c2a96bd4ba78b6db2a8fb AUX vmware-server-8.0.rc 1686 SHA256 0ee8335d2bf29057990c3ce10ffb9e3eb5180f84eed0a165618c33f4c2ad9cbb SHA512 d83b603539378f6169ac8c84b3f8a9c051093291b73ed24d566b31ffb6ea6cb2989e0a1a7c03c49c3d3afbe13f5a60609ac9e502b6021cebd357824ed85ffc0e WHIRLPOOL e5b36a9070b8a55ec06f811ac7a5e5d433f2a06e636d8b5b719cb75e2b07001486ae7a2500a1c736fc1f2138e5280ae1592e06374b2656d8993faec36d3b113c AUX vmware-server-9.0.rc 1686 SHA256 2c92bf5ea701ac2e844431d22cefd82a07b9a54645bb89c8730cbd1277f7c8ce SHA512 64356476de06ccb82c29fafbd286c491e3646ec8e895e5ca8166b2a81d5447b2711ba99659de14e8aa0b4ebbd32381bfe76eae95a9ba3fc7678e9dd31dded408 WHIRLPOOL 9ad0d232e60d558b6ba15068cceb5ad72782e5d25b5442900926df03b0b61fdf3ed06e9fa6c4eb40227e7bd4b317eef6e6fdaed07024d276bf3c566f7dabcc26 AUX vmware-workstation.desktop 605 SHA256 ae2f572200a16a1e1222e282268ae138588c0e7576045a584c1d17f54f379f3e SHA512 7cebb97a4e0d4fc6804d7e6535ae01ff036b94fa4d2458986ad6b18d1637686e83e4779efbb57c708f0309de60b8bf64afac48d89ea5dc1d155e544307b26228 WHIRLPOOL ed0b481cdb2bb6ee3c586cc757b5167abf7ba2b9f29e47af49aa34d162132309eb261bdabf94366ec3a459d2d9b46ee0f7cda1c0d290798435143e7bb255e9f2 +DIST VMware-Workstation-10.0.0-1295980.i386.bundle.tar 282490880 SHA256 51a085502cf8c2afda111fca0d01465939d1f3e56139465baa62c60fe7411198 SHA512 33d3cc5990bc403829129a6730efbef4427fb0da92e4b6161dae7f408892f9282c79fa694a24e9179a7fcf687d2fbd8278f8176ff43eba15c22647a3352466fe WHIRLPOOL b70e361113a35725d9e9fad1379bbba012941ea2ba8ee568954192d3a90a3486ad8de97d4cc483b5a46d64bc8bf9b3dd75ef314b01bdc45c99af3d18381ff1f1 +DIST VMware-Workstation-10.0.0-1295980.x86_64.bundle.tar 253061120 SHA256 adcd30b81f7825ac41a10246105c38953177ad98195589c47f46b4313ed625e3 SHA512 5fa16700d02899821cd2533e4032dfaaf7b0066bd87af2a4c219eb72afa45833785054112d589b90e7e5665d24ae08cc484380966fa687cc5517fcf830e29d09 WHIRLPOOL 40bc90959022b8251828e6fb05093c601bb5a1afaed79ac54c5e2a4dfb061f49fc88dd3f885c1063ac2e8f7790e164ab146dea71a4f05d7a19556f4ce3dd218b DIST VMware-Workstation-7.1.6-744570.i386.bundle 130391795 SHA256 fbeadabe7c0929a10f144dc82e37afc73bbd60bedf299bb2c6142dda379ad5b4 SHA512 c57148f0ef7041bdadf46668aaddd0315134185103706dc23815bf3ebe4f2389a9387c63d0caf3fb0e1baf236320c633264e473439b2e00eb26c11d489e6af0a WHIRLPOOL e631ccb14424d5165fc2f9bbe7d910e60c06ed3f4c5fbddbbf5b4bc66153a84927a3779359f3d07b258a59766ff9d063585e1ecc70dc4d107c073bf529541dbf DIST VMware-Workstation-7.1.6-744570.x86_64.bundle 137422513 SHA256 1a0694349393ce326f62c291d76c1c5e8d5473b49bf986476e1485df422a2f8f SHA512 df72b0c770f9e356efd1bbffe2c596909f193bc2100a015cfbab819fea017ee735fcc932180c0cc5ffbe8223fa66a06dcd35e34d183b06f71c7ba937c440e2fd WHIRLPOOL e7b50e706b88e30801ccaeaedf59f5fbdf06342d8566a65b3cb19ec2c433da52768b55f9e5e58e274071c284d38280e0635f8a9c3fd2d01f53037c1082d15af3 DIST VMware-Workstation-8.0.5-893925.i386.bundle.tar 188180480 SHA256 79033aa837a1b2fcf1229c407b159586152d41f3c624ae1745264443bad06a90 SHA512 2ea55d6ba1b64ee33ca73af46ce4ba58be441ecb973e4f9e3711b7d516b1d6233ee8e125c0d90226169258a5bbccf73f67ea593a1eaa48e7368275f545db3306 WHIRLPOOL 270b37814ee4c19bbe3e1d573016cf1899a90dc1c3500181eeb336220eebde276fb11bb4e46d3121a8e1517f749fe9a127eb76f642938d7b8e8f22ae3fbed556 @@ -18,28 +22,29 @@ DIST VMware-Workstation-8.0.5-893925.x86_64.bundle.tar 187729920 SHA256 39010a8b DIST VMware-Workstation-9.0.2-1031769.i386.bundle.tar 264898560 SHA256 f23efa3db418790cffa38a90639edd0f5e0834fa98c69a3146489cc3774a71c7 SHA512 ea38c747e236e3a5ae3da809f22a997044c3306239afbc2cc28dfd04f3589dc23e35295bcb5dfb7f5ea687a908b790fb56afa062b7a5cea523c8645d94d652b0 WHIRLPOOL 18aaed121c973911d00a89790b98c8b22b942d29a3580181e7937fe27882d4cd30b2e0a7c13d22129c2e72c7cbce87cff0c80f32e6726d25cf67ec159506db46 DIST VMware-Workstation-9.0.2-1031769.x86_64.bundle.tar 232693760 SHA256 53e175340086f8be2a9cf6c272fe1f8721aa06ed227a2c880a23323c4c491ee3 SHA512 2b11078e96826eaf8b83053fa091d9b7799810fdd93ef730f9732876f29a1d989728cd94c0dafb9f27e9e006c8930bb7546ca1b8bb9390a7c5d62b8ff507f5b4 WHIRLPOOL 37dc8d6cd17c8580f360d180b8fff160204d57afbfb74cc34ffb900766b9d362ebf809383a99478a586dcb9da41594d80880e9e84cb5e17433521c7f90196a4f DIST gentoo-01.tar.gz 1884 SHA256 e92c694865f1b29f4d7a39efa1dd87bc71dc5f922573f00a3d31ee8e27a8c335 SHA512 454ab93997781bd0a9accddb2ac7bb446f07ea7cddef5640369025c30e03592e14869e0f0f7b4457db2f1ada31c98051426016c86201afa8bc8e3aa4ccc2f875 WHIRLPOOL 9202583b617532ab2612b384da307218e7c93c2962f0d233e28bea066b07163c9bc51c0a599309f9d703c5575ebeb292d787716225624dc1c2fdff3c44fa3513 +EBUILD vmware-workstation-10.0.0.1295980.ebuild 14232 SHA256 96840920990d48c9054ad7ab26e5f5ee974a51231772053e2ee6951b85c63a51 SHA512 20c55db9b0be82ba928542a4077bb273098b5549987e589acbae0307a694642d3ae2bbe18dcb40622abf840b40b77a1ff832ccc8f32def6dd05398d0177fcf20 WHIRLPOOL 7ee7410924413b03ce4bbfdf10be06ee3326107e2151e9b5fc6defd2f95f45aade9c2db9e7ba9d7c8159f0f0acbd84440ea7cf4a23bb9e7b08906c17e5faf300 EBUILD vmware-workstation-7.1.6.744570.ebuild 8346 SHA256 3dd32ca812b6d1b210d35d49b73d3610884878bf31cc53bc4bfa9427eb9af13e SHA512 139d6d726b7afd87eb4bc7b6a8ca9a26e120c760b17eb2c02e0f775b388a973f8bad9724f266b57d3e0c1310a26a291e73dd13cb98bfb7fe5f288a55d3e55460 WHIRLPOOL 99656df5e5d8378a7319382f4c60946eda79b5312cccf7b31afc43dc1a24b8412060707b03d0b52906cf97493f5165c0f7c113e9abf4525650144c22397946df EBUILD vmware-workstation-8.0.5.893925.ebuild 13495 SHA256 34939d7d405fdc0a078518e9a85da363ec7a1b6103bd1bc0605e2e9b2d687ddb SHA512 bfa8c637a02b20211fd87fa86867531a20427b82f09e34b1dc9e7abf2b2e547c0070e4881ac31b774d310a2b9c270b39f324064137ea078d0ebdb73fbddfce2f WHIRLPOOL 15baad019c6617e462eed8a0cbb19d9664dacdd12ddae1a81e8c32d253b60d5e9912c10220fd9a1df9ff0f3ac5647a15cc0b441e6b6171b050fa5142abdd4942 -EBUILD vmware-workstation-9.0.2.1031769-r1.ebuild 14218 SHA256 a28d505a456edc82f5f3b818807fe2712d8d2968cf04ef7be8d12dcbad4d1790 SHA512 9ea89e23edcbf0f861e91522a36f30dc339d6bc7289bc97ab10cbcc23c52829c37c760c99bb5c90a6af3d20580ed4e1205969de7bd70c82229d57ea5f3c0f3b6 WHIRLPOOL c31f5e4b9df490b0685a2c9294517b35771248dd106ffb9faa8271dbdff94d2b628eaebd395ec8f015fd325395ee3e70b54205fc323889dc8a8f72e6c8b20202 +EBUILD vmware-workstation-9.0.2.1031769-r1.ebuild 14220 SHA256 8242820c197de40a07b5b06b5c80ad7dd29981d38933982e12bd3f4e9ae4f4de SHA512 2c5d23e70571a6a3d86014495c34a202bdf4fa62ca9c9f9676e25cd5ab80fa953a7e131e26fb3cb0d3f39739f443bb33cadbfa14d1bc69dc0d3d77247f189388 WHIRLPOOL 63e03068e35f8fc9325f5033528780ba315cf554c2aec3f1a7ff77f05818a2f3c2816a18042a66f09ea9351385ae86c4a519e00b9b38fbc46d11ed8c1be280c7 EBUILD vmware-workstation-9.0.2.1031769.ebuild 13910 SHA256 101b97edc8df6ce469e49c0b1a80ee803b502b96de659ce040cd67185f15ccf6 SHA512 dbc924d08f1705f7313cf749a3356d43f35ac10f6d2c3f9e3fad909a2da7d81c1cd11de657971381d355addeef99e67bd8252218e4de0be216fd0282f7e3a6ad WHIRLPOOL 207b27442442cc515a870f7e371ea031315560afce75b3cf7d09a4fce2611df078f74988c912568f760bf56cf62c6560e575ad4189b25c636f24b110a9ad7d23 -MISC ChangeLog 42377 SHA256 3cb3eab60675276a8c4a7492b19056b2aa72db4acf68a7e24ed0000f4bc6f69b SHA512 3d82b47e50e9d486a8391dc5d0ec39ff0759b8972350bcd0f24b803977ae7e4506e9fb8c11d9853a7c86b27f91eec6fb409c679f25d2e44d1be70f6efc667985 WHIRLPOOL 776fd88cfbeeef9183edf31c3a8079a4a0df34b1e35f9733ca28e3f20ccddfd432d6c92422e63dfef10422b5b153b0002f337c0216ed91e54cc700bc31f07b31 +MISC ChangeLog 42694 SHA256 570478290a3cc63b90e4acdf1385381cb9857063b801695beede015c92909098 SHA512 3165b153d2544cc3180755c97e20cd9d8e0ff17ad42b9892b631867b72025f41da1854f983e3399110c8005dc3b8e9598873a1d5cad5d6fe0189e281500c4110 WHIRLPOOL 815c14d52e9d9613b6305e6828c9e9f24d347e1fd1305206587a0f95a24094c0ae14704a6b0c5736f21c9377503ac7fde4a9dbbb081e0fb7b7bc5405298fd817 MISC metadata.xml 757 SHA256 299d53409b7bdc264fadde3385e44b378fb1394745f8df5e3847411f0a3f7217 SHA512 6114d20497a28437680b733e501357b401ae31645f189128c450942adc8c0886530d07ebcc1bed93e3b5966c7e79b13eeb79cb68a6f16da130b3761694f94b4f WHIRLPOOL db2983b2e0a2827824c2a78f5e5379cf0481cbd3bc5612c4a43b196f2d22826362fd3d4fdd1f78d15fdd7e98f7acbc7c1f0a7313955cbf69dc502957e4ecddb4 -----BEGIN PGP SIGNATURE----- -Version: GnuPG v2.0.20 (GNU/Linux) +Version: GnuPG v2.0.22 (GNU/Linux) -iQJ8BAEBCABmBQJR8EwCXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w +iQJ8BAEBCABmBQJSYm9MXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQwNzlCRDk4QzA4RENBRkYzQUEwRjQzMDlF -QkU2QTMzNkJFMTkwMzlDAAoJEOvmoza+GQOcw2cP/ju6vReI1faP7cgDQ9ON+6Tt -ocXgT7SQ2GY2xGF62QlG3MKx6mmO3rVUnDlvb8YpVcqqtcTGZ0lTrG/e08FlW3DM -bleOtmXzuoPKE9ml/uP33bTqbrOEcq4/0z1DtZZMVbB3sj5fpcXsSEX5V4rXi1H0 -X4cvSn0XRXaVfbTVFgNF/JTQnUwYSjf+pBvWKzE0s8DLIbyxOFEsS0pPwffKW7dz -xO99HKBRZhuLK46HxzX/TdEQmo+5koewMLT11iwbWoOOiNPBOp/vxT08q+61XgM/ -frNbmiAKwjPs8WIx1w8y3nrXxrAzRdFmeOiN9ZpIzcemSAUSpXMa6/JHRr2/to3+ -ebF+J0E56tmeVb3X2jn/RJmvJDNND4syJQ/P87Dy1Y9c3zh2QYd1l24YMFO6aN7z -HFEK5Vu+wlE5DcII46q+CVnxSZ+UkkI+OTdeQPJv3OfrZXC9Lvxmom1f2AdJuoHT -V45PY5476lFZTFTgoyyZxc7A/l0aVnjK8gbE1Afr2UpMQt6tqkNc3mDYLuGBYjAk -Za49p0D6kiK2Weh4m4leTSAZBXY7RVsAwDEzUZO9v3saut2RvAXazZk6FyP2VoLN -CX0l8wNqCp05XgKd+L2shfMW8wWJILgfOCJaacShKeof55zFmEzJB/VNaRUgCeMV -TUZ41B2N0ZjPd8+dSlG6 -=tV6C +QkU2QTMzNkJFMTkwMzlDAAoJEOvmoza+GQOcXPgP/3b4gGGDR3do9OTNS2VcX0+8 +lKSWekusEbSJRHK4jx0dKzcKiNOUSAdVFucGfcYRgyf3FurGKYbJlxJrEVAdJEk4 +2OKM0WQ/NOa35DyNnJ/3lUYawrExMQTyUtaNsxNiWSNZQUNjJiZisaskdN4wzLPJ +Q+l6wg1coKAM0A3mBJSAGU6G2ZRuybR/xP0mP+vHgpQzxBxRFyUoJ7TMWK+USEkg +ebZXSljsBuurRzOVE2CYSLIkNUpMvRsd1bAWfPIPo6FlbqzTDQN9Q9ftKMLxW70R +KkMubpCzmIRtFdQv7gaudr8DvNEQ1/zBicI6M12oPbOXiOXw/bFj2MOPXIGRvzY6 +a8JWpYuOR9M6ol/U2y7MuxUwQ/8ui+8Nwty/n4pVdaWTqCB5qoy66wIB2wdiTXSU +xR6woWhp22KWlq7vwAl9IP6UpyjfHXV4vN5ILIGgifk1C0vrQA5lwzVmpd3uS8hS +px9xW2ZtsQyu6IS6JCJDFzJdfaVSu+wqSnG/6t0aC6+c5nbNWEOOzLF758LKJv9j +NIId5HeS4t+ktKr9qqb3FjllGUiTslLhD11Fi9AwHQc74k+PuvvW8bqP5ZQ7HFWi +V9LENYJClL/rpZX8PHEY+8YozBf11wKewu8TKGXnN59VyfiRoU1w89Hx0B/SS2hq +XJb6oPONS7btHZATHiTb +=+3iS -----END PGP SIGNATURE----- diff --git a/app-emulation/vmware-workstation/files/vmware-10.0.rc b/app-emulation/vmware-workstation/files/vmware-10.0.rc new file mode 100644 index 000000000000..a7d08c224d4e --- /dev/null +++ b/app-emulation/vmware-workstation/files/vmware-10.0.rc @@ -0,0 +1,33 @@ +#!/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-10.0.rc,v 1.1 2013/10/19 11:38:39 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 -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-workstation/files/vmware-server-10.0.rc b/app-emulation/vmware-workstation/files/vmware-server-10.0.rc new file mode 100644 index 000000000000..353f3693046b --- /dev/null +++ b/app-emulation/vmware-workstation/files/vmware-server-10.0.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-10.0.0.1295980.ebuild b/app-emulation/vmware-workstation/vmware-workstation-10.0.0.1295980.ebuild new file mode 100644 index 000000000000..bcfe1cb5fa4a --- /dev/null +++ b/app-emulation/vmware-workstation/vmware-workstation-10.0.0.1295980.ebuild @@ -0,0 +1,491 @@ +# 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/vmware-workstation-10.0.0.1295980.ebuild,v 1.1 2013/10/19 11:38:38 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="https://softwareupdate.vmware.com/cds/vmw-desktop/ws/${MY_PV}/${PV_BUILD}/linux/core/" +SRC_URI=" + x86? ( ${BASE_URI}${MY_P}.i386.bundle.tar ) + 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="" +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/libsigc++ + dev-libs/libxml2 + =dev-libs/openssl-0.9.8* + dev-libs/xmlrpc-c + gnome-base/libgnomecanvas + gnome-base/libgtop:2 + 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/startup-notification + x11-themes/hicolor-icon-theme + !app-emulation/vmware-player" +PDEPEND="~app-emulation/vmware-modules-279.${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-Workstation1000andvSphere550 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 +} diff --git a/app-emulation/vmware-workstation/vmware-workstation-9.0.2.1031769-r1.ebuild b/app-emulation/vmware-workstation/vmware-workstation-9.0.2.1031769-r1.ebuild index c8c2d2fa253e..7e51634777a7 100644 --- a/app-emulation/vmware-workstation/vmware-workstation-9.0.2.1031769-r1.ebuild +++ b/app-emulation/vmware-workstation/vmware-workstation-9.0.2.1031769-r1.ebuild @@ -1,6 +1,6 @@ # 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/vmware-workstation-9.0.2.1031769-r1.ebuild,v 1.1 2013/07/24 21:47:44 dilfridge Exp $ +# $Header: /var/cvsroot/gentoo-x86/app-emulation/vmware-workstation/vmware-workstation-9.0.2.1031769-r1.ebuild,v 1.2 2013/10/19 11:38:38 dilfridge Exp $ EAPI="4" @@ -458,7 +458,7 @@ src_install() { fi # install systemd unit files - systemd_dounit ${WORKDIR}/systemd-vmware-${SYSTEMD_UNITS_TAG}/*.{service,target} + systemd_dounit "${WORKDIR}/systemd-vmware-${SYSTEMD_UNITS_TAG}"/*.{service,target} } pkg_config() { |