diff options
author | Daniel Bermond | 2018-10-12 17:55:17 +0000 |
---|---|---|
committer | Daniel Bermond | 2018-10-12 18:49:19 +0000 |
commit | bc2ba92e32c570c8a66b0e5921822dda7f5e3446 (patch) | |
tree | 63e4bb51796c61def46c1dd5992c901b29609439 | |
parent | 6d718b9bd2af40cb9d7be77c4bb76db9b9f287fc (diff) | |
download | aur-bc2ba92e32c570c8a66b0e5921822dda7f5e3446.tar.gz |
sdk: fix files and add proper provides/conflicts. Other fixes.
Many sdk files were missed. Now the package downloads the sdk
source and installs it, as long as other sdk files that are
not present in the sdk download bundle. Also, properly added
virtualbox-sdk to provides and conflicts.
Added/fixed other entries in provides and conflicts.
Added linux-headers to optdepends.
Fixed permissions in some executable files.
Removed parts from .install file that are executed by pacman hooks.
-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: |