diff options
-rw-r--r-- | .SRCINFO | 19 | ||||
-rw-r--r-- | PKGBUILD | 49 | ||||
-rw-r--r-- | virtualbox-bin.install | 23 |
3 files changed, 57 insertions, 34 deletions
@@ -1,7 +1,7 @@ pkgbase = virtualbox-bin pkgdesc = Oracle VM VirtualBox Binary Edition (Oracle branded non-OSE version) pkgver = 5.2.18 - pkgrel = 1 + pkgrel = 2 url = https://www.virtualbox.org/ install = virtualbox-bin.install arch = i686 @@ -19,15 +19,28 @@ pkgbase = virtualbox-bin depends = python depends = sdl optdepends = virtualbox-ext-oracle: for Oracle extensions + optdepends = linux-headers: build the module for Arch kernel + optdepends = linux-lts-headers: build the module for LTS Arch kernel provides = virtualbox=5.2.18 + provides = virtualbox-sdk + provides = VIRTUALBOX-HOST-MODULES + provides = virtualbox-host-dkms + provides = virtualbox-guest-iso conflicts = virtualbox + conflicts = virtualbox-sdk conflicts = virtualbox-host-dkms conflicts = virtualbox-host-modules-arch replaces = virtualbox_bin replaces = virtualbox-sun + noextract = VirtualBoxSDK-5.2.18-124319.zip options = !strip + options = !emptydirs backup = etc/vbox/vbox.cfg backup = etc/conf.d/vboxweb + source = https://download.virtualbox.org/virtualbox/5.2.18/VirtualBoxSDK-5.2.18-124319.zip + source = VBoxAuth-r73679.h::https://www.virtualbox.org/svn/vbox/trunk/include/VBox/VBoxAuth.h?p=73679 + source = VBoxAuthPAM-r73679.c::https://www.virtualbox.org/svn/vbox/trunk/src/VBox/HostServices/auth/pam/VBoxAuthPAM.c?p=73679 + source = VBoxAuthSimple-r73679.cpp::https://www.virtualbox.org/svn/vbox/trunk/src/VBox/HostServices/auth/simple/VBoxAuthSimple.cpp?p=73679 source = VBoxFixUSB source = 10-vboxdrv.rules source = vboxweb.rc @@ -35,6 +48,10 @@ pkgbase = virtualbox-bin source = do_dkms source = dkms.conf source = 009-include-path.patch + sha256sums = 7966b311ca62f54cfea2762914bdd0a49d319cc0ca5c34dc755437da936d1581 + sha256sums = 23e3e0e6abfaa69bf0aa046c0ee070d19435b97cb4bfbb16bba65a2783502154 + sha256sums = 815f6e2e3ab687356aad0e6f59eef6e266514fb12a6b569d239d834e0a480f37 + sha256sums = 99deff35d8a600f20223b96ba409451834e58ac21a589a989dd82a2d6fe006ae sha256sums = 0aebe22abab402ea6b6573af637a99d8056a904920a52d84fb97729219219c23 sha256sums = 69417a9e8855cab8e4878886abe138f559fd17ae487d4cd19c8a24974a8bbec2 sha256sums = 656905de981ffa24f6f921c920538854a235225053f44baedacc07b46ca0cf56 @@ -7,7 +7,8 @@ pkgname=virtualbox-bin pkgver=5.2.18 _build=124319 -pkgrel=1 +_rev=73679 +pkgrel=2 pkgdesc='Oracle VM VirtualBox Binary Edition (Oracle branded non-OSE version)' arch=('i686' 'x86_64') url='https://www.virtualbox.org/' @@ -15,14 +16,21 @@ license=('GPL2') depends=('dkms' 'fontconfig' 'gcc' 'libgl' 'libidl2' 'libxcursor' 'libxinerama' 'libxmu' 'python' 'sdl') makedepends=('linux-headers') -optdepends=('virtualbox-ext-oracle: for Oracle extensions') -provides=("virtualbox=${pkgver}") -conflicts=('virtualbox' 'virtualbox-host-dkms' 'virtualbox-host-modules-arch') +optdepends=('virtualbox-ext-oracle: for Oracle extensions' + 'linux-headers: build the module for Arch kernel' + 'linux-lts-headers: build the module for LTS Arch kernel') +provides=("virtualbox=${pkgver}" 'virtualbox-sdk' 'VIRTUALBOX-HOST-MODULES' + 'virtualbox-host-dkms' 'virtualbox-guest-iso') +conflicts=('virtualbox' 'virtualbox-sdk' 'virtualbox-host-dkms' 'virtualbox-host-modules-arch') replaces=('virtualbox_bin' 'virtualbox-sun') backup=('etc/vbox/vbox.cfg' 'etc/conf.d/vboxweb') +options=('!strip' '!emptydirs') install="${pkgname}.install" -options=('!strip') -source=('VBoxFixUSB' +source=("https://download.virtualbox.org/virtualbox/${pkgver}/VirtualBoxSDK-${pkgver}-${_build}.zip" + "VBoxAuth-r${_rev}.h"::"https://www.virtualbox.org/svn/vbox/trunk/include/VBox/VBoxAuth.h?p=${_rev}" + "VBoxAuthPAM-r${_rev}.c"::"https://www.virtualbox.org/svn/vbox/trunk/src/VBox/HostServices/auth/pam/VBoxAuthPAM.c?p=${_rev}" + "VBoxAuthSimple-r${_rev}.cpp"::"https://www.virtualbox.org/svn/vbox/trunk/src/VBox/HostServices/auth/simple/VBoxAuthSimple.cpp?p=${_rev}" + 'VBoxFixUSB' '10-vboxdrv.rules' 'vboxweb.rc' 'vboxweb.conf' @@ -31,7 +39,12 @@ source=('VBoxFixUSB' '009-include-path.patch') source_i686=("http://download.virtualbox.org/virtualbox/${pkgver}/VirtualBox-${pkgver}-${_build}-Linux_x86.run") source_x86_64=("http://download.virtualbox.org/virtualbox/${pkgver}/VirtualBox-${pkgver}-${_build}-Linux_amd64.run") -sha256sums=('0aebe22abab402ea6b6573af637a99d8056a904920a52d84fb97729219219c23' +noextract=("VirtualBoxSDK-${pkgver}-${_build}.zip") +sha256sums=('7966b311ca62f54cfea2762914bdd0a49d319cc0ca5c34dc755437da936d1581' + '23e3e0e6abfaa69bf0aa046c0ee070d19435b97cb4bfbb16bba65a2783502154' + '815f6e2e3ab687356aad0e6f59eef6e266514fb12a6b569d239d834e0a480f37' + '99deff35d8a600f20223b96ba409451834e58ac21a589a989dd82a2d6fe006ae' + '0aebe22abab402ea6b6573af637a99d8056a904920a52d84fb97729219219c23' '69417a9e8855cab8e4878886abe138f559fd17ae487d4cd19c8a24974a8bbec2' '656905de981ffa24f6f921c920538854a235225053f44baedacc07b46ca0cf56' '12dbba3b59991f2b68cddeeeda20236aeff63e11b7e2d1b08d9d6a82225f6651' @@ -47,12 +60,16 @@ prepare() { mkdir -p "${pkgname}-${pkgver}" - # extract the source file + # extract the main source file yes | sh "VirtualBox-${pkgver}-${_build}-Linux_${_arch}.run" \ --target "${srcdir}/${pkgname}-${pkgver}" \ --nox11 \ --noexec \ &> /dev/null + + # extract sdk + cd "${pkgname}-${pkgver}" + bsdtar -xf "${srcdir}/VirtualBoxSDK-${pkgver}-${_build}.zip" } package() { @@ -75,19 +92,27 @@ package() { chmod 4511 VirtualBox VBox{SDL,Headless,NetDHCP,NetNAT,NetAdpCtl,VolInfo} for _lib in VBox{VMM,RT}.so do - ln -sf "${_installdir}/${_lib}" "components/${_lib}" + ln -s "${_installdir}/${_lib}" "components/${_lib}" done chmod go-w "${pkgdir}/${_installdir}" # install SDK msg2 'Installing SDK...' + cd "${srcdir}/${pkgname}-${pkgver}" pushd 'sdk/installer' >/dev/null VBOX_INSTALL_PATH="$_installdir" python vboxapisetup.py install --root "$pkgdir" - rm -rf build popd >/dev/null + rm -r "${pkgdir}/${_installdir}/sdk" + mkdir -p "${pkgdir}/${_installdir}/sdk" + cp -a sdk/bindings "${pkgdir}/${_installdir}/sdk" + cp -a sdk/docs "${pkgdir}/${_installdir}" + install -D -m644 "${srcdir}/VBoxAuth-r${_rev}.h" "${pkgdir}/${_installdir}/sdk/bindings/auth/include/VBoxAuth.h" + install -D -m644 "${srcdir}/VBoxAuthPAM-r${_rev}.c" "${pkgdir}/${_installdir}/sdk/bindings/auth/VBoxAuthPAM.cpp" + install -D -m644 "${srcdir}/VBoxAuthSimple-r${_rev}.cpp" "${pkgdir}/${_installdir}/sdk/bindings/auth/VBoxAuthSimple.cpp" # install udev rules msg2 'Installing udev rules...' + cd "${pkgdir}/${_installdir}" install -D -m0644 "${srcdir}/10-vboxdrv.rules" "${pkgdir}/usr/lib/udev/rules.d/10-vboxdrv.rules" ## we need to copy and not symlink VBoxCreateUSBNode.sh in /usr/lib/udev to avoid udevd ## to look /opt when /opt is not mounted. This can be done until VBoxCreateUSBNode.sh doesn't @@ -182,4 +207,8 @@ EOF printf '%s\n' 'vboxpci' >>"${pkgdir}/usr/lib/modules-load.d/${pkgname}.conf" printf '%s\n' 'vboxnetadp' >>"${pkgdir}/usr/lib/modules-load.d/${pkgname}.conf" printf '%s\n' 'vboxnetflt' >>"${pkgdir}/usr/lib/modules-load.d/${pkgname}.conf" + + # fix permissions (change executables from 4711 to 4755) + msg2 'Fixing permissions...' + chmod 4755 "${pkgdir}/${_installdir}"/{VBox{Headless,Net{AdpCtl,DHCP,NAT},SDL,VolInfo},VirtualBox} } diff --git a/virtualbox-bin.install b/virtualbox-bin.install index 19d582e69d24..d64b47cbf0d7 100644 --- a/virtualbox-bin.install +++ b/virtualbox-bin.install @@ -1,17 +1,3 @@ -update_databases() { - # Update mime database - type -P update-mime-database &>/dev/null && - update-mime-database /usr/share/mime &>/dev/null - - # Update xdg icon database - type -P xdg-icon-resource &>/dev/null && - xdg-icon-resource forceupdate --theme hicolor &>/dev/null - - # Update desktop database - type -P update-desktop-database &>/dev/null && - update-desktop-database -q &>/dev/null -} - # arg 1: the new package version post_install() { # Add vboxusers group, GID 108 is reserved (http://wiki.archlinux.org/index.php/UID_and_GID_list), @@ -20,16 +6,12 @@ post_install() { # Load new udev rule for module vboxdrv udevadm control --reload-rules - # Update databases - update_databases - # Show warnings cat <<EOF ==> Remember to add allowed users to the vboxusers group: ==> # gpasswd -a USERNAME vboxusers EOF - } # arg 1: the new package version @@ -60,11 +42,6 @@ post_remove() { # Remove any run files rm -Rf "/var/run/VirtualBox" - # Update databases - update_databases - # remove vboxusers group groupdel vboxusers &>/dev/null || true } - -# vim:set ts=2 sw=2 ft=sh et: |