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