+++ /dev/null
-#!/bin/sh
-set -e
-
-dir=$(cd "$(dirname "$0")"; pwd)
-rpmdir=$(rpm -E %_topdir)
-dist=th
-
-pkgs_head="
- dahdi-linux
- e1000e
- igb
- ipset
- ixgbe
- linuxrdac
- lirc
- madwifi-ng
- open-vm-tools
- r8168
- VirtualBox
- xorg-driver-video-fglrx
- xorg-driver-video-fglrx-legacy-12.x
- xorg-driver-video-nvidia
- xtables-addons
-"
-
-pkgs_longterm="
- iscsitarget
- openvswitch
- xorg-driver-video-nvidia-legacy3
-"
-
-# autotag from rpm-build-macros
-# displays latest used tag for a specfile
-autotag() {
- local out spec pkg
- for spec in "$@"; do
- # strip branches
- pkg=${spec%:*}
- # ensure package ends with .spec
- spec=${pkg%.spec}.spec
- # and pkg without subdir
- pkg=${pkg#*/}
- # or .ext
- pkg=${pkg%%.spec}
- out=$(cvs status -v $spec | awk "!/Sticky/&&/auto-$dist-$pkg-$alt_kernel/{if (!a++) print \$1}")
- echo "$spec:$out"
- done
-}
-
-get_last_tags() {
- local pkg spec
-
- echo >&2 "Fetching package tags: $*..."
- for pkg in "$@"; do
- echo >&2 "$pkg... "
- if [ ! -e $pkg/$pkg.spec ]; then
- $rpmdir/builder -g $pkg -ns -r HEAD 1>&2
- fi
- if [ ! -e $pkg/$pkg.spec ]; then
- # just print it out, to fallback to base pkg name
- echo "$pkg"
- else
- spec=$(autotag $pkg/$pkg.spec)
- spec=${spec#*/}
- echo >&2 "... $spec"
- echo $spec
- fi
- done
-}
-
-cd $rpmdir
-case "$1" in
- head)
- kernel=$(get_last_tags kernel)
- kernel=$(echo ${kernel#*auto-??-} | tr _ .)
- specs=""
- for pkg in $pkgs_head; do
- echo >&2 "Rebuilding $pkg..."
- $rpmdir/builder -g $pkg -ns
- $rpmdir/relup.sh -m "rebuild for $kernel" -ui $pkg/$pkg.spec
- specs="$specs $pkg.spec"
- done
- $dir/make-request.sh -nd -r -d $dist $specs
- ;;
- longterm)
- kernel=$(alt_kernel=longterm get_last_tags kernel)
- kernel=$(echo ${kernel#*auto-??-} | tr _ .)
- specs=""
- for pkg in $pkgs_longterm; do
- echo >&2 "Rebuilding $pkg..."
- $rpmdir/builder -g $pkg -ns
- $rpmdir/relup.sh -m "rebuild for $kernel" -ui $pkg/$pkg.spec
- specs="$specs $pkg.spec"
- done
- # first build with main pkg (userspace), later build from tag
- $dir/make-request.sh -nd -r -d $dist --without kernel $specs
-
- specs=$(get_last_tags $pkgs_head $pkgs_longterm)
- $dir/make-request.sh -nd -r -d $dist --kernel longterm --without userspace $specs
- ;;
- *)
- # try to parse all args, filling them with last autotag
- while [ $# -gt 0 ]; do
- case "$1" in
- --kernel|--with|--without)
- args="$1 $2"
- shift
- ;;
- -*)
- args="$args $1"
- ;;
- *)
- specs="$specs $1"
- ;;
- esac
- shift
- done
- specs=$(get_last_tags $specs)
- $dir/make-request.sh -nd -r -d $dist $args $specs
- ;;
-esac