Hello community,

here is the log from the commit of package rpmlint for openSUSE:Factory checked 
in at 2016-02-16 09:27:45
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rpmlint (Old)
 and      /work/SRC/openSUSE:Factory/.rpmlint.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "rpmlint"

Changes:
--------
--- /work/SRC/openSUSE:Factory/rpmlint/rpmlint.changes  2016-01-20 
09:53:52.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.rpmlint.new/rpmlint.changes     2016-02-16 
09:27:46.000000000 +0100
@@ -1,0 +2,26 @@
+Fri Feb 12 14:43:00 UTC 2016 - [email protected]
+
+- add 'guixbuild' as standard group
+- don't require %config for bash completion scripts in /etc
+
+-------------------------------------------------------------------
+Thu Feb  4 12:38:46 UTC 2016 - [email protected]
+
+- whitelist systemd-importd (bnc#964935)
+
+-------------------------------------------------------------------
+Thu Jan 28 07:20:29 UTC 2016 - [email protected]
+
+- enable tests during building
+
+-------------------------------------------------------------------
+Thu Jan 21 12:19:02 UTC 2016 - [email protected]
+
+- add postin-speedup.diff, binaryinfo-speedup.diff
+
+-------------------------------------------------------------------
+Wed Jan 20 09:22:21 UTC 2016 - [email protected]
+
+- whitelist iio-sensor-proxy (bsc#939191) 
+
+-------------------------------------------------------------------

New:
----
  binaryinfo-speedup.diff
  postin-speedup.diff

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

Other differences:
------------------
++++++ rpmlint.spec ++++++
--- /var/tmp/diff_new_pack.anL9Kf/_old  2016-02-16 09:27:48.000000000 +0100
+++ /var/tmp/diff_new_pack.anL9Kf/_new  2016-02-16 09:27:48.000000000 +0100
@@ -20,6 +20,7 @@
 
 Name:           rpmlint
 BuildRequires:  obs-service-format_spec_file
+BuildRequires:  python-pytest
 BuildRequires:  rpm-python
 BuildRequires:  xz
 Summary:        Rpm correctness checker
@@ -37,7 +38,6 @@
 Source99:       README.packaging.txt
 Source100:      syntax-validator.py
 Url:            https://github.com/rpm-software-management/rpmlint
-BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 Requires:       /usr/bin/readelf
 Requires:       bash
 Requires:       checkbashisms
@@ -106,6 +106,10 @@
 Patch48:        add-check-for-tmpfiles-created-at-r.diff
 Patch49:        remove-files-attr-not-set-check.diff
 Patch50:        fix-shared-library-matching.diff
+# 
https://github.com/rpm-software-management/rpmlint/commit/1436dd7bc41115af658cf8f36a3149ab90a61fcf.patch
+Patch51:        postin-speedup.diff
+# 
https://github.com/rpm-software-management/rpmlint/commit/37fe9d4f237c2cb29fcb3b60d1ece189e578eeaf.patch
 and followup regression fixes
+Patch52:        binaryinfo-speedup.diff
 # PATCHLIST END
 # BuildArch must at the end. is a bug: 
https://bugzilla.suse.com/show_bug.cgi?id=926766
 BuildArch:      noarch
@@ -144,8 +148,8 @@
 done
 %__install -m 644  licenses.config %{buildroot}/%{_sysconfdir}/rpmlint/
 
-%clean
-rm -rf $RPM_BUILD_ROOT
+%check
+sh ./test.sh
 
 %files
 %defattr(-,root,root,0755)

++++++ binaryinfo-speedup.diff ++++++
>From 4d995b87763076cc2aca25b7836e106708bd926f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Stefan=20Br=C3=BCns?= <[email protected]>
Date: Fri, 23 Oct 2015 23:43:16 +0200
Subject: [PATCH] Skip checks for problematic function calls if common prefix
 does not match

The regexes have a common prefix. If the prefix does not match, none of
the regexes will match, continue with the next line.
---
 BinariesCheck.py | 53 ++++++++++++++++++++++++++++++++---------------------
 1 file changed, 32 insertions(+), 21 deletions(-)

Index: rpmlint-rpmlint-1.8/BinariesCheck.py
===================================================================
--- rpmlint-rpmlint-1.8.orig/BinariesCheck.py
+++ rpmlint-rpmlint-1.8/BinariesCheck.py
@@ -28,14 +28,14 @@ DEFAULT_SYSTEM_LIB_PATHS = (
 def create_regexp_call(call):
     if type(call) == type([]):
         call = '(?:' + '|'.join(call) + ')'
-    r = "\s+FUNC\s+.*?\s+(%s(?:@GLIBC\S+)?)(?:\s|$)" % call
+    r = ".*?\s+(%s(?:@GLIBC\S+)?)(?:\s|$)" % call
     return re.compile(r)
 
 
 def create_nonlibc_regexp_call(call):
     if type(call) == type([]):
         call = '(?:' + '|'.join(call) + ')'
-    r = "\s+FUNC\s+.*?\s+UND\s+(%s)\s?.*$" % call
+    r = ".*?\s+UND\s+(%s)\s?.*$" % call
     return re.compile(r)
 
 
@@ -51,6 +51,7 @@ class BinaryInfo:
     stack_exec_regex = re.compile('^..E$')
     undef_regex = re.compile('^undefined symbol:\s+(\S+)')
     unused_regex = re.compile('^\s+(\S+)')
+    call_regex = re.compile('\s0\s+FUNC\s+(.*)')
     exit_call_regex = create_regexp_call('_?exit')
     fork_call_regex = create_regexp_call('fork')
     debuginfo_regex=re.compile('^\s+\[\s*\d+\]\s+\.debug_.*\s+')
@@ -109,25 +110,8 @@ class BinaryInfo:
         cmd.append(path)
         res = Pkg.getstatusoutput(cmd)
         if not res[0]:
-            for l in res[1].splitlines():
-                if BinaryInfo.mktemp_call_regex.search(l):
-                    self.mktemp = True
-
-                if BinaryInfo.setgid_call_regex.search(l):
-                    self.setgid = True
-
-                if BinaryInfo.setuid_call_regex.search(l):
-                    self.setuid = True
-
-                if BinaryInfo.setgroups_call_regex.search(l):
-                    self.setgroups = True
-
-                if BinaryInfo.chdir_call_regex.search(l):
-                    self.chdir = True
-
-                if BinaryInfo.chroot_call_regex.search(l):
-                    self.chroot = True
-
+            lines = res[1].splitlines()
+            for l in lines:
                 r = BinaryInfo.needed_regex.search(l)
                 if r:
                     self.needed.append(r.group(1))
@@ -160,6 +144,41 @@ class BinaryInfo:
                         self.exec_stack = True
                     continue
 
+                if BinaryInfo.debuginfo_regex.search(l):
+                    self.debuginfo=1
+                    continue
+
+                if BinaryInfo.symtab_regex.search(l):
+                    self.symtab=1
+                    continue
+
+                if l.startswith("Symbol table"):
+                    break
+
+            for l in lines:
+                r = BinaryInfo.call_regex.search(l)
+                if not r:
+                    continue
+                l = r.group(1)
+
+                if BinaryInfo.mktemp_call_regex.search(l):
+                    self.mktemp = True
+
+                if BinaryInfo.setgid_call_regex.search(l):
+                    self.setgid = True
+
+                if BinaryInfo.setuid_call_regex.search(l):
+                    self.setuid = True
+
+                if BinaryInfo.setgroups_call_regex.search(l):
+                    self.setgroups = True
+
+                if BinaryInfo.chdir_call_regex.search(l):
+                    self.chdir = True
+
+                if BinaryInfo.chroot_call_regex.search(l):
+                    self.chroot = True
+
                 if BinaryInfo.forbidden_functions:
                     for r_name, func in BinaryInfo.forbidden_functions.items():
                         ret = func['f_regex'].search(l)
@@ -181,14 +200,6 @@ class BinaryInfo:
                         fork_called = True
                         continue
 
-                if BinaryInfo.debuginfo_regex.search(l):
-                    self.debuginfo=1
-                    continue
-
-                if BinaryInfo.symtab_regex.search(l):
-                    self.symtab=1
-                    continue
-
             # check if we don't have a string that will automatically
             # waive the presence of a forbidden call
             if self.forbidden_calls:
++++++ config ++++++
--- /var/tmp/diff_new_pack.anL9Kf/_old  2016-02-16 09:27:48.000000000 +0100
+++ /var/tmp/diff_new_pack.anL9Kf/_new  2016-02-16 09:27:48.000000000 +0100
@@ -104,7 +104,7 @@
     'distcc',
     'dosemu',
     'dovecot',
-    'elasticsearch',   
+    'elasticsearch',
     'epmd',
     'festival',
     'ffums',
@@ -114,6 +114,7 @@
     'ftp',
     'games',
     'geronimo',
+    'guixbuild',
     'haclient',
     'haldaemon',
     'hsqldb',
@@ -632,6 +633,9 @@
     # systemd machined service (bnc#828207)
     "org.freedesktop.machine1.service",
     "org.freedesktop.machine1.conf",
+    # systemd importd service (bnc#964935)
+    "org.freedesktop.import1.service",
+    "org.freedesktop.import1.conf",
     # GeoClue2 DBUS Service (bnc#838360)
     "org.freedesktop.GeoClue2.service",
     "org.freedesktop.GeoClue2.conf",
@@ -689,7 +693,10 @@
     "org.freedesktop.thermald.service",
     # drbdmanage (bsc#956811)
     "org.drbd.drbdmanaged.conf",
-    "org.drbd.drbdmanaged.service"
+    "org.drbd.drbdmanaged.service",
+    # iio-sensor-proxy (bsc#939191)
+    "net.hadess.SensorProxy.conf",
+    "net.hadess.SensorProxy.service"
 ))
 
 setOption("PAMModules.WhiteList", (
@@ -1026,5 +1033,8 @@
 addFilter(" invalid-build-requires ")
 addFilter(" no-provides ")
 
+# bash completion files are not scripts, do not require them marked as %config
+addFilter("W: non-conffile-in-etc /etc/bash_completion.d/")
+
 # config ends here
 

++++++ postin-speedup.diff ++++++
>From 1436dd7bc41115af658cf8f36a3149ab90a61fcf Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Stefan=20Br=C3=BCns?= <[email protected]>
Date: Sun, 1 Nov 2015 19:32:57 +0100
Subject: [PATCH] Expand postin/postun once per pkg instead once per file

---
 FilesCheck.py | 20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)

Index: rpmlint-rpmlint-1.8/FilesCheck.py
===================================================================
--- rpmlint-rpmlint-1.8.orig/FilesCheck.py
+++ rpmlint-rpmlint-1.8/FilesCheck.py
@@ -863,6 +863,16 @@ class FilesCheck(AbstractCheck.AbstractC
         elif debuginfo_package:
             printError(pkg, 'empty-debuginfo-package')
 
+        # Prefetch scriptlets, strip quotes from them (#169)
+        postin = pkg[rpm.RPMTAG_POSTIN] or \
+            pkg.scriptprog(rpm.RPMTAG_POSTINPROG)
+        if postin:
+            postin = quotes_regex.sub('', postin)
+        postun = pkg[rpm.RPMTAG_POSTUN] or \
+            pkg.scriptprog(rpm.RPMTAG_POSTUNPROG)
+        if postun:
+            postun = quotes_regex.sub('', postun)
+
         # Unique (rdev, inode) combinations
         hardlinks = {}
 
@@ -976,16 +986,6 @@ class FilesCheck(AbstractCheck.AbstractC
                         printError(pkg, 'non-standard-executable-perm', f,
                                    "%o" % perm)
 
-                # Prefetch scriptlets, strip quotes from them (#169)
-                postin = pkg[rpm.RPMTAG_POSTIN] or \
-                         pkg.scriptprog(rpm.RPMTAG_POSTINPROG)
-                if postin:
-                    postin = quotes_regex.sub('', postin)
-                postun = pkg[rpm.RPMTAG_POSTUN] or \
-                         pkg.scriptprog(rpm.RPMTAG_POSTUNPROG)
-                if postun:
-                    postun = quotes_regex.sub('', postun)
-
                 if not devel_pkg:
                     if lib_path_regex.search(f):
                         lib_file = True

Reply via email to