wok view get-virtualbox/stuff/get-virtualbox @ rev 4635

Up: cairo (1.8.8)
author Christophe Lincoln <pankso@slitaz.org>
date Thu Dec 24 18:17:20 2009 +0100 (2009-12-24)
parents 7fc1484fc7cc
children b9b5e2111006
line source
1 #!/bin/sh -e
3 ROOT="$1"
4 PACKAGE=${0#*get-}
6 if test $(id -u) != 0 ; then
7 echo -e "\nYou must be root to run `basename $0`."
8 echo -e "Please type 'su' and root password to become super-user.\n"
9 exit 0
10 fi
12 if [ -d $ROOT/var/lib/tazpkg/installed/$PACKAGE ]; then
13 [ -n "$ROOT" ] && exit 1
14 tazpkg remove $PACKAGE
15 [ -d /var/lib/tazpkg/installed/$PACKAGE ] && exit 1
16 fi
17 [ -d $ROOT/usr/share/$PACKAGE ] && rm -rf $ROOT/usr/share/$PACKAGE
19 WEB_SITE=http://www.virtualbox.org/
20 SHORT_DESC="x86 virtualization."
21 dl_url()
22 {
23 wget -O - ${WEB_SITE}wiki/Linux_Downloads 2> /dev/null | \
24 grep Linux_x86.run | sed 's|.*href="\(.*Linux_x86.run\).*|\1|'
25 }
27 TMP_DIR=/tmp/get-$PACKAGE-$$-$RANDOM
28 CUR_DIR=$(pwd)
29 mkdir -p $TMP_DIR && cd $TMP_DIR
31 url=$(dl_url)
32 TARBALL=$(basename $url)
33 wget $url
35 if [ ! -f "$TARBALL" ]; then
36 cd $CUR_DIR
37 rm -rf $TMP_DIR
38 echo "Could not download $TARBALL. Exiting."
39 exit 1
40 fi
42 VERSION=${TARBALL%-Linux_x86.run*}
43 VERSION=${VERSION#VirtualBox-}
45 sed -i 's/df -kP/df -k/' $TARBALL
47 # Extract
48 sh $TARBALL --noexec --keep
50 BUILD_DEPENDS="slitaz-toolchain bzip2 linux-source python python-dev"
51 for i in $BUILD_DEPENDS; do
52 [ -d /var/lib/tazpkg/installed/$i ] && continue
53 yes y | tazpkg get-install $i
54 done
56 # Install files
57 cd install
58 [ -d /usr/share/VirtualBox ] && ./uninstall.sh
59 find /usr /etc /lib > ../before
60 ./install.sh install /usr/share/VirtualBox
61 cd ..
62 find /usr /etc /lib > after
63 sed -i 's/ps -U/ps | grep/' /usr/share/VirtualBox/VBox.sh
64 echo 'lsmod | grep -q vboxdrv || modprobe vboxdrv' >> /etc/vbox/vbox.cfg
65 mkdir -p $PACKAGE-$VERSION/fs
66 diff -U0 before after | grep ^+/ | sed 's|^\+/||' | \
67 ( cd / ; cpio -o -H newc ) | ( cd $PACKAGE-$VERSION/fs ; cpio -idm )
69 # Create pseudo package
70 cat > $PACKAGE-$VERSION/receipt <<EOT
71 # SliTaz package receipt.
73 PACKAGE="$PACKAGE"
74 VERSION="$VERSION"
75 EXTRAVERSION=_$(uname -r | sed 's/-slitaz//')
76 CATEGORY="non-free"
77 SHORT_DESC="$SHORT_DESC"
78 WEB_SITE="$WEB_SITE"
79 DEPENDS="libsdl fontconfig gcc-lib-base glib libpng python udev"
81 post_install()
82 {
83 $(grep ' udev[atp]' install/install.sh)
84 chroot "\$1/" depmod -a $(uname -r)
85 }
86 EOT
88 # Pack
89 tazpkg pack $PACKAGE-$VERSION
91 # Install pseudo package
92 tazpkg install $PACKAGE-$VERSION.tazpkg --root=$ROOT
94 # Clean
95 cd $CUR_DIR
96 rm -rf $TMP_DIR