Hello community,

here is the log from the commit of package rpmlint for openSUSE:Factory checked 
in at 2019-09-05 12:33:03
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rpmlint (Old)
 and      /work/SRC/openSUSE:Factory/.rpmlint.new.7948 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "rpmlint"

Thu Sep  5 12:33:03 2019 rev:321 rq:725256 version:1.11

Changes:
--------
--- /work/SRC/openSUSE:Factory/rpmlint/rpmlint-tests.changes    2019-07-23 
22:27:56.159073603 +0200
+++ /work/SRC/openSUSE:Factory/.rpmlint.new.7948/rpmlint-tests.changes  
2019-09-05 12:33:04.899587850 +0200
@@ -1,0 +2,6 @@
+Tue Aug 20 07:40:56 UTC 2019 - ku...@suse.com
+
+- Update to version master:
+  * Allow /usr/etc as discussed on opensuse-factory and opensuse-packaging
+
+-------------------------------------------------------------------
--- /work/SRC/openSUSE:Factory/rpmlint/rpmlint.changes  2019-05-17 
23:37:02.598113163 +0200
+++ /work/SRC/openSUSE:Factory/.rpmlint.new.7948/rpmlint.changes        
2019-09-05 12:33:04.927587845 +0200
@@ -1,0 +2,52 @@
+Thu Aug 22 08:56:44 UTC 2019 - Ludwig Nussel <lnus...@suse.de>
+
+- whitelist systemd-portabled dbus files (boo#1145639)
+
+-------------------------------------------------------------------
+Tue Aug 20 07:40:56 UTC 2019 - ku...@suse.com
+
+- Update to version master:
+  * Allow /usr/etc as discussed on opensuse-factory and opensuse-packaging
+
+-------------------------------------------------------------------
+Wed Aug 14 08:53:25 UTC 2019 - Marketa Calabkova <mcalabk...@suse.com>
+
+- Add user/group zabbix and zabbixs (bsc#1144018)
+
+-------------------------------------------------------------------
+Fri Aug  9 12:01:03 UTC 2019 - Martin Liška <mli...@suse.cz>
+
+- Update add-check-for-a-non-zero-.text-segment-in-.a-archive.patch patch to 
align with:
+  38fc30cafe99d38059ca54b98bc87f5544f0bb4e
+-------------------------------------------------------------------
+Thu Aug  8 13:14:36 UTC 2019 - Dominique Leuenberger <dims...@opensuse.org>
+
+- Add Development/Languages/Go group.
+
+-------------------------------------------------------------------
+Thu Aug  8 12:45:30 UTC 2019 - Martin Liška <mli...@suse.cz>
+
+- Update add-check-for-a-non-zero-.text-segment-in-.a-archive.patch patch to 
align with:
+  80126f7c7854d962cc64e54a6ab7e97067bb490d
+
+-------------------------------------------------------------------
+Fri Aug  2 07:53:03 UTC 2019 - Martin Liška <mli...@suse.cz>
+
+- Update add-check-for-a-non-zero-.text-segment-in-.a-archive.patch patch to 
align with:
+  
https://github.com/rpm-software-management/rpmlint/commit/c59324fd68ba86c8382fe09d43f12de32d764354
+
+-------------------------------------------------------------------
+Sun Jul 28 15:04:34 UTC 2019 - Martin Liška <mli...@suse.cz>
+
+- Update add-check-for-a-non-zero-.text-segment-in-.a-archive.patch patch
+  to:
+  
https://github.com/rpm-software-management/rpmlint/commit/97d6caf9ac3eb011e3f30dbc473f079b20fb56f9
+
+-------------------------------------------------------------------
+Mon Jul 22 11:44:51 UTC 2019 - Martin Liška <mli...@suse.cz>
+
+- Add add-check-for-a-non-zero-.text-segment-in-.a-archive.patch
+  as a backport of:
+  
https://github.com/rpm-software-management/rpmlint/commit/2c809f34354d6ea690986541b268d47a3ca59092
+
+-------------------------------------------------------------------

New:
----
  add-check-for-a-non-zero-.text-segment-in-.a-archive.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ rpmlint.spec ++++++
--- /var/tmp/diff_new_pack.2wHlrL/_old  2019-09-05 12:33:06.287587578 +0200
+++ /var/tmp/diff_new_pack.2wHlrL/_new  2019-09-05 12:33:06.287587578 +0200
@@ -60,6 +60,7 @@
 Patch63:        fix-diag-sortorder.diff
 Patch72:        rpmlint-slpp-NUM-NUM.patch
 Patch77:        suse-rpmlint-all-pie.patch
+Patch78:        add-check-for-a-non-zero-.text-segment-in-.a-archive.patch
 BuildRequires:  desktop-file-utils
 BuildRequires:  obs-service-format_spec_file
 BuildRequires:  python3-flake8

++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.2wHlrL/_old  2019-09-05 12:33:06.351587566 +0200
+++ /var/tmp/diff_new_pack.2wHlrL/_new  2019-09-05 12:33:06.351587566 +0200
@@ -3,4 +3,4 @@
             <param 
name="url">https://github.com/openSUSE/rpmlint-tests.git</param>
           <param 
name="changesrevision">75524278ef7de3efc70f0fa14016f1aac4e77d36</param></service><service
 name="tar_scm">
             <param 
name="url">https://github.com/openSUSE/rpmlint-checks.git</param>
-          <param 
name="changesrevision">2d11e76027fc32be4005f955a71fab84c3a5407d</param></service></servicedata>
\ No newline at end of file
+          <param 
name="changesrevision">0528a49399ccabaae220fa8b452b8f9a082e48c9</param></service></servicedata>
\ No newline at end of file

++++++ add-check-for-a-non-zero-.text-segment-in-.a-archive.patch ++++++
diff --git a/BinariesCheck.py b/BinariesCheck.py
index 36d73f8..0fb91db 100644
--- a/BinariesCheck.py
+++ b/BinariesCheck.py
@@ -73,6 +73,10 @@ class BinaryInfo(object):
     mktemp_call_regex = create_regexp_call('mktemp')
     lto_section_name_prefix = '.gnu.lto_.'
 
+    # [Nr] Name              Type            Address          Off    Size   ES 
Flg Lk Inf Al
+    # [ 1] .text             PROGBITS        0000000000000000 000040 000000 00 
 AX  0   0  1
+    section_regex = re.compile(r'.*\] 
(?P<section>\S*)\s*\S+\s*\S*\s*\S*\s*(?P<size>\w*)')
+
     def __init__(self, pkg, path, fname, is_ar, is_shlib):
         self.readelf_error = False
         self.needed = []
@@ -92,6 +96,7 @@ class BinaryInfo(object):
         self.symtab = False
         self.tail = ''
         self.lto_sections = False
+        self.no_text_in_archive = False
 
         self.setgid = False
         self.setuid = False
@@ -102,6 +107,7 @@ class BinaryInfo(object):
         self.mktemp = False
 
         is_debug = path.endswith('.debug')
+        is_archive = path.endswith('.a')
         # Currently this implementation works only on specific
         # architectures due to reliance on arch specific assembly.
         if (pkg.arch.startswith('armv') or pkg.arch == 'aarch64'):
@@ -117,6 +123,24 @@ class BinaryInfo(object):
             ('readelf', '-W', '-S', '-l', '-d', '-s', path))
         if not res[0]:
             lines = res[1].splitlines()
+
+            # For an archive, test if all .text sections are empty
+            if is_archive:
+                has_text_segment = False
+                non_zero_text_segment = False
+
+                for line in lines:
+                    r = self.section_regex.search(line)
+                    if r:
+                        sn = r.group('section')
+                        if sn == '.preinit_array' or sn == '.init_array' or sn 
== '.fini_array' or sn.startswith('.text'):
+                            has_text_segment = True
+                            size = int(r.group('size'), 16)
+                            if size > 0:
+                                non_zero_text_segment = True
+                if has_text_segment and not non_zero_text_segment:
+                    self.no_text_in_archive = True
+
             for line in lines:
                 if BinaryInfo.lto_section_name_prefix in line:
                     self.lto_sections = True
@@ -522,6 +546,9 @@ class BinariesCheck(AbstractCheck.AbstractCheck):
             if bin_info.lto_sections:
                 printError(pkg, 'lto-bytecode', fname)
 
+            if bin_info.no_text_in_archive:
+                printError(pkg, 'lto-no-text-in-archive', fname)
+
             for ec in bin_info.forbidden_calls:
                 printWarning(pkg, ec, fname,
                              BinaryInfo.forbidden_functions[ec]['f_name'])
@@ -846,6 +873,10 @@ implementations only strip if the permission is 0755).''',
 'lto-bytecode',
 '''This executable contains a LTO section.  LTO bytecode is not portable
 and should not be distributed in static libraries or e.g. Python modules.''',
+
+'lto-no-text-in-archive',
+'''This archive does not contain a non-empty .text section.  The archive
+was not created with -ffat-lto-objects option.''',
 )
 
 # BinariesCheck.py ends here
++++++ config ++++++
--- /var/tmp/diff_new_pack.2wHlrL/_old  2019-09-05 12:33:06.371587562 +0200
+++ /var/tmp/diff_new_pack.2wHlrL/_new  2019-09-05 12:33:06.375587561 +0200
@@ -102,6 +102,7 @@
     'Amusements/Toys/Screensavers',
     'Development/Languages/C and C++',
     'Development/Languages/Fortran',
+    'Development/Languages/Go',
     'Development/Languages/Haskell',
     'Development/Languages/Java',
     'Development/Languages/Lua',
@@ -509,6 +510,8 @@
     'xok',
     'xrootd',
     'xymon',
+    'zabbix',
+    'zabbixs',
     'zeroinst',
     'zkeyadm',
     'znc',
@@ -704,6 +707,8 @@
     'xrootd',
     'xymon',
     'yastws',
+    'zabbix',
+    'zabbixs',
     'zaqar',
     'zeroinst',
     'znc',
@@ -1014,6 +1019,9 @@
     # certmonger (bsc#1129452)
     "org.fedorahosted.certmonger.service",
     "certmonger.conf",
+    # systemd-portabled (boo#1145639)
+    "org.freedesktop.portable1.service",
+    "org.freedesktop.portable1.conf",
 ))
 
 setOption("PAMModules.WhiteList", (

++++++ rpmlint-checks-master.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rpmlint-checks-master/CheckFilelist.py 
new/rpmlint-checks-master/CheckFilelist.py
--- old/rpmlint-checks-master/CheckFilelist.py  2019-05-14 11:59:38.000000000 
+0200
+++ new/rpmlint-checks-master/CheckFilelist.py  2019-08-20 09:36:23.000000000 
+0200
@@ -55,6 +55,7 @@
     # SUSE policy handled in separate check
     '/usr/X11R6/',
     '/usr/bin/',
+    '/usr/etc/',
     '/usr/games/',
     '/usr/include/',
     '/usr/lib/',


Reply via email to