SliTaz Packages

Community Doc Forum Pro Shop Bugs Hg
.

Receipt for package "virtualbox-ose"

# SliTaz package receipt.

PACKAGE="virtualbox-ose"
VERSION="4.2.6"
CATEGORY="misc"
SHORT_DESC="Powerful x86 virtualization for enterprise as well as home use (Open Source Edition)"
MAINTAINER="slaxemulator@gmail.com"
LICENSE="GPL2"
SOURCE="VirtualBox"
TARBALL="$SOURCE-$VERSION.tar.bz2"
WEB_SITE="https://www.virtualbox.org/"
WGET_URL="http://download.virtualbox.org/virtualbox/$VERSION/$TARBALL"
TAGS="virtualization"
PROVIDE="virtualbox"

DEPENDS="libxml2 xorg-libXcursor libIDL xorg-libXinerama libsdl \
xorg-libXmu curl libvncserver libpng jpeg mesa libglu-mesa vde2 \
python libQtCore libQtGui libQtNetwork libQtOpenGL \
virtualbox-ose-modules"
BUILD_DEPENDS="bin86 dev86 iasl libIDL libsdl-dev mesa-dev libxslt-dev \
libglu-mesa-dev Qt4-dev libsdl-ttf-dev alsa-lib-dev hal-dev xorg-libXtst-dev \
xorg-libXrandr-dev python python-dev xalan-c curl-dev xalan-c-dev \
xerces-c-dev openssl-dev zlib-dev libcap-dev glib-dev libvncserver-dev \
pam pam-dev bzip2 linux-module-headers pkg-config tar wget vde2-dev \
libpng-dev gsoap-dev libdevmapper-dev makeself cdrkit flex"

current_version()
{
    wget -O - http://download.virtualbox.org/virtualbox 2>/dev/null | \
    sed '/href=.[0-9]/!d;s|.*href=.||;s|/.*||' | sort -Vr | sed q
}

# Rules to configure and make the package.
compile_rules()
{
    grep -rl 'uname -m' $src | xargs sed -i 's|\(.\)uname -m|\1echo i486|'
    patch -p1 < $stuff/virtualbox-linux.patch
    cp $stuff/vbox-cpuhotplug.dsl src/VBox/Devices/PC/
    sed -i '/Wake up on LAN/{NNNNNd};s|S2BF, 1|&, Serialized|' \
        src/VBox/Devices/PC/vbox.dsl
    sed -i '/soapvbox\*\.h/d' src/VBox/Main/webservice/Makefile.kmk
    cp $stuff/LocalConfig.kmk .
    ./configure \
        --disable-pulse \
        --disable-java \
        --disable-docs \
        --enable-webservice \
        --enable-vde \
        --with-linux=/usr/src/linux
    source ./env.sh
    kmk all 2>&1 | grep -v 'kmk: No such'

    # Prepare modules tree.
    mkdir -p $src/out/linux.amd64/release/bin
    cp -a $src/out/linux.$BUILD_PLATFORM_ARCH/release/bin/src \
        $src/out/linux.amd64/release/bin/src
    # build guest additions modules
    KERN_DIR=/usr/src/linux make -C "$src/out/linux.$BUILD_PLATFORM_ARCH/release/bin/additions/src"
}

# Rules to gen a SliTaz package suitable for Tazpkg.
genpkg_rules()
{
    source $src/env.sh
    cd $src/out/linux.$BUILD_PLATFORM_ARCH/release/bin
    mkdir -p $fs/usr/bin $fs/usr/lib/virtualbox/components \
            $fs/usr/share/virtualbox/nls \
            $fs/usr/lib/virtualbox/ExtensionPacks
    install -m 0755 VBox.sh $fs/usr/bin/VBox
    sed -i 's/ps -U/ps | grep/' $fs/usr/bin/VBox
    ln -sf VBox $fs/usr/bin/VBoxHeadless
    ln -sf VBox $fs/usr/bin/vboxheadless
    ln -sf VBox $fs/usr/bin/VBoxManage
    ln -sf VBox $fs/usr/bin/vboxmanage
    ln -sf VBox $fs/usr/bin/VBoxSDL
    ln -sf VBox $fs/usr/bin/vboxsdl
    ln -sf VBox $fs/usr/bin/VirtualBox
    ln -sf VBox $fs/usr/bin/virtualbox
    ln -sf VBox $fs/usr/bin/vboxwebsrv

    install -m 0755 VBoxTunctl "$fs/usr/bin"

    # components
    install -D -m 0755 components/* $fs/usr/lib/virtualbox/components

    # lib
    install -m 0755 *.so "$fs/usr/lib/virtualbox"
    install -m 0644 *.gc *.r0  VBoxEFI*.fd "$fs/usr/lib/virtualbox"

    #setuid root binaries
    install -m 4755 VBoxSDL VirtualBox VBoxHeadless VBoxNetDHCP VBoxNetAdpCtl  "$fs/usr/lib/virtualbox"

    #other binaries
    #install -m 0755 VBoxManage VBoxSVC VBoxExtPackHelperApp VBoxXPCOMIPCD VBoxTestOGL vboxwebsrv webtest "$fs/usr/lib/virtualbox"
    install -m 0755 VBoxManage VBoxSVC VBoxExtPackHelperApp VBoxXPCOMIPCD VBoxTestOGL "$fs/usr/lib/virtualbox"

    #language
    install -m 0755 nls/*.qm "$fs/usr/share/virtualbox/nls"

    #useless scripts
    install -m 0755 VBoxCreateUSBNode.sh VBoxSysInfo.sh "$fs/usr/share/virtualbox"

    #icon
    install -D -m 0644 VBox.png "$fs/usr/share/pixmaps/virtualbox.png"

    #desktop
    install -D -m 0644 virtualbox.desktop "$fs/usr/share/applications/virtualbox.desktop"
    sed -i "s|VBox.png|virtualbox|" \
        $fs/usr/share/applications/virtualbox.desktop

    #install configuration
    mkdir -p "$fs/etc/vbox"
    echo 'lsmod | grep -q vboxdrv || modprobe vboxdrv' > "$fs/etc/vbox/vbox.cfg"
    echo 'INSTALL_DIR=/usr/lib/virtualbox' >> "$fs/etc/vbox/vbox.cfg"

    #udev
    install -D -m 0644 "$stuff/10-vboxdrv.rules" \
    "$fs/etc/udev/rules.d/10-vboxdrv.rules"

    mkdir -p $fs/usr/lib/virtualbox/sdk/bindings/xpcom/python/
    cd sdk/installer
    VBOX_INSTALL_PATH="/usr/lib/virtualbox" python vboxapisetup.py install --root "$fs"
    cd $src/out/linux.$BUILD_PLATFORM_ARCH/release/bin
    cd sdk/bindings/xpcom/python
    cp -r xpcom $fs/usr/lib/virtualbox/sdk/bindings/xpcom/python/
    chmod 644 $fs/usr/lib/virtualbox/sdk/bindings/xpcom/python/xpcom/*.py
    chmod 644 $fs/usr/lib/virtualbox/sdk/bindings/xpcom/python/xpcom/server/*.py
    chmod 644 $fs/usr/lib/virtualbox/sdk/bindings/xpcom/python/xpcom/client/*.py
}

pre_remove()
{
    chroot "$1/" delgroup vboxusers
}

post_install()
{
    #chroot "$1/" udevadm control --reload
    grep -qs vboxuser "$1/etc/group" || chroot "$1/" addgroup -g 199 vboxusers
    echo "add yourself to vboxusers group if you want to access"
    echo "host usb devices: addgroup $USER vboxusers"
    #i can't get udev to do its work
    #echo "then logout and login again"
    echo "then reboot"
}
6025 packages and 203154 files in current database (Thu Apr 25 06:17:47 2024)