forked from pool/rpmlint
Accepting request 134652 from devel:openSUSE:Factory:rpmlint
- fix one more case of scripts progs changing types (forwarded request 134488 from coolo) OBS-URL: https://build.opensuse.org/request/show/134652 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/rpmlint?expand=0&rev=168
This commit is contained in:
commit
c5d3c70c4c
@ -174,7 +174,7 @@ class SUIDCheck(AbstractCheck.AbstractCheck):
|
|||||||
'%(file)s is packaged with world writable permissions (0%(mode)o)' % \
|
'%(file)s is packaged with world writable permissions (0%(mode)o)' % \
|
||||||
{ 'file':f, 'mode':mode })
|
{ 'file':f, 'mode':mode })
|
||||||
|
|
||||||
script = pkg[rpm.RPMTAG_POSTIN] or pkg[rpm.RPMTAG_POSTINPROG]
|
script = pkg[rpm.RPMTAG_POSTIN] or pkg.scriptprog(pkg[rpm.RPMTAG_POSTINPROG])
|
||||||
found = False
|
found = False
|
||||||
if script:
|
if script:
|
||||||
for line in script.split("\n"):
|
for line in script.split("\n"):
|
||||||
|
@ -2,7 +2,7 @@ Index: Pkg.py
|
|||||||
===================================================================
|
===================================================================
|
||||||
--- Pkg.py.orig
|
--- Pkg.py.orig
|
||||||
+++ Pkg.py
|
+++ Pkg.py
|
||||||
@@ -425,6 +425,10 @@ class Pkg:
|
@@ -426,6 +426,10 @@ class Pkg:
|
||||||
self._missingok_files = None
|
self._missingok_files = None
|
||||||
self._files = None
|
self._files = None
|
||||||
self._requires = None
|
self._requires = None
|
||||||
@ -13,7 +13,7 @@ Index: Pkg.py
|
|||||||
self._req_names = -1
|
self._req_names = -1
|
||||||
|
|
||||||
if header:
|
if header:
|
||||||
@@ -672,6 +676,22 @@ class Pkg:
|
@@ -673,6 +677,22 @@ class Pkg:
|
||||||
self._gatherDepInfo()
|
self._gatherDepInfo()
|
||||||
return self._requires
|
return self._requires
|
||||||
|
|
||||||
@ -36,7 +36,7 @@ Index: Pkg.py
|
|||||||
def prereq(self):
|
def prereq(self):
|
||||||
"""Get package PreReqs as list of
|
"""Get package PreReqs as list of
|
||||||
(name, flags, (epoch, version, release)) tuples."""
|
(name, flags, (epoch, version, release)) tuples."""
|
||||||
@@ -708,7 +728,7 @@ class Pkg:
|
@@ -709,7 +729,7 @@ class Pkg:
|
||||||
|
|
||||||
# internal function to gather dependency info used by the above ones
|
# internal function to gather dependency info used by the above ones
|
||||||
def _gather_aux(self, header, list, nametag, flagstag, versiontag,
|
def _gather_aux(self, header, list, nametag, flagstag, versiontag,
|
||||||
@ -45,7 +45,7 @@ Index: Pkg.py
|
|||||||
names = header[nametag]
|
names = header[nametag]
|
||||||
flags = header[flagstag]
|
flags = header[flagstag]
|
||||||
versions = header[versiontag]
|
versions = header[versiontag]
|
||||||
@@ -719,7 +739,11 @@ class Pkg:
|
@@ -720,7 +740,11 @@ class Pkg:
|
||||||
if prereq is not None and flags[loop] & PREREQ_FLAG:
|
if prereq is not None and flags[loop] & PREREQ_FLAG:
|
||||||
prereq.append((names[loop], flags[loop] & (~PREREQ_FLAG),
|
prereq.append((names[loop], flags[loop] & (~PREREQ_FLAG),
|
||||||
evr))
|
evr))
|
||||||
@ -58,7 +58,7 @@ Index: Pkg.py
|
|||||||
list.append((names[loop], flags[loop], evr))
|
list.append((names[loop], flags[loop], evr))
|
||||||
|
|
||||||
def _gatherDepInfo(self):
|
def _gatherDepInfo(self):
|
||||||
@@ -729,6 +753,10 @@ class Pkg:
|
@@ -730,6 +754,10 @@ class Pkg:
|
||||||
self._provides = []
|
self._provides = []
|
||||||
self._conflicts = []
|
self._conflicts = []
|
||||||
self._obsoletes = []
|
self._obsoletes = []
|
||||||
@ -69,10 +69,10 @@ Index: Pkg.py
|
|||||||
|
|
||||||
self._gather_aux(self.header, self._requires,
|
self._gather_aux(self.header, self._requires,
|
||||||
rpm.RPMTAG_REQUIRENAME,
|
rpm.RPMTAG_REQUIRENAME,
|
||||||
@@ -748,6 +776,32 @@ class Pkg:
|
@@ -748,6 +776,30 @@ class Pkg:
|
||||||
|
rpm.RPMTAG_OBSOLETENAME,
|
||||||
rpm.RPMTAG_OBSOLETEFLAGS,
|
rpm.RPMTAG_OBSOLETEFLAGS,
|
||||||
rpm.RPMTAG_OBSOLETEVERSION)
|
rpm.RPMTAG_OBSOLETEVERSION)
|
||||||
|
|
||||||
+ try:
|
+ try:
|
||||||
+ self._gather_aux(self.header, self._recommends,
|
+ self._gather_aux(self.header, self._recommends,
|
||||||
+ rpm.RPMTAG_SUGGESTSNAME,
|
+ rpm.RPMTAG_SUGGESTSNAME,
|
||||||
@ -94,10 +94,16 @@ Index: Pkg.py
|
|||||||
+ rpm.RPMTAG_ENHANCESFLAGS,
|
+ rpm.RPMTAG_ENHANCESFLAGS,
|
||||||
+ rpm.RPMTAG_ENHANCESVERSION,
|
+ rpm.RPMTAG_ENHANCESVERSION,
|
||||||
+ weak_only=True)
|
+ weak_only=True)
|
||||||
+
|
|
||||||
+ except:
|
+ except:
|
||||||
+ pass
|
+ pass
|
||||||
+
|
+
|
||||||
|
|
||||||
|
def scriptprog(self, which):
|
||||||
|
"""Get the specified script interpreter as a string.
|
||||||
|
@@ -761,6 +813,7 @@ class Pkg:
|
||||||
|
prog = " ".join(prog)
|
||||||
|
return prog
|
||||||
|
|
||||||
+
|
+
|
||||||
def getInstalledPkgs(name):
|
def getInstalledPkgs(name):
|
||||||
"""Get list of installed package objects by name."""
|
"""Get list of installed package objects by name."""
|
||||||
|
@ -2,7 +2,7 @@ Index: FilesCheck.py
|
|||||||
===================================================================
|
===================================================================
|
||||||
--- FilesCheck.py.orig
|
--- FilesCheck.py.orig
|
||||||
+++ FilesCheck.py
|
+++ FilesCheck.py
|
||||||
@@ -1700,7 +1700,10 @@ executed.''',
|
@@ -1702,7 +1702,10 @@ executed.''',
|
||||||
executed.''',
|
executed.''',
|
||||||
|
|
||||||
'wrong-script-interpreter',
|
'wrong-script-interpreter',
|
||||||
|
@ -2,7 +2,7 @@ Index: SpecCheck.py
|
|||||||
===================================================================
|
===================================================================
|
||||||
--- SpecCheck.py.orig
|
--- SpecCheck.py.orig
|
||||||
+++ SpecCheck.py
|
+++ SpecCheck.py
|
||||||
@@ -620,7 +620,7 @@ versions you can ignore this warning.'''
|
@@ -631,7 +631,7 @@ versions you can ignore this warning.'''
|
||||||
|
|
||||||
'hardcoded-path-in-buildroot-tag',
|
'hardcoded-path-in-buildroot-tag',
|
||||||
'''A path is hardcoded in your Buildroot tag. It should be replaced
|
'''A path is hardcoded in your Buildroot tag. It should be replaced
|
||||||
|
@ -2,7 +2,7 @@ Index: SpecCheck.py
|
|||||||
===================================================================
|
===================================================================
|
||||||
--- SpecCheck.py.orig
|
--- SpecCheck.py.orig
|
||||||
+++ SpecCheck.py
|
+++ SpecCheck.py
|
||||||
@@ -223,7 +223,9 @@ class SpecCheck(AbstractCheck.AbstractCh
|
@@ -224,7 +224,9 @@ class SpecCheck(AbstractCheck.AbstractCh
|
||||||
|
|
||||||
continue
|
continue
|
||||||
|
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
# Confusing message. The problem is not that the file does not end
|
# Confusing message. The problem is not that the file does not end
|
||||||
# with ".spec", but that there is a mismatch of specname and pkg name.
|
# with ".spec", but that there is a mismatch of specname and pkg name.
|
||||||
Index: rpmlint-1.2/SpecCheck.py
|
Index: rpmlint-1.4/SpecCheck.py
|
||||||
===================================================================
|
===================================================================
|
||||||
--- rpmlint-1.2.orig/SpecCheck.py
|
--- rpmlint-1.4.orig/SpecCheck.py
|
||||||
+++ rpmlint-1.2/SpecCheck.py
|
+++ rpmlint-1.4/SpecCheck.py
|
||||||
@@ -594,8 +594,8 @@ addDetails(
|
@@ -605,8 +605,8 @@ addDetails(
|
||||||
SPEC file to build a valid RPM package.''',
|
SPEC file to build a valid RPM package.''',
|
||||||
|
|
||||||
'invalid-spec-name',
|
'invalid-spec-name',
|
||||||
|
@ -12,7 +12,7 @@ Index: TagsCheck.py
|
|||||||
if not pkg[rpm.RPMTAG_HEADERI18NTABLE]:
|
if not pkg[rpm.RPMTAG_HEADERI18NTABLE]:
|
||||||
self._unexpanded_macros(pkg, '%description', description)
|
self._unexpanded_macros(pkg, '%description', description)
|
||||||
else:
|
else:
|
||||||
@@ -985,6 +988,10 @@ Name tag.''',
|
@@ -987,6 +990,10 @@ Name tag.''',
|
||||||
'''The major number of the library isn't included in the package's name.
|
'''The major number of the library isn't included in the package's name.
|
||||||
''',
|
''',
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@ Index: FilesCheck.py
|
|||||||
===================================================================
|
===================================================================
|
||||||
--- FilesCheck.py.orig
|
--- FilesCheck.py.orig
|
||||||
+++ FilesCheck.py
|
+++ FilesCheck.py
|
||||||
@@ -846,6 +846,10 @@ class FilesCheck(AbstractCheck.AbstractC
|
@@ -847,6 +847,10 @@ class FilesCheck(AbstractCheck.AbstractC
|
||||||
# Check if the package is a development package
|
# Check if the package is a development package
|
||||||
devel_pkg = devel_regex.search(pkg.name)
|
devel_pkg = devel_regex.search(pkg.name)
|
||||||
|
|
||||||
|
@ -10,7 +10,7 @@ Index: FilesCheck.py
|
|||||||
# room for improvement with catching more -R, but also for false positives...
|
# room for improvement with catching more -R, but also for false positives...
|
||||||
buildconfig_rpath_regex = re.compile('(?:-rpath|Wl,-R)\\b')
|
buildconfig_rpath_regex = re.compile('(?:-rpath|Wl,-R)\\b')
|
||||||
sofile_regex = re.compile('/lib(64)?/(.+/)?lib[^/]+\.so$')
|
sofile_regex = re.compile('/lib(64)?/(.+/)?lib[^/]+\.so$')
|
||||||
@@ -1202,7 +1203,7 @@ class FilesCheck(AbstractCheck.AbstractC
|
@@ -1204,7 +1205,7 @@ class FilesCheck(AbstractCheck.AbstractC
|
||||||
includefile_regex.search(f) or \
|
includefile_regex.search(f) or \
|
||||||
develfile_regex.search(f) or \
|
develfile_regex.search(f) or \
|
||||||
logrotate_regex.search(f)
|
logrotate_regex.search(f)
|
||||||
@ -19,7 +19,7 @@ Index: FilesCheck.py
|
|||||||
printWarning(pkg, 'spurious-executable-perm', f)
|
printWarning(pkg, 'spurious-executable-perm', f)
|
||||||
elif f.startswith('/etc/') and f not in config_files and \
|
elif f.startswith('/etc/') and f not in config_files and \
|
||||||
f not in ghost_files:
|
f not in ghost_files:
|
||||||
@@ -1574,7 +1575,10 @@ included in your package.''',
|
@@ -1576,7 +1577,10 @@ included in your package.''',
|
||||||
'spurious-executable-perm',
|
'spurious-executable-perm',
|
||||||
'''The file is installed with executable permissions, but was identified as one
|
'''The file is installed with executable permissions, but was identified as one
|
||||||
that probably should not be executable. Verify if the executable bits are
|
that probably should not be executable. Verify if the executable bits are
|
||||||
|
@ -2,7 +2,7 @@ Index: FilesCheck.py
|
|||||||
===================================================================
|
===================================================================
|
||||||
--- FilesCheck.py.orig
|
--- FilesCheck.py.orig
|
||||||
+++ FilesCheck.py
|
+++ FilesCheck.py
|
||||||
@@ -1220,7 +1220,7 @@ class FilesCheck(AbstractCheck.AbstractC
|
@@ -1222,7 +1222,7 @@ class FilesCheck(AbstractCheck.AbstractC
|
||||||
if nonexec_file and not docdir_examples_regex.search(f):
|
if nonexec_file and not docdir_examples_regex.search(f):
|
||||||
printWarning(pkg, 'spurious-executable-perm', f)
|
printWarning(pkg, 'spurious-executable-perm', f)
|
||||||
elif f.startswith('/etc/') and f not in config_files and \
|
elif f.startswith('/etc/') and f not in config_files and \
|
||||||
|
@ -20,7 +20,7 @@ Index: TagsCheck.py
|
|||||||
if not devel_depend and not is_devel and not is_source and \
|
if not devel_depend and not is_devel and not is_source and \
|
||||||
FilesCheck.devel_regex.search(d[0]):
|
FilesCheck.devel_regex.search(d[0]):
|
||||||
printError(pkg, 'devel-dependency', d[0])
|
printError(pkg, 'devel-dependency', d[0])
|
||||||
@@ -1087,6 +1091,12 @@ explicit Requires: tags.''',
|
@@ -1089,6 +1093,12 @@ explicit Requires: tags.''',
|
||||||
'''This package provides 2 times the same capacity. It should only provide it
|
'''This package provides 2 times the same capacity. It should only provide it
|
||||||
once.''',
|
once.''',
|
||||||
|
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
--- BinariesCheck.py
|
Index: BinariesCheck.py
|
||||||
|
===================================================================
|
||||||
|
--- BinariesCheck.py.orig
|
||||||
+++ BinariesCheck.py
|
+++ BinariesCheck.py
|
||||||
@@ -231,8 +231,19 @@
|
@@ -253,8 +253,19 @@ class BinariesCheck(AbstractCheck.Abstra
|
||||||
is_elf = 'ELF' in pkgfile.magic
|
is_elf = 'ELF' in pkgfile.magic
|
||||||
is_ar = 'current ar archive' in pkgfile.magic
|
is_ar = 'current ar archive' in pkgfile.magic
|
||||||
is_ocaml_native = 'Objective caml native' in pkgfile.magic
|
is_ocaml_native = 'Objective caml native' in pkgfile.magic
|
||||||
@ -20,7 +22,7 @@
|
|||||||
if not is_binary:
|
if not is_binary:
|
||||||
if reference_regex.search(fname):
|
if reference_regex.search(fname):
|
||||||
lines = pkg.grep(invalid_dir_ref_regex, fname)
|
lines = pkg.grep(invalid_dir_ref_regex, fname)
|
||||||
@@ -463,6 +474,15 @@
|
@@ -502,6 +513,15 @@ recompiled separately from the static li
|
||||||
Another common mistake that causes this problem is linking with
|
Another common mistake that causes this problem is linking with
|
||||||
``gcc -Wl,-shared'' instead of ``gcc -shared''.''',
|
``gcc -Wl,-shared'' instead of ``gcc -shared''.''',
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@ Index: FilesCheck.py
|
|||||||
===================================================================
|
===================================================================
|
||||||
--- FilesCheck.py.orig
|
--- FilesCheck.py.orig
|
||||||
+++ FilesCheck.py
|
+++ FilesCheck.py
|
||||||
@@ -863,7 +863,7 @@ class FilesCheck(AbstractCheck.AbstractC
|
@@ -864,7 +864,7 @@ class FilesCheck(AbstractCheck.AbstractC
|
||||||
debuginfo_srcs = False
|
debuginfo_srcs = False
|
||||||
debuginfo_debugs = False
|
debuginfo_debugs = False
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@ Index: BinariesCheck.py
|
|||||||
===================================================================
|
===================================================================
|
||||||
--- BinariesCheck.py.orig
|
--- BinariesCheck.py.orig
|
||||||
+++ BinariesCheck.py
|
+++ BinariesCheck.py
|
||||||
@@ -232,6 +232,7 @@ class BinariesCheck(AbstractCheck.Abstra
|
@@ -234,6 +234,7 @@ class BinariesCheck(AbstractCheck.Abstra
|
||||||
binary = False
|
binary = False
|
||||||
binary_in_usr_lib = False
|
binary_in_usr_lib = False
|
||||||
has_usr_lib_file = False
|
has_usr_lib_file = False
|
||||||
@ -10,7 +10,7 @@ Index: BinariesCheck.py
|
|||||||
|
|
||||||
multi_pkg = False
|
multi_pkg = False
|
||||||
res = srcname_regex.search(pkg[rpm.RPMTAG_SOURCERPM] or '')
|
res = srcname_regex.search(pkg[rpm.RPMTAG_SOURCERPM] or '')
|
||||||
@@ -248,6 +249,10 @@ class BinariesCheck(AbstractCheck.Abstra
|
@@ -250,6 +251,10 @@ class BinariesCheck(AbstractCheck.Abstra
|
||||||
# only-non-binary-in-usr-lib false positives
|
# only-non-binary-in-usr-lib false positives
|
||||||
binary_in_usr_lib = True
|
binary_in_usr_lib = True
|
||||||
|
|
||||||
@ -21,7 +21,7 @@ Index: BinariesCheck.py
|
|||||||
is_elf = 'ELF' in pkgfile.magic
|
is_elf = 'ELF' in pkgfile.magic
|
||||||
is_ar = 'current ar archive' in pkgfile.magic
|
is_ar = 'current ar archive' in pkgfile.magic
|
||||||
is_ocaml_native = 'Objective caml native' in pkgfile.magic
|
is_ocaml_native = 'Objective caml native' in pkgfile.magic
|
||||||
@@ -442,9 +447,12 @@ class BinariesCheck(AbstractCheck.Abstra
|
@@ -464,9 +469,12 @@ class BinariesCheck(AbstractCheck.Abstra
|
||||||
if version and version != -1 and version not in pkg.name:
|
if version and version != -1 and version not in pkg.name:
|
||||||
printError(pkg, 'incoherent-version-in-name', version)
|
printError(pkg, 'incoherent-version-in-name', version)
|
||||||
|
|
||||||
@ -35,7 +35,7 @@ Index: BinariesCheck.py
|
|||||||
if has_usr_lib_file and not binary_in_usr_lib:
|
if has_usr_lib_file and not binary_in_usr_lib:
|
||||||
printWarning(pkg, 'only-non-binary-in-usr-lib')
|
printWarning(pkg, 'only-non-binary-in-usr-lib')
|
||||||
|
|
||||||
@@ -468,6 +476,11 @@ FHS and the FSSTND forbid this.''',
|
@@ -490,6 +498,11 @@ FHS and the FSSTND forbid this.''',
|
||||||
# 'non-sparc32-binary',
|
# 'non-sparc32-binary',
|
||||||
# '',
|
# '',
|
||||||
|
|
||||||
|
@ -11,7 +11,7 @@ Index: InitScriptCheck.py
|
|||||||
|
|
||||||
chkconfig_content_regex = re.compile('^\s*#\s*chkconfig:\s*([-0-9]+)\s+[-0-9]+\s+[-0-9]+')
|
chkconfig_content_regex = re.compile('^\s*#\s*chkconfig:\s*([-0-9]+)\s+[-0-9]+\s+[-0-9]+')
|
||||||
subsys_regex = re.compile('/var/lock/subsys/([^/"\'\n\s;&|]+)', re.MULTILINE)
|
subsys_regex = re.compile('/var/lock/subsys/([^/"\'\n\s;&|]+)', re.MULTILINE)
|
||||||
@@ -63,6 +63,9 @@ class InitScriptCheck(AbstractCheck.Abst
|
@@ -64,6 +64,9 @@ class InitScriptCheck(AbstractCheck.Abst
|
||||||
not fname.startswith('/etc/rc.d/init.d/'):
|
not fname.startswith('/etc/rc.d/init.d/'):
|
||||||
continue
|
continue
|
||||||
|
|
||||||
|
@ -24,7 +24,7 @@ Index: TagsCheck.py
|
|||||||
_enchant_checkers = {}
|
_enchant_checkers = {}
|
||||||
def spell_check(pkg, str, fmt, lang, ignored):
|
def spell_check(pkg, str, fmt, lang, ignored):
|
||||||
|
|
||||||
@@ -854,30 +845,12 @@ class TagsCheck(AbstractCheck.AbstractCh
|
@@ -856,30 +847,12 @@ class TagsCheck(AbstractCheck.AbstractCh
|
||||||
(apply(Pkg.formatRequire, obs),
|
(apply(Pkg.formatRequire, obs),
|
||||||
apply(Pkg.formatRequire, prov)))
|
apply(Pkg.formatRequire, prov)))
|
||||||
|
|
||||||
|
@ -11,7 +11,7 @@ Index: TagsCheck.py
|
|||||||
elif VALID_GROUPS and group not in VALID_GROUPS:
|
elif VALID_GROUPS and group not in VALID_GROUPS:
|
||||||
printWarning(pkg, 'non-standard-group', group)
|
printWarning(pkg, 'non-standard-group', group)
|
||||||
|
|
||||||
@@ -1024,6 +1026,10 @@ won't fool the specfile parser, and rebu
|
@@ -1026,6 +1028,10 @@ won't fool the specfile parser, and rebu
|
||||||
'''There is no Group tag in your package. You have to specify a valid group
|
'''There is no Group tag in your package. You have to specify a valid group
|
||||||
in your spec file using the Group tag.''',
|
in your spec file using the Group tag.''',
|
||||||
|
|
||||||
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:46ca95b4af224a5923739b6eed8224f18235913136e5004838e5312b4bada0f7
|
|
||||||
size 115772
|
|
3
rpmlint-1.4.tar.xz
Normal file
3
rpmlint-1.4.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:af4e4e8304c7209e95b9100f7592aca0d713b542dcb6c0629395655716a287f6
|
||||||
|
size 116600
|
@ -2,7 +2,7 @@ Index: Pkg.py
|
|||||||
===================================================================
|
===================================================================
|
||||||
--- Pkg.py.orig
|
--- Pkg.py.orig
|
||||||
+++ Pkg.py
|
+++ Pkg.py
|
||||||
@@ -492,7 +492,7 @@ class Pkg:
|
@@ -493,7 +493,7 @@ class Pkg:
|
||||||
dir = self.dirname)
|
dir = self.dirname)
|
||||||
# TODO: better shell escaping or sequence based command invocation
|
# TODO: better shell escaping or sequence based command invocation
|
||||||
command_str = \
|
command_str = \
|
||||||
|
@ -1,3 +1,20 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Sat Sep 15 07:00:29 UTC 2012 - coolo@suse.com
|
||||||
|
|
||||||
|
- fix one more case of scripts progs changing types
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Sep 13 16:00:07 UTC 2012 - dmueller@suse.com
|
||||||
|
|
||||||
|
- update to 1.4:
|
||||||
|
* rpmdiff: Teach rpmdiff about pretrans and posttrans
|
||||||
|
* SpecCheck.py: merge patch from #97, using BuildArch with
|
||||||
|
something else than Noarch is likely a error and causing issues.
|
||||||
|
* FilesCheck.py: Add Python 3.3 magic number
|
||||||
|
* FilesCheck.py, InitScriptCheck.py, MenuCheck.py, Pkg.py,
|
||||||
|
PostCheck.py: Prepare for rpm-python possibly returning script
|
||||||
|
progs as arrays.
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Fri Aug 3 17:22:43 UTC 2012 - thardeck@suse.com
|
Fri Aug 3 17:22:43 UTC 2012 - thardeck@suse.com
|
||||||
|
|
||||||
|
@ -25,7 +25,7 @@ BuildRequires: xz
|
|||||||
Summary: Rpm correctness checker
|
Summary: Rpm correctness checker
|
||||||
License: GPL-2.0+
|
License: GPL-2.0+
|
||||||
Group: System/Packages
|
Group: System/Packages
|
||||||
Version: 1.3
|
Version: 1.4
|
||||||
Release: 0
|
Release: 0
|
||||||
Source0: http://rpmlint.zarb.org/download/rpmlint-%{version}.tar.xz
|
Source0: http://rpmlint.zarb.org/download/rpmlint-%{version}.tar.xz
|
||||||
Source1: config
|
Source1: config
|
||||||
|
@ -2,7 +2,7 @@ Index: FilesCheck.py
|
|||||||
===================================================================
|
===================================================================
|
||||||
--- FilesCheck.py.orig
|
--- FilesCheck.py.orig
|
||||||
+++ FilesCheck.py
|
+++ FilesCheck.py
|
||||||
@@ -1252,7 +1252,7 @@ class FilesCheck(AbstractCheck.AbstractC
|
@@ -1254,7 +1254,7 @@ class FilesCheck(AbstractCheck.AbstractC
|
||||||
elif interpreter or mode & 0111 != 0 or \
|
elif interpreter or mode & 0111 != 0 or \
|
||||||
script_regex.search(f):
|
script_regex.search(f):
|
||||||
if interpreter:
|
if interpreter:
|
||||||
|
@ -2,7 +2,7 @@ Index: FilesCheck.py
|
|||||||
===================================================================
|
===================================================================
|
||||||
--- FilesCheck.py.orig
|
--- FilesCheck.py.orig
|
||||||
+++ FilesCheck.py
|
+++ FilesCheck.py
|
||||||
@@ -1275,7 +1275,8 @@ class FilesCheck(AbstractCheck.AbstractC
|
@@ -1277,7 +1277,8 @@ class FilesCheck(AbstractCheck.AbstractC
|
||||||
f.endswith('.la')):
|
f.endswith('.la')):
|
||||||
printError(pkg, 'script-without-shebang', f)
|
printError(pkg, 'script-without-shebang', f)
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@ Index: TagsCheck.py
|
|||||||
===================================================================
|
===================================================================
|
||||||
--- TagsCheck.py.orig
|
--- TagsCheck.py.orig
|
||||||
+++ TagsCheck.py
|
+++ TagsCheck.py
|
||||||
@@ -1022,8 +1022,8 @@ Development/''',
|
@@ -1024,8 +1024,8 @@ Development/''',
|
||||||
"%s".''' % '", "'.join(VALID_GROUPS),
|
"%s".''' % '", "'.join(VALID_GROUPS),
|
||||||
|
|
||||||
'no-changelogname-tag',
|
'no-changelogname-tag',
|
||||||
|
@ -2,7 +2,7 @@ Index: FilesCheck.py
|
|||||||
===================================================================
|
===================================================================
|
||||||
--- FilesCheck.py.orig
|
--- FilesCheck.py.orig
|
||||||
+++ FilesCheck.py
|
+++ FilesCheck.py
|
||||||
@@ -952,6 +952,16 @@ class FilesCheck(AbstractCheck.AbstractC
|
@@ -953,6 +953,16 @@ class FilesCheck(AbstractCheck.AbstractC
|
||||||
if res.group(1) != pkg.name:
|
if res.group(1) != pkg.name:
|
||||||
printError(pkg, 'incoherent-logrotate-file', f)
|
printError(pkg, 'incoherent-logrotate-file', f)
|
||||||
|
|
||||||
@ -19,7 +19,7 @@ Index: FilesCheck.py
|
|||||||
if link != '':
|
if link != '':
|
||||||
ext = compr_regex.search(link)
|
ext = compr_regex.search(link)
|
||||||
if ext:
|
if ext:
|
||||||
@@ -1760,6 +1770,24 @@ consequences), or other compiler flags w
|
@@ -1762,6 +1772,24 @@ consequences), or other compiler flags w
|
||||||
extraction not working as expected. Verify that the binaries are not
|
extraction not working as expected. Verify that the binaries are not
|
||||||
unexpectedly stripped and that the intended compiler flags are used.''',
|
unexpectedly stripped and that the intended compiler flags are used.''',
|
||||||
|
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
--- Config.py
|
Index: Config.py
|
||||||
|
===================================================================
|
||||||
|
--- Config.py.orig
|
||||||
+++ Config.py
|
+++ Config.py
|
||||||
@@ -104,11 +104,23 @@
|
@@ -103,11 +103,23 @@ def getOption(name, default = ""):
|
||||||
_filters = []
|
_filters = []
|
||||||
_filters_re = None
|
_filters_re = None
|
||||||
|
|
||||||
@ -26,7 +28,7 @@
|
|||||||
|
|
||||||
def removeFilter(s):
|
def removeFilter(s):
|
||||||
global _filters_re
|
global _filters_re
|
||||||
@@ -123,19 +135,38 @@
|
@@ -122,19 +134,38 @@ def removeFilter(s):
|
||||||
_scoring = {}
|
_scoring = {}
|
||||||
|
|
||||||
def setBadness(s, score):
|
def setBadness(s, score):
|
||||||
@ -69,7 +71,7 @@
|
|||||||
_filters_re = '(?:' + _filters[0] + ')'
|
_filters_re = '(?:' + _filters[0] + ')'
|
||||||
|
|
||||||
for idx in range(1, len(_filters)):
|
for idx in range(1, len(_filters)):
|
||||||
@@ -147,9 +178,27 @@
|
@@ -146,9 +177,27 @@ def isFiltered(s):
|
||||||
_filters_re = _filters_re + '|(?:' + _filters[idx] +')'
|
_filters_re = _filters_re + '|(?:' + _filters[idx] +')'
|
||||||
_filters_re = re.compile(_filters_re)
|
_filters_re = re.compile(_filters_re)
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@ Index: SpecCheck.py
|
|||||||
===================================================================
|
===================================================================
|
||||||
--- SpecCheck.py.orig
|
--- SpecCheck.py.orig
|
||||||
+++ SpecCheck.py
|
+++ SpecCheck.py
|
||||||
@@ -403,6 +403,10 @@ class SpecCheck(AbstractCheck.AbstractCh
|
@@ -414,6 +414,10 @@ class SpecCheck(AbstractCheck.AbstractCh
|
||||||
printWarning(pkg, 'comparison-operator-in-deptoken',
|
printWarning(pkg, 'comparison-operator-in-deptoken',
|
||||||
conf)
|
conf)
|
||||||
|
|
||||||
@ -13,7 +13,7 @@ Index: SpecCheck.py
|
|||||||
if current_section == 'changelog':
|
if current_section == 'changelog':
|
||||||
for match in AbstractCheck.macro_regex.findall(line):
|
for match in AbstractCheck.macro_regex.findall(line):
|
||||||
res = re.match('%+', match)
|
res = re.match('%+', match)
|
||||||
@@ -716,6 +720,14 @@ may break short circuit builds.''',
|
@@ -732,6 +736,14 @@ may break short circuit builds.''',
|
||||||
'''Make check or other automated regression test should be run in %check, as
|
'''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.''',
|
they can be disabled with a rpm macro for short circuiting purposes.''',
|
||||||
|
|
||||||
|
@ -40,7 +40,7 @@ Index: TagsCheck.py
|
|||||||
# List of words to ignore in spell check
|
# List of words to ignore in spell check
|
||||||
ignored_words = set()
|
ignored_words = set()
|
||||||
for pf in pkg.files():
|
for pf in pkg.files():
|
||||||
@@ -1106,6 +1118,11 @@ instead or require a file in bin or /etc
|
@@ -1108,6 +1120,11 @@ instead or require a file in bin or /etc
|
||||||
'no-url-tag',
|
'no-url-tag',
|
||||||
'''The URL tag is missing. Please add a http or ftp link to the project location.''',
|
'''The URL tag is missing. Please add a http or ftp link to the project location.''',
|
||||||
|
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
--- FilesCheck.py
|
Index: FilesCheck.py
|
||||||
|
===================================================================
|
||||||
|
--- FilesCheck.py.orig
|
||||||
+++ FilesCheck.py
|
+++ FilesCheck.py
|
||||||
@@ -664,8 +664,11 @@
|
@@ -1153,8 +1153,11 @@ class FilesCheck(AbstractCheck.AbstractC
|
||||||
if res and not (pkg.check_versioned_dep('python-base',
|
if res and not (pkg.check_versioned_dep('python-base',
|
||||||
res.group(1)) or
|
res.group(1)) or
|
||||||
pkg.check_versioned_dep('python',
|
pkg.check_versioned_dep('python',
|
||||||
|
@ -2,7 +2,7 @@ Index: InitScriptCheck.py
|
|||||||
===================================================================
|
===================================================================
|
||||||
--- InitScriptCheck.py.orig
|
--- InitScriptCheck.py.orig
|
||||||
+++ InitScriptCheck.py
|
+++ InitScriptCheck.py
|
||||||
@@ -52,7 +52,7 @@ class InitScriptCheck(AbstractCheck.Abst
|
@@ -51,7 +51,7 @@ class InitScriptCheck(AbstractCheck.Abst
|
||||||
return
|
return
|
||||||
|
|
||||||
initscript_list = []
|
initscript_list = []
|
||||||
@ -10,8 +10,8 @@ Index: InitScriptCheck.py
|
|||||||
+ rclinks = set()
|
+ rclinks = set()
|
||||||
|
|
||||||
# check chkconfig call in %post and %preun
|
# check chkconfig call in %post and %preun
|
||||||
postin = pkg[rpm.RPMTAG_POSTIN] or pkg[rpm.RPMTAG_POSTINPROG]
|
postin = pkg[rpm.RPMTAG_POSTIN] or pkg.scriptprog(pkg[rpm.RPMTAG_POSTINPROG])
|
||||||
@@ -61,6 +61,10 @@ class InitScriptCheck(AbstractCheck.Abst
|
@@ -60,6 +60,10 @@ class InitScriptCheck(AbstractCheck.Abst
|
||||||
|
|
||||||
for fname, pkgfile in pkg.files().items():
|
for fname, pkgfile in pkg.files().items():
|
||||||
|
|
||||||
@ -22,7 +22,7 @@ Index: InitScriptCheck.py
|
|||||||
if not fname.startswith('/etc/init.d/') and \
|
if not fname.startswith('/etc/init.d/') and \
|
||||||
not fname.startswith('/etc/rc.d/init.d/'):
|
not fname.startswith('/etc/rc.d/init.d/'):
|
||||||
continue
|
continue
|
||||||
@@ -198,6 +202,12 @@ class InitScriptCheck(AbstractCheck.Abst
|
@@ -199,6 +203,12 @@ class InitScriptCheck(AbstractCheck.Abst
|
||||||
elif subsys_regex_found and not use_subsys:
|
elif subsys_regex_found and not use_subsys:
|
||||||
printError(pkg, 'subsys-unsupported', fname)
|
printError(pkg, 'subsys-unsupported', fname)
|
||||||
|
|
||||||
@ -32,10 +32,10 @@ Index: InitScriptCheck.py
|
|||||||
+ if not script in rclinks:
|
+ if not script in rclinks:
|
||||||
+ printWarning(pkg, 'suse-missing-rclink', script)
|
+ printWarning(pkg, 'suse-missing-rclink', script)
|
||||||
+
|
+
|
||||||
goodnames = (pkg.name.lower(), pkg.name.lower() + 'd')
|
if len(initscript_list) == 1:
|
||||||
if len(initscript_list) == 1 and initscript_list[0] not in goodnames:
|
pkgname = re.sub("-sysvinit$", "", pkg.name.lower())
|
||||||
printWarning(pkg, 'incoherent-init-script-name', initscript_list[0],
|
goodnames = (pkgname, pkgname + 'd')
|
||||||
@@ -220,6 +230,10 @@ a call to chkconfig.''',
|
@@ -223,6 +233,10 @@ a call to chkconfig.''',
|
||||||
'''The package contains an init script but doesn't contain a %preun with
|
'''The package contains an init script but doesn't contain a %preun with
|
||||||
a call to chkconfig.''',
|
a call to chkconfig.''',
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@ Index: SpecCheck.py
|
|||||||
===================================================================
|
===================================================================
|
||||||
--- SpecCheck.py.orig
|
--- SpecCheck.py.orig
|
||||||
+++ SpecCheck.py
|
+++ SpecCheck.py
|
||||||
@@ -598,8 +598,8 @@ SPEC file to build a valid RPM package.'
|
@@ -609,8 +609,8 @@ SPEC file to build a valid RPM package.'
|
||||||
("Name:" tag). Either rename your package or the specfile.''',
|
("Name:" tag). Either rename your package or the specfile.''',
|
||||||
|
|
||||||
'non-utf8-spec-file',
|
'non-utf8-spec-file',
|
||||||
|
@ -2,7 +2,7 @@ Index: TagsCheck.py
|
|||||||
===================================================================
|
===================================================================
|
||||||
--- TagsCheck.py.orig
|
--- TagsCheck.py.orig
|
||||||
+++ TagsCheck.py
|
+++ TagsCheck.py
|
||||||
@@ -778,7 +778,7 @@ class TagsCheck(AbstractCheck.AbstractCh
|
@@ -780,7 +780,7 @@ class TagsCheck(AbstractCheck.AbstractCh
|
||||||
if not valid_license:
|
if not valid_license:
|
||||||
self._unexpanded_macros(pkg, 'License', rpm_license)
|
self._unexpanded_macros(pkg, 'License', rpm_license)
|
||||||
|
|
||||||
@ -11,7 +11,7 @@ Index: TagsCheck.py
|
|||||||
if hasattr(rpm, 'RPMTAG_%s' % tag.upper()):
|
if hasattr(rpm, 'RPMTAG_%s' % tag.upper()):
|
||||||
url = pkg[getattr(rpm, 'RPMTAG_%s' % tag.upper())]
|
url = pkg[getattr(rpm, 'RPMTAG_%s' % tag.upper())]
|
||||||
self._unexpanded_macros(pkg, tag, url, is_url = True)
|
self._unexpanded_macros(pkg, tag, url, is_url = True)
|
||||||
@@ -1094,7 +1094,7 @@ once.''',
|
@@ -1096,7 +1096,7 @@ once.''',
|
||||||
'''This rpm requires a specific release of another package.''',
|
'''This rpm requires a specific release of another package.''',
|
||||||
|
|
||||||
'no-url-tag',
|
'no-url-tag',
|
||||||
|
@ -1,8 +1,6 @@
|
|||||||
Index: SpecCheck.py
|
--- SpecCheck.py
|
||||||
===================================================================
|
|
||||||
--- SpecCheck.py.orig
|
|
||||||
+++ SpecCheck.py
|
+++ SpecCheck.py
|
||||||
@@ -56,6 +56,7 @@ libdir_regex = re.compile('%{?_lib(?:dir
|
@@ -57,6 +57,7 @@
|
||||||
comment_or_empty_regex = re.compile('^\s*(#|$)')
|
comment_or_empty_regex = re.compile('^\s*(#|$)')
|
||||||
defattr_regex = re.compile('^\s*%defattr\\b')
|
defattr_regex = re.compile('^\s*%defattr\\b')
|
||||||
attr_regex = re.compile('^\s*%attr\\b')
|
attr_regex = re.compile('^\s*%attr\\b')
|
||||||
@ -10,9 +8,9 @@ Index: SpecCheck.py
|
|||||||
section_regexs = dict(
|
section_regexs = dict(
|
||||||
([x, re.compile('^%' + x + '(?:\s|$)')]
|
([x, re.compile('^%' + x + '(?:\s|$)')]
|
||||||
for x in ('build', 'changelog', 'check', 'clean', 'description', 'files',
|
for x in ('build', 'changelog', 'check', 'clean', 'description', 'files',
|
||||||
@@ -348,6 +349,12 @@ class SpecCheck(AbstractCheck.AbstractCh
|
@@ -359,6 +360,12 @@
|
||||||
if res:
|
if not res.group(1).startswith('%'):
|
||||||
package_noarch[current_package] = True
|
printWarning(pkg, 'hardcoded-prefix-tag', res.group(1))
|
||||||
|
|
||||||
+ res = suse_version_regex.search(line)
|
+ res = suse_version_regex.search(line)
|
||||||
+ if res and int(res.group(1)) > 0 and int(res.group(1)) < 1130:
|
+ if res and int(res.group(1)) > 0 and int(res.group(1)) < 1130:
|
||||||
@ -23,7 +21,7 @@ Index: SpecCheck.py
|
|||||||
res = prereq_regex.search(line)
|
res = prereq_regex.search(line)
|
||||||
if res:
|
if res:
|
||||||
printError(pkg, 'prereq-use', res.group(2))
|
printError(pkg, 'prereq-use', res.group(2))
|
||||||
@@ -758,6 +765,15 @@ in the resulting binary package dependin
|
@@ -774,6 +781,15 @@
|
||||||
version (typically < 4.4). Add default attributes using %defattr before it in
|
version (typically < 4.4). Add default attributes using %defattr before it in
|
||||||
the %files section, or use per entry %attr's.''',
|
the %files section, or use per entry %attr's.''',
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@ Index: TagsCheck.py
|
|||||||
===================================================================
|
===================================================================
|
||||||
--- TagsCheck.py.orig
|
--- TagsCheck.py.orig
|
||||||
+++ TagsCheck.py
|
+++ TagsCheck.py
|
||||||
@@ -881,7 +881,7 @@ class TagsCheck(AbstractCheck.AbstractCh
|
@@ -883,7 +883,7 @@ class TagsCheck(AbstractCheck.AbstractCh
|
||||||
spell_check(pkg, utf8summary, 'Summary(%s)', lang, ignored_words)
|
spell_check(pkg, utf8summary, 'Summary(%s)', lang, ignored_words)
|
||||||
if '\n' in summary:
|
if '\n' in summary:
|
||||||
printError(pkg, 'summary-on-multiple-lines', lang)
|
printError(pkg, 'summary-on-multiple-lines', lang)
|
||||||
|
@ -2,7 +2,7 @@ Index: InitScriptCheck.py
|
|||||||
===================================================================
|
===================================================================
|
||||||
--- InitScriptCheck.py.orig
|
--- InitScriptCheck.py.orig
|
||||||
+++ InitScriptCheck.py
|
+++ InitScriptCheck.py
|
||||||
@@ -31,6 +31,10 @@ lsb_tags_regex = re.compile('^# ([\w-]+)
|
@@ -30,6 +30,10 @@ lsb_tags_regex = re.compile('^# ([\w-]+)
|
||||||
lsb_cont_regex = re.compile('^#(?:\t| )(.*?)\s*$')
|
lsb_cont_regex = re.compile('^#(?:\t| )(.*?)\s*$')
|
||||||
use_subsys = Config.getOption('UseVarLockSubsys', True)
|
use_subsys = Config.getOption('UseVarLockSubsys', True)
|
||||||
|
|
||||||
@ -13,37 +13,38 @@ Index: InitScriptCheck.py
|
|||||||
LSB_KEYWORDS = ('Provides', 'Required-Start', 'Required-Stop', 'Should-Start',
|
LSB_KEYWORDS = ('Provides', 'Required-Start', 'Required-Stop', 'Should-Start',
|
||||||
'Should-Stop', 'Default-Start', 'Default-Stop',
|
'Should-Stop', 'Default-Start', 'Default-Stop',
|
||||||
'Short-Description', 'Description')
|
'Short-Description', 'Description')
|
||||||
@@ -48,6 +52,13 @@ class InitScriptCheck(AbstractCheck.Abst
|
@@ -47,6 +51,13 @@ class InitScriptCheck(AbstractCheck.Abst
|
||||||
return
|
return
|
||||||
|
|
||||||
initscript_list = []
|
initscript_list = []
|
||||||
+
|
+
|
||||||
+
|
+
|
||||||
+ # check chkconfig call in %post and %preun
|
+ # check chkconfig call in %post and %preun
|
||||||
+ postin = pkg[rpm.RPMTAG_POSTIN] or pkg[rpm.RPMTAG_POSTINPROG]
|
+ postin = pkg[rpm.RPMTAG_POSTIN] or pkg.scriptprog(pkg[rpm.RPMTAG_POSTINPROG])
|
||||||
+ preun = pkg[rpm.RPMTAG_PREUN] or pkg[rpm.RPMTAG_PREUNPROG]
|
+ preun = pkg[rpm.RPMTAG_PREUN] or pkg.scriptprog(pkg[rpm.RPMTAG_PREUNPROG])
|
||||||
+ postun = pkg[rpm.RPMTAG_POSTUN] or pkg[rpm.RPMTAG_POSTUNPROG]
|
+ postun = pkg[rpm.RPMTAG_POSTUN] or pkg.scriptprog(pkg[rpm.RPMTAG_POSTUNPROG])
|
||||||
+
|
+
|
||||||
for fname, pkgfile in pkg.files().items():
|
for fname, pkgfile in pkg.files().items():
|
||||||
|
|
||||||
if not fname.startswith('/etc/init.d/') and \
|
if not fname.startswith('/etc/init.d/') and \
|
||||||
@@ -61,18 +72,15 @@ class InitScriptCheck(AbstractCheck.Abst
|
@@ -61,20 +72,16 @@ class InitScriptCheck(AbstractCheck.Abst
|
||||||
|
if "." in basename:
|
||||||
if dot_in_name_regex.match(basename):
|
|
||||||
printError(pkg, 'init-script-name-with-dot', fname)
|
printError(pkg, 'init-script-name-with-dot', fname)
|
||||||
|
|
||||||
- # check chkconfig call in %post and %preun
|
- # check chkconfig call in %post and %preun
|
||||||
- postin = pkg[rpm.RPMTAG_POSTIN] or pkg[rpm.RPMTAG_POSTINPROG]
|
- postin = pkg[rpm.RPMTAG_POSTIN] or \
|
||||||
|
- pkg.scriptprog(rpm.RPMTAG_POSTINPROG)
|
||||||
- if not postin:
|
- if not postin:
|
||||||
- printError(pkg, 'init-script-without-chkconfig-postin', fname)
|
- printError(pkg, 'init-script-without-chkconfig-postin', fname)
|
||||||
- elif not chkconfig_regex.search(postin):
|
- elif not chkconfig_regex.search(postin):
|
||||||
- printError(pkg, 'postin-without-chkconfig', fname)
|
- printError(pkg, 'postin-without-chkconfig', fname)
|
||||||
-
|
-
|
||||||
- preun = pkg[rpm.RPMTAG_PREUN] or pkg[rpm.RPMTAG_PREUNPROG]
|
preun = pkg[rpm.RPMTAG_PREUN] or \
|
||||||
|
pkg.scriptprog(rpm.RPMTAG_PREUNPROG)
|
||||||
- if not preun:
|
- if not preun:
|
||||||
- printError(pkg, 'init-script-without-chkconfig-preun', fname)
|
- printError(pkg, 'init-script-without-chkconfig-preun', fname)
|
||||||
- elif not chkconfig_regex.search(preun):
|
- elif not chkconfig_regex.search(preun):
|
||||||
- printError(pkg, 'preun-without-chkconfig', fname)
|
- printError(pkg, 'preun-without-chkconfig', fname)
|
||||||
+
|
|
||||||
+ if not preun or not stop_on_removal_regex.search(preun):
|
+ if not preun or not stop_on_removal_regex.search(preun):
|
||||||
+ printError(pkg, 'init-script-without-%stop_on_removal-preun', fname)
|
+ printError(pkg, 'init-script-without-%stop_on_removal-preun', fname)
|
||||||
+
|
+
|
||||||
@ -55,7 +56,7 @@ Index: InitScriptCheck.py
|
|||||||
|
|
||||||
status_found = False
|
status_found = False
|
||||||
reload_found = False
|
reload_found = False
|
||||||
@@ -271,6 +279,17 @@ of chkconfig don't work as expected with
|
@@ -275,6 +282,17 @@ of chkconfig don't work as expected with
|
||||||
'init-script-non-executable',
|
'init-script-non-executable',
|
||||||
'''The init script should have at least the execution bit set for root
|
'''The init script should have at least the execution bit set for root
|
||||||
in order for it to run at boot time.''',
|
in order for it to run at boot time.''',
|
||||||
|
@ -2,7 +2,7 @@ Index: BinariesCheck.py
|
|||||||
===================================================================
|
===================================================================
|
||||||
--- BinariesCheck.py.orig
|
--- BinariesCheck.py.orig
|
||||||
+++ BinariesCheck.py
|
+++ BinariesCheck.py
|
||||||
@@ -206,6 +206,7 @@ usr_lib_exception_regex = re.compile(Con
|
@@ -208,6 +208,7 @@ usr_lib_exception_regex = re.compile(Con
|
||||||
srcname_regex = re.compile('(.*?)-[0-9]')
|
srcname_regex = re.compile('(.*?)-[0-9]')
|
||||||
invalid_dir_ref_regex = re.compile('/(home|tmp)(\W|$)')
|
invalid_dir_ref_regex = re.compile('/(home|tmp)(\W|$)')
|
||||||
ocaml_mixed_regex = re.compile('^Caml1999X0\d\d$')
|
ocaml_mixed_regex = re.compile('^Caml1999X0\d\d$')
|
||||||
@ -10,7 +10,7 @@ Index: BinariesCheck.py
|
|||||||
|
|
||||||
def dir_base(path):
|
def dir_base(path):
|
||||||
res = path_regex.search(path)
|
res = path_regex.search(path)
|
||||||
@@ -278,7 +279,7 @@ class BinariesCheck(AbstractCheck.Abstra
|
@@ -280,7 +281,7 @@ class BinariesCheck(AbstractCheck.Abstra
|
||||||
# arch dependent packages only from here on
|
# arch dependent packages only from here on
|
||||||
|
|
||||||
# in /usr/share ?
|
# in /usr/share ?
|
||||||
|
@ -2,7 +2,7 @@ Index: TagsCheck.py
|
|||||||
===================================================================
|
===================================================================
|
||||||
--- TagsCheck.py.orig
|
--- TagsCheck.py.orig
|
||||||
+++ TagsCheck.py
|
+++ TagsCheck.py
|
||||||
@@ -811,7 +811,7 @@ class TagsCheck(AbstractCheck.AbstractCh
|
@@ -813,7 +813,7 @@ class TagsCheck(AbstractCheck.AbstractCh
|
||||||
printWarning(pkg, 'no-url-tag')
|
printWarning(pkg, 'no-url-tag')
|
||||||
|
|
||||||
obs_names = [x[0] for x in pkg.obsoletes()]
|
obs_names = [x[0] for x in pkg.obsoletes()]
|
||||||
|
Loading…
Reference in New Issue
Block a user