summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-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: