Advertisement
Guest User

Untitled

a guest
Sep 14th, 2010
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 4.42 KB | None | 0 0
  1. # Maintainer: The Ringmaster [theringmaster@archlinux.us]
  2.  
  3. pkgname="virtualbox_bin_beta"
  4. pkgver="3.2.8"
  5. _build=(`wget http://download.virtualbox.org/virtualbox/${pkgver}/ -qO - | grep rhel4 | cut -d "_" -f2`)    # automatic generation
  6. pkgrel=1
  7. pkgdesc="A powerful x86 virtualizer (PUEL edition) - Bleeding edge version"  # Pkgname should not be mentioned in pkgdesc. This is a suggestion for you to start with
  8. url="http://virtualbox.org"
  9. license=('custom:PUEL')
  10. arch=('i686' 'x86_64')
  11. install='virtualbox.install'
  12. depends=('libidl2' 'libxcursor' 'libxinerama' 'libxslt' 'curl' 'gcc' 'make' 'kernel26-headers')
  13. optdepends=("qt: for GUI support"            # there's no other GUI in VirtualBox than the one it has
  14.             "sdl: for VBoxSDL and GUI support"
  15.             "libgl: for shared OpenGL support"   # the missing 'support' for some of these
  16.             "libxt: for shared Clipboard support"
  17.             "alsa-lib: for ALSA support"
  18.             "pulseaudio: for PulseAudio support")
  19. provides=("virtualbox=${pkgver}")
  20. conflicts=('virtualbox-ose' 'virtualbox-modules')
  21. _arch='x86'
  22. [ "$CARCH" = "x86_64" ] && _arch='amd64'
  23. source=(http://download.virtualbox.org/virtualbox/${pkgver}/VirtualBox-${pkgver}-${_build}-Linux_${_arch}.run    # simplicity ;)
  24.         '10-vboxdrv.rules'
  25.         'vboxdrv')
  26. md5sums=(`wget http://download.virtualbox.org/virtualbox/${pkgver}/MD5SUMS -qO - | grep ${_arch}.run | cut -d " " -f1`    # automatic generation
  27.          '98859bfca9ef2ebf2ea43eb9123316fc'
  28.          '160fc08a43cd9a719d306b5f023dea42')
  29.  
  30. build() {
  31.   # unpack the .run package via sh(1)
  32.   echo yes | sh "VirtualBox-${pkgver}-${_build}-Linux_${_arch}.run" --target "$srcdir" \
  33.     --nox11 --noexec &> /dev/null   # since 3.4 pacman automatically interrupts the build when an error occurs deprecating "return 1"s
  34.                     # no need for a 2nd md5sums check either (the '--check' operation)
  35.   # Unpack bundled files
  36.   install -d "$pkgdir/opt/VirtualBox"
  37.   cd "$pkgdir/opt/VirtualBox"
  38.   tar -xjf "$srcdir/VirtualBox.tar.bz2"
  39.  
  40.   install -d "$pkgdir/usr/"{bin,share/applications,share/pixmaps}
  41.  
  42.   # Hardened build: Mark binaries suid root, create symlinks for working around
  43.   #                 unsupported $ORIGIN/.. in VBoxC.so and make sure the
  44.   #                 directory is only writable by the user (paranoid).
  45.   chmod 4511 VirtualBox VBox{SDL,Headless,NetDHCP}
  46.   for _lib in VBox{VMM,REM,RT,DDU,XPCOM}.so; do
  47.     ln -sf "/opt/VirtualBox/${_lib}" "components/${_lib}"
  48.   done
  49.   chmod go-w .
  50.  
  51.   # VBoxNetAdpCtl needs to be suid root in any case
  52.   chmod 4511 VBoxNetAdpCtl
  53.  
  54.   # Replace VirtualBox built-in Qt by system Qt libraries (disabled as of
  55.   # 2010-03-26, 3.1.6-1)
  56.   #for _lib in libQt{Core,Gui,Network,OpenGL}; do
  57.   #  rm "${_lib}VBox.so.4"
  58.   #  ln -s "/usr/lib/${_lib}.so.4" "${_lib}VBox.so.4"
  59.   #done
  60.  
  61.   # Install the SDK (disabled, since the extension expects an UCS4-compiled
  62.   # python, while Arch Linux has an UCS2-compiled python)
  63.   #cd "$pkgdir/opt/VirtualBox/sdk/installer"
  64.   #VBOX_INSTALL_PATH="/opt/VirtualBox" python vboxapisetup.py install --root "$pkgdir"
  65.   #rm -Rf build
  66.   #cd "$pkgdir/opt/VirtualBox"
  67.   rm -Rf sdk vboxshell.py VBoxPython*
  68.  
  69.   # Install rc.d script for module compilation
  70.   install -Dm0755 "$srcdir/vboxdrv" "$pkgdir/etc/rc.d/vboxdrv"    # no need for exceptional curly brackets ("{", "}") here, if not used in other "$pkgdir"/"$srcdir" functions either
  71.  
  72.   # Replace init script stuff
  73.   sed -i -e 's,sudo /etc/init.d/vboxdrv setup,/etc/rc.d/vboxdrv setup,g' \
  74.     "$pkgdir/opt/VirtualBox/VBox.sh"
  75.   sed -i -e 's,sudo /etc/init.d/vboxdrv restart,modprobe vboxdrv,g' \
  76.     "$pkgdir/opt/VirtualBox/VBox.sh"
  77.  
  78.   # Install udev rules
  79.   install -Dm0644 "$srcdir/10-vboxdrv.rules" "$pkgdir/lib/udev/rules.d/10-vboxdrv.rules"
  80.  
  81.   # Symlink the launchers
  82.   for _bin in VirtualBox VBox{Headless,Manage,SDL,SVC,Tunctl,NetAdpCtl} rdesktop-vrdp; do
  83.     ln -s "/opt/VirtualBox/${_bin}" "$pkgdir/usr/bin/${_bin}"
  84.   done
  85.  
  86.   # Symlink the desktop icon and ".desktop" files
  87.   ln -s "/opt/VirtualBox/VBox.png" "$pkgdir/usr/share/pixmaps/VBox.png"
  88.   ln -s "/opt/VirtualBox/virtualbox.desktop" "$pkgdir/usr/share/applications/VirtualBox.desktop"
  89.  
  90.   # Symlink the license
  91.   install -d "$pkgdir/usr/share/licenses/$pkgname"
  92.   ln -s "/opt/VirtualBox/LICENSE" "$pkgdir/usr/share/licenses/$pkgname/PUEL"
  93.  
  94.   # Setup configuration
  95.   install -d "$pkgdir/etc/vbox"
  96.   echo 'INSTALL_DIR="/opt/VirtualBox"' > "$pkgdir/etc/vbox/vbox.cfg"
  97. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement