Your message dated Thu, 31 Oct 2024 14:48:32 +0000
with message-id <[email protected]>
and subject line Bug#757528: fixed in devscripts 2.24.2
has caused the Debian Bug report #757528,
regarding devscripts: speed up debdiff for 3.0 (quilt) format
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)
--
757528: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=757528
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
package: devscripts
version: 2.14.6
severity: wishlist
Hi,
I spent some time a while back speeding up debdiff and have been
testing it for a few months successfully now. This really decreases
diffing time/memory for 3.0 packages that share their orig files.
Please see proposed patch and some example performance below.
Best wishes,
Mike
$ time debdiff linux_3.14.13-1.dsc linux_3.14.13-2.dsc > linux-old.patch
real 2m56.959s
user 0m28.076s
sys 0m14.452s
$ time ./devscripts/scripts/debdiff.pl linux_3.14.13-1.dsc
linux_3.14.13-2.dsc > linux-new.patch
real 0m0.814s
user 0m0.632s
sys 0m0.244s
$ diff linux-old.patch linux-new.patch
diff -Nru devscripts-2.14.6/debian/changelog devscripts-2.14.6+nmu1/debian/changelog
--- devscripts-2.14.6/debian/changelog 2014-08-05 02:34:56.000000000 +0000
+++ devscripts-2.14.6+nmu1/debian/changelog 2014-08-08 22:12:48.000000000 +0000
@@ -1,3 +1,9 @@
+devscripts (2.14.6+nmu1) UNRELEASED; urgency=medium
+
+ * Speed up debdiff for source format 3.0 (quilt) packages.
+
+ -- Michael Gilbert <[email protected]> Fri, 08 Aug 2014 22:12:00 +0000
+
devscripts (2.14.6) unstable; urgency=medium
[ Benjamin Drung ]
diff -Nru devscripts-2.14.6/scripts/debdiff.pl devscripts-2.14.6+nmu1/scripts/debdiff.pl
--- devscripts-2.14.6/scripts/debdiff.pl 2014-08-05 02:34:56.000000000 +0000
+++ devscripts-2.14.6+nmu1/scripts/debdiff.pl 2014-08-08 20:25:33.000000000 +0000
@@ -503,9 +503,12 @@
if ($file =~ /\.diff\.gz$/) {
$diffs[$i] = cwd() . '/' . $file;
}
- elsif ($file =~ /((?:\.orig)?\.tar\.$compression_re|\.git)$/) {
- $origs[$i] = $file;
+ elsif ($file =~ /\.debian\.tar\.$compression_re_file_ext$/) {
+ $diffs[$i] = cwd() . '/' . $file;
}
+ elsif ($file =~ /((?:\.orig)?\.tar\.$compression_re_file_ext|\.git)$/) {
+ $origs[$i] = $file;
+ }
} else {
warn "Unrecognised file line in .dsc:\n$_\n";
}
@@ -544,7 +547,8 @@
# particularly if the orig tar ball contains one which is patched in the
# diffs
if ($origs[1] eq $origs[2] and defined $diffs[1] and defined $diffs[2]
- and scalar(@excludes) == 0 and $use_interdiff and !$wdiff_source_control) {
+ and scalar(@excludes) == 0 and $use_interdiff and !$wdiff_source_control
+ and $dscformats[1] ne '3.0 (quilt)' and $dscformats[2] ne '3.0 (quilt)') {
# same orig tar ball, interdiff exists and not wdiffing
my $tmpdir = tempdir(CLEANUP => 1);
@@ -588,7 +592,7 @@
warn "Warning: You do not seem to have interdiff (in the patchutils package)\ninstalled; this program would use it if it were available.\n";
}
# possibly different orig tarballs, or no interdiff installed,
- # or wdiffing debian/control
+ # or source format 3.0 (quilt), or wdiffing debian/control
our ($sdir1, $sdir2);
mktmpdirs();
for my $i (1,2) {
@@ -596,12 +600,25 @@
my @opts = ('-x');
push (@opts, '--skip-patches') if $dscformats[$i] eq '3.0 (quilt)';
my $diri = ${"dir$i"};
- eval {
- spawn(exec => ['dpkg-source', @opts, $dscs[$i]],
- to_file => '/dev/null',
- chdir => $diri,
- wait_child => 1);
- };
+ if ($origs[1] eq $origs[2] and $dscformats[$i] eq '3.0 (quilt)') {
+ eval {
+ my $source = $origs[$i];
+ $source =~ s/\.orig\.tar\.$compression_re_file_ext//;
+ $source =~ s/_/-/;
+ mkdir $diri . '/' . $source;
+ spawn(exec => ['tar', 'xf', $diffs[$i]],
+ to_file => '/dev/null',
+ chdir => $diri . '/' . $source,
+ wait_child => 1);
+ };
+ } else {
+ eval {
+ spawn(exec => ['dpkg-source', @opts, $dscs[$i]],
+ to_file => '/dev/null',
+ chdir => $diri,
+ wait_child => 1);
+ };
+ }
if ($@) {
my $dir = dirname $dscs[1] if $i == 2;
$dir = dirname $dscs[2] if $i == 1;
--- End Message ---
--- Begin Message ---
Source: devscripts
Source-Version: 2.24.2
Done: Holger Levsen <[email protected]>
We believe that the bug you reported is fixed in the latest version of
devscripts, which is due to be installed in the Debian FTP archive.
A summary of the changes between this version and the previous one is
attached.
Thank you for reporting the bug, which will now be closed. If you
have further comments please address them to [email protected],
and the maintainer will reopen the bug report if appropriate.
Debian distribution maintenance software
pp.
Holger Levsen <[email protected]> (supplier of updated devscripts package)
(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [email protected])
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
Format: 1.8
Date: Thu, 31 Oct 2024 14:38:24 +0100
Source: devscripts
Architecture: source
Version: 2.24.2
Distribution: unstable
Urgency: medium
Maintainer: Devscripts Maintainers <[email protected]>
Changed-By: Holger Levsen <[email protected]>
Closes: 524476 578997 757528 1014340 1020336 1033041 1051711 1060448 1065563
1078426 1082517 1084996
Changes:
devscripts (2.24.2) unstable; urgency=medium
.
[ Mattia Rizzolo ]
* Update Portuguese translation.
Thanks to Américo Monteiro <[email protected]> (Closes: #1051711)
* bts: do not use backticks as quote marks. (Closes: #578997)
* checkbashisms: avoid false positive for "read without variable".
Thanks to Tim Landscheidt <[email protected]> for the patch.
(Closes: #1020336)
* debcommit: implement a new --signoff option (Closes: #524476)
* debdiff: Speed up debdiff for source format 3.0 (quilt) packages.
Thanks to Michael Gilbert <[email protected]> for the patch.
(Closes: #757528)
* perltidy.
* bts: fix typo in man page. (Closes: #1082517)
.
[ Johannes Schauer Marin Rodrigues ]
* scripts/debootsnap: always set TMPDIR for reliable behaviour of
equivs-build.
* scripts/debrebuild.pl:
- always call sbuild with --verbose to force output even if not connected
to an interactive tty.
- always call sbuild with --nolog now that it will always output to stdout
thanks to the --verbose switch.
- use debsnap from git if we are running from git
- use dscverify from git if we are running from git
- clean up temporary files using CLEANUP=>1 of File::Temp
* Unify proxy handling between debbisect and debootsnap.
* scripts/devscripts/proxy.py:
- now that snapshot.d.o is fixed, we do not need to throttle the download
speed anymore.
- do not delete *.part files to allow multiple processes sharing the same
cache.
- add process ID to partial file name.
- ignore failures of self.send_error()
* scripts/build-rdeps.pl:
- improve man page wording.
- re-arrange to align option name with option value in the same line.
- decompress Packages and Sources for dose-ceve
- add --no-ftbfs using debftbfs to prevent emitting reverse dependencies
that are known to ftbfs.
- support computing reverse dependencies for more than one binary package
with only a single call to dose-ceve.
- components other than 'main' also need 'main' being part of the binary
package set for correct rdep computation.
* scripts/reproducible-check: make black happy.
* debftbfs: add a new script which lists source packages which have FTBFS
bugs filed against them and prints them with the bug number and title.
.
[ Jelmer Vernooij ]
* deb-janitor: Split out failure description in status subcommand.
.
[ Andrea Pappacoda ]
* bts: fix crash when using submissions/smtps (Closes: #1078426)
.
[ Holger Levsen ]
* scripts/devscripts/proxy.py and scripts/reproducible-check: make pylint
and black happy.
* scripts/reproducible-check: fix typo, leading to incorrect results.
Thanks to Oejet.
* Add myself to uploaders.
.
[ Georgios Zarkadas ]
* debcheckout: Stop using given/when since it is deprecated.
(Closes: #1060448)
.
[ James McCoy ]
* pylint: Add max-positional-arguments=10 to test config.
* copyright: Remove duplicate scripts/devscripts/* stanza.
* bts: fix warning if missing argument for "severity" command.
(Closes: #1014340)
* dget: Fix handling of folded Binary lines. (Closes: #1033041)
.
[ Salvatore Bonaccorso ]
* uscan: bash-completion: Add support for --vcs-export-uncompressed option.
(Closes: #1084996)
.
[ Vignesh Raman ]
* debchange: Add --date argument for specifying the changelog entry date.
* test: debchange: add test case for date feature.
.
[ Dylan Aïssi ]
* test: debchange: add test case for date feature.
.
[ Jakub Wilk ]
* salsa: fix typo "branch as no origin". (Closes: #1065563)
.
[ Jochen Sprickerhof ]
* scripts/debrebuild.pl: don't run piuparts.
.
[ kpcyrd ]
* debootsnap:
- replace generic assertion error with human readable error and diff.
- debootsnap: Make `1 of 226` lines more descriptive.
Checksums-Sha1:
2b6828bcba65d74b16f0648525f6307c09a6b8fa 3375 devscripts_2.24.2.dsc
6a2c71a499074edd35b8ef0b860c70b94d42c484 1018352 devscripts_2.24.2.tar.xz
f5d1ba1df5d1509b6ec1b6167ba353f682075a4b 17982
devscripts_2.24.2_source.buildinfo
Checksums-Sha256:
58809a64f108d0d8ffefd93b837d794dc6c96237000e7b9aa4cde4bba84c106f 3375
devscripts_2.24.2.dsc
e0481ec6765ae59f85790b246432ac360fef55f1b54edbc2272707e377cdfcc9 1018352
devscripts_2.24.2.tar.xz
6a75f6cd619ec3d9f1980f7503c620ba0084068696a12c1fb16d9f044c20f7fc 17982
devscripts_2.24.2_source.buildinfo
Files:
a1d4d1eff8df5a5fd125b6ca5b4bbb8a 3375 devel optional devscripts_2.24.2.dsc
d00f92278d69903c9cef5d5fb44ae2c6 1018352 devel optional
devscripts_2.24.2.tar.xz
fb42940ce2bfb5eb0614a7849fd5b7ae 17982 devel optional
devscripts_2.24.2_source.buildinfo
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCgAdFiEEuL9UE3sJ01zwJv6dCRq4VgaaqhwFAmcjifkACgkQCRq4Vgaa
qhwdUw/+PXhB7ee8IH+j3dmKCibZw43dfRdxIHmZfKYu69fvTAIgHSgNHYtNQYXs
2QUOJJZt70BMlSaVAxy9VhNkYBqotHLodWF2d+ymBjWySxHBZq25DIJGfM/e9ofN
A1ECQ1dUfDLwn0Jksf0cW3uC1TLir1szLpzPGQBSZwyRLF5sbifWbg9q+FQlF/gc
YR/2PUS0VV2obaNzdj21qfJ8wUAvQwqacQam0nsN7X9bJdO6W2YAYzwkYty8J+4d
5wHhIRIuCmglSwSft91cXpn7JlCEbpDWPHqUIemYvi4F62VA/fDUfPDWtPKXE/J8
Z/2fXcFmcb1clRW6M6z/dmjYLMfGO2aRLFvGjk7i69vqI22lFmreI1MPu5qod6O9
8zZlBC30E7IC6v3hvel3C4ZBfA+CNGAxICDJcB81vFV7ldNPcqih3AB+Zd9NNCb5
xRqa73ltfNqw/ZgocYQ8TMkUYapw2tI+ilh5yGJFnqWyOy7Be9mDnBQssLNyg+U1
sWw+HtdG1oW6GXeJQaUZaG3ETeW9S4BZDsq3SMpQ/hksbRqBm5uCqLuNVXt43nOl
2M80OmnPYkseMQIwatdHzeOdilcAotcfEIYu8nbPLZT3UDxOxp1Qsa1rFaZbtZap
iYhq31r1tHsSoiZn8nm/muzoBymewupoC0SvXTb5psueD1fzv5M=
=JslR
-----END PGP SIGNATURE-----
pgpE99Qmtj4he.pgp
Description: PGP signature
--- End Message ---