summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Bermond2018-10-12 17:55:17 +0000
committerDaniel Bermond2018-10-12 18:49:19 +0000
commitbc2ba92e32c570c8a66b0e5921822dda7f5e3446 (patch)
tree63e4bb51796c61def46c1dd5992c901b29609439
parent6d718b9bd2af40cb9d7be77c4bb76db9b9f287fc (diff)
downloadaur-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--.SRCINFO19
-rw-r--r--PKGBUILD49
-rw-r--r--virtualbox-bin.install23
3 files changed, 57 insertions, 34 deletions
diff --git a/.SRCINFO b/.SRCINFO
index e9bdf3a6c2ec..ecacc6cbd37e 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -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
diff --git a/PKGBUILD b/PKGBUILD
index d5e293c07f3d..1d77721888d9 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -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: