# # Debian stuff # # specific aliases alias lintian="lintian --color=auto -IEm --pedantic" # specific completions # rdebsign is a trivial shell script wrapper around debsign compdef rdebsign=scp # building environements cow-dist () { if [ $# -lt 2 ]; then echo "Error args." return fi DIST=${1} shift OPTS= if [ "$1" = "--update" ]; then OPTS="--no-cowdancer-update" elif [ "$1" = "--build" -a -z "$2" ]; then if [ -f debian/changelog ]; then dsc=$(egrep -v "^([[:space:]]+|$)" debian/changelog| \ sed 's/\([^ ]*\) (\([^)]*\)).*/..\/\1_\2.dsc/'|head -1) if [ -f "$dsc" ]; then OPTS="$dsc" fi fi fi time sudo -E DIST=${DIST} cowbuilder $@ ${OPTS} return $? } cow-dist-update () { for dist in $@ ; do cow-dist ${dist} --update done } PBUILDER_PATH=/var/cache/pbuilder if [ -d "${PBUILDER_PATH}" ]; then PBUILDER_DISTS= for f in ${PBUILDER_PATH}/* ; do case "$f" in *-i386.cow|*-amd64.cow) dist=${f:t:r} PBUILDER_DISTS="${PBUILDER_DISTS} ${dist}" alias cow-${dist/-/}="cow-dist ${dist}" ;; esac done if [ -n "${PBUILDER_DISTS}" ]; then alias cow-update="cow-dist-update ${PBUILDER_DISTS}" fi unset PBUILDER_DISTS fi unset PBUILDER_PATH # tools apt-rbdepends () { grep-dctrl -F Build-Depends "$1" -s Package /var/lib/apt/lists/*_Sources } pdebdiff() { if [ ! -r debian/changelog ]; then echo "ERR: can't read debian/changelog" exit fi egrep -v "^([[:space:]]+|$)" debian/changelog | \ sed 's/[^ ]* (\([^)]*\)).*/\1/' | \ head -n2|tr '\n' $IFS | \ read v1 v2 if [ -z "$v1" -o -z "$v2" ]; then echo "ERR: can't find version \$n and \$n-1 of the package"; exit fi if [ ! -r debian/control ]; then echo "ERR: can't read debian/control" exit fi egrep '^(Package|Architecture): ' debian/control | \ while read line ; do pkg=$(echo $line|sed 's/Package: //') read line arch=$(echo $line|sed 's/Architecture: //') if [ $arch = 'any' ]; then arch=$(dpkg-architecture -qDEB_HOST_ARCH) fi ( echo "*** DIFF ${pkg}_${v2} -> ${pkg}_${v1} ***" echo debdiff ../${pkg}_${v2}_${arch}.deb ../${pkg}_${v1}_${arch}.deb )|$PAGER done } pdeblint() { if [ ! -r debian/changelog ]; then echo "ERR: can't read debian/changelog" exit fi v=$(egrep -v "^([[:space:]]+|$)" debian/changelog | \ sed 's/[^ ]* (\([^)]*\)).*/\1/' | \ head -n1) if [ ! -r debian/control ]; then echo "ERR: can't read debian/control" exit fi pkg=$(grep '^Source: ' debian/control | sed 's/Source: //') arch=$(dpkg-architecture -qDEB_HOST_ARCH) changes="../${pkg}_${v}_${arch}.changes" if [ ! -r "$changes" ]; then echo "ERR: can't read changes file : ${changes}" exit fi lintian --color=auto -IEm --pedantic $changes $@ }