[app-emulation/open-vm-tools-kmod] fix 2.6.35 compilation

This commit is contained in:
Fabio Erculiani
2010-08-12 16:59:17 +02:00
parent e84d3b0000
commit 106a8a8972
5 changed files with 238 additions and 0 deletions
@@ -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 <vadimk@gentoo.org>
-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 <vadimk@gentoo.org>
+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 <vadimk@gentoo.org>
+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 <vadimk@gentoo.org>
-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 <vadimk@gentoo.org>
+open-vm-tools-kmod-0.0.20100119.226760.ebuild:
Version bump, fixes bug 296277. vmxnet3 moved to kernel.
27 Dec 2009; Vadim Kuznetsov <vadimk@gentoo.org>
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 <vadimk@gentoo.org>
+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.
@@ -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
@@ -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;
@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<herd>vmware</herd>
<maintainer>
<email>vadimk@gentoo.org</email>
</maintainer>
<longdescription>
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.
</longdescription>
</pkgmetadata>
@@ -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)"
}