X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~mdw/git/disorder/blobdiff_plain/e7eb3a2744aa45179daea235800753d3d1955338..6016a2da04e6774d7dafca074352374ffe441bde:/scripts/dist diff --git a/scripts/dist b/scripts/dist index 6007ab0..c77f33e 100755 --- a/scripts/dist +++ b/scripts/dist @@ -1,7 +1,7 @@ #! /bin/bash # # This file is part of DisOrder -# Copyright (C) 2005-2008 Richard Kettlewell +# Copyright (C) 2005-2009, 2011 Richard Kettlewell # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -18,17 +18,115 @@ # set -e -[ -d =build ] && cd =build +web=$HOME/public_html/web/disorder +chroots=/srv/chroot + make -make distcheck +#make distcheck make dist-bzip2 +v=$(make echo-version) d=$(make echo-distdir) -cp $d.tar.bz2 $HOME/work/web/disorder +src=$d.tar.bz2 + +v() { + echo ">" "$@" + "$@" +} + +# Execute a command in the build environment +remote() { + local h=$1 + local cmd="$2" + target=${h#*:} + case $h in + ssh:* ) + v ssh ${target} "$cmd" + ;; + chroot:* ) + v schroot -c${target} -- bash -c "cd && $cmd" + ;; + local:* ) + cd + v "$cmd" + cd - + ;; + esac +} + +# Put files into the build environment +put() { + local src="$1" + local h=$2 + local dst="$3" + target=${h#*:} + case $h in + ssh:* ) + v scp $src ${target}:$dst + ;; + chroot:* ) + v cp $src ${chroots}/${target}/home/${LOGNAME}/$dst + ;; + local:* ) + v cp $src $dst + ;; + esac +} + +# Retrieve files form the build environment +get() { + local h=$1 + local src="$2" + local dst="$3" + target=${h#*:} + case $h in + ssh:* ) + v scp ${target}:$src $dst + ;; + chroot:* ) + v cp ${chroots}/${target}/home/${LOGNAME}/$src $dst + ;; + local:* ) + v cp $src $dst + ;; + esac +} + +# Build a .deb in some build environment, and copy it to the distribution +# location +build() { + local h=$1 # build host + local f=$2 # distribution directory ("for") + local vs=$3 # version suffix + local dist=$4 # distribution (stable/oldstable) + + remote $h "mkdir -p _builds" + remote $h "rm -rf _builds/*.deb _builds/$d" + put $src $h _builds/$src + remote $h "cd _builds && tar xfj $src" + if [ "$vs" != "" ]; then + remote $h "cd _builds/$d && scripts/setversion $v~$vs 'Backport to $vs' $dist" + fi + remote $h "cd _builds/$d && fakeroot debian/rules binary" + mkdir -p $web/$f + get $h _builds/\*.deb $web/$f/. +} + +# Build various debs +#build chroot:lenny64 lenny lenny oldstable +#build ssh:leucomorph lenny lenny oldstable +build ssh:araminta squeeze "" stable +build ssh:sandestin squeeze "" stable + +# Update the web +cp $src README README.developers CHANGES.html $web cd doc for f in *.[1-9].html; do echo $f - rm -f $HOME/work/web/disorder/$f - sed < $f > $HOME/work/web/disorder/$f 's/^@.*//' + rm -f $web/$f + sed < $f > $web/$f 's/^@.*//' done -cp plumbing.svg $HOME/work/web/disorder -cp plumbing.png $HOME/work/web/disorder +cp plumbing.svg $web/. +if [ -f plumbing.png ]; then + cp plumbing.png $web/. +fi +