wok annotate get-virtualbox/stuff/get-virtualbox @ rev 10316

eet: Add $CONFIGURE_ARGS.
author Christopher Rogers <slaxemulator@gmail.com>
date Sat May 21 23:53:33 2011 +0000 (2011-05-21)
parents 7cd9a13064cd
children 14a02389406d
rev   line source
pascal@3999 1 #!/bin/sh -e
pascal@3999 2
pascal@3999 3 ROOT="$1"
pascal@3999 4 PACKAGE=${0#*get-}
pascal@3999 5
pascal@3999 6 if test $(id -u) != 0 ; then
pascal@3999 7 echo -e "\nYou must be root to run `basename $0`."
pascal@3999 8 echo -e "Please type 'su' and root password to become super-user.\n"
pascal@3999 9 exit 0
pascal@3999 10 fi
pascal@3999 11
pascal@3999 12 if [ -d $ROOT/var/lib/tazpkg/installed/$PACKAGE ]; then
pascal@3999 13 [ -n "$ROOT" ] && exit 1
pascal@3999 14 tazpkg remove $PACKAGE
pascal@3999 15 [ -d /var/lib/tazpkg/installed/$PACKAGE ] && exit 1
pascal@3999 16 fi
pascal@3999 17 [ -d $ROOT/usr/share/$PACKAGE ] && rm -rf $ROOT/usr/share/$PACKAGE
pascal@3999 18
pascal@3999 19 WEB_SITE=http://www.virtualbox.org/
pascal@3999 20 SHORT_DESC="x86 virtualization."
pascal@3999 21 dl_url()
pascal@3999 22 {
pascal@3999 23 wget -O - ${WEB_SITE}wiki/Linux_Downloads 2> /dev/null | \
pascal@3999 24 grep Linux_x86.run | sed 's|.*href="\(.*Linux_x86.run\).*|\1|'
pascal@3999 25 }
pascal@3999 26
pascal@3999 27 TMP_DIR=/tmp/get-$PACKAGE-$$-$RANDOM
pascal@3999 28 CUR_DIR=$(pwd)
pascal@3999 29 mkdir -p $TMP_DIR && cd $TMP_DIR
pascal@3999 30
pascal@3999 31 url=$(dl_url)
pascal@3999 32 TARBALL=$(basename $url)
pascal@3999 33 wget $url
pascal@3999 34
pascal@3999 35 if [ ! -f "$TARBALL" ]; then
pascal@3999 36 cd $CUR_DIR
pascal@3999 37 rm -rf $TMP_DIR
pascal@3999 38 echo "Could not download $TARBALL. Exiting."
pascal@3999 39 exit 1
pascal@3999 40 fi
pascal@3999 41
pascal@3999 42 VERSION=${TARBALL%-Linux_x86.run*}
pascal@3999 43 VERSION=${VERSION#VirtualBox-}
pascal@3999 44
pascal@3999 45 sed -i 's/df -kP/df -k/' $TARBALL
pascal@3999 46
pascal@3999 47 # Extract
pascal@3999 48 sh $TARBALL --noexec --keep
pascal@3999 49
pascal@3999 50 BUILD_DEPENDS="slitaz-toolchain bzip2 linux-source python python-dev"
pascal@3999 51 for i in $BUILD_DEPENDS; do
pascal@3999 52 [ -d /var/lib/tazpkg/installed/$i ] && continue
pascal@3999 53 yes y | tazpkg get-install $i
pascal@3999 54 done
pascal@3999 55
pascal@3999 56 # Install files
pascal@3999 57 cd install
pascal@3999 58 [ -d /usr/share/VirtualBox ] && ./uninstall.sh
pascal@4004 59 find /usr /etc /lib > ../before
pascal@3999 60 ./install.sh install /usr/share/VirtualBox
pascal@3999 61 cd ..
pascal@4004 62 find /usr /etc /lib > after
pascal@4004 63 sed -i 's/ps -U/ps | grep/' /usr/share/VirtualBox/VBox.sh
pascal@4004 64 echo 'lsmod | grep -q vboxdrv || modprobe vboxdrv' >> /etc/vbox/vbox.cfg
pascal@3999 65 mkdir -p $PACKAGE-$VERSION/fs
pascal@3999 66 diff -U0 before after | grep ^+/ | sed 's|^\+/||' | \
pascal@3999 67 ( cd / ; cpio -o -H newc ) | ( cd $PACKAGE-$VERSION/fs ; cpio -idm )
pascal@3999 68
pascal@5821 69 MODULE_LIST="vboxdrv vboxnetadp vboxnetflt"
pascal@3999 70 # Create pseudo package
pascal@3999 71 cat > $PACKAGE-$VERSION/receipt <<EOT
pascal@3999 72 # SliTaz package receipt.
pascal@3999 73
pascal@3999 74 PACKAGE="$PACKAGE"
pascal@3999 75 VERSION="$VERSION"
pascal@3999 76 EXTRAVERSION=_$(uname -r | sed 's/-slitaz//')
pascal@3999 77 CATEGORY="non-free"
pascal@3999 78 SHORT_DESC="$SHORT_DESC"
pascal@3999 79 WEB_SITE="$WEB_SITE"
pascal@5752 80 DEPENDS="libsdl fontconfig gcc-lib-base glib libpng python udev mesa libglu-mesa"
pascal@5752 81
pascal@5752 82 pre_remove()
pascal@5752 83 {
pascal@5821 84 sed -i 's/$MODULE_LIST //' \$1/etc/rcS.conf
pascal@5752 85 chroot "\$1/" delgroup vboxusers
pascal@5752 86 }
pascal@3999 87
pascal@3999 88 post_install()
pascal@3999 89 {
pascal@3999 90 $(grep ' udev[atp]' install/install.sh)
pascal@4004 91 chroot "\$1/" depmod -a $(uname -r)
pascal@5821 92 [ -n "\$1" ] || for i in $MODULE_LIST; do modprobe \$i ; done
pascal@5752 93 grep -qs vboxdrv \$1/etc/rcS.conf ||
pascal@5821 94 sed -i 's/LOAD_MODULES="/&$MODULE_LIST /' \$1/etc/rcS.conf
pascal@5752 95
pascal@5752 96 # Add vboxusers group
pascal@5752 97 grep -qs ^vboxusers \$1/etc/group ||
pascal@5752 98 chroot "\$1/" addgroup vboxusers
pascal@3999 99 }
pascal@3999 100 EOT
pascal@3999 101
pascal@3999 102 # Pack
pascal@3999 103 tazpkg pack $PACKAGE-$VERSION
pascal@3999 104
pascal@3999 105 # Install pseudo package
pascal@3999 106 tazpkg install $PACKAGE-$VERSION.tazpkg --root=$ROOT
pascal@3999 107
pascal@3999 108 # Clean
pascal@3999 109 cd $CUR_DIR
pascal@3999 110 rm -rf $TMP_DIR