summaryrefslogtreecommitdiff
path: root/community/virtualbox-modules/build.sh
diff options
context:
space:
mode:
Diffstat (limited to 'community/virtualbox-modules/build.sh')
-rwxr-xr-xcommunity/virtualbox-modules/build.sh65
1 files changed, 50 insertions, 15 deletions
diff --git a/community/virtualbox-modules/build.sh b/community/virtualbox-modules/build.sh
index 744f18330..b5c163db9 100755
--- a/community/virtualbox-modules/build.sh
+++ b/community/virtualbox-modules/build.sh
@@ -1,25 +1,60 @@
#!/bin/bash
+# lazyness can be enhanced everyday
-set -e
-
-if (( $# != 1 )); then
+usage() {
echo "usage: $0 extra"
echo " $0 testing"
exit 1
-fi
+}
+
+# $1: reference package
+update() {
+ url="https://www.archlinux.org/packages/$1/x86_64/$2/"
+ curkernel=$(wget -qO- "$url"|sed -nr "s/.*<h2>$2 ([0-9]+)\.([0-9]+).*<\/h2>.*/\1.\2/p")
+ nextkernel=${curkernel%.*}.$(( ${curkernel#*.}+1))
+
+ echo "** Current kernel: $curkernel"
+ echo "** Next kernel: $nextkernel"
+
+ sed -ri \
+ -e "s/(_?extramodules=).*-(ARCH|lts).*/\1extramodules-$curkernel-\2/i" \
+ -e "s/(linux.*>=)[0-9]+.[0-9]+/\1$curkernel/" \
+ -e "s/(linux.*<)[0-9]+.[0-9]+/\1$nextkernel/" \
+ PKGBUILD *.install
+}
+
+# $1: repo
+# $2: arch
+build() {
+ _pwd=$PWD
+ cd /var/empty
+ makechrootpkg -cu -I "$_pwd"/../../virtualbox/trunk/virtualbox-host-dkms-*-$arch.pkg.tar.xz -r "$1"
+ makechrootpkg -I "$_pwd"/../../virtualbox/trunk/virtualbox-guest-dkms-*-$arch.pkg.tar.xz -r "$1"
+ cd "$_pwd"
+ makechrootpkg -n -r "$1"
+}
-here=$PWD
-cd /var/empty
-linux32 makechrootpkg -cu -I "$here"/../../virtualbox/trunk/virtualbox-host-dkms-*-i686.pkg.tar.xz -r /var/lib/archbuild/$1-i686
-linux32 makechrootpkg -I "$here"/../../virtualbox/trunk/virtualbox-guest-dkms-*-i686.pkg.tar.xz -r /var/lib/archbuild/$1-i686
-cd "$here"
-linux32 makechrootpkg -n -r /var/lib/archbuild/$1-i686
+(( $# == 1 )) || usage
-cd /var/empty
-makechrootpkg -cu -I "$here"/../../virtualbox/trunk/virtualbox-host-dkms-*-x86_64.pkg.tar.xz -r /var/lib/archbuild/$1-x86_64
-makechrootpkg -I "$here"/../../virtualbox/trunk/virtualbox-guest-dkms-*-x86_64.pkg.tar.xz -r /var/lib/archbuild/$1-x86_64
-cd "$here"
-makechrootpkg -n -r /var/lib/archbuild/$1-x86_64
+# detect lts case
+grep -q linux-lts PKGBUILD && suf=-lts
+case $1 in
+ extra)
+ update core linux$suf-headers
+ for arch in i686 x86_64; do
+ build /var/lib/archbuild/extra-$arch $arch
+ done
+ ;;
+ testing)
+ update testing linux$suf-headers
+ for arch in i686 x86_64; do
+ build /var/lib/archbuild/testing-$arch $arch
+ done
+ ;;
+ *)
+ usage
+ ;;
+esac
# vim:set ts=2 sw=2 ft=sh et: