Hello community, here is the log from the commit of package rpmlint for openSUSE:Factory checked in at Wed Sep 16 18:41:16 CEST 2009. -------- --- rpmlint/rpmlint.changes 2009-08-28 12:46:51.000000000 +0200 +++ rpmlint/rpmlint.changes 2009-09-16 17:41:44.000000000 +0200 @@ -1,0 +2,50 @@ +Wed Sep 9 18:23:16 CEST 2009 - dmueller@suse.de + +- update to 0.90: + * Makefile: 0.90. + * rpmdiff: Add missing magic coding comment + (https://bugzilla.redhat.com/508683, Michal Nowak). + * TagsCheck.py: Fix incorrect info in self-obsoletion message. + * FilesCheck.py: Output interpreter in non-executable-script + warning, remove quotes from wrong-script-interpreter one. + * Pkg.py: Remove stale comments. + * TagsCheck.py: Code cleanup, NFC. + * TagsCheck.py: improve percent-in-* message details. + * TagsCheck.py: Remove obsolete-on-name check (superseded by + self-obsoletion). + * TagsCheck.py: Add check for self-obsoletion cases, + https://bugzilla.redhat.com/461610 + * Pkg.py: Borrow various utilities from yum's rpmUtils.miscutils. + * Makefile, rpmUtils: Revert previous commit. + * Makefile, rpmUtils, rpmUtils/miscutils.py, + rpmUtils/transaction.py: Borrow + rpmUtils/{miscutils,transaction}.py from yum. + * rpmdiff: Improve dependency formatting. + * rpmdiff: Take Epoch into account in self-provides filtering. + * Pkg.py: Improve legacy prereq tracking with new rpm versions. + * BinariesCheck.py: Don't output missing-PT_GNU_STACK-section + messages if readelf failed. + * FilesCheck.py: Add check for debuginfo packages without sources. + * FilesCheck.py: Allow more common files to be non-readable + (https://bugzilla.redhat.com/226412). + * FilesCheck.py: Revert relative symlink target normalization back + to more aggressive. + * BinariesCheck.py, Config.py, ConfigCheck.py, FHSCheck.py, + FilesCheck.py, I18NCheck.py, MenuCheck.py, Pkg.py, PostCheck.py, + TagsCheck.py, rpmdiff: Code cleanups. + * FilesCheck.py: Do not check existence of relative link targets on + the filesystem for consistency with absolute link target checks, + improve dangling-*symlink info messages. + * FilesCheck.py, Pkg.py: Be a bit stricter when normalizing link + targets, do it earlier. + * FilesCheck.py, Pkg.py: Improve link target normalization in + symlink checks. +- filter cross-directory-hard-link as it is duplicate to a suse + check + +------------------------------------------------------------------- +Mon Sep 7 15:14:41 CEST 2009 - dmueller@suse.de + +- filter buildroot related checks (bnc#536594) + +------------------------------------------------------------------- calling whatdependson for head-i586 Old: ---- rpmlint-0.87.tar.bz2 subprocess-support.diff suse-no-python-base.diff New: ---- rpmlint-0.90.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ rpmlint.spec ++++++ --- /var/tmp/diff_new_pack.NNi1FY/_old 2009-09-16 18:37:39.000000000 +0200 +++ /var/tmp/diff_new_pack.NNi1FY/_new 2009-09-16 18:37:39.000000000 +0200 @@ -1,5 +1,5 @@ # -# spec file for package rpmlint (Version 0.87) +# spec file for package rpmlint (Version 0.90) # # Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany. # @@ -22,8 +22,8 @@ Name: rpmlint BuildRequires: rpm-python Summary: Rpm correctness checker -Version: 0.87 -Release: 3 +Version: 0.90 +Release: 1 Source0: %{name}-%{version}.tar.bz2 Source1: config Source1001: config.in @@ -103,11 +103,9 @@ Patch60: selfconflicts-provide.diff Patch62: no-badness-return.diff Patch65: suse-shlib-devel-dependency.diff -Patch66: suse-no-python-base.diff Patch67: suse-required-lsb-tags.diff Patch68: more-verbose-lsb-check.diff Patch69: useless-requires-doc.diff -Patch70: subprocess-support.diff Patch71: suse-binary-info-compile-opts.diff Patch72: version-control-internal-file.diff %py_requires @@ -148,37 +146,36 @@ %patch23 # bogus, fails with aaa_base. disabled #patch24 -%patch26 +#%patch26 %patch27 %patch29 %patch30 -#patch31 -%patch33 -#patch34 -#patch35 +#%patch31 +# needs rediff +#%patch33 +#%patch34 +#%patch35 %patch37 -#patch39 -#patch41 -#patch42 -#patch46 -#patch47 -#patch49 +#%patch39 +#%patch41 +#%patch42 +#%patch46 +#%patch47 +#%patch49 %patch50 -#patch51 -#patch52 +%patch51 +#%patch52 %patch54 -#patch57 +#%patch57 %patch58 -#patch60 +#%patch60 %patch62 -#patch63 -#patch65 -#patch66 -#patch67 -#patch68 -#patch69 -#patch70 -#patch71 +#%patch63 +#%patch65 +#%patch67 +#%patch68 +#%patch69 +#%patch71 %patch72 cp -p %{SOURCE1} . cp -p %{SOURCE2} . ++++++ add-weak-dependencies.diff ++++++ --- /var/tmp/diff_new_pack.NNi1FY/_old 2009-09-16 18:37:40.000000000 +0200 +++ /var/tmp/diff_new_pack.NNi1FY/_new 2009-09-16 18:37:40.000000000 +0200 @@ -2,7 +2,7 @@ =================================================================== --- Pkg.py.orig +++ Pkg.py -@@ -170,6 +170,10 @@ class Pkg: +@@ -307,6 +307,10 @@ class Pkg: self._missingok_files = None self._files = None self._requires = None @@ -13,7 +13,7 @@ self._req_names = -1 if header: -@@ -376,6 +380,22 @@ class Pkg: +@@ -513,6 +517,22 @@ class Pkg: self._gatherDepInfo() return self._requires @@ -36,7 +36,7 @@ def prereq(self): self._gatherDepInfo() return self._prereq -@@ -406,7 +426,8 @@ class Pkg: +@@ -542,7 +562,8 @@ class Pkg: return self._provides # internal function to gather dependency info used by the above ones @@ -46,7 +46,7 @@ names = header[nametag] versions = header[versiontag] flags = header[flagstag] -@@ -415,7 +436,11 @@ class Pkg: +@@ -551,7 +572,11 @@ class Pkg: for loop in range(len(versions)): if prereq is not None and flags[loop] & PREREQ_FLAG: prereq.append((names[loop], versions[loop], flags[loop] & (~PREREQ_FLAG))) @@ -59,7 +59,7 @@ list.append((names[loop], versions[loop], flags[loop])) def _gatherDepInfo(self): -@@ -425,6 +450,10 @@ class Pkg: +@@ -561,6 +586,10 @@ class Pkg: self._provides = [] self._conflicts = [] self._obsoletes = [] @@ -70,7 +70,7 @@ self._gather_aux(self.header, self._requires, rpm.RPMTAG_REQUIRENAME, -@@ -443,6 +472,27 @@ class Pkg: +@@ -579,6 +608,27 @@ class Pkg: rpm.RPMTAG_OBSOLETENAME, rpm.RPMTAG_OBSOLETEVERSION, rpm.RPMTAG_OBSOLETEFLAGS) ++++++ better-wrong-script.diff ++++++ --- /var/tmp/diff_new_pack.NNi1FY/_old 2009-09-16 18:37:40.000000000 +0200 +++ /var/tmp/diff_new_pack.NNi1FY/_new 2009-09-16 18:37:40.000000000 +0200 @@ -1,6 +1,8 @@ ---- FilesCheck.py +Index: FilesCheck.py +=================================================================== +--- FilesCheck.py.orig +++ FilesCheck.py -@@ -1403,7 +1403,10 @@ +@@ -1470,7 +1470,10 @@ customize an executable, make it for exa executed.''', 'wrong-script-interpreter', ++++++ buildroot-doc.diff ++++++ --- /var/tmp/diff_new_pack.NNi1FY/_old 2009-09-16 18:37:40.000000000 +0200 +++ /var/tmp/diff_new_pack.NNi1FY/_new 2009-09-16 18:37:40.000000000 +0200 @@ -1,6 +1,8 @@ ---- SpecCheck.py +Index: SpecCheck.py +=================================================================== +--- SpecCheck.py.orig +++ SpecCheck.py -@@ -408,7 +408,7 @@ +@@ -539,7 +539,7 @@ allow building the package as non root o 'hardcoded-path-in-buildroot-tag', '''A path is hardcoded in your Buildroot tag. It should be replaced ++++++ buildroot-in-scripts.diff ++++++ --- /var/tmp/diff_new_pack.NNi1FY/_old 2009-09-16 18:37:40.000000000 +0200 +++ /var/tmp/diff_new_pack.NNi1FY/_new 2009-09-16 18:37:40.000000000 +0200 @@ -14,7 +14,7 @@ # Only check for /lib, /usr/lib, /usr/X11R6/lib # TODO: better handling of X libraries and modules. -@@ -262,7 +265,9 @@ class SpecCheck(AbstractCheck.AbstractCh +@@ -257,7 +260,9 @@ class SpecCheck(AbstractCheck.AbstractCh continue ++++++ config ++++++ --- /var/tmp/diff_new_pack.NNi1FY/_old 2009-09-16 18:37:40.000000000 +0200 +++ /var/tmp/diff_new_pack.NNi1FY/_new 2009-09-16 18:37:40.000000000 +0200 @@ -46,6 +46,9 @@ addFilter(".*incoherent-version-in-name.*") addFilter(".*invalid-vendor.*") addFilter(".*invalid-distribution.*") +addFilter(".*hardcoded-path-in-buildroot-tag.*") +addFilter(".*no-buildroot-tag.*") +addFilter(".*cross-directory-hard-link.*") # Configuration options used by the checks ++++++ dependency-parsing.diff ++++++ --- /var/tmp/diff_new_pack.NNi1FY/_old 2009-09-16 18:37:40.000000000 +0200 +++ /var/tmp/diff_new_pack.NNi1FY/_new 2009-09-16 18:37:40.000000000 +0200 @@ -1,12 +1,13 @@ ---- SpecCheck.py +Index: SpecCheck.py +=================================================================== +--- SpecCheck.py.orig +++ SpecCheck.py -@@ -90,7 +90,7 @@ +@@ -112,7 +112,7 @@ def deptokens(line): elif wantmore: tmp += ' ' + tok - wantmore = 0 + wantmore = False - elif tok[0] in ('=', '<', '>'): + elif len(tok) and tok[0] in ('=', '<', '>'): tmp += ' ' + tok - wantmore = 1 + wantmore = True else: - ++++++ description-check.diff ++++++ --- /var/tmp/diff_new_pack.NNi1FY/_old 2009-09-16 18:37:40.000000000 +0200 +++ /var/tmp/diff_new_pack.NNi1FY/_new 2009-09-16 18:37:40.000000000 +0200 @@ -1,16 +1,16 @@ --- TagsCheck.py +++ TagsCheck.py -@@ -594,6 +594,9 @@ class TagsCheck(AbstractCheck.AbstractCheck): - if use_utf8 and not Pkg.is_utf8_str(description): - printError(pkg, 'tag-not-utf8', '%description') - -+ if len(description.partition('Authors:')[0])-4 <= len(summary): -+ printWarning(pkg, 'description-shorter-than-summary') +@@ -576,6 +576,9 @@ + if not description: + printError(pkg, 'no-description-tag') + else: ++ if len(description.partition('Authors:')[0])-4 <= len(summary): ++ printWarning(pkg, 'description-shorter-than-summary') + - group=pkg[rpm.RPMTAG_GROUP] - if not group: - printError(pkg, 'no-group-tag') -@@ -769,6 +772,10 @@ Name tag.''', + spell_check(pkg, description, 'description') + for l in description.splitlines(): + utf8l = l +@@ -786,6 +789,10 @@ '''The major number of the library isn't included in the package's name. ''', ++++++ detailed-desktop-file-check.diff ++++++ --- /var/tmp/diff_new_pack.NNi1FY/_old 2009-09-16 18:37:40.000000000 +0200 +++ /var/tmp/diff_new_pack.NNi1FY/_new 2009-09-16 18:37:40.000000000 +0200 @@ -1,15 +1,17 @@ --- MenuXDGCheck.py +++ MenuXDGCheck.py -@@ -21,7 +21,11 @@ +@@ -21,8 +21,12 @@ def check_file(self, pkg, filename): f = pkg.dirName() + filename -- if getstatusoutput(('desktop-file-validate', f), 1)[0]: -+ st = getstatusoutput(('desktop-file-validate', f), 1) +- if getstatusoutput(('desktop-file-validate', f), True)[0]: +- printError(pkg, 'invalid-desktopfile', filename) ++ st = getstatusoutput(('desktop-file-validate', f), True) + if st[0]: -+ if st[1].find('error:') != -1: -+ printError(pkg, 'invalid-desktopfile', filename, st[1].split('error: ')[1]) -+ else: - printError(pkg, 'invalid-desktopfile', filename) ++ if st[1].find('error:') != -1: ++ printError(pkg, 'invalid-desktopfile', filename, st[1].split('error: ')[1]) ++ else: ++ printError(pkg, 'invalid-desktopfile', filename) if not is_utf8(f): printError(pkg, 'non-utf8-desktopfile', filename) + ++++++ devel-provide-is-devel-package.diff ++++++ --- /var/tmp/diff_new_pack.NNi1FY/_old 2009-09-16 18:37:40.000000000 +0200 +++ /var/tmp/diff_new_pack.NNi1FY/_new 2009-09-16 18:37:40.000000000 +0200 @@ -1,6 +1,8 @@ ---- FilesCheck.py +Index: FilesCheck.py +=================================================================== +--- FilesCheck.py.orig +++ FilesCheck.py -@@ -285,6 +285,10 @@ +@@ -761,6 +761,10 @@ class FilesCheck(AbstractCheck.AbstractC # Check if the package is a development package devel_pkg = devel_regex.search(pkg.name) ++++++ docdata-examples.diff ++++++ --- /var/tmp/diff_new_pack.NNi1FY/_old 2009-09-16 18:37:40.000000000 +0200 +++ /var/tmp/diff_new_pack.NNi1FY/_new 2009-09-16 18:37:40.000000000 +0200 @@ -1,6 +1,8 @@ ---- FilesCheck.py +Index: FilesCheck.py +=================================================================== +--- FilesCheck.py.orig +++ FilesCheck.py -@@ -179,6 +179,7 @@ +@@ -651,6 +651,7 @@ bin_regex = re.compile('^(/usr)?/s?bin/' includefile_regex = re.compile('.(c|h)(pp|xx)?$', re.IGNORECASE) develfile_regex = re.compile('.(a|cmxa?|mli?)$') buildconfigfile_regex = re.compile('(.pc|/bin/.+-config)$') @@ -8,7 +10,7 @@ # room for improvement with catching more -R, but also for false positives... buildconfig_rpath_regex = re.compile('(?:-rpath|Wl,-R)\b') sofile_regex = re.compile('/lib(64)?/(.+/)?lib[^/]+.so$') -@@ -551,7 +552,7 @@ +@@ -1035,7 +1036,7 @@ class FilesCheck(AbstractCheck.AbstractC includefile_regex.search(f) or \ develfile_regex.search(f) or \ logrotate_regex.search(f) @@ -16,8 +18,8 @@ + if nonexec_file and not docdir_examples_regex.search(f): printWarning(pkg, 'spurious-executable-perm', f) elif f.startswith('/etc/'): - if not f in config_files and not f in ghost_files: -@@ -853,7 +854,10 @@ + if f not in config_files and f not in ghost_files: +@@ -1346,7 +1347,10 @@ included in your package.''', 'spurious-executable-perm', '''The file is installed with executable permissions, but was identified as one that probably should not be executable. Verify if the executable bits are ++++++ invalid-filerequires.diff ++++++ --- /var/tmp/diff_new_pack.NNi1FY/_old 2009-09-16 18:37:40.000000000 +0200 +++ /var/tmp/diff_new_pack.NNi1FY/_new 2009-09-16 18:37:40.000000000 +0200 @@ -1,14 +1,16 @@ ---- TagsCheck.py +Index: TagsCheck.py +=================================================================== +--- TagsCheck.py.orig +++ TagsCheck.py -@@ -402,6 +402,7 @@ +@@ -402,6 +402,7 @@ invalid_version_regex = re.compile('([0- # () are here for grouping purpose in the regexp forbidden_words_regex = re.compile('(' + Config.getOption('ForbiddenWords') + ')', re.IGNORECASE) valid_buildhost_regex = re.compile(Config.getOption('ValidBuildHost')) +valid_filedep_regex=re.compile('(?:/s?bin/|^/etc/|^/usr/lib/sendmail$)') epoch_regex = re.compile('^[0-9]+:') - use_epoch = Config.getOption('UseEpoch', 0) + use_epoch = Config.getOption('UseEpoch', False) use_utf8 = Config.getOption('UseUTF8', Config.USEUTF8_DEFAULT) -@@ -484,6 +485,9 @@ +@@ -484,6 +485,9 @@ class TagsCheck(AbstractCheck.AbstractCh if d[0].startswith('/usr/local/'): printError(pkg, 'invalid-dependency', d[0]) @@ -18,9 +20,9 @@ if not devel_depend and not is_devel and not is_source: if FilesCheck.devel_regex.search(d[0]): printError(pkg, 'devel-dependency', d[0]) -@@ -885,6 +889,12 @@ - 'obsolete-on-name', - '''A package should not obsolete itself, as it can cause weird errors in tools.''', +@@ -902,6 +906,12 @@ explicit Requires: tags.''', + '''This package provides 2 times the same capacity. It should only provide it + once.''', +'invalid-filepath-dependency', +'''A package has a file or path based dependency that is not resolveable for ++++++ locale-update.diff ++++++ --- /var/tmp/diff_new_pack.NNi1FY/_old 2009-09-16 18:37:40.000000000 +0200 +++ /var/tmp/diff_new_pack.NNi1FY/_new 2009-09-16 18:37:40.000000000 +0200 @@ -1,6 +1,8 @@ ---- I18NCheck.py +Index: I18NCheck.py +=================================================================== +--- I18NCheck.py.orig +++ I18NCheck.py -@@ -35,22 +35,22 @@ +@@ -38,22 +38,22 @@ INCORRECT_LOCALES = { # # 'en_RN' and 'en@IPA' are not real language bu funny variations on english CORRECT_SUBDIRS = ( ++++++ no-badness-return.diff ++++++ --- /var/tmp/diff_new_pack.NNi1FY/_old 2009-09-16 18:37:40.000000000 +0200 +++ /var/tmp/diff_new_pack.NNi1FY/_new 2009-09-16 18:37:40.000000000 +0200 @@ -1,27 +1,3 @@ -Index: Filter.py -=================================================================== ---- Filter.py.orig -+++ Filter.py -@@ -101,10 +101,6 @@ def _diag_compare(x, y): - - - def printAllReasons(): -- threshold = badnessThreshold() -- if threshold < 0: -- return 0 -- - global _badness_score, _diagnostic - _diagnostic.sort(_diag_compare) - last_reason = '' -@@ -119,8 +115,6 @@ def printAllReasons(): - if Config.info and len(last_reason): - printDescriptions(last_reason) - _diagnostic = list() -- return _badness_score > threshold -- - - _details = {} - Index: rpmlint.py =================================================================== --- rpmlint.py.orig @@ -49,3 +25,27 @@ if printed_messages["E"] > 0: sys.exit(64) sys.exit(0) +Index: Filter.py +=================================================================== +--- Filter.py.orig ++++ Filter.py +@@ -101,10 +101,6 @@ def _diag_compare(x, y): + + + def printAllReasons(): +- threshold = badnessThreshold() +- if threshold < 0: +- return False +- + global _badness_score, _diagnostic + _diagnostic.sort(_diag_compare) + last_reason = '' +@@ -119,8 +115,6 @@ def printAllReasons(): + if Config.info and len(last_reason): + printDescriptions(last_reason) + _diagnostic = list() +- return _badness_score > threshold +- + + _details = {} + ++++++ no-doc-for-lib.diff ++++++ --- /var/tmp/diff_new_pack.NNi1FY/_old 2009-09-16 18:37:40.000000000 +0200 +++ /var/tmp/diff_new_pack.NNi1FY/_new 2009-09-16 18:37:40.000000000 +0200 @@ -2,9 +2,9 @@ =================================================================== --- FilesCheck.py.orig +++ FilesCheck.py -@@ -772,7 +772,7 @@ class FilesCheck(AbstractCheck.AbstractC - log_file = 0 - logrotate_file = 0 +@@ -778,7 +778,7 @@ class FilesCheck(AbstractCheck.AbstractC + debuginfo_srcs = False + debuginfo_debugs = False - if not doc_files: + if not lib_package and not doc_files: ++++++ rpmgroup-checks.diff ++++++ --- /var/tmp/diff_new_pack.NNi1FY/_old 2009-09-16 18:37:40.000000000 +0200 +++ /var/tmp/diff_new_pack.NNi1FY/_new 2009-09-16 18:37:40.000000000 +0200 @@ -2,7 +2,7 @@ =================================================================== --- TagsCheck.py.orig +++ TagsCheck.py -@@ -601,6 +601,8 @@ class TagsCheck(AbstractCheck.AbstractCh +@@ -602,6 +602,8 @@ class TagsCheck(AbstractCheck.AbstractCh else: if VALID_GROUPS and group not in VALID_GROUPS: printWarning(pkg, 'non-standard-group', group) ++++++ rpmlint-0.87.tar.bz2 -> rpmlint-0.90.tar.bz2 ++++++ ++++ 2632 lines of diff (skipped) ++++++ script-interpreter-only-for-exec-scripts.diff ++++++ --- /var/tmp/diff_new_pack.NNi1FY/_old 2009-09-16 18:37:40.000000000 +0200 +++ /var/tmp/diff_new_pack.NNi1FY/_new 2009-09-16 18:37:40.000000000 +0200 @@ -1,11 +1,13 @@ ---- FilesCheck.py +Index: FilesCheck.py +=================================================================== +--- FilesCheck.py.orig +++ FilesCheck.py -@@ -1107,7 +1107,7 @@ - # ...but executed ones should - elif res or mode & 0111 != 0 or script_regex.search(f): +@@ -1162,7 +1162,7 @@ class FilesCheck(AbstractCheck.AbstractC + interpreter = None if res: -- if not interpreter_regex.search(res.group(1)): -+ if mode & 0111 != 0 and not interpreter_regex.search(res.group(1)): - printError(pkg, 'wrong-script-interpreter', f, '"' + res.group(1) + '"') + interpreter = res.group(1) +- if not interpreter_regex.search(interpreter): ++ if mode & 0111 != 0 and not interpreter_regex.search(interpreter): + printError(pkg, 'wrong-script-interpreter', f, interpreter) elif not nonexec_file and not (lib_path_regex.search(f) and f.endswith('.la')): printError(pkg, 'script-without-shebang', f) ++++++ sourced-dirs.diff ++++++ --- /var/tmp/diff_new_pack.NNi1FY/_old 2009-09-16 18:37:41.000000000 +0200 +++ /var/tmp/diff_new_pack.NNi1FY/_new 2009-09-16 18:37:41.000000000 +0200 @@ -1,6 +1,8 @@ ---- FilesCheck.py +Index: FilesCheck.py +=================================================================== +--- FilesCheck.py.orig +++ FilesCheck.py -@@ -211,7 +211,7 @@ +@@ -683,7 +683,7 @@ manifest_perl_regex = re.compile('^/usr/ shebang_regex = re.compile('^#!\s*(\S*)') interpreter_regex = re.compile('^/(usr/)?(s?bin|games|libexec(/.+)?|(lib(64)?|share)/.+)/[^/]+$') script_regex = re.compile('^/((usr/)?s?bin|etc/(rc.d/init.d|X11/xinit.d|cron.(hourly|daily|monthly|weekly)))/') ++++++ suse-bzip-bigger-than-100k.diff ++++++ --- /var/tmp/diff_new_pack.NNi1FY/_old 2009-09-16 18:37:41.000000000 +0200 +++ /var/tmp/diff_new_pack.NNi1FY/_new 2009-09-16 18:37:41.000000000 +0200 @@ -1,17 +1,15 @@ -Index: SourceCheck.py -=================================================================== ---- SourceCheck.py.orig +--- SourceCheck.py +++ SourceCheck.py -@@ -17,7 +17,7 @@ import Config +@@ -17,7 +17,7 @@ DEFAULT_VALID_SRC_PERMS = (0644, 0755) -source_regex = re.compile('\.(tar|patch|tgz|diff)$') -+source_regex = re.compile('\.(tar|patch|tar.gz|tgz|diff)$') - use_bzip2 = Config.getOption('UseBzip2', 1) ++source_regex = re.compile('\.(tar|patch|tgz|tar.gz|diff)$') + use_bzip2 = Config.getOption('UseBzip2', True) valid_src_perms = Config.getOption("ValidSrcPerms", DEFAULT_VALID_SRC_PERMS) -@@ -40,7 +40,7 @@ class SourceCheck(AbstractCheck.Abstract +@@ -40,7 +40,7 @@ printError(pkg, 'multiple-specfiles', spec_file, fname) else: spec_file = fname @@ -20,7 +18,7 @@ if use_bzip2: if not fname.endswith('.bz2'): printWarning(pkg, 'source-or-patch-not-bzipped', fname) -@@ -61,7 +61,9 @@ all your RPM information.''', +@@ -61,7 +61,9 @@ 'source-or-patch-not-bzipped', '''A source archive or file in your package is not bzipped (doesn't ++++++ suse-debuginfo.diff ++++++ --- /var/tmp/diff_new_pack.NNi1FY/_old 2009-09-16 18:37:41.000000000 +0200 +++ /var/tmp/diff_new_pack.NNi1FY/_new 2009-09-16 18:37:41.000000000 +0200 @@ -1,8 +1,6 @@ -Index: BinariesCheck.py -=================================================================== ---- BinariesCheck.py.orig +--- BinariesCheck.py +++ BinariesCheck.py -@@ -39,6 +39,8 @@ class BinaryInfo: +@@ -39,6 +39,8 @@ debug_file_regex = re.compile('.debug$') exit_call_regex = re.compile('\s+FUNC\s+.*?\s+(_?exit(?:@\S+)?)(?:\s|$)') fork_call_regex = re.compile('\s+FUNC\s+.*?\s+(fork(?:@\S+)?)(?:\s|$)') @@ -10,18 +8,18 @@ + symtab_regex=re.compile('^\s+[\s*\d+]\s+.symtab\s+') def __init__(self, pkg, path, file, is_ar, is_shlib): - self.readelf_error = 0 -@@ -53,6 +55,8 @@ class BinaryInfo: - self.exec_stack = 0 + self.readelf_error = False +@@ -53,6 +55,8 @@ + self.exec_stack = False self.exit_calls = [] - fork_called = 0 + fork_called = False + self.debuginfo = 0 + self.symtab=0 self.tail = '' is_debug = BinaryInfo.debug_file_regex.search(path) -@@ -105,6 +109,14 @@ class BinaryInfo: - fork_called = 1 +@@ -105,6 +109,14 @@ + fork_called = True continue + if BinaryInfo.debuginfo_regex.search(l): @@ -35,7 +33,7 @@ if self.non_pic: self.non_pic = BinaryInfo.non_pic_regex.search(res[1]) -@@ -260,6 +272,17 @@ class BinariesCheck(AbstractCheck.Abstra +@@ -260,6 +272,17 @@ bin_info = BinaryInfo( pkg, pkgfile.path, fname, is_ar, is_shlib) @@ -53,7 +51,7 @@ # so name in library if is_shlib: has_lib = True -@@ -488,6 +511,14 @@ with the intended shared libraries only. +@@ -491,6 +514,14 @@ 'ldd-failed', '''Executing ldd on this file failed, all checks could not be run.''', ++++++ suse-hide-unstripped-outside-build.diff ++++++ --- /var/tmp/diff_new_pack.NNi1FY/_old 2009-09-16 18:37:41.000000000 +0200 +++ /var/tmp/diff_new_pack.NNi1FY/_new 2009-09-16 18:37:41.000000000 +0200 @@ -1,4 +1,6 @@ ---- BinariesCheck.py +Index: BinariesCheck.py +=================================================================== +--- BinariesCheck.py.orig +++ BinariesCheck.py @@ -10,6 +10,7 @@ @@ -8,13 +10,13 @@ import rpm -@@ -252,7 +253,9 @@ +@@ -265,7 +266,9 @@ class BinariesCheck(AbstractCheck.Abstra # stripped ? - if not unstrippable.search(fname) and not is_ocaml_native: + if not is_ocaml_native and not unstrippable.search(fname): - if not_stripped.search(pkgfile.magic): + if not_stripped.search(pkgfile.magic) and \ -+ (os.environ.get('BUILD_IS_RUNNING', None) == None or \ ++ (os.environ.get('BUILD_IS_RUNNING', None) == None or \ + os.environ.get('BUILD_DEBUG_FLAGS','').find('-g') != -1): printWarning( pkg, 'unstripped-binary-or-object', fname) ++++++ suse-no-run-ldconfig.diff ++++++ --- /var/tmp/diff_new_pack.NNi1FY/_old 2009-09-16 18:37:41.000000000 +0200 +++ /var/tmp/diff_new_pack.NNi1FY/_new 2009-09-16 18:37:41.000000000 +0200 @@ -2,9 +2,9 @@ =================================================================== --- SpecCheck.py.orig +++ SpecCheck.py -@@ -387,6 +387,10 @@ class SpecCheck(AbstractCheck.AbstractCh - for obs in unversioned(deptokens(res.group(1))): - printWarning(pkg, 'unversioned-explicit-obsoletes', obs) +@@ -420,6 +420,10 @@ class SpecCheck(AbstractCheck.AbstractCh + printWarning(pkg, 'comparison-operator-in-deptoken', + conf) + if current_section in ('post', 'postun'): + if line.find('%run_ldconfig') != -1: @@ -13,7 +13,7 @@ if current_section == 'changelog': res = macro_regex.search(line) if res and len(res.group(1)) % 2: -@@ -602,6 +606,14 @@ will break short circuiting.''', +@@ -635,6 +639,14 @@ will break short circuiting.''', '''Make check or other automated regression test should be run in %check, as they can be disabled with a rpm macro for short circuiting purposes.''', ++++++ suse-version.diff ++++++ --- /var/tmp/diff_new_pack.NNi1FY/_old 2009-09-16 18:37:41.000000000 +0200 +++ /var/tmp/diff_new_pack.NNi1FY/_new 2009-09-16 18:37:41.000000000 +0200 @@ -1,6 +1,8 @@ ---- SpecCheck.py +Index: SpecCheck.py +=================================================================== +--- SpecCheck.py.orig +++ SpecCheck.py -@@ -53,6 +53,7 @@ +@@ -53,6 +53,7 @@ libdir_regex = re.compile('%{?_lib(?:dir comment_or_empty_regex = re.compile('^\s*(#|$)') defattr_regex = re.compile('^\s*%defattr\b') attr_regex = re.compile('^\s*%attr\b') @@ -8,7 +10,7 @@ section_regexs = dict( ([x, re.compile('^%' + x + '(?:\s|$)')] for x in ('build', 'changelog', 'check', 'clean', 'description', 'files', -@@ -359,6 +360,12 @@ +@@ -363,6 +364,12 @@ class SpecCheck(AbstractCheck.AbstractCh if res: package_noarch[current_package] = True @@ -21,7 +23,7 @@ res = prereq_regex.search(line) if res: printError(pkg, 'prereq-use', res.group(2)) -@@ -645,6 +652,15 @@ +@@ -673,6 +680,15 @@ set which may result in security issues depending on the system where the package is built. Add default attributes using %defattr before it in the %files section, or use per line %attr's.''', ++++++ usr-arch.diff ++++++ --- /var/tmp/diff_new_pack.NNi1FY/_old 2009-09-16 18:37:41.000000000 +0200 +++ /var/tmp/diff_new_pack.NNi1FY/_new 2009-09-16 18:37:41.000000000 +0200 @@ -1,6 +1,8 @@ ---- BinariesCheck.py +Index: BinariesCheck.py +=================================================================== +--- BinariesCheck.py.orig +++ BinariesCheck.py -@@ -165,6 +165,7 @@ +@@ -177,6 +177,7 @@ path_regex = re.compile('(.*/)([^/]+)') numeric_dir_regex = re.compile('/usr(?:/share)/man/man./(.*).[0-9](?:.gz|.bz2)') versioned_dir_regex = re.compile('[^.][0-9]') usr_share = re.compile('^/usr/share/') @@ -8,7 +10,7 @@ etc = re.compile('^/etc/') not_stripped = re.compile('not stripped') unstrippable = re.compile('.o$|.static$') -@@ -239,7 +240,7 @@ +@@ -251,7 +252,7 @@ class BinariesCheck(AbstractCheck.Abstra printError(pkg, 'arch-independent-package-contains-binary-or-object', fname) else: # in /usr/share ? ++++++ xdg-paths-update.diff ++++++ --- /var/tmp/diff_new_pack.NNi1FY/_old 2009-09-16 18:37:41.000000000 +0200 +++ /var/tmp/diff_new_pack.NNi1FY/_new 2009-09-16 18:37:41.000000000 +0200 @@ -1,6 +1,8 @@ ---- MenuXDGCheck.py +Index: MenuXDGCheck.py +=================================================================== +--- MenuXDGCheck.py.orig +++ MenuXDGCheck.py -@@ -16,7 +16,8 @@ +@@ -17,7 +17,8 @@ class MenuXDGCheck(AbstractCheck.Abstrac # desktop file need to be in $XDG_DATA_DIRS # $ echo $XDG_DATA_DIRS/applications # /var/lib/menu-xdg:/usr/share ++++++ yast-provides.diff ++++++ --- /var/tmp/diff_new_pack.NNi1FY/_old 2009-09-16 18:37:41.000000000 +0200 +++ /var/tmp/diff_new_pack.NNi1FY/_new 2009-09-16 18:37:41.000000000 +0200 @@ -1,11 +1,11 @@ ---- TagsCheck.py +--- TagsCheck.py.orig +++ TagsCheck.py -@@ -669,7 +669,7 @@ +@@ -674,7 +674,7 @@ class TagsCheck(AbstractCheck.AbstractCh printWarning(pkg, 'no-url-tag') obs_names = [x[0] for x in pkg.obsoletes()] - prov_names = [x[0] for x in pkg.provides()] + prov_names = [x[0].split(':/')[0] for x in pkg.provides()] - if pkg.name in obs_names: - printError(pkg, 'obsolete-on-name') + for o in obs_names: + if o not in prov_names: ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org