This is an automated email from the git hooks/post-receive script. jamessan pushed a commit to branch master in repository devscripts.
commit c3ff74aebb30502e8c6100bfc4886d663414ef5d Author: James McCoy <[email protected]> Date: Sat Jun 7 15:46:10 2014 -0400 debchange: utf-8 decode Maintainer when parsing changelog Signed-off-by: James McCoy <[email protected]> --- debian/changelog | 2 ++ scripts/debchange.pl | 1 + test/test_debchange | 55 +++++++++++++++++++++++++++++++++++++++++++++++++--- 3 files changed, 55 insertions(+), 3 deletions(-) diff --git a/debian/changelog b/debian/changelog index 36d0e04..bb2b052 100644 --- a/debian/changelog +++ b/debian/changelog @@ -3,6 +3,8 @@ devscripts (2.14.5) UNRELEASED; urgency=medium * debchange: + Verify $opt_vendor is defined before trying to use it to avoid a warning about an unitialized variable. + + utf-8 decode the maintainer name when reading it from the changelog. + (Closes: #750855) -- James McCoy <[email protected]> Sat, 07 Jun 2014 15:31:54 -0400 diff --git a/scripts/debchange.pl b/scripts/debchange.pl index 0ad61b5..640e944 100755 --- a/scripts/debchange.pl +++ b/scripts/debchange.pl @@ -644,6 +644,7 @@ if (! $opt_create || ($opt_create && $opt_news)) { $VERSION=$changelog->{Version}; fatal "No maintainer in changelog!" unless exists $changelog->{Maintainer}; + $changelog->{Maintainer} = decode_utf8($changelog->{Maintainer}); ($MAINTAINER,$EMAIL) = ($changelog->{Maintainer} =~ /^([^<]+) <(.*)>/); fatal "No distribution in changelog!" unless exists $changelog->{Distribution}; diff --git a/test/test_debchange b/test/test_debchange index 681e212..4b69cb2 100755 --- a/test/test_debchange +++ b/test/test_debchange @@ -23,6 +23,17 @@ fi . "${0%/*}/shunit2-helper-functions.sh" +setUp() { + CHANGELOG="${SHUNIT_TMPDIR}/changelog" + DEBFULLNAME="Raphaël Hertzog" + DEBEMAIL="[email protected]" + export DEBFULLNAME DEBEMAIL +} + +tearDown() { + unset CHANGELOG DEBFULLNAME DEBEMAIL +} + runCommand2() { local param="$1" local exp_stdout="$2" @@ -43,7 +54,7 @@ runCommand2() { } success() { - runCommand2 "-c ${SHUNIT_TMPDIR}/changelog $1" "" "" 0 + runCommand2 "-c \"$CHANGELOG\" $1" "" "" 0 } checkVersion() { @@ -51,10 +62,10 @@ checkVersion() { local param="$2" local start_version="$3" local expected_version="$4" - rm -f ${SHUNIT_TMPDIR}/changelog + rm -f "$CHANGELOG" success "--create $start_param --package test-package -v $start_version \"Devscripts Test Suite.\"" success "$param \"Version test.\"" - local version=$(dpkg-parsechangelog -l${SHUNIT_TMPDIR}/changelog | sed -n 's/^Version: //p') + local version=$(dpkg-parsechangelog -l"$CHANGELOG" | sed -n 's/^Version: //p') assertEquals "\"dch $param\" from version $start_version" "$expected_version" "$version" } @@ -110,4 +121,42 @@ testUbuntuRebuild() { checkUbuntuVersion "-R" "0.1-2build3" "0.1-2build4" } +verifyMaintainer() { + local maintainer="$(dpkg-parsechangelog -l"$CHANGELOG" | sed -n 's/^Maintainer: //p')" + assertEquals "\"$1\"" "$DEBFULLNAME <$DEBEMAIL>" "$maintainer" +} + +testEncoding() { + rm -f "$CHANGELOG" + success "--create -D unstable --package test-package -v 1.0-1 \"First upload\"" + verifyMaintainer "dch --create" + + success "-a \"Some change\"" + verifyMaintainer "dch -a" + + success "-i \"Second upload\"" + verifyMaintainer "dch -i" + + success "-e \"Another change\"" + verifyMaintainer "dch -e" + + success "-n NMU" + verifyMaintainer "dch -n" + + success "-v 1.1-1 \"New upstream\"" + verifyMaintainer "dch -v" + + success "--bin-nmu \"Rebuild against libfoo\"" + verifyMaintainer "dch --bin-nmu" + + success "-q \"QA upload\"" + verifyMaintainer "dch -q" + + success "-s \"Security upload\"" + verifyMaintainer "dch -s" + + success "--bpo \"Backporrts upload\"" + verifyMaintainer "dch --bpo" +} + . shunit2 -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/collab-maint/devscripts.git _______________________________________________ devscripts-devel mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/devscripts-devel
