diff --git a/emulators/virtualbox-ose-kmod/Makefile b/emulators/virtualbox-ose-kmod/Makefile index 8203fdd1e8d4..370d97446272 100644 --- a/emulators/virtualbox-ose-kmod/Makefile +++ b/emulators/virtualbox-ose-kmod/Makefile @@ -1,121 +1,122 @@ -# Created by: Bernhard Froehlich +# Created by: Bernhard Froehlich # $FreeBSD$ PORTNAME= virtualbox-ose DISTVERSION= 4.2.6 +PORTREVISION= 1 CATEGORIES= emulators kld MASTER_SITES= http://download.virtualbox.org/virtualbox/${DISTVERSION}/ \ http://tmp.chruetertee.ch/ \ http://disasterarea.chruetertee.ch/ PKGNAMESUFFIX= -kmod DISTNAME= VirtualBox-${DISTVERSION} MAINTAINER= vbox@FreeBSD.org COMMENT= VirtualBox kernel module for FreeBSD LICENSE= GPLv2 LICENSE_FILE= ${WRKSRC}/COPYING BUILD_DEPENDS= yasm:${PORTSDIR}/devel/yasm \ as86:${PORTSDIR}/devel/dev86 \ kmk:${PORTSDIR}/devel/kBuild UNIQUENAME= ${PORTNAME}${PKGNAMESUFFIX} WRKSRC= ${WRKDIR}/VirtualBox-${PORTVERSION} USE_RC_SUBR= vboxnet ONLY_FOR_ARCHS= i386 amd64 FETCH_ARGS= -pRr USE_BZIP2= yes HAS_CONFIGURE= yes 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]* CONFLICTS_INSTALL= virtualbox-ose-kmod-devel-[3,4]* virtualbox-ose-kmod-legacy-[3,4]* OPTIONS_DEFINE= DEBUG VIMAGE DEBUG_DESC= Debug symbols, additional logs and assertions VIMAGE_DESC= VIMAGE virtual networking support .include PLIST_SUB+= KMODDIR=${KMODDIR:C,^/,,} KMODDIR?= /boot/modules SRC_BASE?= /usr/src VBOX_BIN= ${WRKSRC}/out/${KMK_ARCH}/${KMK_BUILDTYPE}/bin/src KMK_BUILDTYPE= release KMK_CONFIG= VBOX_LIBPATH_X11=${LOCALBASE} VBOX_FREEBSD_SRC=${SRC_BASE}/sys KMK_FLAGS= HostDrivers-scripts vboxdrv-mod VBoxNetFlt-src VBoxNetAdp-src MAKE_FLAGS= SYSDIR=${SRC_BASE}/sys .if ${PORT_OPTIONS:MDEBUG} KMK_FLAGS+= BUILD_TYPE=debug KMK_BUILDTYPE= debug EXTRA_PATCHES+= ${FILESDIR}/extrapatch-Config.kmk ${FILESDIR}/extrapatch-src-VBox-HostDrivers-Support-freebsd-Makefile MAKE_FLAGS+= DEBUG_FLAGS="-O1 -g" PLIST_SUB+= WITH_DEBUG="" .else PLIST_SUB+= WITH_DEBUG="@comment " .endif .if ${ARCH} == i386 KMK_ARCH= freebsd.x86 .else KMK_ARCH= freebsd.${ARCH} .endif .if !exists(${SRC_BASE}/sys/kern/bus_if.m) IGNORE= requires kernel sources .endif .include .if ${OSVERSION} < 802000 BROKEN= Does not compile on FreeBSD < 8.2 .endif .if ${OSVERSION} < 800500 && !empty(PORT_OPTIONS:MVIMAGE) IGNORE= newer kernel is required to build with VIMAGE .endif post-patch: @${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 .if ${PORT_OPTIONS:MVIMAGE} @${ECHO} 'VBOX_WITH_NETFLT_VIMAGE = 1' >> ${WRKSRC}/LocalConfig.kmk .endif @${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g' \ ${WRKSRC}/Config.kmk \ ${WRKSRC}/configure @${REINPLACE_CMD} -e 's|\$$KBUILDDIR_BIN/kmk_sed|${LOCALBASE}/bin/kmk_sed|g' ${WRKSRC}/configure pre-build: @${REINPLACE_CMD} -e 's|/bin/bash|/bin/sh|' \ ${WRKSRC}/env.sh do-build: cd ${WRKSRC} && ${SH} env.sh && cd ${WRKSRC}/src/VBox/HostDrivers && ${KMK_CONFIG} ${LOCALBASE}/bin/kmk ${KMK_FLAGS} cd ${VBOX_BIN} && make ${MAKE_FLAGS} do-install: ${MKDIR} ${KMODDIR} ${INSTALL_KLD} ${VBOX_BIN}/vboxdrv/vboxdrv.ko ${KMODDIR} ${INSTALL_KLD} ${VBOX_BIN}/vboxnetadp/vboxnetadp.ko ${KMODDIR} ${INSTALL_KLD} ${VBOX_BIN}/vboxnetflt/vboxnetflt.ko ${KMODDIR} .if ${PORT_OPTIONS:MDEBUG} ${INSTALL_KLD} ${VBOX_BIN}/vboxdrv/vboxdrv.ko.symbols ${KMODDIR} ${INSTALL_KLD} ${VBOX_BIN}/vboxnetadp/vboxnetadp.ko.symbols ${KMODDIR} ${INSTALL_KLD} ${VBOX_BIN}/vboxnetflt/vboxnetflt.ko.symbols ${KMODDIR} .endif @/usr/sbin/kldxref ${KMODDIR} .include diff --git a/emulators/virtualbox-ose-kmod/files/vboxnet.in b/emulators/virtualbox-ose-kmod/files/vboxnet.in index cab5d14a7521..073ee3764176 100644 --- a/emulators/virtualbox-ose-kmod/files/vboxnet.in +++ b/emulators/virtualbox-ose-kmod/files/vboxnet.in @@ -1,74 +1,73 @@ #!/bin/sh # # $FreeBSD$ # # PROVIDE: vboxnet -# REQUIRE: FILESYSTEMS -# BEFORE: netif +# REQUIRE: FILESYSTEMS NETWORKING ldconfig # 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 . /etc/rc.subr name="vboxnet" rcvar=vboxnet_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 # initialize configured host-only interfaces %%PREFIX%%/bin/VBoxManage list hostonlyifs >/dev/null } 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"