diff options
Diffstat (limited to 'community/virtualbox-modules-lts/build.sh')
-rwxr-xr-x | community/virtualbox-modules-lts/build.sh | 65 |
1 files changed, 50 insertions, 15 deletions
diff --git a/community/virtualbox-modules-lts/build.sh b/community/virtualbox-modules-lts/build.sh index 744f18330..b5c163db9 100755 --- a/community/virtualbox-modules-lts/build.sh +++ b/community/virtualbox-modules-lts/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: |