diff --git a/app-emulation/open-vm-tools-kmod/ChangeLog b/app-emulation/open-vm-tools-kmod/ChangeLog new file mode 100644 index 000000000..f3ca0e7a6 --- /dev/null +++ b/app-emulation/open-vm-tools-kmod/ChangeLog @@ -0,0 +1,50 @@ +# ChangeLog for app-emulation/open-vm-tools-kmod +# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/app-emulation/open-vm-tools-kmod/ChangeLog,v 1.8 2010/08/09 17:35:56 vadimk Exp $ + + 09 Aug 2010; Vadim Kuznetsov + -open-vm-tools-kmod-0.0.20091216.217847.ebuild: + clean up + +*open-vm-tools-kmod-0.0.20100616.268169 (04 Jul 2010) + + 04 Jul 2010; Vadim Kuznetsov + +open-vm-tools-kmod-0.0.20100616.268169.ebuild: + version bump + +*open-vm-tools-kmod-0.0.20100320.243334 (24 Mar 2010) + + 24 Mar 2010; Vadim Kuznetsov + +open-vm-tools-kmod-0.0.20100320.243334.ebuild: + version bump + +*open-vm-tools-kmod-0.0.20100223.236320 (16 Mar 2010) + + 16 Mar 2010; Vadim Kuznetsov + -open-vm-tools-kmod-0.0.20091015.201664.ebuild, + -open-vm-tools-kmod-0.0.20100119.226760.ebuild, + +open-vm-tools-kmod-0.0.20100223.236320.ebuild: + small code cleanup + +*open-vm-tools-kmod-0.0.20100119.226760 (19 Feb 2010) + + 19 Feb 2010; Vadim Kuznetsov + +open-vm-tools-kmod-0.0.20100119.226760.ebuild: + Version bump, fixes bug 296277. vmxnet3 moved to kernel. + + 27 Dec 2009; Vadim Kuznetsov + open-vm-tools-kmod-0.0.20091216.217847.ebuild: + Bug 297692 + +*open-vm-tools-kmod-0.0.20091216.217847 (20 Dec 2009) + + 20 Dec 2009; Vadim Kuznetsov + +open-vm-tools-kmod-0.0.20091216.217847.ebuild: + Version bump. + +*open-vm-tools-kmod-0.0.20091015.201664 (29 Oct 2009) + + 29 Oct 2009; Vadim Kuznetsov vadimk@gentoo.org + +open-vm-tools-kmod-0.0.20091015.201664.ebuild, +metadata.xml: + open-vm-tools kernel modules. + diff --git a/app-emulation/open-vm-tools-kmod/Manifest b/app-emulation/open-vm-tools-kmod/Manifest new file mode 100644 index 000000000..84b86c7e2 --- /dev/null +++ b/app-emulation/open-vm-tools-kmod/Manifest @@ -0,0 +1,5 @@ +AUX open-vm-tools-kmod-2.6.35.patch 3817 RMD160 4b056dca26a544395ce143c080c5d3cbbfd0cd0f SHA1 f17a179ce13afeeaa157f74048433b3d29a4ec97 SHA256 fd6c3b95bd14db5596b8436874063edb34c72659e9aad5ad0960ed5d6e7aebd5 +DIST open-vm-tools-2010.06.16-268169.tar.gz 3582789 RMD160 c63e7eceb2dd971b80b08e1dfacfe784dcbc0a02 SHA1 c177d71ccadec5264bbd0d95baa1e6efcd11dd41 SHA256 0ad0702b063bf01435eb1f3a30e5ffb0341284c1e7faaad3346f1b08c35cf5fa +EBUILD open-vm-tools-kmod-0.0.20100616.268169.ebuild 1508 RMD160 ec4f23d928dbfaa8830ebaf02eb705fa492f4e6c SHA1 8adc5bd250f55598d151021ee531e90656778e35 SHA256 114ff4fc873d6d56dbbe2ccd481b4d6fcd24a629e5040745b2eff5c380aeb7f6 +MISC ChangeLog 1677 RMD160 a77f297064e3158be0ed7c4ace5e44df52122e2f SHA1 b45cc37787f24c6440db6ef99ddc2be228641a7c SHA256 6e9639707a6e3ea93df88ae69762ed2f60b40290d110b2eeeaeda598a03dd93e +MISC metadata.xml 503 RMD160 fc12351dcb94137033d4810fc69d0211e0d0ec93 SHA1 bbe6feea6eff4574c897555e35649c6bd1f01963 SHA256 bed306dcff1b6d4243cf63ba912c88d3a630081501891687925c9dbf37995e00 diff --git a/app-emulation/open-vm-tools-kmod/files/open-vm-tools-kmod-2.6.35.patch b/app-emulation/open-vm-tools-kmod/files/open-vm-tools-kmod-2.6.35.patch new file mode 100644 index 000000000..8ba6f7cea --- /dev/null +++ b/app-emulation/open-vm-tools-kmod/files/open-vm-tools-kmod-2.6.35.patch @@ -0,0 +1,109 @@ +--- open-vm-tools-2010.06.16-268169.orig/modules/linux/vmxnet/vmxnet.c ++++ open-vm-tools-2010.06.16-268169/modules/linux/vmxnet/vmxnet.c +@@ -2951,7 +2951,7 @@ vmxnet_load_multicast (struct net_device + { + struct Vmxnet_Private *lp = netdev_priv(dev); + volatile u16 *mcast_table = (u16 *)lp->dd->LADRF; +- struct dev_mc_list *dmi = dev->mc_list; ++ struct netdev_hw_addr *ha; // struct dev_mc_list *dmi = dev->mc_list; + u8 *addrs; + int i, j, bit, byte; + u32 crc, poly = CRC_POLYNOMIAL_LE; +@@ -2960,10 +2960,11 @@ vmxnet_load_multicast (struct net_device + lp->dd->LADRF[0] = 0; + lp->dd->LADRF[1] = 0; + ++ i = 0; + /* Add addresses */ +- for (i = 0; i < dev->mc_count; i++){ +- addrs = dmi->dmi_addr; +- dmi = dmi->next; ++ netdev_for_each_mc_addr(ha, dev) { // for (i = 0; i < dev->mc_count; i++){ ++ addrs = ha->addr; //dmi->dmi_addr; ++ ++i; // dmi = dmi->next; + + /* multicast address? */ + if (!(*addrs & 1)) +--- open-vm-tools-2010.06.16-268169.orig/modules/linux/vsock/linux/af_vsock.c ++++ open-vm-tools-2010.06.16-268169/modules/linux/vsock/linux/af_vsock.c +@@ -3566,7 +3566,7 @@ VSockVmciAccept(struct socket *sock, + * upon connection establishment. + */ + timeout = sock_sndtimeo(listener, flags & O_NONBLOCK); +- compat_init_prepare_to_wait(sk_sleep(listener), &wait, TASK_INTERRUPTIBLE); ++ compat_init_prepare_to_wait(compat_sk_sleep(listener), &wait, TASK_INTERRUPTIBLE); + + while ((connected = VSockVmciDequeueAccept(listener)) == NULL && + listener->compat_sk_err == 0) { +@@ -3616,7 +3616,7 @@ VSockVmciAccept(struct socket *sock, + } + + outWait: +- compat_finish_wait(sk_sleep(listener), &wait, TASK_RUNNING); ++ compat_finish_wait(compat_sk_sleep(listener), &wait, TASK_RUNNING); + out: + release_sock(listener); + return err; +@@ -3714,7 +3714,7 @@ VSockVmciPoll(struct file *file, // I + sk = sock->sk; + vsk = vsock_sk(sk); + +- poll_wait(file, sk_sleep(sk), wait); ++ poll_wait(file, compat_sk_sleep(sk), wait); + mask = 0; + + if (sk->compat_sk_err) { +@@ -4313,7 +4313,7 @@ VSockVmciStreamSendmsg(struct kiocb *kio + goto out; + } + +- compat_init_prepare_to_wait(sk_sleep(sk), &wait, TASK_INTERRUPTIBLE); ++ compat_init_prepare_to_wait(compat_sk_sleep(sk), &wait, TASK_INTERRUPTIBLE); + + while (totalWritten < len) { + Bool sentWrote; +@@ -4351,7 +4351,7 @@ VSockVmciStreamSendmsg(struct kiocb *kio + goto outWait; + } + +- compat_cont_prepare_to_wait(sk_sleep(sk), ++ compat_cont_prepare_to_wait(compat_sk_sleep(sk), + &wait, TASK_INTERRUPTIBLE); + } + +@@ -4403,7 +4403,7 @@ outWait: + if (totalWritten > 0) { + err = totalWritten; + } +- compat_finish_wait(sk_sleep(sk), &wait, TASK_RUNNING); ++ compat_finish_wait(compat_sk_sleep(sk), &wait, TASK_RUNNING); + out: + release_sock(sk); + return err; +@@ -4589,7 +4589,7 @@ VSockVmciStreamRecvmsg(struct kiocb *kio + goto out; + } + +- compat_init_prepare_to_wait(sk_sleep(sk), &wait, TASK_INTERRUPTIBLE); ++ compat_init_prepare_to_wait(compat_sk_sleep(sk), &wait, TASK_INTERRUPTIBLE); + + while ((ready = VSockVmciStreamHasData(vsk)) < target && + sk->compat_sk_err == 0 && +@@ -4629,7 +4629,7 @@ VSockVmciStreamRecvmsg(struct kiocb *kio + goto outWait; + } + +- compat_cont_prepare_to_wait(sk_sleep(sk), &wait, TASK_INTERRUPTIBLE); ++ compat_cont_prepare_to_wait(compat_sk_sleep(sk), &wait, TASK_INTERRUPTIBLE); + } + + if (sk->compat_sk_err) { +@@ -4693,7 +4693,7 @@ VSockVmciStreamRecvmsg(struct kiocb *kio + err = copied; + + outWait: +- compat_finish_wait(sk_sleep(sk), &wait, TASK_RUNNING); ++ compat_finish_wait(compat_sk_sleep(sk), &wait, TASK_RUNNING); + out: + release_sock(sk); + return err; diff --git a/app-emulation/open-vm-tools-kmod/metadata.xml b/app-emulation/open-vm-tools-kmod/metadata.xml new file mode 100644 index 000000000..86bc63867 --- /dev/null +++ b/app-emulation/open-vm-tools-kmod/metadata.xml @@ -0,0 +1,14 @@ + + + + vmware + + vadimk@gentoo.org + + + The Open Virtual Machine Tools (open-vm-tools) are the open source + implementation of VMware Tools. They are a set of guest operating system + virtualization components that enhance performance and user experience + of virtual machines. + + diff --git a/app-emulation/open-vm-tools-kmod/open-vm-tools-kmod-0.0.20100616.268169.ebuild b/app-emulation/open-vm-tools-kmod/open-vm-tools-kmod-0.0.20100616.268169.ebuild new file mode 100644 index 000000000..4dc454faf --- /dev/null +++ b/app-emulation/open-vm-tools-kmod/open-vm-tools-kmod-0.0.20100616.268169.ebuild @@ -0,0 +1,60 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-emulation/open-vm-tools-kmod/open-vm-tools-kmod-0.0.20100616.268169.ebuild,v 1.1 2010/07/04 00:50:07 vadimk Exp $ + +inherit linux-mod versionator eutils + +MY_DATE="$(get_version_component_range 3)" +MY_BUILD="$(get_version_component_range 4)" +MY_PN="${PN/-kmod}" +MY_PV="${MY_DATE:0:4}.${MY_DATE:4:2}.${MY_DATE:6:2}-${MY_BUILD}" +MY_P="${MY_PN}-${MY_PV}" + +DESCRIPTION="Opensourced tools for VMware guests" +HOMEPAGE="http://open-vm-tools.sourceforge.net/" +SRC_URI="mirror://sourceforge/${MY_PN}/${MY_P}.tar.gz" + +LICENSE="LGPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" + +RDEPEND="" + +DEPEND="${RDEPEND} + virtual/linux-sources + " + +S="${WORKDIR}/${MY_P}" + +src_unpack() { + unpack "${A}" || die + if kernel_is ge 2 6 35; then + cd "${S}" && epatch "${FILESDIR}/"${PN}-2.6.35.patch + fi +} + +pkg_setup() { + linux-mod_pkg_setup + + VMWARE_MOD_DIR="modules/linux" + VMWARE_MODULE_LIST="vmblock vmci vmhgfs vmsync vmxnet vsock" + + MODULE_NAMES="" + BUILD_TARGETS="auto-build HEADER_DIR=${KERNEL_DIR}/include BUILD_DIR=${KV_OUT_DIR} OVT_SOURCE_DIR=${S}" + + for mod in ${VMWARE_MODULE_LIST}; + do + if [ "${mod}" == "vmxnet" ]; + then + MODTARGET="net" + else + MODTARGET="openvmtools" + fi + MODULE_NAMES="${MODULE_NAMES} ${mod}(${MODTARGET}:${S}/${VMWARE_MOD_DIR}/${mod})" + done +} +pkg_postinst() { + linux-mod_pkg_postinst + elog "vmxnet3 for Linux is now upstream (as of Linux 2.6.32)" +}