#!/bin/bash # lazyness can be enhanced everyday usage() { echo "usage: $0 extra" echo " $0 testing" exit 1 } # $1: reference package update() { url="https://www.archlinux.org/packages/$1/x86_64/$2/" curkernel=$(wget -qO- "$url"|sed -nr "s/.*

$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" } (( $# == 1 )) || usage # 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: