Your message dated Sat, 08 Jul 2017 20:48:50 +0000
with message-id <[email protected]>
and subject line Bug#862668: fixed in devscripts 2.17.7
has caused the Debian Bug report #862668,
regarding debsnap: fails with multitarball source packages
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.)
--
862668: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=862668
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: devscripts
Version: 2.15.3+deb8u1
Severity: important
Tags: patch
Hi,
Trying to grab vlc 2.2.5-1 during the BSP in Paris this weekend (to
debug then file #862474), I only got the following files:
vlc_2.2.4.orig-ffmpeg-2-8-11.tar.xz
vlc_2.2.5-1.debian.tar.xz
vlc_2.2.5-1.dsc
vlc_2.2.5.orig.tar.xz
while of course the right ones would have been:
vlc_2.2.5-1.debian.tar.xz
vlc_2.2.5-1.dsc
vlc_2.2.5.orig-ffmpeg-2-8-11.tar.xz
vlc_2.2.5.orig.tar.xz
You'll find attached a patch which starts by downloading and parsing the
dsc file to extract the list of required filenames, which should help a
bit compared to the current “let's find one of the filenames which had
suitable contents” approach. Checking the presence of the source package
name at the beginning of the filename is not sufficient…
I've also checked the issue and its resolution for various versions of
vlc, and with all current versions of firefox-esr (using a loop over
rmadison's output).
Thanks for considering.
KiBi.
>From 07c7646dfd187da7c296a463561244de97a2a3ab Mon Sep 17 00:00:00 2001
From: Cyril Brulebois <[email protected]>
Date: Mon, 15 May 2017 16:13:14 +0200
Subject: [PATCH] debsnap: parse the dsc file when downloading source packages.
It's important to restore contents under the right filename for the
source package to be consistent, instead of picking one of the few
filenames referenced as having such contents. Symptomatic issue: a
source tarball with several tarballs, the extra ones being shared
between several upstreams version if they don't change, like ffmpeg
2.8.11 between vlc 2.2.4 and 2.2.5:
- vlc_2.2.4.orig-ffmpeg-2-8-11.tar.xz
- vlc_2.2.5.orig-ffmpeg-2-8-11.tar.xz
Let's restore contents under the right filename by looking it up in the
dsc file.
---
scripts/debsnap.pl | 65 +++++++++++++++++++++++++++++++++++++++++++++++-------
1 file changed, 57 insertions(+), 8 deletions(-)
diff --git a/scripts/debsnap.pl b/scripts/debsnap.pl
index 8a3bf0f..90f5da2 100755
--- a/scripts/debsnap.pl
+++ b/scripts/debsnap.pl
@@ -334,24 +334,73 @@ else {
next;
}
+ # Get the dsc file and parse it to get the list of files to be
+ # restored (this should fix most issues with multi-tarball
+ # source packages):
+ my $dsc_name;
+ my $dsc_hash;
foreach my $hash (keys %{$src_json->{fileinfo}}) {
my $fileinfo = $src_json->{fileinfo}{$hash};
- my $file_name;
- # fileinfo may match multiple files (e.g., orig tarball for iceweasel 3.0.12)
foreach my $info (@$fileinfo) {
- if ($info->{name} =~ m/^\Q${package}\E/) {
- $file_name = $info->{name};
+ if ($info->{name} =~ m/^\Q${package}\E_.*\.dsc/) {
+ $dsc_name = $info->{name};
+ $dsc_hash = $hash;
last;
}
}
- unless ($file_name) {
- warn "$progname: No files with hash $hash matched '${package}'\n";
+ last if $dsc_name;
+ }
+ unless ($dsc_name) {
+ warn "$progname: No dsc file detected for $package version $version->{version}\n";
+ $warnings++;
+ next;
+ }
+
+ # Retrieve the dsc file:
+ my $file_url = "$opt{baseurl}/file/$dsc_hash";
+ if (!have_file("$opt{destdir}/$dsc_name", $dsc_hash)) {
+ verbose "Getting dsc file $dsc_name: $file_url";
+ $mkDestDir->();
+ LWP::Simple::getstore($file_url, "$opt{destdir}/$dsc_name");
+ }
+
+ # Get the list of files from the dsc:
+ my @files;
+ open my $fh, '<', "$opt{destdir}/$dsc_name"
+ or die "unable to open the dsc file $opt{destdir}/$dsc_name";
+ while (<$fh> !~ /^Files:/) { }
+ while (<$fh> =~ /^ (\S+) (\d+) (\S+)$/) {
+ my ($checksum, $size, $file) = ($1, $2, $3);
+ push @files, $file;
+ }
+ close $fh
+ or die "unable to close the dsc file";
+
+ # Iterate over files and find the right contents:
+ foreach my $file_name (@files) {
+ my $file_hash;
+ foreach my $hash (keys %{$src_json->{fileinfo}}) {
+ my $fileinfo = $src_json->{fileinfo}{$hash};
+
+ foreach my $info (@{$fileinfo}) {
+ if ($info->{name} eq $file_name) {
+ $file_hash = $hash;
+ last;
+ }
+ }
+ last if $file_hash;
+ }
+ unless ($file_hash) {
+ # Warning: this next statement will only move to the
+ # next files, not the next package
+ print "$progname: No hash found for file $file_name needed by $package version $version->{version}\n";
$warnings++;
next;
}
- my $file_url = "$opt{baseurl}/file/$hash";
+
+ my $file_url = "$opt{baseurl}/file/$file_hash";
$file_name = basename($file_name);
- if (!have_file("$opt{destdir}/$file_name", $hash)) {
+ if (!have_file("$opt{destdir}/$file_name", $file_hash)) {
verbose "Getting file $file_name: $file_url";
$mkDestDir->();
LWP::Simple::getstore($file_url, "$opt{destdir}/$file_name");
--
2.1.4
--- End Message ---
--- Begin Message ---
Source: devscripts
Source-Version: 2.17.7
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.
James McCoy <[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: Sat, 08 Jul 2017 15:21:11 -0400
Source: devscripts
Binary: devscripts
Architecture: source
Version: 2.17.7
Distribution: unstable
Urgency: medium
Maintainer: Devscripts Devel Team <[email protected]>
Changed-By: James McCoy <[email protected]>
Description:
devscripts - scripts to make the life of a Debian Package maintainer easier
Closes: 789587 814570 830968 841910 845659 854366 860863 861020 862668 866117
866998 867416 867662
Changes:
devscripts (2.17.7) unstable; urgency=medium
.
[ Paul Wise ]
* Switch from /org to /srv in paths on debian.org servers
.
[ Mattia Rizzolo ]
* debchange:
+ Target stretch-backports with --bpo. Closes: #867662
+ Support $codename{,-{proposed-updates,security}} as well. Closes: #789587
* bts:
+ Add patch from Samuel Thibault <[email protected]> to add support for
the new 'a11y' tag. Closes: #867416
.
[ Hilko Bengen ]
* debchange:
+ Replace dpkg call with Dpkg::Version::compare_version (Closes: #854366)
.
[ Cyril Brulebois ]
* debsnap:
+ parse the dsc file when downloading source packages. (Closes: #862668)
.
[ Ximin Luo ]
* debpatch:
+ New script, Apply a debdiff to a Debian source package. (Closes: #845659)
.
[ Antonio Terceiro ]
* debrepro:
+ When applying disorderfs to the second build, make sure the final path
from where the package is built is the same as in the first build, to
avoid differences in binaries due to the build path. There is no good
solution for making builds independent of build path yet, so the current
practice is to run both builds at the same location.
.
[ James McCoy ]
* uscan:
+ Use Dpkg::Version instead of shelling out to dpkg to compare upstream &
mangled versions. This improves the performance slightly and also
avoids dpkg's errors about malformed versions. (Closes: #866998)
+ When GPG verification is configured but the verification fails (either
during actual verification or because of missing keyring/signature),
exit uscan with an error. (Closes: #841910)
* grep-excuses:
+ Use YAML::Syck to parse excuses.yaml instead of using regex to pick
apart update_excuses.html.
* bts:
+ Create the cache directory if it doesn't already exist. Thanks to
Joonas Kylmälä for the patch. (Closes: #866117)
* debchange:
+ When an empty message is provided on the command-line, do not add an
empty entry to the changelog. Thanks to Adam Barratt for the patch.
(Closes: #830968)
* debuild:
+ Disable signing if the target distribution is "UNRELEASED", but honor
dpkg-buildpackage's --force-sign as an override. (Closes: #861020)
* debsnap:
+ Preserve the remote mtime of the downloaded file. Thanks to Guillem
Jover for the patch. (Closes: #860863)
* Declare compliance with Policy 4.0.0, no changes needed.
* Bump debhelper compat to 10.
.
[ Ben Finney ]
* debdiff:
+ Code style improvements in Bash command completion script.
+ Restructure Bash completion function.
(Closes: #814570)
Checksums-Sha1:
0956543a3a004eb96723db27781d3ce831192ebd 2468 devscripts_2.17.7.dsc
c5028db6aa72cbdca61ab15f541dbf928d6a4b72 696252 devscripts_2.17.7.tar.xz
5da005386907a3cf58e85d7f7acb3ffe53eaf2d1 9674 devscripts_2.17.7_amd64.buildinfo
Checksums-Sha256:
0490bd5319879b15576275adb48e98f8a9723f2da9153b4785c9a103831e780b 2468
devscripts_2.17.7.dsc
9c6dacf893eea1621950bc73b7d63711d3b2a8f9e9797060507b7ee2cee43f7b 696252
devscripts_2.17.7.tar.xz
4389448c3fb493e604c26eb8da55fa6485887de0e427b7dbb797e13ed495a7af 9674
devscripts_2.17.7_amd64.buildinfo
Files:
5b87308347b5c47cac09925e4a2e84d0 2468 devel optional devscripts_2.17.7.dsc
0f6496a0c349e14f0732883a7296c69b 696252 devel optional devscripts_2.17.7.tar.xz
00cdfdc7529e4b6cf6806ca3d01a3ef8 9674 devel optional
devscripts_2.17.7_amd64.buildinfo
-----BEGIN PGP SIGNATURE-----
iQKTBAEBCgB9FiEEkb+/TWlWvV33ty0j3+aRrjMbo9sFAllhNpFfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDkx
QkZCRjRENjk1NkJENURGN0I3MkQyM0RGRTY5MUFFMzMxQkEzREIACgkQ3+aRrjMb
o9v/WhAApv31VD2iKQPGq2q80fVUXZuHLHlRK3cqxDBeda8FWZTEuKxBCBm7E0P6
4gwIcPSHfNhJbhu/FEnjjB9JVtTtQU0yMA3ib92U5wapUHjI5RXxAyD5yiZtWe5Q
3rMKi/MMpnmt1ByGBpyNoEwh9pQDSB+VB7a+d1VG9wrmQcvOG1bygNgh8CzhOGMl
pj0NBDBmcxAxFM34P1u0/cdfzxENCATm3KZ1o82l+Ia4NsHqijImTpKUv7cDhqq6
soz6quPIgrkDGrD/9DPul6r/2DXkfNkXf2pHhlEWrC478zss3/jXDkKTmQglH95R
6t/bkVRC98ElvyqlT3/P/HJcOTLSA0Ecf6Ug7L00S8D5uqNWZKLP0BRfC7g1I65N
ROJ/QCaYLdQ0jZy5+q30v2gRXp+LNJkXmo4gXbe4nJ4+7kxbXUbMzR2MkgEpvE9H
6aBRaJxPjWtE2W2SPdqqONOgnYfPxtnd8n8CmxcKobsPTujFpfXf9C8kELpCSpmu
xwtlc5tjbneW054edOXltPQOOcYOK8Ibk3NDD6Llp37TSsaSDXTMNDQPYcHktj7x
amuZQw7QbtZpVmte6QpHY//JoDZha0ujvXOu79n6XtO9gPMEMKSdx1VxR3vGR/bp
OjOTOA95YU4jAy13tGOLN9/kqgq7LkYjYF9I34gg/bG8N/aRSo0=
=N2o6
-----END PGP SIGNATURE-----
--- End Message ---
_______________________________________________
devscripts-devel mailing list
[email protected]
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/devscripts-devel