Hello community, here is the log from the commit of package rpmlint for openSUSE:Factory checked in at Mon Aug 22 16:00:14 CEST 2011. -------- --- rpmlint/rpmlint.changes 2011-08-12 17:57:51.000000000 +0200 +++ /mounts/work_src_done/STABLE/rpmlint/rpmlint.changes 2011-08-20 02:20:25.000000000 +0200 @@ -1,0 +2,19 @@ +Sat Aug 20 02:19:29 CEST 2011 - dmueller@suse.de + +- check for versioned dependency on python(abi) (bnc#659068) + +------------------------------------------------------------------- +Fri Aug 19 18:36:04 CEST 2011 - dmueller@suse.de + +- fix stripping of unknown polkit suffixes (bnc#711485) + +------------------------------------------------------------------- +Fri Aug 12 18:07:43 CEST 2011 - dmueller@suse.de + +- update to 1.3: + * Add --rawout option + * Warn about non-ghost files in /var/run and /var/lock + * Fix setting message type for reasons with badness threshold defined + * Use "declare -F" instead of "type" to check if a bash function exists. + +------------------------------------------------------------------- calling whatdependson for head-i586 Old: ---- rpmlint-1.2.tar.xz rpmlint-pie.diff rpmlint-subsys.diff rpmlint-typo.diff suse-file-var-run.diff New: ---- rpmlint-1.3.tar.xz suse-python-abi-check.diff ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ rpmlint.spec ++++++ --- /var/tmp/diff_new_pack.ksFLhx/_old 2011-08-22 15:44:04.000000000 +0200 +++ /var/tmp/diff_new_pack.ksFLhx/_new 2011-08-22 15:44:04.000000000 +0200 @@ -22,8 +22,8 @@ Name: rpmlint BuildRequires: rpm-python xz Summary: Rpm correctness checker -Version: 1.2 -Release: 23 +Version: 1.3 +Release: 1 Source0: http://rpmlint.zarb.org/download/rpmlint-%{version}.tar.xz Source1: config Source1001: config.in @@ -72,8 +72,6 @@ Patch8: suse-binarieschecks.diff Patch9: no-doc-for-lib.diff Patch10: add-scoring-support.diff -# accepted upstream -Patch11: suse-file-var-run.diff Patch12: usr-arch.diff Patch13: script-interpreter-only-for-exec-scripts.diff Patch14: sourced-dirs.diff @@ -126,11 +124,7 @@ Patch86: suse-rclink-check.diff # accepted upstream Patch88: suse-speccheck-utf8.diff -# accepted upstream -Patch89: rpmlint-pie.diff -# accepted upstream -Patch90: rpmlint-typo.diff -Patch91: rpmlint-subsys.diff +Patch89: suse-python-abi-check.diff %py_requires %description @@ -146,7 +140,6 @@ %prep %setup -q -n rpmlint-%{version} -%patch91 -p1 %patch0 %patch1 %patch2 @@ -158,7 +151,6 @@ %patch8 %patch9 #%patch10 -%patch11 -p1 %patch12 %patch13 %patch14 @@ -211,8 +203,7 @@ %patch86 #patch87 -p1 %patch88 -%patch89 -p1 -%patch90 -p1 +%patch89 cp -p %{SOURCE1} . cp -p %{SOURCE2} . cp -p %{SOURCE3} . ++++++ CheckPolkitPrivs.py ++++++ --- /var/tmp/diff_new_pack.ksFLhx/_old 2011-08-22 15:44:05.000000000 +0200 +++ /var/tmp/diff_new_pack.ksFLhx/_new 2011-08-22 15:44:05.000000000 +0200 @@ -21,12 +21,12 @@ AbstractCheck.AbstractCheck.__init__(self, "CheckPolkitPrivs") self.privs = {} - for file in POLKIT_PRIVS_FILES: - if os.path.exists(file): - self._parsefile(file) + for filename in POLKIT_PRIVS_FILES: + if os.path.exists(filename): + self._parsefile(filename) - def _parsefile(self,file): - for line in open(file): + def _parsefile(self,filename): + for line in file(filename): line = line.split('#')[0].split('\n')[0] if len(line): line = re.split(r'\s+', line) @@ -54,12 +54,15 @@ if not bn in POLKIT_PRIVS_WHITELIST: printError(pkg, "polkit-unauthorized-file", f) - bn = bn.split('.')[0] + if bn.endswith(".restrictive") or bn.endswith(".standard") or bn.endswith(".relaxed"): + bn = bn.split('.')[0] + if not bn in permfiles: permfiles[bn] = 1 for f in permfiles: f = pkg.dirName() + "/etc/polkit-default-privs.d/" + f + if os.path.exists(f+".restrictive"): self._parsefile(f + ".restrictive") elif os.path.exists(f+".standard"): @@ -69,6 +72,7 @@ else: self._parsefile(f) + for f in files: if f in pkg.ghostFiles(): continue ++++++ filename-non-utf8-exception.diff ++++++ --- /var/tmp/diff_new_pack.ksFLhx/_old 2011-08-22 15:44:05.000000000 +0200 +++ /var/tmp/diff_new_pack.ksFLhx/_new 2011-08-22 15:44:05.000000000 +0200 @@ -1,8 +1,6 @@ -Index: Filter.py -=================================================================== ---- Filter.py.orig +--- Filter.py +++ Filter.py -@@ -22,13 +22,8 @@ _diagnostic = list() +@@ -24,12 +24,8 @@ _badness_score = 0 printed_messages = { "I": 0, "W": 0, "E": 0 } @@ -10,7 +8,6 @@ - def __print(s): - print(s) -else: -- import locale - def __print(s): - print(s.encode(locale.getpreferredencoding(), "replace")) +def __print(s): ++++++ suse-binarieschecks.diff ++++++ --- /var/tmp/diff_new_pack.ksFLhx/_old 2011-08-22 15:44:05.000000000 +0200 +++ /var/tmp/diff_new_pack.ksFLhx/_new 2011-08-22 15:44:05.000000000 +0200 @@ -1,6 +1,4 @@ -Index: BinariesCheck.py -=================================================================== ---- BinariesCheck.py.orig +--- BinariesCheck.py +++ BinariesCheck.py @@ -10,13 +10,15 @@ @@ -19,7 +17,7 @@ DEFAULT_SYSTEM_LIB_PATHS = ( -@@ -37,6 +39,9 @@ class BinaryInfo: +@@ -37,6 +39,9 @@ unused_regex = re.compile('^\s+(\S+)') exit_call_regex = re.compile('\s+FUNC\s+.*?\s+(_?exit(?:@\S+)?)(?:\s|$)') fork_call_regex = re.compile('\s+FUNC\s+.*?\s+(fork(?:@\S+)?)(?:\s|$)') @@ -29,7 +27,7 @@ def __init__(self, pkg, path, file, is_ar, is_shlib): self.readelf_error = False -@@ -50,7 +55,10 @@ class BinaryInfo: +@@ -50,7 +55,10 @@ self.stack = False self.exec_stack = False self.exit_calls = [] @@ -40,7 +38,7 @@ self.tail = '' is_debug = path.endswith('.debug') -@@ -93,6 +101,11 @@ class BinaryInfo: +@@ -93,6 +101,11 @@ self.exec_stack = True continue @@ -52,7 +50,7 @@ if is_shlib: r = BinaryInfo.exit_call_regex.search(l) if r: -@@ -103,6 +116,14 @@ class BinaryInfo: +@@ -103,6 +116,14 @@ fork_called = True continue @@ -67,7 +65,7 @@ if self.non_pic: self.non_pic = 'TEXTREL' in res[1] -@@ -272,13 +293,26 @@ class BinariesCheck(AbstractCheck.Abstra +@@ -274,13 +295,26 @@ continue # stripped ? @@ -95,7 +93,7 @@ if is_shlib: has_lib = True -@@ -328,6 +362,10 @@ class BinariesCheck(AbstractCheck.Abstra +@@ -330,6 +364,10 @@ for ec in bin_info.exit_calls: printWarning(pkg, 'shared-lib-calls-exit', fname, ec) @@ -106,7 +104,7 @@ # rpath ? if bin_info.rpath: for p in bin_info.rpath: -@@ -513,6 +551,14 @@ with the intended shared libraries only. +@@ -524,6 +562,14 @@ 'ldd-failed', '''Executing ldd on this file failed, all checks could not be run.''', @@ -121,7 +119,7 @@ 'executable-stack', '''The binary declares the stack as executable. Executable stack is usually an error as it is only needed if the code contains GCC trampolines or similar -@@ -525,6 +571,10 @@ don\'t define a proper .note.GNU-stack s +@@ -536,6 +582,10 @@ make the stack executable. Usual suspects include use of a non-GNU linker or an old GNU linker version.''', @@ -132,16 +130,16 @@ 'shared-lib-calls-exit', '''This library package calls exit() or _exit(), probably in a non-fork() context. Doing so from a library is strongly discouraged - when a library -@@ -542,6 +592,12 @@ form, make sure that rpmbuild does not s - that use prelink, make sure that prelink does not strip it either, usually by +@@ -554,6 +604,12 @@ placing a blacklist file in /etc/prelink.conf.d. For more information, see http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=256900#49''', -+ + +'unstripped-binary-or-object', +'''stripping debug info from binaries happens automatically according to global +project settings. So there's normally no need to manually strip binaries. +Left over unstripped binaries could therefore indicate a bug in the automatic +stripping process.''', - ) - - # BinariesCheck.py ends here ++ + 'non-position-independent-executable', + '''This executable must be position independent. Check that it is built with + -fPIE/-fpie in compiler flags and -pie in linker flags.''', ++++++ suse-filter-exception.diff ++++++ --- /var/tmp/diff_new_pack.ksFLhx/_old 2011-08-22 15:44:05.000000000 +0200 +++ /var/tmp/diff_new_pack.ksFLhx/_new 2011-08-22 15:44:05.000000000 +0200 @@ -1,8 +1,6 @@ -Index: Config.py -=================================================================== ---- Config.py.orig +--- Config.py +++ Config.py -@@ -116,12 +116,23 @@ def getOption(name, default = ""): +@@ -104,11 +104,23 @@ _filters = [] _filters_re = None @@ -13,12 +11,9 @@ +_filters_except_re = None + def addFilter(s): - global _filters global _filters_re + global _filters_except - -- _filters.append(s) -- _filters_re = None ++ + if len(_filters_except): + _filters.append(s) + _filters_re = None @@ -26,9 +21,12 @@ + _filters_non_except.append(s) + _filters_non_except_re = None +- _filters.append(s) +- _filters_re = None + def removeFilter(s): - global _filters -@@ -137,8 +148,14 @@ def removeFilter(s): + global _filters_re +@@ -123,19 +135,38 @@ _scoring = {} def setBadness(s, score): @@ -43,9 +41,8 @@ def badness(s): return _scoring.get(s, 0) -@@ -146,11 +163,24 @@ _non_named_group_re = re.compile('[^\\]( + _non_named_group_re = re.compile('[^\\](\()[^:]') def isFiltered(s): - global _filters global _filters_re + global _filters_except + global _filters_except_re @@ -72,7 +69,7 @@ _filters_re = '(?:' + _filters[0] + ')' for idx in range(1, len(_filters)): -@@ -162,9 +192,27 @@ def isFiltered(s): +@@ -147,9 +178,27 @@ _filters_re = _filters_re + '|(?:' + _filters[idx] +')' _filters_re = re.compile(_filters_re) ++++++ suse-python-abi-check.diff ++++++ --- FilesCheck.py +++ FilesCheck.py @@ -664,8 +664,11 @@ if res and not (pkg.check_versioned_dep('python-base', res.group(1)) or pkg.check_versioned_dep('python', - res.group(1))): - printError(pkg, 'no-dependency-on', 'python-base', + res.group(1)) or + pkg.check_versioned_dep('python(abi)', + res.group(1)) + ): + printError(pkg, 'no-dependency-on', 'python(abi)', res.group(1)) python_dep_error = True ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org