Your message dated Sat, 18 Jun 2016 16:20:36 +0000
with message-id <[email protected]>
and subject line Bug#820446: fixed in debhelper 9.20160618
has caused the Debian Bug report #820446,
regarding dh_strip: only match lib*.a static libraries
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.)


-- 
820446: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=820446
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: debhelper
Version: 9.20160403
Severity: normal
Tags: patch

Hi,

Thanks for maintaining debhelper!

What do you think about the attached patch that makes dh_strip only
match static libraries with "lib" at the start of the filename, not
just anywhere in there?  It makes dh_strip's behavior consistent when
a Debian package ships *.a files with weird names, like e.g. gforth's
/usr/lib/*/gforth/0.7.2/cstr.a and /usr/lib/*/gforth/0.7.2./fflib.a -
the first one is not stripped, but the second one is :) [1]

On an unrelated note, the second patch is a bit of clean-up for regular
expressions that start with /.*/ and are not anchored (don't start with
/^.*/) - this is pretty much a no-op and, in the worst case, may make
the Perl virtual machine handle the regexp a bit inefficiently.  Well,
I do believe that the regexp compiler is smart enough to drop the ".*"
at the start anyway, but there's no need to make it do even that much :)

Thanks again for taking care of debhelper, and keep up the great work!

G'luck,
Peter

[1] Yes, with this patch neither one will be stripped, but in this case
this is not really a problem - these are dynamically generated (compiled
from dynamically generated *.c files) helpers for loading native system
libraries, and we don't care about debug symbols for them.  Moreover,
stripping the ones shipped with GForth would lead to an inconsistency
when the user later generates new ones that shall not be stripped; not
that anyone would ever notice, but oh well :)


-- System Information:
Debian Release: stretch/sid
  APT prefers oldoldstable
  APT policy: (500, 'oldoldstable'), (500, 'testing')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.4.0-1-amd64 (SMP w/4 CPU cores)
Locale: LANG=bg_BG.UTF-8, LC_CTYPE=bg_BG.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages debhelper depends on:
ii  autotools-dev            20150820.1
ii  binutils                 2.26-8
ii  dh-autoreconf            12
ii  dh-strip-nondeterminism  0.016-1
ii  dpkg                     1.18.4
ii  dpkg-dev                 1.18.4
ii  file                     1:5.25-2
ii  libdpkg-perl             1.18.4
ii  man-db                   2.7.5-1
ii  perl                     5.22.1-9
ii  po-debconf               1.0.19

debhelper recommends no packages.

Versions of packages debhelper suggests:
ii  dh-make  2.201605

-- no debconf information
From 63b79a7d50ed3e89de4b093b44da25ba899d86e1 Mon Sep 17 00:00:00 2001
From: Peter Pentchev <[email protected]>
Date: Fri, 8 Apr 2016 17:31:13 +0300
Subject: [PATCH 1/2] dh_strip: Only match *.a files that start with "lib"

---
 dh_strip | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/dh_strip b/dh_strip
index 752176e..a7206db 100755
--- a/dh_strip
+++ b/dh_strip
@@ -230,7 +230,7 @@ sub testfile {
        }
        
        # Is it a static library, and not a debug library?
-       if (m/lib.*\.a$/ && ! m/.*_g\.a$/) {
+       if (m/\/lib[^\/]*\.a$/ && ! m/.*_g\.a$/) {
                # Is it a binary file, or something else (maybe a linker
                # script on Hurd, for example? I don't use file, because
                # file returns a variety of things on static libraries.
-- 
2.8.0.rc3

From 3aa558d06a82b2c86dafaf9efac88e6f786d3e86 Mon Sep 17 00:00:00 2001
From: Peter Pentchev <[email protected]>
Date: Fri, 8 Apr 2016 17:42:25 +0300
Subject: [PATCH 2/2] Drop .* from the beginning of unanchored regular
 expressions

---
 Debian/Debhelper/Dh_Lib.pm | 2 +-
 dh_installman              | 4 ++--
 dh_installmanpages         | 4 ++--
 dh_strip                   | 6 +++---
 4 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/Debian/Debhelper/Dh_Lib.pm b/Debian/Debhelper/Dh_Lib.pm
index bc2bd43..2f028d3 100644
--- a/Debian/Debhelper/Dh_Lib.pm
+++ b/Debian/Debhelper/Dh_Lib.pm
@@ -567,7 +567,7 @@ sub pkgfilename {
                }
 
                # Is this a native Debian package?
-               if ($dh{VERSION}=~m/.*-/) {
+               if ($dh{VERSION}=~m/-/) {
                        return $isnative_cache{$package}=0;
                }
                else {
diff --git a/dh_installman b/dh_installman
index 46b0366..826eeae 100755
--- a/dh_installman
+++ b/dh_installman
@@ -140,7 +140,7 @@ foreach my $package (@{$dh{DOPACKAGES}}) {
                close(IN);
                # Failing that, we can try to get it from the filename.
                if (! $section) {
-                       ($section)=$basename=~m/.*\.([1-9]\S*)/;
+                       ($section)=$basename=~m/\.([1-9]\S*)/;
                }
 
                # Now get the numeric component of the section.
@@ -158,7 +158,7 @@ foreach my $package (@{$dh{DOPACKAGES}}) {
                        # Translated man pages are typically specified by 
adding the
                        # language code to the filename, so detect that and
                        # redirect to appropriate directory, stripping the code.
-                       
($langcode)=$basename=~m/.*\.([a-z][a-z](?:_[A-Z][A-Z])?)\.(?:[1-9]|man)/;
+                       
($langcode)=$basename=~m/\.([a-z][a-z](?:_[A-Z][A-Z])?)\.(?:[1-9]|man)/;
                }
                elsif ($dh{LANGUAGE} ne 'C') {
                        $langcode=$dh{LANGUAGE};
diff --git a/dh_installmanpages b/dh_installmanpages
index d393500..e58415a 100755
--- a/dh_installmanpages
+++ b/dh_installmanpages
@@ -158,13 +158,13 @@ foreach my $package (@{$dh{DOPACKAGES}}) {
                if ($install) {
                        my $extdir="share";
                        
-                       my ($section)=$basename=~m/.*\.([1-9])/;
+                       my ($section)=$basename=~m/\.([1-9])/;
                        
                        my $destdir="$tmp/usr/$extdir/man/man$section/";
                        
                        # Handle translated man pages.
                        my $instname=$basename;
-                       my ($langcode)=$basename=~m/.*\.([a-z][a-z])\.([1-9])/;
+                       my ($langcode)=$basename=~m/\.([a-z][a-z])\.([1-9])/;
                        if (defined $langcode && $langcode ne '') {
                                
$destdir="$tmp/usr/$extdir/man/$langcode/man$section/";
                                $instname=~s/\.$langcode\./\./;
diff --git a/dh_strip b/dh_strip
index a7206db..fb5d74b 100755
--- a/dh_strip
+++ b/dh_strip
@@ -209,10 +209,10 @@ sub testfile {
        # Does its filename look like a shared library?
        #  - *.cmxs are OCaml native code shared libraries
        #  - *.node are also native ELF binaries (for node-js)
-       if (m/.*\.(?:so.*?|cmxs|node)$/) {
+       if (m/\.(?:so.*?|cmxs|node)$/) {
                # Ok, do the expensive test.
                my $type=get_file_type($_);
-               if ($type=~m/.*ELF.*shared.*/) {
+               if ($type=~m/ELF.*shared.*/) {
                        push @shared_libs, $fn;
                        return;
                }
@@ -223,7 +223,7 @@ sub testfile {
        if ($mode & 0111) {
                # Ok, expensive test.
                my $type=get_file_type($_);
-               if ($type=~m/.*ELF.*(executable|shared).*/) {
+               if ($type=~m/ELF.*(executable|shared).*/) {
                        push @executables, $fn;
                        return;
                }
-- 
2.8.0.rc3

Attachment: signature.asc
Description: PGP signature


--- End Message ---
--- Begin Message ---
Source: debhelper
Source-Version: 9.20160618

We believe that the bug you reported is fixed in the latest version of
debhelper, 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.
Niels Thykier <[email protected]> (supplier of updated debhelper 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: Sat, 18 Jun 2016 14:41:05 +0000
Source: debhelper
Binary: debhelper
Architecture: source
Version: 9.20160618
Distribution: unstable
Urgency: medium
Maintainer: Debhelper Maintainers <[email protected]>
Changed-By: Niels Thykier <[email protected]>
Description:
 debhelper  - helper programs for debian/rules
Closes: 805405 811059 815158 818933 820446 820508 820711 824490 825005
Changes:
 debhelper (9.20160618) unstable; urgency=medium
 .
   * dh: Fix bug where "--help" or "--list" would not work
     unless "debian/compat" existed and had a supported
     compat level.  (Closes: #820508)
   * dh_compress: Gracefully handle debian (or any other
     path segment in the package "tmpdir") being a symlink
     pointing outside the same directory.  Thanks to
     Bernhard Miklautz for the report.  (Closes: #820711)
   * Dh_Lib.pm: Compat files are now mandatory.
   * dh_clean: Remove work around for missing compat file.
     This removes a confusing warning when the package is
     not built by CDBS.  (Closes: #811059)
   * debhelper.pod: Add a line stating that debian/compat
     is mandatory.  (Closes: #805405)
   * dh_strip: Apply patch from Peter Pentchev to only strip
     static libraries with a basename matching "lib.*\.a".
     (Closes: #820446)
   * ant.pm: Apply patch from Emmanuel Bourg to pass a
     normalised "user.name" parameter to ant.
     (Closes: #824490)
   * dh_installudev/dh_installmodules: Drop maintainer
     script snippets for migrating conffiles.
     - Side effect, avoids portability issue with certain
       shell implementations.  (Closes: #815158)
   * autoscripts/*inst-moveconffile: Remove unused files.
   * dh: Update documentation to reflect the current
     implementation.
   * Remove support for compat 4.
   * dh_strip: Add debuglinks to ELF binaries even with
     DEB_BUILD_OPTIONS=noautodbgsym to make the regular deb
     bit-for-bit reproducible with vs. without this flag.
     Thanks to Helmut Grohne for the report.
   * dh_installcatalogs: Apply patch from Helmut Grohne to
     explicitly trigger a new update-sgmlcatalog trigger,
     since dpkg does not triger conffiles on package removal.
     (Closes: #825005)
   * dh_installcatalos: Apply patch from Helmut Grohne to
     remove autoscript for a transition that completed in
     Wheezy.
   * dh_strip: Unconditionally pass --enable-deterministic-archives
     to strip for static libs as the stable version of binutils
     supports it.
   * dh_strip: Use file(1) to determine the build-id when
     available.  This saves an readelf call for every binary in
     the package.
   * dh_strip: Cache file(1) output to avoid calling file(1)
     twice on all ELF binaries in the package.
   * Dh_Lib.pm: Add better error messages when a debhelper program
     fails due to an executable config file not terminating with
     success.  (Closes: #818933)
   * dh_strip: Pass -e to file(1) to skip tests for file formats
     that dh_strip does not care about.
   * Bump standards-version to 3.9.8 - no changes required.
Checksums-Sha1:
 816b35631150fe84036276884e82dfe2a860e608 1708 debhelper_9.20160618.dsc
 7e228a1c15a99f28513951251b0f428d37536adf 337800 debhelper_9.20160618.tar.xz
Checksums-Sha256:
 ce0ebd64a0a83f35c96b2004f85ad2e17479cf9854f0f78b545e2ef4c695da5b 1708 
debhelper_9.20160618.dsc
 0321e1b345143a1717c8f252a9b55db283f75a78b4e19ae980c1ba4a356fe1ff 337800 
debhelper_9.20160618.tar.xz
Files:
 c5da85a37d9832cb69321a048c160ddd 1708 devel optional debhelper_9.20160618.dsc
 351f32fd092ea7a590ccd02d8b005313 337800 devel optional 
debhelper_9.20160618.tar.xz

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iQIcBAEBCAAGBQJXZV77AAoJEAVLu599gGRCuqsP+wZ9E2LBdS5JjQ7umBn0yR0O
QaYzIp55CUAphbVe/zomZWpBPzKKJGuR5/ujgcFzlZM4IqVDp3jHt4W/8t5T9RAm
SoHMnKVPm0JMlr20TbWaSbDyZgEVHYpOgKtgrSAQ9NoxiwEWsSvIP8MqyejaLrIp
aD+lcDOr/RWPLgYUUYhomY6fA7zC12gOJGl/Qa0ybwIzx/Zb09ksJrUne0H4X9Uj
3w9Vh3Oaw2FQuBpTaGNc+13PpDE0eIGPzMLD3SK2eXk0G0qijiPU8TeqVVklPzJq
ozcvSEnYAcEGHmiBxqnR16mA1fV+jVx1p9RIdZO12tpyeE5xFq7DvCxwjLO0x2dr
Mg3KzFLhrN1Qe2MW88ecZEkBvvIA95ILfgb7OhhrkOCi6x5tredOdiwvPx+rpUJW
jr4xbo3BL24YtlOLFNkLB4oJ0dX/mRKiedqlMIdDUM2K3U5VEvfnn9bxUQ3tVU4N
csdq/I1KQ2+6Dt+0503M9BVtMKIgO0lrdFYQvI/mVu9iGRiSiLK9pwnDPp0fGQ/E
8BVY9u5VMUvMF95dBVP095ZNu6uF3RwlhueuFAa/zWfH/cQsFqgoPzshYLG0+Jbl
ni9orjJ+qOFwx/SSkk4dDQx4PyQIUes9nbBhJsH5TgBk64dhbtpdIisLyRwN0qJo
hDSX7JDn+EVPFevVEfS5
=l9jd
-----END PGP SIGNATURE-----

--- End Message ---

Reply via email to