[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[lintian] 01/02: c/binaries: Drop broken check for UPX compressed binaries



This is an automated email from the git hooks/post-receive script.

nthykier pushed a commit to branch master
in repository lintian.

commit 2c7b922393749ba8c267b214171dc2d082bfa2f2
Author: Niels Thykier <niels@thykier.net>
Date:   Thu Jul 9 20:55:58 2015 +0200

    c/binaries: Drop broken check for UPX compressed binaries
    
    Signed-off-by: Niels Thykier <niels@thykier.net>
---
 checks/binaries.desc                           |  5 -----
 checks/binaries.pm                             |  1 -
 debian/changelog                               |  8 ++++++++
 helpers/coll/objdump-info-helper               | 21 ---------------------
 lib/Lintian/Collect/Binary.pm                  |  1 -
 private/build-time-data/ftp-master-fatal       |  1 -
 profiles/debian/ftp-master-auto-reject.profile |  7 +++----
 t/COVERAGE                                     |  5 ++---
 8 files changed, 13 insertions(+), 36 deletions(-)

diff --git a/checks/binaries.desc b/checks/binaries.desc
index b54fbb1..33d07c2 100644
--- a/checks/binaries.desc
+++ b/checks/binaries.desc
@@ -155,11 +155,6 @@ Certainty: certain
 Info: While profiling is useful for testing and debugging purposes, enabling
  it causes a program to leave gmon.out files whenever a user runs it.
 
-Tag: binary-file-compressed-with-upx
-Severity: serious
-Certainty: certain
-Info: Debian does not allow binaries to be compressed by UPX.
-
 Tag: package-name-doesnt-match-sonames
 Severity: normal
 Certainty: possible
diff --git a/checks/binaries.pm b/checks/binaries.pm
index dbf0e98..6f4ed63 100644
--- a/checks/binaries.pm
+++ b/checks/binaries.pm
@@ -169,7 +169,6 @@ sub run {
             tag 'binary-compiled-with-profiling-enabled', $file
               if $is_profiled;
         }
-        tag 'binary-file-compressed-with-upx', $file if $objdump->{'UPX'};
         tag 'apparently-corrupted-elf-binary', $file
           if $objdump->{'ERRORS'};
         tag 'binary-file-built-without-LFS-support', $file
diff --git a/debian/changelog b/debian/changelog
index 18b4842..59c5df6 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -7,6 +7,8 @@ lintian (2.5.33) UNRELEASED; urgency=medium
       SONAMES with package names.  The "v5" suffix is the
       recommended suffix for packages affected by the GCC-5
       libstc++6 C11 ABI breakage.
+    + [NT] Drop binary-file-compressed-with-upx as it was not
+      working.  (Closes: #790932)
   * checks/cruft.pm:
     + [BR] Increase windows size to 16384 bytes.
       Gain about 10% in cruft.
@@ -49,6 +51,8 @@ lintian (2.5.33) UNRELEASED; urgency=medium
       valid ar archives with the file extension ".a" and
       possibly also corrupt ar files.
       (Closes: #790493)
+    + [NT] Remove slow "head + grep" pipeline on all ELF
+      binaries, which is no longer used.
   * helpers/coll/strings-helper:
     + [NT] Avoid an unncessary overhead in using L::Command's
       spawn+reap.  In some cases, this can reduce the runtime
@@ -59,6 +63,10 @@ lintian (2.5.33) UNRELEASED; urgency=medium
       a few cases adds up to a couple of seconds in total
       runtime.
 
+  * profiles/debian/ftp-master-auto-reject.profile:
+    + [NT] Drop binary-file-compressed-with-upx as it no
+      longer exists.
+
   * reporting/harness:
     + [NT] Add a --[no-]generate-reports option as alias of
       the -r mode.  The option can now be used together with
diff --git a/helpers/coll/objdump-info-helper b/helpers/coll/objdump-info-helper
index c4d3798..e409c3f 100755
--- a/helpers/coll/objdump-info-helper
+++ b/helpers/coll/objdump-info-helper
@@ -30,9 +30,6 @@ use strict;
 use warnings;
 use autodie;
 
-use lib "$ENV{'LINTIAN_ROOT'}/lib";
-use Lintian::Command qw(spawn);
-
 my (@sections, @symbol_versions);
 my @dyn_symbols;
 my %program_headers;
@@ -71,13 +68,6 @@ while (my $line = <$readelf>) {
         $bin = shift @ARGV;
         print "Filename: $bin\n";
 
-        if (
-            spawn(
-                undef, ['head', $bin],
-                '|', ['grep', '-q', 'packed.*with.*UPX'])
-          ) {
-            print "UPX: yes\n";
-        }
     }
 
     if ($line =~ m/^File: (.+)$/) {
@@ -87,17 +77,6 @@ while (my $line = <$readelf>) {
         $bin = $file;
         print "Filename: $bin\n";
 
-        # If readelf is analysing a static lib the file name will be
-        # something like "${file}(${obj})".
-
-        if (
-            $bin !~ m,\([^/\\)]++\)$,
-            and spawn(
-                undef, ['head', $bin],
-                '|', ['grep', '-q', 'packed.*with.*UPX'])
-          ) {
-            print "UPX: yes\n";
-        }
     } elsif ($line
         =~ m/^readelf: Error: Reading 0x[0-9a-fA-F]+ bytes extends past end of file for section headers/
         or $line
diff --git a/lib/Lintian/Collect/Binary.pm b/lib/Lintian/Collect/Binary.pm
index 4738220..5d8cd81 100644
--- a/lib/Lintian/Collect/Binary.pm
+++ b/lib/Lintian/Collect/Binary.pm
@@ -369,7 +369,6 @@ sub objdump_info {
             'TEXTREL' => 0,
         );
         $info{'ERRORS'} = lc($pg->{'broken'}//'no') eq 'yes' ? 1 : 0;
-        $info{'UPX'} = lc($pg->{'upx'}//'no') eq 'yes' ? 1 : 0;
         $info{'BAD-DYNAMIC-TABLE'}
           = lc($pg->{'bad-dynamic-table'}//'no') eq 'yes' ? 1 : 0;
         foreach my $symd (split m/\s*\n\s*/, $pg->{'dynamic-symbols'}//'') {
diff --git a/private/build-time-data/ftp-master-fatal b/private/build-time-data/ftp-master-fatal
index bc1cc0e..0aabb75 100644
--- a/private/build-time-data/ftp-master-fatal
+++ b/private/build-time-data/ftp-master-fatal
@@ -9,7 +9,6 @@ FSSTND-dir-in-var
 bad-package-name
 bad-relation
 bad-version-number
-binary-file-compressed-with-upx
 binary-in-etc
 build-info-in-binary-control-file-section
 conflicting-negation-in-source-relation
diff --git a/profiles/debian/ftp-master-auto-reject.profile b/profiles/debian/ftp-master-auto-reject.profile
index 451af07..3cef687 100644
--- a/profiles/debian/ftp-master-auto-reject.profile
+++ b/profiles/debian/ftp-master-auto-reject.profile
@@ -4,8 +4,8 @@ Disable-Tags-From-Check: lintian
 Enable-Tags: FSSTND-dir-in-usr, FSSTND-dir-in-var, arch-dependent-file-in-usr-share,
  arch-independent-package-contains-binary-or-object, bad-package-name,
  bad-perm-for-file-in-etc-sudoers.d, bad-relation, bad-version-number,
- binary-file-compressed-with-upx, binary-in-etc, binary-or-shlib-defines-rpath,
- binary-with-bad-dynamic-table, build-info-in-binary-control-file-section,
+ binary-in-etc, binary-or-shlib-defines-rpath, binary-with-bad-dynamic-table,
+ build-info-in-binary-control-file-section,
  conflicting-negation-in-source-relation, control-file-has-bad-owner,
  control-file-has-bad-permissions, control-file-is-not-a-file,
  control-interpreter-in-usr-local, control-interpreter-without-depends,
@@ -45,8 +45,7 @@ Enable-Tags: FSSTND-dir-in-usr, FSSTND-dir-in-var, arch-dependent-file-in-usr-sh
  usr-share-doc-symlink-without-dependency, wrong-file-owner-uid-or-gid
 
 Tags: FSSTND-dir-in-usr, FSSTND-dir-in-var, bad-package-name, bad-relation, bad-version-number,
- binary-file-compressed-with-upx, binary-in-etc,
- build-info-in-binary-control-file-section,
+ binary-in-etc, build-info-in-binary-control-file-section,
  conflicting-negation-in-source-relation, control-file-has-bad-owner,
  control-file-has-bad-permissions, control-file-is-not-a-file,
  control-interpreter-in-usr-local, copyright-file-compressed,
diff --git a/t/COVERAGE b/t/COVERAGE
index c0e57d9..cd93dee 100644
--- a/t/COVERAGE
+++ b/t/COVERAGE
@@ -1,10 +1,9 @@
-Last generated 2015-07-03
-Coverage (Tags): 1069/1138 (93.94%), w. legacy tests: 1126/1138 (98.95%)
+Last generated 2015-07-09
+Coverage (Tags): 1069/1137 (94.02%), w. legacy tests: 1126/1137 (99.03%)
 Coverage (Checks): 38/46 (82.61%), w. legacy tests: 40/46 (86.96%)
 
 The following tags are not tested by the test suite:
 
-binaries binary-file-compressed-with-upx
 binaries ocaml-custom-executable
 
 deb-format tar-errors-from-control

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/lintian/lintian.git


Reply to: