Package: devscripts Version: 2.10.25 Severity: normal Tags: patch Hi,
I use mergechanges to merge a _sources.changes file (only orig.tar.gz, diff.gz and dsc files) with an _i386.changes file (only i386 and all arch files, no sources) before my uploads. With the current mergechanges, the resulting changes file only contains the Checksums-Sha* fields of the _sources.changes (the ones from the _i386.changes file are discarded). I made a patch to correct this on my system. You may want to apply it upstream (or rewrite it). As for the other parts of the mergechanges script, it makes assumptions about the order in the changes files... Best regards, Vincent -- Package-specific info: --- /etc/devscripts.conf --- --- ~/.devscripts --- DEBCHANGE_RELEASE_HEURISTIC=changelog -- System Information: Debian Release: lenny/sid APT prefers unstable APT policy: (990, 'unstable'), (500, 'testing'), (500, 'stable'), (1, 'experimental') Architecture: i386 (i686) Kernel: Linux 2.6.25-rc8-686 (SMP w/1 CPU core) Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/bash Versions of packages devscripts depends on: ii debianutils 2.28.4 Miscellaneous utilities specific t ii dpkg-dev 1.14.18 package building tools for Debian ii libc6 2.7-10 GNU C Library: Shared libraries ii perl 5.8.8-12 Larry Wall's Practical Extraction ii sed 4.1.5-7 The GNU sed stream editor Versions of packages devscripts recommends: ii at 3.1.10.1 Delayed job execution and batch pr ii bsd-mailx [mailx] 8.1.2-0.20071201cvs-2 A simple mail user agent ii build-essential 11.3 informational list of build-essent ii bzr 1.3-1 easy to use distributed version co ii curl 7.18.0-1 Get a file from an HTTP, HTTPS or ii cvs 1:1.12.13-10 Concurrent Versions System ii cvs-buildpackage 5.21 A set of Debian package scripts fo ii dctrl-tools 2.12 Command-line tools to process Debi ii debian-keyring 2007.12.04 GnuPG (and obsolete PGP) keys of D ii debian-maintainers 1.27 GPG keys of Debian maintainers ii dput 0.9.2.30 Debian package upload tool ii dupload 2.6.3.3 utility to upload Debian packages ii epiphany-gecko [ww 2.20.3-1.1 Intuitive GNOME web browser - Geck ii equivs 2.0.7-0.1 Circumvent Debian package dependen ii fakeroot 1.9.4 Gives a fake root environment ii git-core 1:1.5.5-1 fast, scalable, distributed revisi ii gnupg 1.4.6-2.1 GNU privacy guard - a free PGP rep ii gnuplot 4.2.2-1 A command-line driven interactive ii iceape-browser [ww 1.1.9-1 Iceape Navigator (Internet browser ii iceweasel [www-bro 3.0~b5-1 lightweight web browser based on M ii konqueror [www-bro 4:3.5.9.dfsg.1-2+b1 KDE's advanced file manager, web b ii libauthen-sasl-per 2.10-1.1 Authen::SASL - SASL Authentication ii libcrypt-ssleay-pe 0.57-1 Support for https protocol in LWP ii libfile-desktopent 0.04-0.1 Perl module to handle freedesktop ii libparse-debcontro 2.005-2 Easy OO parsing of Debian control- ii libsoap-lite-perl 0.71-2 Client and server side SOAP implem ii libterm-size-perl 0.2-4 Perl extension for retrieving term ii libtimedate-perl 1.1600-9 Time and date functions for Perl ii liburi-perl 1.35.dfsg.1-1 Manipulates and accesses URI strin ii libwww-perl 5.808-1 WWW client/server library for Perl ii lintian 1.23.46 Debian package checker ii lsb-release 3.2-7 Linux Standard Base version report ii lynx [www-browser] 2.8.6-2 Text-mode WWW Browser ii mailx 1:20071201-2 Transitional package for mailx ren ii man-db 2.5.1-3 on-line manual pager ii mercurial 1.0-1 Scalable distributed version contr ii openssh-client [ss 1:4.7p1-8 secure shell client, an rlogin/rsh ii patch 2.5.9-4 Apply a diff file to an original ii patchutils 0.2.31-4 Utilities to work with patches ii perl [libdigest-md 5.8.8-12 Larry Wall's Practical Extraction ii strace 4.5.15-1.2 A system call tracer ii subversion 1.4.6dfsg1-2 Advanced version control system ii svk 2.0.1-1 A Distributed Version Control Syst ii unzip 5.52-11 De-archiver for .zip files ii w3m [www-browser] 0.5.1-5.1+b1 WWW browsable pager with excellent ii wdiff 0.5-17 Compares two files word by word ii wget 1.11.1-1 retrieves files from the web -- no debconf information
--- /tmp/mergechanges.orig 2008-04-14 09:25:47.000000000 +0200 +++ /usr/bin/mergechanges 2008-04-14 09:40:07.000000000 +0200 @@ -96,6 +96,10 @@ SOURCE=$(grep -h "^Source: " "$@" | sed -e "s,^Source: ,," | sort -u) # Extract & merge the files from all files FILES=$(egrep -h "^ [0-9a-f]{32} [0-9]+" "$@" | sort -u) +# Extract & merge the Sha1 from all files +SHA1=$(egrep -h "^ [0-9a-f]{40} [0-9]+" "$@" | sort -u) +# Extract & merge the Sha256 from all files +SHA256=$(egrep -h "^ [0-9a-f]{64} [0-9]+" "$@" | sort -u) # Extract & merge the description from all files DESCRIPTIONS=$(sed '/^Description:/,/^[^ ]/{/^ /p;d};d' "$@" | sort -u) @@ -143,14 +147,28 @@ cp "$1" ${OUTPUT} fi -# Replace the Architecture: field, nuke the value of Files:, and insert -# the Description: field before the Changes: field -eval "sed -e 's,^Architecture: .*,Architecture: ${ARCHS},; /^Files: /q' \ +# Replace the Architecture: field, nuke the value of Files:, Checksums-Sha1: +# and/or Checksums-Sha256:, and insert the Description: field before the +# Changes: field +eval "sed -e 's,^Architecture: .*,Architecture: ${ARCHS},; /^\(Files\|Checksums-Sha\(1\|256\)\): /Q' \ -e '/^Description:/,/^[^ ]/{/^Description:/d;/^[ ]/d}' \ -e '/^Changes:/{r '${DESCFILE} -e ';aChanges:' -e ';d}' \ ${OUTPUT} ${REDIR1}" +# Voodoo magic to get the merged Checksums-Sha1 into the output (if any) +if test $(echo "${SHA1}" | wc -l) -ge 1; then + eval "echo 'Checksums-Sha1: ' ${REDIR2}" + eval "echo '${SHA1}' ${REDIR2}" +fi + +# Voodoo magic to get the merged Checksums-Sha256 into the output (if any) +if test $(echo "${SHA256}" | wc -l) -ge 1; then + eval "echo 'Checksums-Sha1: ' ${REDIR2}" + eval "echo '${SHA256}' ${REDIR2}" +fi + # Voodoo magic to get the merged filelist into the output +eval "echo 'Files: ' ${REDIR2}" eval "echo '${FILES}' ${REDIR2}" exit 0