X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=tools%2Fnd_backport;h=b91b54a3d54e60780ed9b73de1b3286e71256d4f;hb=68a98ac8a219dbe3f5dbeee91e2027c4b1f5dacf;hp=03ef7867635e0d1b8d29f2537390e4057884cd8e;hpb=9a229a41d66ff3d986a2f79fcf3056a38ac031bb;p=neurodebian.git diff --git a/tools/nd_backport b/tools/nd_backport index 03ef786..b91b54a 100755 --- a/tools/nd_backport +++ b/tools/nd_backport @@ -1,54 +1,48 @@ #!/bin/bash +# +# Simple frontend for backport-dsc to do it the NeuroDebian way +# set -e -set -u -if [ -z "$3" ]; then +release=$1 +dscfile=$2 + +if [ -z "$release" ]; then + echo "You need to provide a distribution codename (e.g. 'lenny', 'squeeze')." + exit 1 +fi + +if [ -z "$2" ]; then cat << EOT Script to backport a source package to some target release. Synopsis -------- - nd_backport + nd_backport EOT exit 1 fi -. /home/neurodebian/neurodebian.git/tools/nd_cmdsettings.sh - -DEBEMAIL="pkg-exppsy-maintainers@lists.alioth.debian.org" -DEBFULLNAME="NeuroDebian Maintainers" -export DEBEMAIL DEBFULLNAME - -dscfile=$3 -srcname=${dscfile%%_*} -srcversion=${dscfile#*_} -srcversion=${srcversion%%.dsc} -wdir=$(mktemp -d -t nd_backport.XXXXXX) -sdir=$wdir/${srcname}-${srcversion} - -echo "Source package name: $srcname" -echo "Source package version: $srcversion" -echo "Extracting source package to: $sdir" - -dpkg-source -x $dscfile $sdir - -echo "Backporting to: $family $dist" - -changelog_entry="Backport of Debian package version $srcversion for \ -NeuroDebian. Problems with the backport should be reported to the -NeuroDebian maintainers and not to the original Debian maintainer." +set -u -echo | debchange \ - --noconf --force-bad-version \ - -c $sdir/debian/changelog \ - -D neurodebian \ - -b -l "~${dist}.nd" \ - $changelog_entry +upstream_name=${dscfile%%_*} -dpkg-source -b $sdir +# To overcome bash desire to claim empty array unbound under 'set -u' +# above, lets just specify empty rule for sed when nothing to be done +mod_control="" +if [ "$upstream_name" != "neurodebian" ]; then + # Avoid injection into neurodebian package itself + mod_control='s/\(^Depends:\) */\1 neurodebian-popularity-contest, /g' +fi -# cleanup -rm -rf $wdir +# assemble an appropriate backport-dsc call +backport-dsc \ + --maint-name "NeuroDebian Maintainers" \ + --maint-email "team@neuro.debian.net" \ + --target-distribution "$release" \ + --version-suffix "$(nd_querycfg "release backport ids" "$release")" \ + --mod-control "$mod_control" \ + "$dscfile"