Your message dated Fri, 24 Nov 2017 04:33:46 +0000
with message-id <[email protected]>
and subject line Bug#871620: fixed in debian-goodies 0.79
has caused the Debian Bug report #871620,
regarding find-dbgsym-packages: New tool to get list of dbgsym packages from
core dump or PID
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.)
--
871620: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=871620
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: debian-goodies
Version: 0.69.1
Severity: wishlist
Dear debian-goodies Maintainers,
as per the discussion at
https://lists.debian.org/debian-devel/2017/08/msg00150.html
there is not enough infrastructure to use the new automatic debug symbol
packages. Until someone implements proper support in apt, I therefore
suggest to include the script I have written that uses the build-ids to
give a list of the relevant debug packages
Would you agree that this is a good match for debian-goodies? I could
maintain it in debian-goodies, then.
Cheers,
Stefan
#!/usr/bin/perl
# Get list of debug symbol packages relevant for a core file or ELF
# program/library.
#
# Copyright (C) 2017 Stefan Fritsch <[email protected]>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
use strict;
use warnings FATAL => 'all';
use autodie qw(:all);
use v5.14;
use IPC::System::Simple qw(capture);
$ENV{LC_ALL} = 'C';
if (scalar @ARGV == 0) {
usage();
}
my %pkgs;
foreach my $arg (@ARGV) {
my %build_ids;
if ($arg =~ /^\d+$/) {
%build_ids = get_build_ids_from_pid($arg);
} else {
%build_ids = get_build_ids_from_core($arg);
}
foreach my $id (keys %build_ids) {
my $name = $build_ids{$id};
next if $name =~ /^linux-vdso[.]so[.]/;
my @p = get_debs_from_id($id);
if (scalar @p == 0) {
warn "Cannot find debug package for $name ($id)\n";
} elsif (scalar @p > 1) {
warn "Multiple packages for $name ($id): @p\n";
}
foreach my $p (@p) {
$pkgs{$p} = 1;
}
}
}
say join(" ", sort keys %pkgs);
exit 0;
#### sub routines ####
sub parse_eu_unstrip
{
my ($output) = @_;
my %ids;
foreach my $line (split(/\n/, $output)) {
chomp $line;
# 0x7fa9b8017000+0x39e9a0
79450f6e36287865d093ea209b85a222209925ff@0x7fa9b8017280
/lib/x86_64-linux-gnu/libc.so.6
/usr/lib/debug/.build-id/79/450f6e36287865d093ea209b85a222209925ff.debug
libc.so.6
# 0x7f7f7235e000+0x17000 - /usr/share/locale/de/LC_MESSAGES/bash.mo -
/usr/share/locale/de/LC_MESSAGES/bash.mo
# 0x7ffd4098a000+0x2000
de7dac2df9f596f46fa94a387858ef25170603ec@0x7ffd4098a7d0 . - [vdso: 1740]
if ($line =~ m{^(?:0 | 0x[[:xdigit:]]+)
[+]
0x[[:xdigit:]]+
\s+
([[:xdigit:]]{40} [@] 0x[[:xdigit:]]+ | - )
\s+
\S+
\s+
\S+
\s+
(\S.*)
$}ix) {
my $id = $1;
my $name = $2;
if ($name =~ /\[vdso: \d+\]/) {
next;
}
if ($id eq '-') {
warn "No build-ID for $name\n";
next;
} elsif ($id =~ /^([[:xdigit:]]{40})[@]/) {
$id = $1;
} else {
die "BUG: id='$id'";
}
$ids{$id} = $name;
} else {
warn "Cannot parse eu-unstrip output: '$line'\n";
}
}
return (%ids);
}
sub get_build_ids_from_core
{
my ($filename) = @_;
my $output = capture("eu-unstrip -n --core=\Q$filename\E");
return parse_eu_unstrip($output);
}
sub get_build_ids_from_pid
{
my ($pid) = @_;
my $output = capture("eu-unstrip -n -p \Q$pid\E");
chomp $output;
return parse_eu_unstrip($output);
}
sub get_debs_from_id
{
my ($id) = @_;
my $output;
eval {
$output = capture("grep-aptavail -s Package -F Build-IDs \Q$id\E");
};
if ($@) {
return;
}
my %pkgs;
foreach my $line (split(/\n/, $output)) {
chomp $line;
if ($line =~ /^Package:\s*(\S+)$/) {
$pkgs{$1} = 1;
} else {
warn "Cannot parse grep-aptavail output: '$line'\n";
}
}
return sort keys %pkgs;
}
sub is_core_file
{
my ($filename) = (@_);
# warn qq{eu-readelf -n \Q$filename\E};
my $output = capture("eu-readelf -h \Q$filename\E");
if ($output =~ /^\s*Type:\s*CORE/m) {
return 1;
}
return;
}
sub usage
{
print << "EOF";
usage:
$0 <core file or PID> [ ... ]
You must already have the correct debug lines in your sources.list and have
executed 'apt-get update'.
$0 requires the elfutils and dctrl-tools packages to be installed.
EOF
exit 1;
}
# vim: syntax=perl sw=4 sts=4 sr et
--- End Message ---
--- Begin Message ---
Source: debian-goodies
Source-Version: 0.79
We believe that the bug you reported is fixed in the latest version of
debian-goodies, 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.
Axel Beckert <[email protected]> (supplier of updated debian-goodies 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: SHA256
Format: 1.8
Date: Fri, 24 Nov 2017 05:05:49 +0100
Source: debian-goodies
Binary: debian-goodies
Architecture: source all
Version: 0.79
Distribution: unstable
Urgency: low
Maintainer: Javier Fernández-Sanguino Peña <[email protected]>
Changed-By: Axel Beckert <[email protected]>
Description:
debian-goodies - Small toolbox-style utilities for Debian systems
Closes: 792139 861187 871620
Changes:
debian-goodies (0.79) unstable; urgency=low
.
[ Axel Beckert ]
* Drop long obsolete alternative dependency on grep-dctrl.
* Fix doubled program name in synopsis of check-enhancements man page.
* Document and apply clear rules for dependencies in debian-goodies:
+ Hard dependencies of single scripts should go into Recommends.
+ Optional dependencies of single scripts should go into Suggests.
+ Document rules in debian/README.source.
+ Document the dependencies of all included scripts in the long
package description.
+ Also add some missing package relations: apt, apt-file, man-db,
konqueror, libgnome2-bin, procps, www-browser, x-www-browser.
+ Fix comment about kfmexec in debmany: "kfmclient exec" is meant.
+ Fix mentioned package names in debmany man pages.
* Fix typo in comment in which-pkg-broke-build.
* Change indentation of long package description.
* dglob:
+ Extend dglob to support and emit architecture qualifiers.
(Closes: #792139, #861187)
+ Add option -A to suppress architecture qualifiers in output.
+ Refactor dglob to use less code duplication.
+ Fix exit code if non-existing package was queried with "-a".
+ Add examples section to dglob.pod.
.
[ Stefan Fritsch ]
* New tool find-dbgsym-packages. (Closes: #871620)
+ Add Suggests on elfutils and libipc-system-simple-perl.
Checksums-Sha1:
6d4b02ed9800678cf7ea22470b7291940539a89d 1642 debian-goodies_0.79.dsc
9b258c2c61ae0af41cb0ec8283e583801adceb65 64516 debian-goodies_0.79.tar.xz
a49306701069c3ff27e3a08695764f85ce66bafd 80896 debian-goodies_0.79_all.deb
5a8e9d2bd36270e0de8a7eeac0b78801fc883d2f 5388
debian-goodies_0.79_amd64.buildinfo
Checksums-Sha256:
53ddd30a7db8894b4037ca438116bc1e237f353e0419dedcf8b1e191afbb6cd1 1642
debian-goodies_0.79.dsc
7489aee5953eafde01ef540730f49453004f02d9fc4a6f83abb65226201756ce 64516
debian-goodies_0.79.tar.xz
c78713b342f757d4389932d6c057d06289320180e30f74474eb42c2392e50e5a 80896
debian-goodies_0.79_all.deb
07e986ff716e998b6a8a05fc8e88db89f5c09c0c48e5791aee87f028be433712 5388
debian-goodies_0.79_amd64.buildinfo
Files:
91d1f3e54b0d60378b661398cfb38b9b 1642 utils optional debian-goodies_0.79.dsc
69e599f6e11048a197f90e5632a5a3b8 64516 utils optional
debian-goodies_0.79.tar.xz
6964079aff170f2407413425282728bc 80896 utils optional
debian-goodies_0.79_all.deb
00cb0ea932a508201f971ab9b4861daa 5388 utils optional
debian-goodies_0.79_amd64.buildinfo
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCAAdFiEERoyJeTtCmBnp12Ema+Zjx1o1yXUFAloXm0YACgkQa+Zjx1o1
yXXVTRAAw8OSRJelYMt9iIp8DSHbE1Z91ndWT15MgcLgfrL/h0ZU1DccWGte3hbm
1JdfW/qPGo6fqSxYlPFMIAtmNLLVS/5fpoeuWzF5aN+dVY/KayvpDmyHIp90i+Ti
Ca9Vm2me/9PCOcubKy0PBGbfUrvyYleslfFxp/tAJpOL5rX21deI8zUeluK8FI2n
fUignFu4wgBwpQS8sR25XwrYQJon+kTAvQq/IBbKqJ/75WK7t1J4/AdgfKIZabWy
44yjg5UdatydKJN1a2212+T6moDoU8+/T/LDCUqgi5HPHtgvNEJgKzPaKiwtgcjH
sSC3BaSsjcz442yY8yRmyisyOLqtOEvEiGo6SwoPv+Vgqqw68TJ3d2v1sIaIi125
CMsWZ9enPnaCHV7cZGAKAyNDW+j4y+whP5uhiLFCQI3A6XvETX8d+r/TPu/00DFY
Bu7AgC3oORpHj7blor0eMYOI3InGINGC+g+LAxUfsODdPrP6PaBTOVf/d+MvIyLn
e8MtoMjxOmOjfl9LeqgQw8F4bMxutJd8va9vdlY7Kd00Fhz1SUrUs39QZ+/AtuJp
c1IslIHKDOvaOmT0Z99mlRh/FAfhqSh4FX9TnUtHk7MWbUBaVpejRdjCygj4Ru4o
zu1N/Z1dAWar6e4h+21j+lntYUCKLmXtChuD1gAtI7NcuPG1vCU=
=KdDa
-----END PGP SIGNATURE-----
--- End Message ---