aboutsummaryrefslogtreecommitdiff
path: root/emulators/virtualbox-ose-kmod
diff options
context:
space:
mode:
authorBeat Gaetzi <beat@FreeBSD.org>2010-01-13 08:03:17 +0000
committerBeat Gaetzi <beat@FreeBSD.org>2010-01-13 08:03:17 +0000
commit078a3145868546becb1f18ad4ff3f84b346ab7ae (patch)
tree4bc52f53b8d0d76da7646866e5ecebe1d952923d /emulators/virtualbox-ose-kmod
parent0f40e9df5c9d2e5efbc873c2599b2d2a9d74715b (diff)
downloadports-078a3145868546becb1f18ad4ff3f84b346ab7ae.tar.gz
ports-078a3145868546becb1f18ad4ff3f84b346ab7ae.zip
Notes
Diffstat (limited to 'emulators/virtualbox-ose-kmod')
-rw-r--r--emulators/virtualbox-ose-kmod/Makefile232
-rw-r--r--emulators/virtualbox-ose-kmod/distinfo9
-rw-r--r--emulators/virtualbox-ose-kmod/files/patch-Config.kmk10
-rw-r--r--emulators/virtualbox-ose-kmod/files/patch-configure20
-rw-r--r--emulators/virtualbox-ose-kmod/files/patch-src-VBox-Devices-Makefile.kmk15
-rw-r--r--emulators/virtualbox-ose-kmod/files/patch-src-VBox-Frontends-VBoxManage-VBoxInternalManage.cpp50
-rw-r--r--emulators/virtualbox-ose-kmod/files/patch-src-VBox-HostDrivers-VBoxNetFlt-VBoxNetFltInternal.h28
-rw-r--r--emulators/virtualbox-ose-kmod/files/patch-src-VBox-HostDrivers-VBoxNetFlt-freebsd-VBoxNetFlt-freebsd.c380
-rw-r--r--emulators/virtualbox-ose-kmod/files/patch-src-VBox-Runtime-r0drv-freebsd-the-freebsd-kernel.h11
-rw-r--r--emulators/virtualbox-ose-kmod/files/patch-src-VBox-apps-adpctl_VBoxNetAdpCtl.cpp207
-rw-r--r--emulators/virtualbox-ose-kmod/files/pkg-install.in22
-rw-r--r--emulators/virtualbox-ose-kmod/files/vboxnet.in71
-rw-r--r--emulators/virtualbox-ose-kmod/pkg-message26
-rw-r--r--emulators/virtualbox-ose-kmod/pkg-plist596
14 files changed, 119 insertions, 1558 deletions
diff --git a/emulators/virtualbox-ose-kmod/Makefile b/emulators/virtualbox-ose-kmod/Makefile
index 46617a1b64b8..a0da9cfeac2c 100644
--- a/emulators/virtualbox-ose-kmod/Makefile
+++ b/emulators/virtualbox-ose-kmod/Makefile
@@ -1,186 +1,83 @@
-# New ports collection makefile for: virtualbox
-# Date created: 2009-05-02
+# New ports collection makefile for: virtualbox-ose-kmod
+# Date created: 2009-09-21
# Whom: Bernhard Froehlich <decke@bluelife.at>
#
# $FreeBSD$
#
-PORTNAME= virtualbox
-DISTVERSION= 3.0.51r22902
-PORTREVISION= 3
+PORTNAME= virtualbox-ose
+DISTVERSION= 3.1.2
CATEGORIES= emulators kld
MASTER_SITES= http://tmp.chruetertee.ch/ \
http://freebsd.unixfreunde.de/sources/ \
http://disasterarea.chruetertee.ch/ \
- http://mirror.4bit.ws/ \
- http://dlc.sun.com/virtualbox/${VBOX_GUEST_VER}/:guestadditions
-DISTFILES= ${DISTNAME}${EXTRACT_SUFX} ${GADISTFILES}
-EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX}
+ http://mirror.4bit.ws/
+PKGNAMESUFFIX= -kmod
+DISTNAME= VirtualBox-${DISTVERSION}-OSE
-#for discussion please use emulation@FreeBSD.org
MAINTAINER= vbox@FreeBSD.org
-COMMENT= A general-purpose full virtualizer for x86 hardware
+COMMENT= VirtualBox kernel module for FreeBSD
BUILD_DEPENDS= yasm:${PORTSDIR}/devel/yasm \
as86:${PORTSDIR}/devel/dev86 \
- xsltproc:${PORTSDIR}/textproc/libxslt \
kmk:${PORTSDIR}/devel/kBuild
-LIB_DEPENDS= png.5:${PORTSDIR}/graphics/png \
- xslt.2:${PORTSDIR}/textproc/libxslt \
- curl.5:${PORTSDIR}/ftp/curl
+WRKSRC= ${WRKDIR}/VirtualBox-${PORTVERSION}_OSE
+USE_RC_SUBR= vboxnet
ONLY_FOR_ARCHS= i386 amd64
-USE_GNOME= libidl
-USE_CDRTOOLS= yes
USE_BZIP2= yes
-USE_PYTHON= yes
-USE_PYDISTUTILS= easy_install
-PYDISTUTILS_PKGNAME= vboxapi
-PYDISTUTILS_PKGVERSION= 1.0
-PYDISTUTILS_NOEGGINFO= yes
HAS_CONFIGURE= yes
-CONFIGURE_ARGS+=--with-gcc="${CC}" --with-g++="${CXX}"
-USE_LDCONFIG= ${PREFIX}/lib/virtualbox
+CONFIGURE_ARGS+=--with-gcc="${CC}" --with-g++="${CXX}" --nofatal \
+ --disable-xpcom --disable-sdl-ttf --disable-pulse \
+ --disable-alsa --disable-dbus --disable-python \
+ --build-headless
CONFLICTS= bcc-[0-9]*
-VBOXGROUP?= vboxusers
-VBOXGID?= 920
-VBOX_FRONTENDS= VBoxHeadless
-VBOX_GUEST_VER= 3.0.6
-
-SUB_FILES= pkg-install
-
-SUB_LIST= PREFIX=${PREFIX} \
- VBOXGROUP=${VBOXGROUP} \
- VBOXGID=${VBOXGID}
-
-OPTIONS= QT4 "Build with QT4 Frontend" on \
- DEBUG "Build with debugging symbols" off \
- GUESTADDITIONS "Build with Guest Additions" off \
- DBUS "Build with D-Bus and HAL support" on \
- PULSEAUDIO "Build with PulseAudio" off \
- X11 "Build with X11 support" on \
- NLS "Native language support" on
+OPTIONS= DEBUG "Build with debugging symbols" off
.include <bsd.port.options.mk>
-PLIST_SUB+= KMODDIR=${KMODDIR:C,^/,,} \
- PYTHON_VER=${PYTHON_VER} \
- PYTHON_VERU=${PYTHON_VER:S/./_/} \
- GUEST_VER=${VBOX_GUEST_VER}
+PLIST_SUB+= KMODDIR=${KMODDIR:C,^/,,}
KMODDIR= /boot/modules
-KMK_BUILDTYPE= release
-KMK_CONFIG= VBOX_LIBPATH_X11=${LOCALBASE} VBOX_FREEBSD_SRC=${SRC_BASE}/sys
-KMK_FLAGS=
-
-.if defined(WITHOUT_QT4) && !defined(WITHOUT_NLS)
-BROKEN= NLS support requires QT4 frontend. Run 'make config' again!
-.endif
-.if defined(WITHOUT_X11) && !defined(WITHOUT_QT4)
-BROKEN= QT4 frontend requires X11 support. Run 'make config' again!
-.endif
-
-.if !defined(WITHOUT_X11)
-USE_SDL= sdl
-USE_XORG= xcursor xmu
-VBOX_FRONTENDS+=VBoxBFE VBoxSDL VBoxTestOGL
-PLIST_SUB+= X11=""
-.else
-CONFIGURE_ARGS+=--build-headless
-PLIST_SUB+= X11="@comment "
-.endif
-
-.if !defined(WITHOUT_QT4)
-USE_QT_VER= 4
-QT_NONSTANDARD= yes
-QT_COMPONENTS= gui network moc_build uic_build rcc_build linguist
-INSTALLS_ICONS= yes
-VBOX_FRONTENDS+=VirtualBox
-PLIST_SUB+= QT4=""
-.else
-CONFIGURE_ARGS+=--disable-qt4
-PLIST_SUB+= QT4="@comment "
-.endif
+VBOX_BIN= ${WRKSRC}/out/${KMK_ARCH}/${KMK_BUILDTYPE}/bin/src
-.if defined(WITH_GUESTADDITIONS)
-GUESTADDITIONS= VBoxGuestAdditions_${VBOX_GUEST_VER}.iso
-GADISTFILES= ${GUESTADDITIONS}:guestadditions
-RESTRICTED= for personal use only
-RESTRICTED_FILES= ${GUESTADDITIONS}
-FETCH_ARGS= -pRr
-PLIST_SUB+= GUESTADDITIONS=""
-.else
-PLIST_SUB+= GUESTADDITIONS="@comment "
-.endif
+KMK_BUILDTYPE= release
+KMK_CONFIG= VBOX_LIBPATH_X11=${LOCALBASE} VBOX_FREEBSD_SRC=${SRC_BASE}/sys
+KMK_FLAGS= HostDrivers-src vboxdrv-mod VBoxNetFlt-src VBoxNetAdp-src
.if defined(WITH_DEBUG)
KMK_FLAGS+= BUILD_TYPE=debug
KMK_BUILDTYPE= debug
.endif
-.if !defined(WITHOUT_DBUS)
-LIB_DEPENDS+= dbus-1.3:${PORTSDIR}/devel/dbus
-.else
-CONFIGURE_ARGS+=--disable-dbus
-.endif
-
-.if !defined(WITH_PULSEAUDIO)
-CONFIGURE_ARGS+=--disable-pulse
-.endif
-
-.if !defined(WITHOUT_NLS)
-PLIST_SUB+= NLS=""
-.else
-PLIST_SUB+= NLS="@comment "
-.endif
-
-.if !exists(${SRC_BASE}/sys/kern/bus_if.m)
-IGNORE= requires kernel sources for the kernel module
-.endif
-
.if ${OSVERSION} < 700000
BROKEN= Does not compile on FreeBSD 6.X
.endif
.if ${ARCH} == i386
KMK_ARCH= freebsd.x86
-PLIST_SUB+= I386=""
.else
KMK_ARCH= freebsd.${ARCH}
-PLIST_SUB+= I386="@comment "
.endif
-.include <bsd.port.pre.mk>
-
-pre-everything::
-.if ${ARCH} == "amd64"
-.if !exists(/usr/lib32)
- @${ECHO} 'Requires 32-bit libraries installed under /usr/lib32.'
- @${ECHO} 'Do: cd /usr/src; make build32 install32; ldconfig -v -m -R /usr/lib32'
- @${FALSE}
-.endif
+.if !exists(${SRC_BASE}/sys/kern/bus_if.m)
+IGNORE= requires kernel sources
.endif
+.include <bsd.port.pre.mk>
+
post-patch:
- @${ECHO} 'VBOX_PATH_APP_PRIVATE_ARCH = ${PREFIX}/lib/virtualbox' > ${WRKSRC}/LocalConfig.kmk
- @${ECHO} 'VBOX_PATH_SHARED_LIBS = ${PREFIX}/lib/virtualbox' >> ${WRKSRC}/LocalConfig.kmk
- @${ECHO} 'VBOX_WITH_RUNPATH = ${PREFIX}/lib/virtualbox' >> ${WRKSRC}/LocalConfig.kmk
- @${ECHO} 'VBOX_PATH_APP_PRIVATE = ${DATADIR}' >> ${WRKSRC}/LocalConfig.kmk
- @${ECHO} 'VBOX_PATH_APP_DOCS = ${DOCSDIR}' >> ${WRKSRC}/LocalConfig.kmk
- @${ECHO} 'VBOX_WITH_INSTALLER = 1' >> ${WRKSRC}/LocalConfig.kmk
- @${ECHO} 'VBOX_WITH_TESTCASES=' >> ${WRKSRC}/LocalConfig.kmk
-.if defined(WITHOUT_X11)
- @${ECHO} 'VBOX_WITH_X11_ADDITIONS=' >> ${WRKSRC}/LocalConfig.kmk
-.endif
+ @${ECHO} 'VBOX_WITH_VBOXDRV = 1' > ${WRKSRC}/LocalConfig.kmk
+ @${ECHO} 'VBOX_WITH_NETFLT = 1' >> ${WRKSRC}/LocalConfig.kmk
+ @${ECHO} 'VBOX_WITH_NETADP = 1' >> ${WRKSRC}/LocalConfig.kmk
+ @${ECHO} 'VBOX_WITH_ADDITIONS =' >> ${WRKSRC}/LocalConfig.kmk
@${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g' \
- ${WRKSRC}/Config.kmk ${WRKSRC}/configure \
- ${WRKSRC}/kBuild/units/qt3.kmk ${WRKSRC}/kBuild/units/qt4.kmk \
- ${WRKSRC}/kBuild/sdks/LIBSDL.kmk \
- ${WRKSRC}/src/libs/xpcom18a4/python/gen_python_deps.py
+ ${WRKSRC}/Config.kmk \
+ ${WRKSRC}/configure
@${REINPLACE_CMD} -e 's|\$$KBUILDDIR_BIN/kmk_sed|${PREFIX}/bin/kmk_sed|g' ${WRKSRC}/configure
pre-build:
@@ -188,72 +85,13 @@ pre-build:
${WRKSRC}/env.sh
do-build:
- cd ${WRKSRC} && ${SH} env.sh && ${KMK_CONFIG} ${LOCALBASE}/bin/kmk ${KMK_FLAGS}
+ cd ${WRKSRC} && ${SH} env.sh && cd ${WRKSRC}/src/VBox/HostDrivers && ${KMK_CONFIG} ${LOCALBASE}/bin/kmk ${KMK_FLAGS}
+ cd ${VBOX_BIN} && make
do-install:
${MKDIR} ${KMODDIR}
-.for f in vboxdrv.ko vboxnetadp.ko vboxnetflt.ko
- ${INSTALL_KLD} ${WRKSRC}/out/${KMK_ARCH}/${KMK_BUILDTYPE}/bin/${f} ${KMODDIR}
-.endfor
-
- ${MKDIR} ${DATADIR}
- (cd ${WRKSRC}/out/${KMK_ARCH}/${KMK_BUILDTYPE}/bin/sdk/bindings/xpcom && ${COPYTREE_SHARE} "idl samples" ${DATADIR})
-
- ${MKDIR} ${PREFIX}/include/virtualbox
- (cd ${WRKSRC}/out/${KMK_ARCH}/${KMK_BUILDTYPE}/bin/sdk/bindings/xpcom/include && ${COPYTREE_SHARE} "*" ${PREFIX}/include/virtualbox)
-
- ${MKDIR} ${PREFIX}/lib/virtualbox
- (cd ${WRKSRC}/out/${KMK_ARCH}/${KMK_BUILDTYPE}/bin && ${COPYTREE_SHARE} "*.so *.gc *.r0 components" ${PREFIX}/lib/virtualbox)
-
-.if !defined(WITHOUT_NLS)
- ${MKDIR} ${DATADIR}/nls
- (cd ${WRKSRC}/out/${KMK_ARCH}/${KMK_BUILDTYPE}/obj/VirtualBox/qtnls && ${COPYTREE_SHARE} "*.qm" ${DATADIR}/nls)
-.endif
-
- ${MKDIR} ${PREFIX}/bin
-.for f in VBoxManage VBoxNetAdpCtl VBoxNetDHCP VBoxSVC VBoxXPCOMIPCD ${VBOX_FRONTENDS}
- ${INSTALL_PROGRAM} ${WRKSRC}/out/${KMK_ARCH}/${KMK_BUILDTYPE}/bin/${f} ${PREFIX}/lib/virtualbox/
- ${LN} -sf ${PREFIX}/lib/virtualbox/${f} ${PREFIX}/bin/
-.endfor
-
-.for f in VBoxNetAdpCtl VBoxNetDHCP ${VBOX_FRONTENDS}
- ${CHMOD} 4511 ${PREFIX}/lib/virtualbox/${f}
-.endfor
-
-.for f in VBoxManage VBoxSVC VBoxXPCOMIPCD
- ${CHMOD} 0711 ${PREFIX}/lib/virtualbox/${f}
-.endfor
-
-.if defined(WITH_GUESTADDITIONS)
- ${MKDIR} ${PREFIX}/lib/virtualbox/additions
- ${INSTALL_DATA} ${DISTDIR}/${GUESTADDITIONS} ${PREFIX}/lib/virtualbox/additions/
- ${LN} -sf ${PREFIX}/lib/virtualbox/additions/${GUESTADDITIONS} ${PREFIX}/lib/virtualbox/additions/VBoxGuestAdditions.iso
-.endif
-
- cd ${WRKSRC}/out/${KMK_ARCH}/${KMK_BUILDTYPE}/bin/sdk/installer && \
- VBOX_INSTALL_PATH="${PREFIX}/lib/virtualbox" ${PYTHON_CMD} vboxapisetup.py install
-
- @${MKDIR} ${PYTHON_SITELIBDIR}
- (cd ${WRKSRC}/out/${KMK_ARCH}/${KMK_BUILDTYPE}/bin/sdk/bindings/xpcom/python && ${COPYTREE_SHARE} "*" ${PYTHON_SITELIBDIR})
- ${PYTHON_CMD} -mcompileall ${PYTHON_SITELIBDIR}/xpcom/
-
-post-install:
- @${SETENV} ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL
-
-.for f in VBoxManage VBoxNetDHCP VBoxSVC VBoxXPCOMIPCD ${VBOX_FRONTENDS}
- ${CHOWN} root:${VBOXGROUP} ${PREFIX}/lib/virtualbox/${f}
-.endfor
-
- @${FIND} ${DATADIR} -type d -print0 | ${XARGS} -0 ${CHMOD} 755
- @${FIND} ${PREFIX}/include/virtualbox -type d -print0 | ${XARGS} -0 ${CHMOD} 755
- @${FIND} ${PREFIX}/lib/virtualbox -type d -print0 | ${XARGS} -0 ${CHMOD} 755
-
-.if !defined(WITHOUT_QT4)
- ${MKDIR} ${PREFIX}/share/icons/hicolor/48x48/apps/
- ${INSTALL_DATA} ${WRKSRC}/src/VBox/Frontends/VirtualBox/images/OSE/VirtualBox_48px.png ${PREFIX}/share/icons/hicolor/48x48/apps/VBox.png
- ${MKDIR} ${PREFIX}/share/applications/
- ${INSTALL_DATA} ${WRKSRC}/src/VBox/Installer/solaris/virtualbox.desktop ${PREFIX}/share/applications/virtualbox.desktop
-.endif
- @${CAT} ${PKGMESSAGE}
+ ${INSTALL_KLD} ${VBOX_BIN}/vboxdrv/vboxdrv.ko ${KMODDIR}
+ ${INSTALL_KLD} ${VBOX_BIN}/vboxnetadp/vboxnetadp.ko ${KMODDIR}
+ ${INSTALL_KLD} ${VBOX_BIN}/vboxnetflt/vboxnetflt.ko ${KMODDIR}
.include <bsd.port.post.mk>
diff --git a/emulators/virtualbox-ose-kmod/distinfo b/emulators/virtualbox-ose-kmod/distinfo
index 492de57d1c4a..af7117996821 100644
--- a/emulators/virtualbox-ose-kmod/distinfo
+++ b/emulators/virtualbox-ose-kmod/distinfo
@@ -1,6 +1,3 @@
-MD5 (virtualbox-3.0.51r22902.tar.bz2) = c2fbfd0eca2d2c9e6ad5f029cf75def0
-SHA256 (virtualbox-3.0.51r22902.tar.bz2) = ccbc88276f9e1944005d1c2f3661ec6d7113b22801ecbbb72d422aa0ab2b0a2a
-SIZE (virtualbox-3.0.51r22902.tar.bz2) = 51742256
-MD5 (VBoxGuestAdditions_3.0.6.iso) = 8d033b4f66db1a3e5b914da1717e9c21
-SHA256 (VBoxGuestAdditions_3.0.6.iso) = d6a8b61ef1004637c8be3a70612bb0e101f552d7eb0a9a376ff1ad264baf6a3c
-SIZE (VBoxGuestAdditions_3.0.6.iso) = 32786432
+MD5 (VirtualBox-3.1.2-OSE.tar.bz2) = e7808f16114f5b1a65aa2df1aa33e1a7
+SHA256 (VirtualBox-3.1.2-OSE.tar.bz2) = 293f582e37eda29efdb53c6468481b446e1964592f5728656b74664f4d32f2b1
+SIZE (VirtualBox-3.1.2-OSE.tar.bz2) = 55553394
diff --git a/emulators/virtualbox-ose-kmod/files/patch-Config.kmk b/emulators/virtualbox-ose-kmod/files/patch-Config.kmk
deleted file mode 100644
index 2ce55eb8a12d..000000000000
--- a/emulators/virtualbox-ose-kmod/files/patch-Config.kmk
+++ /dev/null
@@ -1,10 +0,0 @@
---- Config.kmk.bak 2009-09-02 18:34:01.000000000 +0200
-+++ Config.kmk 2009-09-02 19:19:09.000000000 +0200
-@@ -781,6 +781,7 @@
- VBOX_WITH_VBOXBFE=
- VBOX_WITH_OGL=
- VBOX_WITH_KCHMVIEWER=
-+ VBOX_WITH_HGSMI=
- endif
-
- #
diff --git a/emulators/virtualbox-ose-kmod/files/patch-configure b/emulators/virtualbox-ose-kmod/files/patch-configure
deleted file mode 100644
index c6532c3db606..000000000000
--- a/emulators/virtualbox-ose-kmod/files/patch-configure
+++ /dev/null
@@ -1,20 +0,0 @@
---- configure.orgi 2009-05-31 13:43:50.000000000 +0200
-+++ configure 2009-05-31 13:45:47.000000000 +0200
-@@ -102,7 +102,7 @@
- XSLTPROC="xsltproc"
- GENISOIMAGE="genisoimage"
- MKISOFS="mkisofs"
--LIBCRYPTO="-lcrypto"
-+LIBCRYPTO="-lcrypto -lssl"
- LIBPTHREAD="-lpthread"
- LIBCAP="-lcap"
- GSOAP=""
-@@ -1698,7 +1698,7 @@
- cat $ODIR.tmp_src.cc >> $LOG
- echo "using the following command line:" >> $LOG
- echo "$CXX -O -Wall -o $ODIR.tmp_out $ODIR.tmp_src.cc -I$p/include/$d $p/$b/lib$d.so" >> $LOG
-- $CXX -O -Wall -o $ODIR.tmp_out $ODIR.tmp_src.cc -I$p/include/$d $p/$b/lib$d.so >> $LOG 2>&1
-+ $CXX -O -Wall -o $ODIR.tmp_out $ODIR.tmp_src.cc -I$p/include/$d $p/$b/lib$d.so -pthread >> $LOG 2>&1
- if [ $? -eq 0 ]; then
- found=1
- break
diff --git a/emulators/virtualbox-ose-kmod/files/patch-src-VBox-Devices-Makefile.kmk b/emulators/virtualbox-ose-kmod/files/patch-src-VBox-Devices-Makefile.kmk
deleted file mode 100644
index d404c8aee176..000000000000
--- a/emulators/virtualbox-ose-kmod/files/patch-src-VBox-Devices-Makefile.kmk
+++ /dev/null
@@ -1,15 +0,0 @@
---- src/VBox/Devices/Makefile.kmk.orig 2009-11-01 22:50:39.000000000 +0100
-+++ src/VBox/Devices/Makefile.kmk 2009-11-01 22:50:52.000000000 +0100
-@@ -31,8 +31,10 @@
- include $(PATH_SUB_CURRENT)/PC/VMI/Makefile.kmk
- endif
- include $(PATH_SUB_CURRENT)/Graphics/BIOS/Makefile.kmk
--include $(PATH_SUB_CURRENT)/testcase/Makefile.kmk
--include $(PATH_SUB_CURRENT)/Storage/testcase/Makefile.kmk
-+ifdef VBOX_WITH_TESTCASES
-+ include $(PATH_SUB_CURRENT)/testcase/Makefile.kmk
-+ include $(PATH_SUB_CURRENT)/Storage/testcase/Makefile.kmk
-+endif
- ifndef VBOX_OSE
- include $(PATH_SUB_CURRENT)/Storage/VBoxHDDFormats/Makefile.kmk
- endif
diff --git a/emulators/virtualbox-ose-kmod/files/patch-src-VBox-Frontends-VBoxManage-VBoxInternalManage.cpp b/emulators/virtualbox-ose-kmod/files/patch-src-VBox-Frontends-VBoxManage-VBoxInternalManage.cpp
deleted file mode 100644
index 0a1f735fb79a..000000000000
--- a/emulators/virtualbox-ose-kmod/files/patch-src-VBox-Frontends-VBoxManage-VBoxInternalManage.cpp
+++ /dev/null
@@ -1,50 +0,0 @@
-Index: src/VBox/Frontends/VBoxManage/VBoxInternalManage.cpp
-@@ -54,7 +54,8 @@
- #ifdef RT_OS_WINDOWS
- # include <windows.h>
- # include <winioctl.h>
--#elif defined(RT_OS_LINUX) || defined(RT_OS_DARWIN) || defined(RT_OS_SOLARIS)
-+#elif defined(RT_OS_LINUX) || defined(RT_OS_DARWIN) \
-+ || defined(RT_OS_SOLARIS) || defined(RT_OS_FREEBSD)
- # include <errno.h>
- # include <sys/ioctl.h>
- # include <sys/types.h>
-@@ -76,6 +77,9 @@
- # include <sys/dkio.h>
- # include <sys/vtoc.h>
- #endif /* RT_OS_SOLARIS */
-+#ifdef RT_OS_FREEBSD
-+# include <sys/disk.h>
-+#endif /* RT_OS_FREEBSD */
-
- using namespace com;
-
-@@ -1013,6 +1017,28 @@
- vrc = VERR_INVALID_PARAMETER;
- goto out;
- }
-+#elif defined(RT_OS_FREEBSD)
-+ struct stat DevStat;
-+ if (!fstat(RawFile, &DevStat) && S_ISCHR(DevStat.st_mode))
-+ {
-+ off_t cMediasize = 0;
-+ if (!ioctl(RawFile, DIOCGMEDIASIZE, &cMediasize))
-+ {
-+ cbSize = cMediasize;
-+ }
-+ else
-+ {
-+ vrc = RTErrConvertFromErrno(errno);
-+ RTPrintf("Cannot get the block count for file '%s': %Rrc", rawdisk.raw(), vrc);
-+ goto out;
-+ }
-+ }
-+ else
-+ {
-+ RTPrintf("File '%s' is no character device\n", rawdisk.raw());
-+ vrc = VERR_INVALID_PARAMETER;
-+ goto out;
-+ }
- #else /* all unrecognized OSes */
- /* Hopefully this works on all other hosts. If it doesn't, it'll just fail
- * creating the VMDK, so no real harm done. */
diff --git a/emulators/virtualbox-ose-kmod/files/patch-src-VBox-HostDrivers-VBoxNetFlt-VBoxNetFltInternal.h b/emulators/virtualbox-ose-kmod/files/patch-src-VBox-HostDrivers-VBoxNetFlt-VBoxNetFltInternal.h
deleted file mode 100644
index 250a1960a7f4..000000000000
--- a/emulators/virtualbox-ose-kmod/files/patch-src-VBox-HostDrivers-VBoxNetFlt-VBoxNetFltInternal.h
+++ /dev/null
@@ -1,28 +0,0 @@
-Index: src/VBox/HostDrivers/VBoxNetFlt/VBoxNetFltInternal.h
-===================================================================
---- src/VBox/HostDrivers/VBoxNetFlt/VBoxNetFltInternal.h (revision 23391)
-+++ src/VBox/HostDrivers/VBoxNetFlt/VBoxNetFltInternal.h (working copy)
-@@ -206,6 +206,14 @@
- hook_p output;
- /** Original interface flags */
- unsigned int flags;
-+ /** Input queue */
-+ struct ifqueue inq;
-+ /** Output queue */
-+ struct ifqueue outq;
-+ /** Input task */
-+ struct task tskin;
-+ /** Output task */
-+ struct task tskout;
- /** The MAC address of the interface. */
- RTMAC Mac;
- /** @} */
-@@ -241,6 +249,8 @@
- # endif
- #elif defined(RT_OS_LINUX)
- uint8_t abPadding[320];
-+#elif defined(RT_OS_FREEBSD)
-+ uint8_t abPadding[320];
- #else
- uint8_t abPadding[128];
- #endif
diff --git a/emulators/virtualbox-ose-kmod/files/patch-src-VBox-HostDrivers-VBoxNetFlt-freebsd-VBoxNetFlt-freebsd.c b/emulators/virtualbox-ose-kmod/files/patch-src-VBox-HostDrivers-VBoxNetFlt-freebsd-VBoxNetFlt-freebsd.c
index f23fedbf0ec0..ac0ba0eee28c 100644
--- a/emulators/virtualbox-ose-kmod/files/patch-src-VBox-HostDrivers-VBoxNetFlt-freebsd-VBoxNetFlt-freebsd.c
+++ b/emulators/virtualbox-ose-kmod/files/patch-src-VBox-HostDrivers-VBoxNetFlt-freebsd-VBoxNetFlt-freebsd.c
@@ -2,35 +2,6 @@ Index: src/VBox/HostDrivers/VBoxNetFlt/freebsd/VBoxNetFlt-freebsd.c
===================================================================
--- src/VBox/HostDrivers/VBoxNetFlt/freebsd/VBoxNetFlt-freebsd.c (revision 23391)
+++ src/VBox/HostDrivers/VBoxNetFlt/freebsd/VBoxNetFlt-freebsd.c (working copy)
-@@ -43,6 +43,8 @@
- #include <sys/socket.h>
- #include <sys/sockio.h>
- #include <sys/syscallsubr.h>
-+#include <sys/queue.h>
-+#include <sys/taskqueue.h>
-
- #include <net/if.h>
- #include <net/if_var.h>
-@@ -78,8 +80,6 @@
- static ng_rcvdata_t ng_vboxnetflt_rcvdata;
- static ng_disconnect_t ng_vboxnetflt_disconnect;
- static int ng_vboxnetflt_mod_event(module_t mod, int event, void *data);
--static int ng_vboxnetflt_rcv_in(hook_p node, item_p item);
--static int ng_vboxnetflt_rcv_out(hook_p node, item_p item);
-
- /** Netgraph node type */
- #define NG_VBOXNETFLT_NODE_TYPE "vboxnetflt"
-@@ -112,8 +112,8 @@
- {
- .version = NG_ABI_VERSION,
- .name = NG_VBOXNETFLT_NODE_TYPE,
-- .mod_event = vboxnetflt_modevent,
-- .constructor = ng_vboxnetflt_constructor,
-+ .mod_event = vboxnetflt_modevent,
-+ .constructor = ng_vboxnetflt_constructor,
- .rcvmsg = ng_vboxnetflt_rcvmsg,
- .shutdown = ng_vboxnetflt_shutdown,
- .newhook = ng_vboxnetflt_newhook,
@@ -122,7 +122,7 @@
.cmdlist = ng_vboxnetflt_cmdlist,
};
@@ -40,345 +11,12 @@ Index: src/VBox/HostDrivers/VBoxNetFlt/freebsd/VBoxNetFlt-freebsd.c
MODULE_DEPEND(ng_vboxnetflt, vboxdrv, 1, 1, 1);
/**
-@@ -267,16 +267,12 @@
- if (strcmp(name, NG_VBOXNETFLT_HOOK_IN) == 0)
- {
- #if __FreeBSD_version >= 800000
-- NG_HOOK_SET_RCVDATA(hook, ng_vboxnetflt_rcv_in);
- NG_HOOK_SET_TO_INBOUND(hook);
- #endif
- pThis->u.s.input = hook;
- }
- else if (strcmp(name, NG_VBOXNETFLT_HOOK_OUT) == 0)
- {
--#if __FreeBSD_version >= 800000
-- NG_HOOK_SET_RCVDATA(hook, ng_vboxnetflt_rcv_out);
--#endif
- pThis->u.s.output = hook;
- }
- else
-@@ -310,161 +306,171 @@
-
- /**
- * Handle data on netgraph hooks.
-+ * Frames processing is deferred to a taskqueue because this might
-+ * be called with non-sleepable locks held and code paths inside
-+ * the virtual switch might sleep.
- */
- static int ng_vboxnetflt_rcvdata(hook_p hook, item_p item)
- {
- const node_p node = NG_HOOK_NODE(hook);
- PVBOXNETFLTINS pThis = NG_NODE_PRIVATE(node);
-+ struct ifnet *ifp = pThis->u.s.ifp;
- struct mbuf *m;
-+ struct m_tag *mtag;
-+ bool fActive;
-
-+ fActive = ASMAtomicUoReadBool(&pThis->fActive);
-+
-+ NGI_GET_M(item, m);
-+ NG_FREE_ITEM(item);
-+
-+ /* Locate tag to see if processing should be skipped for this frame */
-+ mtag = m_tag_locate(m, MTAG_VBOX, PACKET_TAG_VBOX, NULL);
-+ if (mtag != NULL)
-+ {
-+ m_tag_unlink(m, mtag);
-+ m_tag_free(mtag);
-+ }
-+
-+ /*
-+ * Handle incoming hook. This is connected to the
-+ * input path of the interface, thus handling incoming frames.
-+ */
- if (pThis->u.s.input == hook)
-- return ng_vboxnetflt_rcv_in(hook, item);
-+ {
-+ if (mtag != NULL || !fActive)
-+ {
-+ ether_demux(ifp, m);
-+ return (0);
-+ }
-+ mtx_lock_spin(&pThis->u.s.inq.ifq_mtx);
-+ _IF_ENQUEUE(&pThis->u.s.inq, m);
-+ mtx_unlock_spin(&pThis->u.s.inq.ifq_mtx);
-+ taskqueue_enqueue_fast(taskqueue_fast, &pThis->u.s.tskin);
-+ }
-+ /**
-+ * Handle mbufs on the outgoing hook, frames going to the interface
-+ */
- else if (pThis->u.s.output == hook)
-- return ng_vboxnetflt_rcv_out(hook, item);
-+ {
-+ if (mtag != NULL || !fActive)
-+ return ether_output_frame(ifp, m);
-+ mtx_lock_spin(&pThis->u.s.outq.ifq_mtx);
-+ _IF_ENQUEUE(&pThis->u.s.outq, m);
-+ mtx_unlock_spin(&pThis->u.s.outq.ifq_mtx);
-+ taskqueue_enqueue_fast(taskqueue_fast, &pThis->u.s.tskout);
-+ }
- else
- {
-- NGI_GET_M(item, m);
-- NG_FREE_ITEM(item);
-+ m_freem(m);
- }
- return (0);
- }
-
-+static int ng_vboxnetflt_shutdown(node_p node)
-+{
-+ PVBOXNETFLTINS pThis = NG_NODE_PRIVATE(node);
-+ bool fActive;
-+
-+ /* Prevent node shutdown if we're active */
-+ fActive = ASMAtomicUoReadBool(&pThis->fActive);
-+ if (fActive)
-+ return (EBUSY);
-+ NG_NODE_UNREF(node);
-+ return (0);
-+}
-+
-+static int ng_vboxnetflt_disconnect(hook_p hook)
-+{
-+ return (0);
-+}
-+
- /**
-- * Handle incoming hook. This is connected to the
-- * input path of the interface, thus handling incoming frames.
-+ * Input processing task, handles incoming frames
- */
--static int ng_vboxnetflt_rcv_in(hook_p hook, item_p item)
-+static void vboxNetFltFreeBSDinput(void *arg, int pending)
- {
-+ PVBOXNETFLTINS pThis = (PVBOXNETFLTINS)arg;
- struct mbuf *m, *m0;
-- struct m_tag *mtag;
-- const node_p node = NG_HOOK_NODE(hook);
-- PVBOXNETFLTINS pThis = NG_NODE_PRIVATE(node);
- struct ifnet *ifp = pThis->u.s.ifp;
-- bool fActive, fDropIt = false;
- unsigned int cSegs = 0;
-+ bool fDropIt = false, fActive;
- PINTNETSG pSG;
-
-- NGI_GET_M(item, m);
-- NG_FREE_ITEM(item);
--
-- fActive = ASMAtomicUoReadBool(&pThis->fActive);
-- if (!fActive)
-- goto out;
--
-- mtag = m_tag_locate(m, MTAG_VBOX, PACKET_TAG_VBOX, NULL);
-- if (mtag != NULL)
-- {
-- m_tag_unlink(m, mtag);
-- m_tag_free(mtag);
-- goto out;
-- }
- vboxNetFltRetain(pThis, true /* fBusy */);
--
-- for (m0 = m; m0 != NULL; m0 = m0->m_next)
-+ for (;;)
- {
-- if (m0->m_len > 0)
-- cSegs++;
-- }
-+ mtx_lock_spin(&pThis->u.s.inq.ifq_mtx);
-+ _IF_DEQUEUE(&pThis->u.s.inq, m);
-+ mtx_unlock_spin(&pThis->u.s.inq.ifq_mtx);
-+ if (m == NULL)
-+ break;
-
-+ for (m0 = m; m0 != NULL; m0 = m0->m_next)
-+ if (m0->m_len > 0)
-+ cSegs++;
-+
- #ifdef PADD_RUNT_FRAMES_FROM_HOST
-- if (m_length(m, NULL) < 60)
-- cSegs++;
-+ if (m_length(m, NULL) < 60)
-+ cSegs++;
- #endif
-
-- /* Create a copy of the mbuf and hand it to the virtual switch */
-- pSG = RTMemTmpAlloc(RT_OFFSETOF(INTNETSG, aSegs[cSegs]));
-- vboxNetFltFreeBSDMBufToSG(pThis, m, pSG, cSegs, 0);
-- fDropIt = pThis->pSwitchPort->pfnRecv(pThis->pSwitchPort, pSG, INTNETTRUNKDIR_WIRE);
-- RTMemTmpFree(pSG);
-+ /* Create a copy and deliver to the virtual switch */
-+ pSG = RTMemTmpAlloc(RT_OFFSETOF(INTNETSG, aSegs[cSegs]));
-+ vboxNetFltFreeBSDMBufToSG(pThis, m, pSG, cSegs, 0);
-+ fDropIt = pThis->pSwitchPort->pfnRecv(pThis->pSwitchPort, pSG, INTNETTRUNKDIR_HOST);
-+ RTMemTmpFree(pSG);
-+ if (fDropIt)
-+ m_freem(m);
-+ else
-+ ether_demux(ifp, m);
-+ }
- vboxNetFltRelease(pThis, true /* fBusy */);
--
--out:
-- /* Only deliver it to the host stack if the destination weren't a guest */
-- if (fDropIt)
-- {
-- m_freem(m);
-- return (0);
-- }
-- ether_demux(ifp, m);
-- return (0);
- }
-
- /**
-- * Handle mbufs on the outgoing hook, frames going to the interface
-+ * Output processing task, handles outgoing frames
- */
--static int ng_vboxnetflt_rcv_out(hook_p hook, item_p item)
-+static void vboxNetFltFreeBSDoutput(void *arg, int pending)
- {
-+ PVBOXNETFLTINS pThis = (PVBOXNETFLTINS)arg;
- struct mbuf *m, *m0;
-- struct m_tag *mtag;
-- const node_p node = NG_HOOK_NODE(hook);
-- PVBOXNETFLTINS pThis = NG_NODE_PRIVATE(node);
- struct ifnet *ifp = pThis->u.s.ifp;
- unsigned int cSegs = 0;
- bool fDropIt = false, fActive;
- PINTNETSG pSG;
-
-- NGI_GET_M(item, m);
-- NG_FREE_ITEM(item);
--
-- fActive = ASMAtomicUoReadBool(&pThis->fActive);
-- if (!fActive)
-- return ether_output_frame(ifp, m);
--
- vboxNetFltRetain(pThis, true /* fBusy */);
-- /* Pass directly to interface if the packet originated from us */
-- mtag = m_tag_locate(m, MTAG_VBOX, PACKET_TAG_VBOX, NULL);
-- if (mtag != NULL)
-+ for (;;)
- {
-- m_tag_unlink(m, mtag);
-- m_tag_free(mtag);
-- goto out;
-- }
-+ mtx_lock_spin(&pThis->u.s.outq.ifq_mtx);
-+ _IF_DEQUEUE(&pThis->u.s.outq, m);
-+ mtx_unlock_spin(&pThis->u.s.outq.ifq_mtx);
-+ if (m == NULL)
-+ break;
-
-- for (m0 = m; m0 != NULL; m0 = m0->m_next)
-- {
-- if (m0->m_len > 0)
-- cSegs++;
-- }
-+ for (m0 = m; m0 != NULL; m0 = m0->m_next)
-+ if (m0->m_len > 0)
-+ cSegs++;
-
- #ifdef PADD_RUNT_FRAMES_FROM_HOST
-- if (m_length(m, NULL) < 60)
-- cSegs++;
-+ if (m_length(m, NULL) < 60)
-+ cSegs++;
- #endif
-- /* Create a copy and deliver to the virtual switch */
-- pSG = RTMemTmpAlloc(RT_OFFSETOF(INTNETSG, aSegs[cSegs]));
-- vboxNetFltFreeBSDMBufToSG(pThis, m, pSG, cSegs, 0);
-- fDropIt = pThis->pSwitchPort->pfnRecv(pThis->pSwitchPort, pSG, INTNETTRUNKDIR_HOST);
-- RTMemTmpFree(pSG);
-+ /* Create a copy and deliver to the virtual switch */
-+ pSG = RTMemTmpAlloc(RT_OFFSETOF(INTNETSG, aSegs[cSegs]));
-+ vboxNetFltFreeBSDMBufToSG(pThis, m, pSG, cSegs, 0);
-+ fDropIt = pThis->pSwitchPort->pfnRecv(pThis->pSwitchPort, pSG, INTNETTRUNKDIR_HOST);
-+ RTMemTmpFree(pSG);
-
--out:
-+ if (fDropIt)
-+ m_freem(m);
-+ else
-+ ether_output_frame(ifp, m);
-+ }
- vboxNetFltRelease(pThis, true /* fBusy */);
-- if (fDropIt)
-- {
-- m_freem(m);
-- return (0);
-- }
--
-- return ether_output_frame(ifp, m);
- }
-
--static int ng_vboxnetflt_shutdown(node_p node)
--{
-- PVBOXNETFLTINS pThis = NG_NODE_PRIVATE(node);
-- bool fActive;
--
-- /* Prevent node shutdown if we're active */
-- fActive = ASMAtomicUoReadBool(&pThis->fActive);
-- if (fActive)
-- return (EBUSY);
-- NG_NODE_UNREF(node);
-- return (0);
--}
--
--static int ng_vboxnetflt_disconnect(hook_p hook)
--{
-- return (0);
--}
--
- /**
- * Called to deliver a frame to either the host, the wire or both.
- */
-@@ -536,13 +542,23 @@
-
- /* Create a new netgraph node for this instance */
- if (ng_make_node_common(&ng_vboxnetflt_typestruct, &node) != 0)
-- return VERR_INTERNAL_ERROR;
-+ return VERR_INTERNAL_ERROR;
-
- RTSpinlockAcquire(pThis->hSpinlock, &Tmp);
- ASMAtomicUoWritePtr((void * volatile *)&pThis->u.s.ifp, ifp);
- pThis->u.s.node = node;
- bcopy(IF_LLADDR(ifp), &pThis->u.s.Mac, ETHER_ADDR_LEN);
- ASMAtomicUoWriteBool(&pThis->fDisconnectedFromHost, false);
-+ /* Initialize deferred input queue */
-+ bzero(&pThis->u.s.inq, sizeof(struct ifqueue));
-+ mtx_init(&pThis->u.s.inq.ifq_mtx, "vboxnetflt inq", NULL, MTX_SPIN);
-+ TASK_INIT(&pThis->u.s.tskin, 0, vboxNetFltFreeBSDinput, pThis);
-+
-+ /* Initialize deferred output queue */
-+ bzero(&pThis->u.s.outq, sizeof(struct ifqueue));
-+ mtx_init(&pThis->u.s.outq.ifq_mtx, "vboxnetflt outq", NULL, MTX_SPIN);
-+ TASK_INIT(&pThis->u.s.tskout, 0, vboxNetFltFreeBSDoutput, pThis);
-+
- RTSpinlockRelease(pThis->hSpinlock, &Tmp);
-
- NG_NODE_SET_PRIVATE(node, pThis);
-@@ -571,7 +587,10 @@
- }
-
- if (ifp0 != NULL)
-+ {
-+ vboxNetFltOsDeleteInstance(pThis);
- vboxNetFltOsInitInstance(pThis, NULL);
-+ }
-
- return !ASMAtomicUoReadBool(&pThis->fDisconnectedFromHost);
- }
-@@ -579,6 +598,12 @@
- void vboxNetFltOsDeleteInstance(PVBOXNETFLTINS pThis)
- {
-
-+ taskqueue_drain(taskqueue_fast, &pThis->u.s.tskin);
-+ taskqueue_drain(taskqueue_fast, &pThis->u.s.tskout);
-+
-+ mtx_destroy(&pThis->u.s.inq.ifq_mtx);
-+ mtx_destroy(&pThis->u.s.outq.ifq_mtx);
-+
- if (pThis->u.s.node != NULL)
- ng_rmnode_self(pThis->u.s.node);
- pThis->u.s.node = NULL;
+@@ -418,7 +418,7 @@
+ /* Create a copy and deliver to the virtual switch */
+ pSG = RTMemTmpAlloc(RT_OFFSETOF(INTNETSG, aSegs[cSegs]));
+ vboxNetFltFreeBSDMBufToSG(pThis, m, pSG, cSegs, 0);
+- fDropIt = pThis->pSwitchPort->pfnRecv(pThis->pSwitchPort, pSG, INTNETTRUNKDIR_HOST);
++ fDropIt = pThis->pSwitchPort->pfnRecv(pThis->pSwitchPort, pSG, INTNETTRUNKDIR_WIRE);
+ RTMemTmpFree(pSG);
+ if (fDropIt)
+ m_freem(m);
diff --git a/emulators/virtualbox-ose-kmod/files/patch-src-VBox-Runtime-r0drv-freebsd-the-freebsd-kernel.h b/emulators/virtualbox-ose-kmod/files/patch-src-VBox-Runtime-r0drv-freebsd-the-freebsd-kernel.h
deleted file mode 100644
index 4332049487c3..000000000000
--- a/emulators/virtualbox-ose-kmod/files/patch-src-VBox-Runtime-r0drv-freebsd-the-freebsd-kernel.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- src/VBox/Runtime/r0drv/freebsd/the-freebsd-kernel.h.orig 2009-09-11 14:48:47.000000000 +0200
-+++ src/VBox/Runtime/r0drv/freebsd/the-freebsd-kernel.h 2009-09-11 14:48:54.000000000 +0200
-@@ -76,7 +76,7 @@
- # define SLEEPQ_TIMEDWAIT_SIG(EventInt) sleepq_timedwait_sig(EventInt, 0)
- # define SLEEPQ_WAIT(EventInt) sleepq_wait(EventInt, 0)
- # define SLEEPQ_WAIT_SIG(EventInt) sleepq_wait_sig(EventInt, 0)
--#elif
-+#else
- # define SLEEPQ_TIMEDWAIT(EventInt) sleepq_timedwait(EventInt)
- # define SLEEPQ_TIMEDWAIT_SIG(EventInt) sleepq_timedwait_sig(EventInt)
- # define SLEEPQ_WAIT(EventInt) sleepq_wait(EventInt)
diff --git a/emulators/virtualbox-ose-kmod/files/patch-src-VBox-apps-adpctl_VBoxNetAdpCtl.cpp b/emulators/virtualbox-ose-kmod/files/patch-src-VBox-apps-adpctl_VBoxNetAdpCtl.cpp
deleted file mode 100644
index 955bf7a3a151..000000000000
--- a/emulators/virtualbox-ose-kmod/files/patch-src-VBox-apps-adpctl_VBoxNetAdpCtl.cpp
+++ /dev/null
@@ -1,207 +0,0 @@
---- src/apps/adpctl/VBoxNetAdpCtl.cpp.r22902 2009-04-10 14:03:59.000000000 +0200
-+++ src/apps/adpctl/VBoxNetAdpCtl.cpp 2009-09-16 14:07:11.000000000 +0200
-@@ -1,4 +1,4 @@
--/* $Id: VBoxNetAdpCtl.cpp 18864 2009-04-10 12:03:59Z vboxsync $ */
-+/* $Id: VBoxNetAdpCtl.cpp 23064 2009-09-16 12:07:11Z vboxsync $ */
- /** @file
- * Apps - VBoxAdpCtl, Configuration tool for vboxnetX adapters.
- */
-@@ -24,7 +24,6 @@
- /*******************************************************************************
- * Header Files *
- *******************************************************************************/
--#include <assert.h>
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
-@@ -36,11 +35,12 @@
- # include <sys/ioccom.h>
- #endif
-
--/* @todo Error codes must be moved to some header file */
--#define ADPCTLERR_NO_CTL_DEV 3
--#define ADPCTLERR_IOCTL_FAILED 4
-+/** @todo Error codes must be moved to some header file */
-+#define ADPCTLERR_BAD_NAME 2
-+#define ADPCTLERR_NO_CTL_DEV 3
-+#define ADPCTLERR_IOCTL_FAILED 4
-
--/* @todo These are duplicates from src/VBox/HostDrivers/VBoxNetAdp/VBoxNetAdpInternal.h */
-+/** @todo These are duplicates from src/VBox/HostDrivers/VBoxNetAdp/VBoxNetAdpInternal.h */
- #define VBOXNETADP_CTL_DEV_NAME "/dev/vboxnetctl"
- #define VBOXNETADP_NAME "vboxnet"
- #define VBOXNETADP_MAX_NAME_LEN 32
-@@ -85,6 +85,7 @@
- pcszArg5, /* [network mask] */
- NULL /* terminator */
- };
-+ char * const envp[] = { (char*)"LC_ALL=C", NULL };
- int rc = EXIT_SUCCESS;
- pid_t childPid = fork();
- switch (childPid)
-@@ -94,7 +95,7 @@
- rc = EXIT_FAILURE;
- break;
- case 0: /* Child process. */
-- if (execv(VBOXADPCTL_IFCONFIG_PATH, (char * const*)argv) == -1)
-+ if (execve(VBOXADPCTL_IFCONFIG_PATH, (char * const*)argv, envp) == -1)
- rc = EXIT_FAILURE;
- break;
- default: /* Parent process. */
-@@ -108,15 +109,39 @@
- #define MAX_ADDRESSES 128
- #define MAX_ADDRLEN 64
-
--static bool removeAddresses(const char *pszAdapterName)
-+static bool removeAddresses(char *pszAdapterName)
- {
-- char szCmd[1024], szBuf[1024];
-+ char szBuf[1024];
- char aszAddresses[MAX_ADDRESSES][MAX_ADDRLEN];
-+ int rc;
-+ int fds[2];
-+ char * const argv[] = { VBOXADPCTL_IFCONFIG_PATH, pszAdapterName, NULL };
-+ char * const envp[] = { (char*)"LC_ALL=C", NULL };
-
- memset(aszAddresses, 0, sizeof(aszAddresses));
-- snprintf(szCmd, sizeof(szCmd), VBOXADPCTL_IFCONFIG_PATH " %s", pszAdapterName);
-- FILE *fp = popen(szCmd, "r");
-
-+ rc = pipe(fds);
-+ if (rc < 0)
-+ return false;
-+
-+ pid_t pid = fork();
-+ if (pid < 0)
-+ return false;
-+
-+ if (pid == 0)
-+ {
-+ /* child */
-+ close(fds[0]);
-+ close(STDOUT_FILENO);
-+ rc = dup2(fds[1], STDOUT_FILENO);
-+ if (rc >= 0)
-+ execve(VBOXADPCTL_IFCONFIG_PATH, argv, envp);
-+ return false;
-+ }
-+
-+ /* parent */
-+ close(fds[1]);
-+ FILE *fp = fdopen(fds[0], "r");
- if (!fp)
- return false;
-
-@@ -124,9 +149,6 @@
- for (cAddrs = 0; cAddrs < MAX_ADDRESSES && fgets(szBuf, sizeof(szBuf), fp);)
- {
- int cbSkipWS = strspn(szBuf, " \t");
--#if 0 /* Don't use this! assert() breaks the mac build. Use IPRT or be a rectangular building thing. */
-- assert(cbSkipWS < 20);
--#endif
- char *pszWord = strtok(szBuf + cbSkipWS, " ");
- /* We are concerned with IPv6 address lines only. */
- if (!pszWord || strcmp(pszWord, "inet6"))
-@@ -143,11 +165,12 @@
- continue;
- strncpy(aszAddresses[cAddrs++], pszWord, MAX_ADDRLEN-1);
- }
-- pclose(fp);
-+ fclose(fp);
-
- for (int i = 0; i < cAddrs; i++)
- {
-- if (executeIfconfig(pszAdapterName, "inet6", VBOXADPCTL_DEL_CMD, aszAddresses[i]) != EXIT_SUCCESS)
-+ if (executeIfconfig(pszAdapterName, "inet6",
-+ VBOXADPCTL_DEL_CMD, aszAddresses[i]) != EXIT_SUCCESS)
- return false;
- }
-
-@@ -166,19 +189,41 @@
- int rc = ioctl(fd, uCmd, pData);
- if (rc == -1)
- {
-- perror("VBoxNetAdpCtl: ioctl failed for " VBOXNETADP_CTL_DEV_NAME);
-+ perror("VBoxNetAdpCtl: ioctl failed for " VBOXNETADP_CTL_DEV_NAME);
- rc = ADPCTLERR_IOCTL_FAILED;
- }
--
-+
- close(fd);
--
-+
- return rc;
- }
-
-+int checkAdapterName(const char *pcszNameIn, char *pszNameOut)
-+{
-+ int iAdapterIndex = -1;
-+
-+ if ( strlen(pcszNameIn) >= VBOXNETADP_MAX_NAME_LEN
-+ || sscanf(pcszNameIn, "vboxnet%d", &iAdapterIndex) != 1
-+ || iAdapterIndex < 0 || iAdapterIndex > 99 )
-+ {
-+ fprintf(stderr, "Setting configuration for %s is not supported.\n", pcszNameIn);
-+ return ADPCTLERR_BAD_NAME;
-+ }
-+ sprintf(pszNameOut, "vboxnet%d", iAdapterIndex);
-+ if (strcmp(pszNameOut, pcszNameIn))
-+ {
-+ fprintf(stderr, "Invalid adapter name %s.\n", pcszNameIn);
-+ return ADPCTLERR_BAD_NAME;
-+ }
-+
-+ return 0;
-+}
-+
- int main(int argc, char *argv[])
-
- {
-- const char *pszAdapterName;
-+ char szAdapterName[VBOXNETADP_MAX_NAME_LEN];
-+ char *pszAdapterName;
- const char *pszAddress;
- const char *pszNetworkMask = NULL;
- const char *pszOption = NULL;
-@@ -216,13 +261,18 @@
- pszAddress = argv[2];
- if (strcmp("remove", pszAddress) == 0)
- {
-- strncpy(Req.szName, pszAdapterName, sizeof(Req.szName));
-+ rc = checkAdapterName(pszAdapterName, szAdapterName);
-+ if (rc)
-+ return rc;
-+ memset(&Req, '\0', sizeof(Req));
-+ snprintf(Req.szName, sizeof(Req.szName), "%s", szAdapterName);
- return doIOCtl(VBOXNETADP_CTL_REMOVE, &Req);
- }
- break;
- case 2:
- if (strcmp("add", argv[1]) == 0)
- {
-+ memset(&Req, '\0', sizeof(Req));
- rc = doIOCtl(VBOXNETADP_CTL_ADD, &Req);
- if (rc == 0)
- puts(Req.szName);
-@@ -237,11 +287,11 @@
- return 1;
- }
-
-- if (strncmp("vboxnet", pszAdapterName, 7))
-- {
-- fprintf(stderr, "Setting configuration for %s is not supported.\n", pszAdapterName);
-- return 2;
-- }
-+ rc = checkAdapterName(pszAdapterName, szAdapterName);
-+ if (rc)
-+ return rc;
-+
-+ pszAdapterName = szAdapterName;
-
- if (fRemove)
- {
-@@ -276,3 +326,4 @@
- }
- return rc;
- }
-+
diff --git a/emulators/virtualbox-ose-kmod/files/pkg-install.in b/emulators/virtualbox-ose-kmod/files/pkg-install.in
deleted file mode 100644
index 5d5268d8e8ce..000000000000
--- a/emulators/virtualbox-ose-kmod/files/pkg-install.in
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/bin/sh
-
-case $2 in
-POST-INSTALL)
- GROUP=%%VBOXGROUP%%
- GID=%%VBOXGID%%
- PW=/usr/sbin/pw
-
- if ${PW} group show "${GROUP}" 2>/dev/null; then
- echo "You already have a group \"${GROUP}\", so I will use it."
- else
- if ${PW} groupadd ${GROUP} -g ${GID}; then
- echo "Added group \"${GROUP}\"."
- else
- echo "Adding group \"${GROUP}\" failed..."
- exit 1
- fi
- fi
-
- exit 0
- ;;
-esac
diff --git a/emulators/virtualbox-ose-kmod/files/vboxnet.in b/emulators/virtualbox-ose-kmod/files/vboxnet.in
new file mode 100644
index 000000000000..69cb0e402521
--- /dev/null
+++ b/emulators/virtualbox-ose-kmod/files/vboxnet.in
@@ -0,0 +1,71 @@
+#!/bin/sh
+#
+# $FreeBSD$
+#
+
+# PROVIDE: vboxnet
+# REQUIRE: FILESYSTEMS
+# BEFORE: netif
+# KEYWORD: nojail
+
+#
+# Add the following lines to /etc/rc.conf.local or /etc/rc.conf
+# to enable this service:
+#
+# vboxnet_enable (bool): Set to NO by default.
+# Set it to YES to load network related kernel modules on startup
+
+. %%RC_SUBR%%
+
+name="vboxnet"
+rcvar=${name}_enable
+start_cmd="vboxnet_start"
+stop_cmd="vboxnet_stop"
+
+vboxnet_start()
+{
+ if ! kldstat -q -m ng_vboxnetflt;
+ then
+ if ! kldload vboxnetflt > /dev/null 2>&1;
+ then
+ warn "Can't load vboxnetflt module."
+ return 1
+ fi
+ fi
+
+ if ! kldstat -q -m vboxnetadp;
+ then
+ if ! kldload vboxnetadp > /dev/null 2>&1;
+ then
+ warn "Can't load vboxnetadp module."
+ return 1
+ fi
+ fi
+}
+
+vboxnet_stop()
+{
+ if kldstat -q -m vboxnetadp;
+ then
+ if ! kldunload vboxnetadp > /dev/null 2>&1;
+ then
+ warn "Can't unload vboxnetadp module."
+ return 1
+ fi
+ fi
+
+ if kldstat -q -m ng_vboxnetflt;
+ then
+ if ! kldunload vboxnetflt > /dev/null 2>&1;
+ then
+ warn "Can't unload vboxnetflt module."
+ return 1
+ fi
+ fi
+}
+
+load_rc_config $name
+
+: ${vboxnet_enable="NO"}
+
+run_rc_command "$1"
diff --git a/emulators/virtualbox-ose-kmod/pkg-message b/emulators/virtualbox-ose-kmod/pkg-message
deleted file mode 100644
index 91b8b16427cd..000000000000
--- a/emulators/virtualbox-ose-kmod/pkg-message
+++ /dev/null
@@ -1,26 +0,0 @@
-=============================================================================
-
-VirtualBox was installed.
-
-You need to load the vboxdrv kernel module and a mounted /proc filesystem.
-
-% mount -t procfs proc /proc
-% kldload vboxdrv
-
-For bridged networking you also need to load the vboxnetflt kernel module.
-
-% kldload vboxnetflt
-
-You also have to add all users to your vboxusers group in order to use vbox.
-
-% pw groupmod vboxusers -m jerry
-
-Running VirtualBox as non-root user may fail with a fatal error
-NS_ERROR_FACTORY_NOT_REGISTERED. In this case delete /tmp/.vbox-*-ipc file.
-
-Check wiki page for known issues and troubleshooting:
-http://wiki.freebsd.org/VirtualBox
-
-Please report any problems to emulation@. Thanks!
-
-=============================================================================
diff --git a/emulators/virtualbox-ose-kmod/pkg-plist b/emulators/virtualbox-ose-kmod/pkg-plist
index f8ade22c00a7..f4567ba3fc9a 100644
--- a/emulators/virtualbox-ose-kmod/pkg-plist
+++ b/emulators/virtualbox-ose-kmod/pkg-plist
@@ -1,598 +1,4 @@
-%%X11%%bin/VBoxBFE
-bin/VBoxHeadless
-bin/VBoxManage
-bin/VBoxNetAdpCtl
-bin/VBoxNetDHCP
-%%X11%%bin/VBoxSDL
-bin/VBoxSVC
-%%X11%%bin/VBoxTestOGL
-bin/VBoxXPCOMIPCD
-%%QT4%%bin/VirtualBox
-%%X11%%lib/virtualbox/VBoxBFE
-%%X11%%lib/virtualbox/VBoxBFE.so
-lib/virtualbox/VBoxDD.so
-lib/virtualbox/VBoxDD2.so
-lib/virtualbox/VBoxDDU.so
-lib/virtualbox/VBoxGuestPropSvc.so
-lib/virtualbox/VBoxHeadless
-lib/virtualbox/VBoxHeadless.so
-%%QT4%%lib/virtualbox/VBoxKeyboard.so
-lib/virtualbox/VBoxManage
-lib/virtualbox/VBoxNetAdpCtl
-lib/virtualbox/VBoxNetDHCP
-lib/virtualbox/VBoxNetDHCP.so
-%%X11%%lib/virtualbox/VBoxOGLhostcrutil.so
-%%X11%%lib/virtualbox/VBoxOGLhosterrorspu.so
-%%X11%%lib/virtualbox/VBoxOGLrenderspu.so
-lib/virtualbox/VBoxPython.so
-lib/virtualbox/VBoxREM.so
-%%X11%%lib/virtualbox/VBoxTestOGL
-%%I386%%lib/virtualbox/VBoxREM32.so
-%%I386%%lib/virtualbox/VBoxREM64.so
-lib/virtualbox/VBoxRT.so
-%%X11%%lib/virtualbox/VBoxSDL
-%%X11%%lib/virtualbox/VBoxSDL.so
-lib/virtualbox/VBoxSVC
-lib/virtualbox/VBoxSharedClipboard.so
-%%X11%%lib/virtualbox/VBoxSharedCrOpenGL.so
-lib/virtualbox/VBoxSharedFolders.so
-lib/virtualbox/VBoxVMM.so
-lib/virtualbox/VBoxXPCOM.so
-lib/virtualbox/VBoxXPCOMC.so
-lib/virtualbox/VBoxXPCOMIPCD
-%%QT4%%lib/virtualbox/VirtualBox
-%%QT4%%lib/virtualbox/VirtualBox.so
-lib/virtualbox/VBoxDD2GC.gc
-lib/virtualbox/VBoxDDGC.gc
-lib/virtualbox/VMMGC.gc
-lib/virtualbox/VBoxDD2R0.r0
-lib/virtualbox/VBoxDDR0.r0
-%%GUESTADDITIONS%%lib/virtualbox/additions/VBoxGuestAdditions.iso
-%%GUESTADDITIONS%%lib/virtualbox/additions/VBoxGuestAdditions_%%GUEST_VER%%.iso
-lib/virtualbox/VBoxPython%%PYTHON_VERU%%.so
-lib/virtualbox/VMMR0.r0
-lib/virtualbox/components/VirtualBox_XPCOM.xpt
-lib/virtualbox/components/VBoxXPCOMIPCC.so
-lib/virtualbox/components/VBoxSVCM.so
-lib/virtualbox/components/VBoxC.so
-lib/virtualbox/components/VBoxXPCOMBase.xpt
-%%NLS%%%%DATADIR%%/nls/VirtualBox_ar.qm
-%%NLS%%%%DATADIR%%/nls/VirtualBox_bg.qm
-%%NLS%%%%DATADIR%%/nls/VirtualBox_ca.qm
-%%NLS%%%%DATADIR%%/nls/VirtualBox_cs.qm
-%%NLS%%%%DATADIR%%/nls/VirtualBox_de.qm
-%%NLS%%%%DATADIR%%/nls/VirtualBox_el.qm
-%%NLS%%%%DATADIR%%/nls/VirtualBox_es.qm
-%%NLS%%%%DATADIR%%/nls/VirtualBox_eu.qm
-%%NLS%%%%DATADIR%%/nls/VirtualBox_fi.qm
-%%NLS%%%%DATADIR%%/nls/VirtualBox_fr.qm
-%%NLS%%%%DATADIR%%/nls/VirtualBox_hu.qm
-%%NLS%%%%DATADIR%%/nls/VirtualBox_id.qm
-%%NLS%%%%DATADIR%%/nls/VirtualBox_it.qm
-%%NLS%%%%DATADIR%%/nls/VirtualBox_ja.qm
-%%NLS%%%%DATADIR%%/nls/VirtualBox_km_KH.qm
-%%NLS%%%%DATADIR%%/nls/VirtualBox_ko.qm
-%%NLS%%%%DATADIR%%/nls/VirtualBox_nl.qm
-%%NLS%%%%DATADIR%%/nls/VirtualBox_pl.qm
-%%NLS%%%%DATADIR%%/nls/VirtualBox_pt.qm
-%%NLS%%%%DATADIR%%/nls/VirtualBox_pt_BR.qm
-%%NLS%%%%DATADIR%%/nls/VirtualBox_ro.qm
-%%NLS%%%%DATADIR%%/nls/VirtualBox_ru.qm
-%%NLS%%%%DATADIR%%/nls/VirtualBox_sk.qm
-%%NLS%%%%DATADIR%%/nls/VirtualBox_sr.qm
-%%NLS%%%%DATADIR%%/nls/VirtualBox_sv.qm
-%%NLS%%%%DATADIR%%/nls/VirtualBox_tr.qm
-%%NLS%%%%DATADIR%%/nls/VirtualBox_uk.qm
-%%NLS%%%%DATADIR%%/nls/VirtualBox_zh_CN.qm
-%%NLS%%%%DATADIR%%/nls/VirtualBox_zh_TW.qm
-%%NLS%%%%DATADIR%%/nls/qt_ar.qm
-%%NLS%%%%DATADIR%%/nls/qt_bg.qm
-%%NLS%%%%DATADIR%%/nls/qt_ca.qm
-%%NLS%%%%DATADIR%%/nls/qt_cs.qm
-%%NLS%%%%DATADIR%%/nls/qt_de.qm
-%%NLS%%%%DATADIR%%/nls/qt_el.qm
-%%NLS%%%%DATADIR%%/nls/qt_es.qm
-%%NLS%%%%DATADIR%%/nls/qt_eu.qm
-%%NLS%%%%DATADIR%%/nls/qt_fi.qm
-%%NLS%%%%DATADIR%%/nls/qt_fr.qm
-%%NLS%%%%DATADIR%%/nls/qt_hu.qm
-%%NLS%%%%DATADIR%%/nls/qt_id.qm
-%%NLS%%%%DATADIR%%/nls/qt_it.qm
-%%NLS%%%%DATADIR%%/nls/qt_ja.qm
-%%NLS%%%%DATADIR%%/nls/qt_km_KH.qm
-%%NLS%%%%DATADIR%%/nls/qt_ko.qm
-%%NLS%%%%DATADIR%%/nls/qt_nl.qm
-%%NLS%%%%DATADIR%%/nls/qt_pl.qm
-%%NLS%%%%DATADIR%%/nls/qt_pt.qm
-%%NLS%%%%DATADIR%%/nls/qt_pt_BR.qm
-%%NLS%%%%DATADIR%%/nls/qt_ro.qm
-%%NLS%%%%DATADIR%%/nls/qt_ru.qm
-%%NLS%%%%DATADIR%%/nls/qt_sk.qm
-%%NLS%%%%DATADIR%%/nls/qt_sr.qm
-%%NLS%%%%DATADIR%%/nls/qt_sv.qm
-%%NLS%%%%DATADIR%%/nls/qt_tr.qm
-%%NLS%%%%DATADIR%%/nls/qt_uk.qm
-%%NLS%%%%DATADIR%%/nls/qt_zh_CN.qm
-%%NLS%%%%DATADIR%%/nls/qt_zh_TW.qm
-%%QT4%%share/applications/virtualbox.desktop
-%%QT4%%share/icons/hicolor/48x48/apps/VBox.png
-%%DATADIR%%/idl/nsIDebug.idl
-%%DATADIR%%/idl/nsIInterfaceRequestor.idl
-%%DATADIR%%/idl/nsIMemory.idl
-%%DATADIR%%/idl/nsIProgrammingLanguage.idl
-%%DATADIR%%/idl/nsISupports.idl
-%%DATADIR%%/idl/nsITraceRefcnt.idl
-%%DATADIR%%/idl/nsIWeakReference.idl
-%%DATADIR%%/idl/nsIConsoleMessage.idl
-%%DATADIR%%/idl/nsIConsoleService.idl
-%%DATADIR%%/idl/nsIConsoleListener.idl
-%%DATADIR%%/idl/nsIErrorService.idl
-%%DATADIR%%/idl/nsIException.idl
-%%DATADIR%%/idl/nsIExceptionService.idl
-%%DATADIR%%/idl/nsrootidl.idl
-%%DATADIR%%/idl/nsIClassInfo.idl
-%%DATADIR%%/idl/nsIFactory.idl
-%%DATADIR%%/idl/nsIModule.idl
-%%DATADIR%%/idl/nsIComponentRegistrar.idl
-%%DATADIR%%/idl/nsIServiceManager.idl
-%%DATADIR%%/idl/nsIComponentManager.idl
-%%DATADIR%%/idl/nsICategoryManager.idl
-%%DATADIR%%/idl/nsINativeComponentLoader.idl
-%%DATADIR%%/idl/nsIComponentLoader.idl
-%%DATADIR%%/idl/nsIComponentManagerObsolete.idl
-%%DATADIR%%/idl/nsISupportsArray.idl
-%%DATADIR%%/idl/nsIComponentLoaderManager.idl
-%%DATADIR%%/idl/nsICollection.idl
-%%DATADIR%%/idl/nsISerializable.idl
-%%DATADIR%%/idl/nsIEnumerator.idl
-%%DATADIR%%/idl/nsISimpleEnumerator.idl
-%%DATADIR%%/idl/nsIObserverService.idl
-%%DATADIR%%/idl/nsIObserver.idl
-%%DATADIR%%/idl/nsIAtom.idl
-%%DATADIR%%/idl/nsIAtomService.idl
-%%DATADIR%%/idl/nsIProperties.idl
-%%DATADIR%%/idl/nsIPersistentProperties2.idl
-%%DATADIR%%/idl/nsIRecyclingAllocator.idl
-%%DATADIR%%/idl/nsIStringEnumerator.idl
-%%DATADIR%%/idl/nsISupportsPrimitives.idl
-%%DATADIR%%/idl/nsISupportsIterators.idl
-%%DATADIR%%/idl/nsITimelineService.idl
-%%DATADIR%%/idl/nsIVariant.idl
-%%DATADIR%%/idl/nsIArray.idl
-%%DATADIR%%/idl/nsIPropertyBag.idl
-%%DATADIR%%/idl/nsIHashable.idl
-%%DATADIR%%/idl/nsIDirectoryService.idl
-%%DATADIR%%/idl/nsIDirectoryEnumerator.idl
-%%DATADIR%%/idl/nsIFile.idl
-%%DATADIR%%/idl/nsILocalFile.idl
-%%DATADIR%%/idl/nsIInputStream.idl
-%%DATADIR%%/idl/nsILocalFileMac.idl
-%%DATADIR%%/idl/nsIObjectInputStream.idl
-%%DATADIR%%/idl/nsIBinaryInputStream.idl
-%%DATADIR%%/idl/nsIObjectOutputStream.idl
-%%DATADIR%%/idl/nsIBinaryOutputStream.idl
-%%DATADIR%%/idl/nsIStreamBufferAccess.idl
-%%DATADIR%%/idl/nsIOutputStream.idl
-%%DATADIR%%/idl/nsIByteArrayInputStream.idl
-%%DATADIR%%/idl/nsIFastLoadFileControl.idl
-%%DATADIR%%/idl/nsISeekableStream.idl
-%%DATADIR%%/idl/nsIInputStreamTee.idl
-%%DATADIR%%/idl/nsIFastLoadService.idl
-%%DATADIR%%/idl/nsIMultiplexInputStream.idl
-%%DATADIR%%/idl/nsIPipe.idl
-%%DATADIR%%/idl/nsIAsyncInputStream.idl
-%%DATADIR%%/idl/nsIAsyncOutputStream.idl
-%%DATADIR%%/idl/nsIScriptableInputStream.idl
-%%DATADIR%%/idl/nsIStorageStream.idl
-%%DATADIR%%/idl/nsILineInputStream.idl
-%%DATADIR%%/idl/nsIStringStream.idl
-%%DATADIR%%/idl/nsIProxyObjectManager.idl
-%%DATADIR%%/idl/nsIEventQueue.idl
-%%DATADIR%%/idl/nsIEventQueueService.idl
-%%DATADIR%%/idl/nsIRunnable.idl
-%%DATADIR%%/idl/nsIThread.idl
-%%DATADIR%%/idl/nsIEventTarget.idl
-%%DATADIR%%/idl/nsIEnvironment.idl
-%%DATADIR%%/idl/nsITimer.idl
-%%DATADIR%%/idl/nsITimerInternal.idl
-%%DATADIR%%/idl/nsITimerManager.idl
-%%DATADIR%%/idl/nsIInterfaceInfo.idl
-%%DATADIR%%/idl/nsIProcess.idl
-%%DATADIR%%/idl/nsIXPTLoader.idl
-%%DATADIR%%/idl/nsIInterfaceInfoManager.idl
-%%DATADIR%%/idl/ipcIMessageObserver.idl
-%%DATADIR%%/idl/ipcIService.idl
-%%DATADIR%%/idl/ipcIClientObserver.idl
-%%DATADIR%%/idl/ipcILockService.idl
-%%DATADIR%%/idl/ipcIDConnectService.idl
-%%DATADIR%%/idl/ipcITransactionService.idl
-%%DATADIR%%/idl/ipcITransactionObserver.idl
-%%DATADIR%%/idl/VirtualBox_XPCOM.idl
-%%DATADIR%%/samples/tstVBoxAPILinux.cpp
-%%DATADIR%%/samples/Makefile
-include/virtualbox/VBoxCAPI_v2_2.h
-include/virtualbox/VBoxCAPI_v3_0.h
-include/virtualbox/VBoxCAPI_v3_1.h
-include/virtualbox/VirtualBox_XPCOM.h
-include/virtualbox/ipcIClientObserver.h
-include/virtualbox/ipcIDConnectService.h
-include/virtualbox/ipcILockService.h
-include/virtualbox/ipcIMessageObserver.h
-include/virtualbox/ipcIService.h
-include/virtualbox/ipcITransactionObserver.h
-include/virtualbox/ipcITransactionService.h
-include/virtualbox/ipcd/ipcCID.h
-include/virtualbox/ipcd/ipcLockCID.h
-include/virtualbox/ipcd/ipcMessageReader.h
-include/virtualbox/ipcd/ipcMessageWriter.h
-include/virtualbox/ipcd/ipcModule.h
-include/virtualbox/ipcd/ipcModuleUtil.h
-include/virtualbox/ipcd/ipcdclient.h
-include/virtualbox/nsIArray.h
-include/virtualbox/nsIAsyncInputStream.h
-include/virtualbox/nsIAsyncOutputStream.h
-include/virtualbox/nsIAtom.h
-include/virtualbox/nsIAtomService.h
-include/virtualbox/nsIBinaryInputStream.h
-include/virtualbox/nsIBinaryOutputStream.h
-include/virtualbox/nsIByteArrayInputStream.h
-include/virtualbox/nsICategoryManager.h
-include/virtualbox/nsIClassInfo.h
-include/virtualbox/nsICollection.h
-include/virtualbox/nsIComponentLoader.h
-include/virtualbox/nsIComponentLoaderManager.h
-include/virtualbox/nsIComponentManager.h
-include/virtualbox/nsIComponentManagerObsolete.h
-include/virtualbox/nsIComponentRegistrar.h
-include/virtualbox/nsIConsoleListener.h
-include/virtualbox/nsIConsoleMessage.h
-include/virtualbox/nsIConsoleService.h
-include/virtualbox/nsIDebug.h
-include/virtualbox/nsIDirectoryEnumerator.h
-include/virtualbox/nsIDirectoryService.h
-include/virtualbox/nsIEnumerator.h
-include/virtualbox/nsIEnvironment.h
-include/virtualbox/nsIErrorService.h
-include/virtualbox/nsIEventQueue.h
-include/virtualbox/nsIEventQueueService.h
-include/virtualbox/nsIEventTarget.h
-include/virtualbox/nsIException.h
-include/virtualbox/nsIExceptionService.h
-include/virtualbox/nsIFactory.h
-include/virtualbox/nsIFastLoadFileControl.h
-include/virtualbox/nsIFastLoadService.h
-include/virtualbox/nsIFile.h
-include/virtualbox/nsIHashable.h
-include/virtualbox/nsIInputStream.h
-include/virtualbox/nsIInputStreamTee.h
-include/virtualbox/nsIInterfaceInfo.h
-include/virtualbox/nsIInterfaceInfoManager.h
-include/virtualbox/nsIInterfaceRequestor.h
-include/virtualbox/nsILineInputStream.h
-include/virtualbox/nsILocalFile.h
-include/virtualbox/nsILocalFileMac.h
-include/virtualbox/nsIMemory.h
-include/virtualbox/nsIModule.h
-include/virtualbox/nsIMultiplexInputStream.h
-include/virtualbox/nsINativeComponentLoader.h
-include/virtualbox/nsIObjectInputStream.h
-include/virtualbox/nsIObjectOutputStream.h
-include/virtualbox/nsIObserver.h
-include/virtualbox/nsIObserverService.h
-include/virtualbox/nsIOutputStream.h
-include/virtualbox/nsIPersistentProperties2.h
-include/virtualbox/nsIPipe.h
-include/virtualbox/nsIProcess.h
-include/virtualbox/nsIProgrammingLanguage.h
-include/virtualbox/nsIProperties.h
-include/virtualbox/nsIPropertyBag.h
-include/virtualbox/nsIProxyObjectManager.h
-include/virtualbox/nsIRecyclingAllocator.h
-include/virtualbox/nsIRunnable.h
-include/virtualbox/nsIScriptableInputStream.h
-include/virtualbox/nsISeekableStream.h
-include/virtualbox/nsISerializable.h
-include/virtualbox/nsIServiceManager.h
-include/virtualbox/nsISimpleEnumerator.h
-include/virtualbox/nsIStorageStream.h
-include/virtualbox/nsIStreamBufferAccess.h
-include/virtualbox/nsIStringEnumerator.h
-include/virtualbox/nsIStringStream.h
-include/virtualbox/nsISupports.h
-include/virtualbox/nsISupportsArray.h
-include/virtualbox/nsISupportsIterators.h
-include/virtualbox/nsISupportsPrimitives.h
-include/virtualbox/nsIThread.h
-include/virtualbox/nsITimelineService.h
-include/virtualbox/nsITimer.h
-include/virtualbox/nsITimerInternal.h
-include/virtualbox/nsITimerManager.h
-include/virtualbox/nsITraceRefcnt.h
-include/virtualbox/nsIVariant.h
-include/virtualbox/nsIWeakReference.h
-include/virtualbox/nsIXPTLoader.h
-include/virtualbox/nsprpub/nspr.h
-include/virtualbox/nsprpub/plarena.h
-include/virtualbox/nsprpub/plarenas.h
-include/virtualbox/nsprpub/plbase64.h
-include/virtualbox/nsprpub/plerror.h
-include/virtualbox/nsprpub/plgetopt.h
-include/virtualbox/nsprpub/plhash.h
-include/virtualbox/nsprpub/plresolv.h
-include/virtualbox/nsprpub/plstr.h
-include/virtualbox/nsprpub/pratom.h
-include/virtualbox/nsprpub/prbit.h
-include/virtualbox/nsprpub/prclist.h
-include/virtualbox/nsprpub/prcmon.h
-include/virtualbox/nsprpub/prcountr.h
-include/virtualbox/nsprpub/prcvar.h
-include/virtualbox/nsprpub/prdtoa.h
-include/virtualbox/nsprpub/prenv.h
-include/virtualbox/nsprpub/prerr.h
-include/virtualbox/nsprpub/prerror.h
-include/virtualbox/nsprpub/prinet.h
-include/virtualbox/nsprpub/prinit.h
-include/virtualbox/nsprpub/prinrval.h
-include/virtualbox/nsprpub/prio.h
-include/virtualbox/nsprpub/pripcsem.h
-include/virtualbox/nsprpub/prlink.h
-include/virtualbox/nsprpub/md/_iprt_atomic.h
-include/virtualbox/nsprpub/md/_darwin.h
-include/virtualbox/nsprpub/md/_freebsd.h
-include/virtualbox/nsprpub/md/_l4v2.h
-include/virtualbox/nsprpub/md/_linux.h
-include/virtualbox/nsprpub/md/_macos.h
-include/virtualbox/nsprpub/md/_netbsd.h
-include/virtualbox/nsprpub/md/_openbsd.h
-include/virtualbox/nsprpub/md/_os2_errors.h
-include/virtualbox/nsprpub/md/_os2.h
-include/virtualbox/nsprpub/md/_pcos.h
-include/virtualbox/nsprpub/md/_solaris.h
-include/virtualbox/nsprpub/md/_unix_errors.h
-include/virtualbox/nsprpub/md/_unixos.h
-include/virtualbox/nsprpub/md/_pth.h
-include/virtualbox/nsprpub/md/prosdep.h
-include/virtualbox/nsprpub/md/_freebsd.cfg
-include/virtualbox/nsprpub/md/_linux.cfg
-include/virtualbox/nsprpub/md/_darwin.cfg
-include/virtualbox/nsprpub/md/_netbsd.cfg
-include/virtualbox/nsprpub/md/_openbsd.cfg
-include/virtualbox/nsprpub/md/_os2.cfg
-include/virtualbox/nsprpub/md/_solaris32.cfg
-include/virtualbox/nsprpub/md/_l4v2.cfg
-include/virtualbox/nsprpub/md/_solaris64.cfg
-include/virtualbox/nsprpub/prlock.h
-include/virtualbox/nsprpub/prlog.h
-include/virtualbox/nsprpub/prlong.h
-include/virtualbox/nsprpub/prmem.h
-include/virtualbox/nsprpub/prmon.h
-include/virtualbox/nsprpub/prmwait.h
-include/virtualbox/nsprpub/prnetdb.h
-include/virtualbox/nsprpub/prolock.h
-include/virtualbox/nsprpub/prpdce.h
-include/virtualbox/nsprpub/prprf.h
-include/virtualbox/nsprpub/prproces.h
-include/virtualbox/nsprpub/prrng.h
-include/virtualbox/nsprpub/prrwlock.h
-include/virtualbox/nsprpub/prshm.h
-include/virtualbox/nsprpub/prshma.h
-include/virtualbox/nsprpub/prsystem.h
-include/virtualbox/nsprpub/prthread.h
-include/virtualbox/nsprpub/prtime.h
-include/virtualbox/nsprpub/prtpool.h
-include/virtualbox/nsprpub/prtrace.h
-include/virtualbox/nsprpub/prtypes.h
-include/virtualbox/nsprpub/prvrsion.h
-include/virtualbox/nsprpub/prwin16.h
-include/virtualbox/nsprpub/prcpucfg.h
-include/virtualbox/nsprpub/obsolete/pralarm.h
-include/virtualbox/nsprpub/obsolete/probslet.h
-include/virtualbox/nsprpub/obsolete/protypes.h
-include/virtualbox/nsprpub/obsolete/prsem.h
-include/virtualbox/nsprpub/private/pprio.h
-include/virtualbox/nsprpub/private/pprthred.h
-include/virtualbox/nsprpub/private/prpriv.h
-include/virtualbox/nsrootidl.h
-include/virtualbox/string/nsAString.h
-include/virtualbox/string/nsAlgorithm.h
-include/virtualbox/string/nsCharTraits.h
-include/virtualbox/string/nsDependentString.h
-include/virtualbox/string/nsDependentSubstring.h
-include/virtualbox/string/nsEmbedString.h
-include/virtualbox/string/nsLiteralString.h
-include/virtualbox/string/nsObsoleteAString.h
-include/virtualbox/string/nsPrintfCString.h
-include/virtualbox/string/nsPromiseFlatString.h
-include/virtualbox/string/nsReadableUtils.h
-include/virtualbox/string/nsString.h
-include/virtualbox/string/nsStringAPI.h
-include/virtualbox/string/nsStringFwd.h
-include/virtualbox/string/nsStringIterator.h
-include/virtualbox/string/nsSubstring.h
-include/virtualbox/string/nsSubstringTuple.h
-include/virtualbox/string/nsTAString.h
-include/virtualbox/string/nsTString.h
-include/virtualbox/string/nsTDependentString.h
-include/virtualbox/string/nsTDependentSubstring.h
-include/virtualbox/string/nsTObsoleteAString.h
-include/virtualbox/string/nsTPromiseFlatString.h
-include/virtualbox/string/nsTSubstring.h
-include/virtualbox/string/nsTSubstringTuple.h
-include/virtualbox/string/nsUTF8Utils.h
-include/virtualbox/string/nsXPIDLString.h
-include/virtualbox/string/string-template-def-char.h
-include/virtualbox/string/string-template-def-unichar.h
-include/virtualbox/string/string-template-undef.h
-include/virtualbox/xpcom/nsAgg.h
-include/virtualbox/xpcom/nsAppDirectoryServiceDefs.h
-include/virtualbox/xpcom/nsArray.h
-include/virtualbox/xpcom/nsArrayEnumerator.h
-include/virtualbox/xpcom/nsAtomService.h
-include/virtualbox/xpcom/nsAutoBuffer.h
-include/virtualbox/xpcom/nsAutoLock.h
-include/virtualbox/xpcom/nsAutoPtr.h
-include/virtualbox/xpcom/nsBaseHashtable.h
-include/virtualbox/xpcom/nsCOMArray.h
-include/virtualbox/xpcom/nsCRT.h
-include/virtualbox/xpcom/nsCategoryManagerUtils.h
-include/virtualbox/xpcom/nsCheapSets.h
-include/virtualbox/xpcom/nsClassHashtable.h
-include/virtualbox/xpcom/nsCom.h
-include/virtualbox/xpcom/nsComponentManagerObsolete.h
-include/virtualbox/xpcom/nsComponentManagerUtils.h
-include/virtualbox/xpcom/nsCppSharedAllocator.h
-include/virtualbox/xpcom/nsID.h
-include/virtualbox/xpcom/nsDataHashtable.h
-include/virtualbox/xpcom/nsDebugImpl.h
-include/virtualbox/xpcom/nsDeque.h
-include/virtualbox/xpcom/nsDirectoryService.h
-include/virtualbox/xpcom/nsDirectoryServiceDefs.h
-include/virtualbox/xpcom/nsDirectoryServiceUtils.h
-include/virtualbox/xpcom/nsDoubleHashtable.h
-include/virtualbox/xpcom/nsEnumeratorUtils.h
-include/virtualbox/xpcom/nsError.h
-include/virtualbox/xpcom/nsEscape.h
-include/virtualbox/xpcom/nsEventQueueUtils.h
-include/virtualbox/xpcom/nsFastLoadPtr.h
-include/virtualbox/xpcom/nsFastLoadService.h
-include/virtualbox/xpcom/nsFixedSizeAllocator.h
-include/virtualbox/xpcom/nsHashKeys.h
-include/virtualbox/xpcom/nsHashSets.h
-include/virtualbox/xpcom/nsHashtable.h
-include/virtualbox/xpcom/nsIAllocator.h
-include/virtualbox/xpcom/nsIByteBuffer.h
-include/virtualbox/xpcom/nsIID.h
-include/virtualbox/xpcom/nsIServiceManagerObsolete.h
-include/virtualbox/xpcom/nsIServiceManagerUtils.h
-include/virtualbox/xpcom/nsISupportsBase.h
-include/virtualbox/xpcom/nsISupportsObsolete.h
-include/virtualbox/xpcom/nsIUnicharBuffer.h
-include/virtualbox/xpcom/nsIUnicharInputStream.h
-include/virtualbox/xpcom/nsInt64.h
-include/virtualbox/xpcom/nsInterfaceHashtable.h
-include/virtualbox/xpcom/nsLinebreakConverter.h
-include/virtualbox/xpcom/nsLocalFile.h
-include/virtualbox/xpcom/nsLocalFileUnix.h
-include/virtualbox/xpcom/nsLocalFileOS2.h
-include/virtualbox/xpcom/nsLocalFileOSX.h
-include/virtualbox/xpcom/nsModule.h
-include/virtualbox/xpcom/nsMultiplexInputStream.h
-include/virtualbox/xpcom/nsNativeCharsetUtils.h
-include/virtualbox/xpcom/nsProcess.h
-include/virtualbox/xpcom/nsNativeComponentLoader.h
-include/virtualbox/xpcom/nsObserverService.h
-include/virtualbox/xpcom/nsObsoleteModuleLoading.h
-include/virtualbox/xpcom/nsProxiedService.h
-include/virtualbox/xpcom/nsProxyEvent.h
-include/virtualbox/xpcom/nsProxyRelease.h
-include/virtualbox/xpcom/nsQuickSort.h
-include/virtualbox/xpcom/nsRecyclingAllocator.h
-include/virtualbox/xpcom/nsRefPtrHashtable.h
-include/virtualbox/xpcom/nsScriptableInputStream.h
-include/virtualbox/xpcom/nsStaticAtom.h
-include/virtualbox/xpcom/nsStaticComponent.h
-include/virtualbox/xpcom/nsStaticNameTable.h
-include/virtualbox/xpcom/nsStorageStream.h
-include/virtualbox/xpcom/nsStreamUtils.h
-include/virtualbox/xpcom/nsStringEnumerator.h
-include/virtualbox/xpcom/nsStringIO.h
-include/virtualbox/xpcom/nsTHashtable.h
-include/virtualbox/xpcom/nsStringStream.h
-include/virtualbox/xpcom/nsSupportsArray.h
-include/virtualbox/xpcom/nsSupportsPrimitives.h
-include/virtualbox/xpcom/nsTextFormatter.h
-include/virtualbox/xpcom/nsTime.h
-include/virtualbox/xpcom/nsTraceRefcntImpl.h
-include/virtualbox/xpcom/nsUnitConversion.h
-include/virtualbox/xpcom/nsValueArray.h
-include/virtualbox/xpcom/nsVariant.h
-include/virtualbox/xpcom/nsVoidArray.h
-include/virtualbox/xpcom/nsWeakPtr.h
-include/virtualbox/xpcom/nsXPCOM.h
-include/virtualbox/xpcom/nsXPCOMCID.h
-include/virtualbox/xpcom/nscore.h
-include/virtualbox/xpcom/pldhash.h
-include/virtualbox/xpcom/plevent.h
-include/virtualbox/xpcom/xcDll.h
-include/virtualbox/xpcom/xpt_arena.h
-include/virtualbox/xpcom/xpt_struct.h
-include/virtualbox/xpcom/xpt_xdr.h
-include/virtualbox/xpcom/xptcall.h
-include/virtualbox/xpcom/xptcstubsdecl.inc
-include/virtualbox/xpcom/xptcstubsdef.inc
-include/virtualbox/xpcom/xptinfo.h
-include/virtualbox/xpcom/nsIInterfaceRequestorUtils.h
-include/virtualbox/xpcom/nsISupportsImpl.h
-include/virtualbox/xpcom/nsISupportsUtils.h
-include/virtualbox/xpcom/nsIWeakReferenceUtils.h
-include/virtualbox/xpcom/nsCOMPtr.h
-include/virtualbox/xpcom/nsDebug.h
-include/virtualbox/xpcom/nsGenericFactory.h
-include/virtualbox/xpcom/nsIGenericFactory.h
-include/virtualbox/xpcom/nsMemory.h
-include/virtualbox/xpcom/nsTraceRefcnt.h
-include/virtualbox/xpcom/nsWeakReference.h
-include/virtualbox/xpcom/nsXPCOMGlue.h
-include/virtualbox/xpcom/xpcom-config.h
-%%PYTHON_SITELIBDIR%%/vboxapi/__init__.py
-%%PYTHON_SITELIBDIR%%/vboxapi/__init__.pyc
-%%PYTHON_SITELIBDIR%%/vboxapi/VirtualBox_constants.py
-%%PYTHON_SITELIBDIR%%/vboxapi/VirtualBox_constants.pyc
-%%PYTHON_SITELIBDIR%%/vboxapi-1.0-py%%PYTHON_VER%%.egg-info
-%%PYTHON_SITELIBDIR%%/xpcom/__init__.py
-%%PYTHON_SITELIBDIR%%/xpcom/__init__.pyc
-%%PYTHON_SITELIBDIR%%/xpcom/components.py
-%%PYTHON_SITELIBDIR%%/xpcom/components.pyc
-%%PYTHON_SITELIBDIR%%/xpcom/file.py
-%%PYTHON_SITELIBDIR%%/xpcom/file.pyc
-%%PYTHON_SITELIBDIR%%/xpcom/nsError.py
-%%PYTHON_SITELIBDIR%%/xpcom/nsError.pyc
-%%PYTHON_SITELIBDIR%%/xpcom/primitives.py
-%%PYTHON_SITELIBDIR%%/xpcom/primitives.pyc
-%%PYTHON_SITELIBDIR%%/xpcom/vboxxpcom.py
-%%PYTHON_SITELIBDIR%%/xpcom/vboxxpcom.pyc
-%%PYTHON_SITELIBDIR%%/xpcom/xpcom_consts.py
-%%PYTHON_SITELIBDIR%%/xpcom/xpcom_consts.pyc
-%%PYTHON_SITELIBDIR%%/xpcom/xpt.py
-%%PYTHON_SITELIBDIR%%/xpcom/xpt.pyc
-%%PYTHON_SITELIBDIR%%/xpcom/client/__init__.py
-%%PYTHON_SITELIBDIR%%/xpcom/client/__init__.pyc
-%%PYTHON_SITELIBDIR%%/xpcom/server/__init__.py
-%%PYTHON_SITELIBDIR%%/xpcom/server/__init__.pyc
-%%PYTHON_SITELIBDIR%%/xpcom/server/enumerator.py
-%%PYTHON_SITELIBDIR%%/xpcom/server/enumerator.pyc
-%%PYTHON_SITELIBDIR%%/xpcom/server/factory.py
-%%PYTHON_SITELIBDIR%%/xpcom/server/factory.pyc
-%%PYTHON_SITELIBDIR%%/xpcom/server/loader.py
-%%PYTHON_SITELIBDIR%%/xpcom/server/loader.pyc
-%%PYTHON_SITELIBDIR%%/xpcom/server/module.py
-%%PYTHON_SITELIBDIR%%/xpcom/server/module.pyc
-%%PYTHON_SITELIBDIR%%/xpcom/server/policy.py
-%%PYTHON_SITELIBDIR%%/xpcom/server/policy.pyc
-@dirrm %%PYTHON_SITELIBDIR%%/xpcom/server
-@dirrm %%PYTHON_SITELIBDIR%%/xpcom/client
-@dirrm %%PYTHON_SITELIBDIR%%/xpcom
-@dirrm %%PYTHON_SITELIBDIR%%/vboxapi
-@dirrm include/virtualbox/xpcom
-@dirrm include/virtualbox/string
-@dirrm include/virtualbox/nsprpub/private
-@dirrm include/virtualbox/nsprpub/obsolete
-@dirrm include/virtualbox/nsprpub/md
-@dirrm include/virtualbox/nsprpub
-@dirrm include/virtualbox/ipcd
-@dirrm include/virtualbox
-%%NLS%%@dirrm %%DATADIR%%/nls
-@dirrm %%DATADIR%%/samples
-@dirrm %%DATADIR%%/idl
-@dirrm %%DATADIR%%
-%%QT4%%@dirrmtry share/icons/hicolor/48x48/apps
-%%QT4%%@dirrmtry share/icons/hicolor/48x48
-%%QT4%%@dirrmtry share/icons/hicolor
-%%QT4%%@dirrmtry share/icons
-%%QT4%%@dirrmtry share/applications
-@dirrm lib/virtualbox/components
-%%GUESTADDITIONS%%@dirrm lib/virtualbox/additions
-@dirrm lib/virtualbox
+@comment $FreeBSD$
@cwd /
%%KMODDIR%%/vboxdrv.ko
%%KMODDIR%%/vboxnetadp.ko