SHA256
1
0
forked from pool/rpmlint
Dirk Mueller 2017-09-28 20:18:14 +00:00 committed by Git OBS Bridge
parent 4fa0fae5a0
commit 471cf0d4d9
22 changed files with 105 additions and 66 deletions

View File

@ -1,3 +1,5 @@
Index: rpmlint-rpmlint-1.10/Pkg.py
===================================================================
--- rpmlint-rpmlint-1.10.orig/Pkg.py
+++ rpmlint-rpmlint-1.10/Pkg.py
@@ -494,6 +494,10 @@ class Pkg(AbstractPkg):
@ -68,7 +70,7 @@ Index: rpmlint-rpmlint-1.10/TagsCheck.py
===================================================================
--- rpmlint-rpmlint-1.10.orig/TagsCheck.py
+++ rpmlint-rpmlint-1.10/TagsCheck.py
@@ -899,8 +899,27 @@ class TagsCheck(AbstractCheck.AbstractCh
@@ -889,8 +889,27 @@ class TagsCheck(AbstractCheck.AbstractCh
value = Pkg.formatRequire(*c)
self._unexpanded_macros(pkg, 'Conflicts %s' % (value,), value)

View File

@ -1,6 +1,8 @@
--- rpmlint-rpmlint-1.9.orig/FilesCheck.py
+++ rpmlint-rpmlint-1.9/FilesCheck.py
@@ -1249,7 +1249,10 @@ executed.''',
Index: rpmlint-rpmlint-1.10/FilesCheck.py
===================================================================
--- rpmlint-rpmlint-1.10.orig/FilesCheck.py
+++ rpmlint-rpmlint-1.10/FilesCheck.py
@@ -1278,7 +1278,10 @@ executed.''',
'wrong-script-interpreter',
'''This script uses an interpreter which is either an inappropriate one

View File

@ -6,11 +6,11 @@ Subject: [PATCH] check for self provides
TagsCheck.py | 6 ++++++
1 file changed, 6 insertions(+)
Index: rpmlint-rpmlint-1.9/TagsCheck.py
Index: rpmlint-rpmlint-1.10/TagsCheck.py
===================================================================
--- rpmlint-rpmlint-1.9.orig/TagsCheck.py
+++ rpmlint-rpmlint-1.9/TagsCheck.py
@@ -901,6 +901,8 @@ class TagsCheck(AbstractCheck.AbstractCh
--- rpmlint-rpmlint-1.10.orig/TagsCheck.py
+++ rpmlint-rpmlint-1.10/TagsCheck.py
@@ -891,6 +891,8 @@ class TagsCheck(AbstractCheck.AbstractCh
for p in pkg.provides():
value = Pkg.formatRequire(*p)
self._unexpanded_macros(pkg, 'Provides %s' % (value,), value)
@ -19,7 +19,7 @@ Index: rpmlint-rpmlint-1.9/TagsCheck.py
for c in pkg.conflicts():
value = Pkg.formatRequire(*c)
@@ -1252,6 +1254,10 @@ objects should thus not be depended on a
@@ -1234,6 +1236,10 @@ objects should thus not be depended on a
in the containing package. Get rid of the provides if appropriate, for example
by filtering it out during build. Note that in some cases this may require
disabling rpmbuild's internal dependency generator.''',

View File

@ -8,11 +8,11 @@ Subject: [PATCH] confusing-invalid-spec-name
SpecCheck.py | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/SpecCheck.py b/SpecCheck.py
index 0d77a03..739410f 100644
--- a/SpecCheck.py
+++ b/SpecCheck.py
@@ -647,8 +647,8 @@ addDetails(
Index: rpmlint-rpmlint-1.10/SpecCheck.py
===================================================================
--- rpmlint-rpmlint-1.10.orig/SpecCheck.py
+++ rpmlint-rpmlint-1.10/SpecCheck.py
@@ -644,8 +644,8 @@ addDetails(
SPEC file to build a valid RPM package.''',
'invalid-spec-name',

View File

@ -11,7 +11,7 @@ Index: rpmlint-rpmlint-1.10/TagsCheck.py
===================================================================
--- rpmlint-rpmlint-1.10.orig/TagsCheck.py
+++ rpmlint-rpmlint-1.10/TagsCheck.py
@@ -746,6 +746,9 @@ class TagsCheck(AbstractCheck.AbstractCh
@@ -736,6 +736,9 @@ class TagsCheck(AbstractCheck.AbstractCh
else:
for lang in langs:
self.check_description(pkg, lang, ignored_words)
@ -21,7 +21,7 @@ Index: rpmlint-rpmlint-1.10/TagsCheck.py
else:
printError(pkg, 'no-description-tag')
@@ -1046,6 +1049,10 @@ Name tag.''',
@@ -1028,6 +1031,10 @@ Name tag.''',
'''The major number of the library isn't included in the package's name.
''',

View File

@ -7,11 +7,11 @@ Subject: [PATCH] extend-suse-conffiles-check.diff
FilesCheck.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/FilesCheck.py b/FilesCheck.py
index 24029f1..a8ac7f4 100644
--- a/FilesCheck.py
+++ b/FilesCheck.py
@@ -1202,7 +1202,7 @@ class FilesCheck(AbstractCheck.AbstractCheck):
Index: rpmlint-rpmlint-1.10/FilesCheck.py
===================================================================
--- rpmlint-rpmlint-1.10.orig/FilesCheck.py
+++ rpmlint-rpmlint-1.10/FilesCheck.py
@@ -803,7 +803,7 @@ class FilesCheck(AbstractCheck.AbstractC
if nonexec_file and not docdir_examples_regex.search(f):
printWarning(pkg, 'spurious-executable-perm', f)
elif f.startswith('/etc/') and f not in config_files and \

View File

@ -19,7 +19,7 @@ Index: rpmlint-rpmlint-1.10/TagsCheck.py
use_epoch = Config.getOption('UseEpoch', False)
use_utf8 = Config.getOption('UseUTF8', Config.USEUTF8_DEFAULT)
max_line_len = Config.getOption('MaxLineLength', 79)
@@ -642,6 +643,9 @@ class TagsCheck(AbstractCheck.AbstractCh
@@ -632,6 +633,9 @@ class TagsCheck(AbstractCheck.AbstractCh
if d[0].startswith('/usr/local/'):
printError(pkg, 'invalid-dependency', d[0])
@ -29,7 +29,7 @@ Index: rpmlint-rpmlint-1.10/TagsCheck.py
if is_source:
if lib_devel_number_regex.search(d[0]):
printError(pkg, 'invalid-build-requires', d[0])
@@ -1199,6 +1203,12 @@ unneeded explicit Requires: tags.''',
@@ -1181,6 +1185,12 @@ unneeded explicit Requires: tags.''',
'''This package provides 2 times the same capacity. It should only provide it
once.''',

View File

@ -11,7 +11,7 @@ Index: rpmlint-rpmlint-1.10/BinariesCheck.py
===================================================================
--- rpmlint-rpmlint-1.10.orig/BinariesCheck.py
+++ rpmlint-rpmlint-1.10/BinariesCheck.py
@@ -370,8 +370,19 @@ class BinariesCheck(AbstractCheck.Abstra
@@ -367,8 +367,19 @@ class BinariesCheck(AbstractCheck.Abstra
is_ar = 'current ar archive' in pkgfile.magic
is_ocaml_native = 'Objective caml native' in pkgfile.magic
is_lua_bytecode = 'Lua bytecode' in pkgfile.magic
@ -31,7 +31,7 @@ Index: rpmlint-rpmlint-1.10/BinariesCheck.py
if not is_binary:
if reference_regex.search(fname):
lines = pkg.grep(invalid_dir_ref_regex, fname)
@@ -640,6 +651,15 @@ to list code compiled without -fPIC.
@@ -637,6 +648,15 @@ to list code compiled without -fPIC.
Another common mistake that causes this problem is linking with
``gcc -Wl,-shared'' instead of ``gcc -shared''.''',

View File

@ -7,11 +7,11 @@ Subject: [PATCH] no-doc-for-lib.diff
FilesCheck.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: rpmlint-rpmlint-1.9/FilesCheck.py
Index: rpmlint-rpmlint-1.10/FilesCheck.py
===================================================================
--- rpmlint-rpmlint-1.9.orig/FilesCheck.py
+++ rpmlint-rpmlint-1.9/FilesCheck.py
@@ -434,7 +434,7 @@ class FilesCheck(AbstractCheck.AbstractC
--- rpmlint-rpmlint-1.10.orig/FilesCheck.py
+++ rpmlint-rpmlint-1.10/FilesCheck.py
@@ -440,7 +440,7 @@ class FilesCheck(AbstractCheck.AbstractC
debuginfo_srcs = False
debuginfo_debugs = False

View File

@ -11,7 +11,7 @@ Index: rpmlint-rpmlint-1.10/BinariesCheck.py
===================================================================
--- rpmlint-rpmlint-1.10.orig/BinariesCheck.py
+++ rpmlint-rpmlint-1.10/BinariesCheck.py
@@ -348,6 +348,7 @@ class BinariesCheck(AbstractCheck.Abstra
@@ -345,6 +345,7 @@ class BinariesCheck(AbstractCheck.Abstra
binary = False
binary_in_usr_lib = False
has_usr_lib_file = False
@ -19,7 +19,7 @@ Index: rpmlint-rpmlint-1.10/BinariesCheck.py
multi_pkg = False
srpm = pkg[rpm.RPMTAG_SOURCERPM]
@@ -366,6 +367,10 @@ class BinariesCheck(AbstractCheck.Abstra
@@ -363,6 +364,10 @@ class BinariesCheck(AbstractCheck.Abstra
# only-non-binary-in-usr-lib false positives
binary_in_usr_lib = True
@ -30,7 +30,7 @@ Index: rpmlint-rpmlint-1.10/BinariesCheck.py
is_elf = 'ELF' in pkgfile.magic
is_ar = 'current ar archive' in pkgfile.magic
is_ocaml_native = 'Objective caml native' in pkgfile.magic
@@ -599,9 +604,12 @@ class BinariesCheck(AbstractCheck.Abstra
@@ -596,9 +601,12 @@ class BinariesCheck(AbstractCheck.Abstra
if version and version != -1 and version not in pkg.name:
printError(pkg, 'incoherent-version-in-name', version)
@ -44,7 +44,7 @@ Index: rpmlint-rpmlint-1.10/BinariesCheck.py
if has_usr_lib_file and not binary_in_usr_lib:
printWarning(pkg, 'only-non-binary-in-usr-lib')
@@ -626,6 +634,11 @@ FHS and the FSSTND forbid this.''',
@@ -623,6 +631,11 @@ FHS and the FSSTND forbid this.''',
# 'non-sparc32-binary',
# '',

View File

@ -11,7 +11,7 @@ Index: rpmlint-rpmlint-1.10/TagsCheck.py
===================================================================
--- rpmlint-rpmlint-1.10.orig/TagsCheck.py
+++ rpmlint-rpmlint-1.10/TagsCheck.py
@@ -753,6 +753,8 @@ class TagsCheck(AbstractCheck.AbstractCh
@@ -743,6 +743,8 @@ class TagsCheck(AbstractCheck.AbstractCh
self._unexpanded_macros(pkg, 'Group', group)
if not group:
printError(pkg, 'no-group-tag')
@ -20,7 +20,7 @@ Index: rpmlint-rpmlint-1.10/TagsCheck.py
elif VALID_GROUPS and group not in VALID_GROUPS:
printWarning(pkg, 'non-standard-group', group)
@@ -1085,6 +1087,10 @@ won't fool the specfile parser, and rebu
@@ -1067,6 +1069,10 @@ won't fool the specfile parser, and rebu
'''There is no Group tag in your package. You have to specify a valid group
in your spec file using the Group tag.''',

View File

@ -2,7 +2,7 @@ Index: rpmlint-rpmlint-1.10/BinariesCheck.py
===================================================================
--- rpmlint-rpmlint-1.10.orig/BinariesCheck.py
+++ rpmlint-rpmlint-1.10/BinariesCheck.py
@@ -537,6 +537,9 @@ class BinariesCheck(AbstractCheck.Abstra
@@ -534,6 +534,9 @@ class BinariesCheck(AbstractCheck.Abstra
if not is_shobj and pie_exec_re and pie_exec_re.search(fname):
printError(pkg, 'non-position-independent-executable',
fname)
@ -12,7 +12,7 @@ Index: rpmlint-rpmlint-1.10/BinariesCheck.py
if bin_info.readelf_error:
continue
@@ -789,6 +792,10 @@ stripping process.''',
@@ -786,6 +789,10 @@ stripping process.''',
'''This executable must be position independent. Check that it is built with
-fPIE/-fpie in compiler flags and -pie in linker flags.''',

View File

@ -11,7 +11,7 @@ Index: rpmlint-rpmlint-1.10/TagsCheck.py
===================================================================
--- rpmlint-rpmlint-1.10.orig/TagsCheck.py
+++ rpmlint-rpmlint-1.10/TagsCheck.py
@@ -875,6 +875,7 @@ class TagsCheck(AbstractCheck.AbstractCh
@@ -865,6 +865,7 @@ class TagsCheck(AbstractCheck.AbstractCh
obs_names = [x[0] for x in pkg.obsoletes()]
prov_names = [x[0].split(':/')[0] for x in pkg.provides()]
@ -19,7 +19,7 @@ Index: rpmlint-rpmlint-1.10/TagsCheck.py
for o in (x for x in obs_names if x not in prov_names):
printWarning(pkg, 'obsolete-not-provided', o)
@@ -886,6 +887,8 @@ class TagsCheck(AbstractCheck.AbstractCh
@@ -876,6 +877,8 @@ class TagsCheck(AbstractCheck.AbstractCh
# https://bugzilla.redhat.com/460872
useless_provides = []
for p in prov_names:
@ -28,7 +28,7 @@ Index: rpmlint-rpmlint-1.10/TagsCheck.py
if prov_names.count(p) != 1 and p not in useless_provides:
useless_provides.append(p)
for p in useless_provides:
@@ -1048,6 +1051,10 @@ the Release tag.''',
@@ -1030,6 +1033,10 @@ the Release tag.''',
'''There is no Name tag in your package. You have to specify a name using the
Name tag.''',

View File

@ -7,11 +7,11 @@ Subject: [PATCH] stricter-interpreter-check.diff
FilesCheck.py | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
Index: rpmlint-rpmlint-1.9/FilesCheck.py
Index: rpmlint-rpmlint-1.10/FilesCheck.py
===================================================================
--- rpmlint-rpmlint-1.9.orig/FilesCheck.py
+++ rpmlint-rpmlint-1.9/FilesCheck.py
@@ -853,7 +853,8 @@ class FilesCheck(AbstractCheck.AbstractC
--- rpmlint-rpmlint-1.10.orig/FilesCheck.py
+++ rpmlint-rpmlint-1.10/FilesCheck.py
@@ -869,7 +869,8 @@ class FilesCheck(AbstractCheck.AbstractC
f.endswith('.la')):
printError(pkg, 'script-without-shebang', f)

View File

@ -20,14 +20,13 @@ Index: rpmlint-rpmlint-1.10/BinariesCheck.py
import Pkg
@@ -56,6 +56,10 @@ class BinaryInfo(object):
@@ -56,6 +56,9 @@ class BinaryInfo(object):
chroot_call_regex = create_regexp_call('chroot')
# 401eb8: e8 c3 f0 ff ff callq 400f80 <chdir@plt>
objdump_call_regex = re.compile(br'callq?\s(.*)')
+ debuginfo_regex=re.compile('^\s+\[\s*\d+\]\s+\.debug_.*\s+')
+ symtab_regex=re.compile('^\s+\[\s*\d+\]\s+\.symtab\s+')
+ gethostbyname_call_regex = create_regexp_call(['gethostbyname', 'gethostbyname2',
+ 'gethostbyaddr', 'gethostbyname_r', 'gethostbyname2_r', 'gethostbyaddr_r'])
+ gethostbyname_call_regex = gethostbyname_call_regex = create_regexp_call(r'(gethostbyname|gethostbyname2|gethostbyaddr|gethostbyname_r|gethostbyname2_r|gethostbyaddr_r)')
forbidden_functions = Config.getOption("WarnOnFunction")
if forbidden_functions:

View File

@ -7,11 +7,11 @@ Subject: [PATCH] suse-python-abi-check.diff
FilesCheck.py | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/FilesCheck.py b/FilesCheck.py
index f73cda1..806b886 100644
--- a/FilesCheck.py
+++ b/FilesCheck.py
@@ -1132,8 +1132,11 @@ class FilesCheck(AbstractCheck.AbstractCheck):
Index: rpmlint-rpmlint-1.10/FilesCheck.py
===================================================================
--- rpmlint-rpmlint-1.10.orig/FilesCheck.py
+++ rpmlint-rpmlint-1.10/FilesCheck.py
@@ -733,8 +733,11 @@ class FilesCheck(AbstractCheck.AbstractC
if res and not (pkg.check_versioned_dep('python-base',
res.group(1)) or
pkg.check_versioned_dep('python',

View File

@ -11,7 +11,7 @@ Index: rpmlint-rpmlint-1.10/TagsCheck.py
===================================================================
--- rpmlint-rpmlint-1.10.orig/TagsCheck.py
+++ rpmlint-rpmlint-1.10/TagsCheck.py
@@ -673,10 +673,10 @@ class TagsCheck(AbstractCheck.AbstractCh
@@ -663,10 +663,10 @@ class TagsCheck(AbstractCheck.AbstractCh
if pkg_config_regex.match(fname) and fname.endswith('.pc'):
has_pc = True
if has_so:

View File

@ -0,0 +1,36 @@
Index: rpmlint-rpmlint-1.10/TagsCheck.py
===================================================================
--- rpmlint-rpmlint-1.10.orig/TagsCheck.py
+++ rpmlint-rpmlint-1.10/TagsCheck.py
@@ -462,16 +462,6 @@ so_dep_regex = re.compile(r'\.so(\.[0-9a
# we assume that no rpm packages existed before rpm itself existed...
oldest_changelog_timestamp = calendar.timegm(time.strptime("1995-01-01", "%Y-%m-%d"))
-private_so_paths = set()
-for path in ('%perl_archlib', '%perl_vendorarch', '%perl_sitearch',
- '%python_sitearch', '%python2_sitearch', '%python3_sitearch',
- '%ruby_sitearch', '%php_extdir'):
- epath = rpm.expandMacro(path)
- if epath and epath != path:
- private_so_paths.add(epath)
- private_so_paths.add(re.sub(r'/lib64(?=/|$)', '/lib', epath))
- private_so_paths.add(re.sub(r'/lib(?=/|$)', '/lib64', epath))
-
_enchant_checkers = {}
@@ -921,14 +911,6 @@ class TagsCheck(AbstractCheck.AbstractCh
res = Pkg.b2s(pkg[getattr(rpm, 'RPMTAG_%s' % tag.upper())])
self._unexpanded_macros(pkg, tag, res)
- for path in private_so_paths:
- for fname, pkgfile in pkg.files().items():
- if fname.startswith(path):
- for prov in pkgfile.provides:
- if so_dep_regex.search(prov[0]):
- printWarning(pkg, "private-shared-object-provides",
- fname, Pkg.formatRequire(*prov))
-
def check_description(self, pkg, lang, ignored_words):
description = pkg.langtag(rpm.RPMTAG_DESCRIPTION, lang)
if use_utf8:

View File

@ -7,11 +7,11 @@ Subject: [PATCH] suse-speccheck-utf8.diff
SpecCheck.py | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/SpecCheck.py b/SpecCheck.py
index 739410f..4dafdb9 100644
--- a/SpecCheck.py
+++ b/SpecCheck.py
@@ -651,8 +651,8 @@ SPEC file to build a valid RPM package.''',
Index: rpmlint-rpmlint-1.10/SpecCheck.py
===================================================================
--- rpmlint-rpmlint-1.10.orig/SpecCheck.py
+++ rpmlint-rpmlint-1.10/SpecCheck.py
@@ -648,8 +648,8 @@ SPEC file to build a valid RPM package.'
("Name:" tag). Either rename your package or the specfile.''',
'non-utf8-spec-file',

View File

@ -7,11 +7,11 @@ Subject: [PATCH] suse-whitelist-opensuse.diff
TagsCheck.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/TagsCheck.py b/TagsCheck.py
index 3f9c0bc..9856f9e 100644
--- a/TagsCheck.py
+++ b/TagsCheck.py
@@ -918,7 +918,7 @@ class TagsCheck(AbstractCheck.AbstractCheck):
Index: rpmlint-rpmlint-1.10/TagsCheck.py
===================================================================
--- rpmlint-rpmlint-1.10.orig/TagsCheck.py
+++ rpmlint-rpmlint-1.10/TagsCheck.py
@@ -972,7 +972,7 @@ class TagsCheck(AbstractCheck.AbstractCh
spell_check(pkg, summary, 'Summary(%s)', lang, ignored_words)
if '\n' in summary:
printError(pkg, 'summary-on-multiple-lines', lang)

View File

@ -11,7 +11,7 @@ Index: rpmlint-rpmlint-1.10/BinariesCheck.py
===================================================================
--- rpmlint-rpmlint-1.10.orig/BinariesCheck.py
+++ rpmlint-rpmlint-1.10/BinariesCheck.py
@@ -324,6 +324,7 @@ usr_lib_exception_regex = re.compile(Con
@@ -321,6 +321,7 @@ usr_lib_exception_regex = re.compile(Con
srcname_regex = re.compile(r'(.*?)-[0-9]')
invalid_dir_ref_regex = re.compile(r'/(home|tmp)(\W|$)')
ocaml_mixed_regex = re.compile(r'^Caml1999X0\d\d$')
@ -19,7 +19,7 @@ Index: rpmlint-rpmlint-1.10/BinariesCheck.py
def dir_base(path):
@@ -397,7 +398,7 @@ class BinariesCheck(AbstractCheck.Abstra
@@ -394,7 +395,7 @@ class BinariesCheck(AbstractCheck.Abstra
# arch dependent packages only from here on
# in /usr/share ?

View File

@ -11,7 +11,7 @@ Index: rpmlint-rpmlint-1.10/TagsCheck.py
===================================================================
--- rpmlint-rpmlint-1.10.orig/TagsCheck.py
+++ rpmlint-rpmlint-1.10/TagsCheck.py
@@ -869,7 +869,7 @@ class TagsCheck(AbstractCheck.AbstractCh
@@ -859,7 +859,7 @@ class TagsCheck(AbstractCheck.AbstractCh
printWarning(pkg, 'no-url-tag')
obs_names = [x[0] for x in pkg.obsoletes()]