SHA256
1
0
forked from pool/rpmlint

Accepting request 68367 from devel:openSUSE:Factory:rpmlint

Accepted submit request 68367 from user oertel

OBS-URL: https://build.opensuse.org/request/show/68367
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/rpmlint?expand=0&rev=105
This commit is contained in:
Ruediger Oertel
2011-04-26 14:54:13 +00:00
committed by Git OBS Bridge
3 changed files with 26 additions and 23 deletions

View File

@@ -1,3 +1,9 @@
-------------------------------------------------------------------
Sat Apr 23 11:11:37 CEST 2011 - dmueller@suse.de
- fix abort in BinariesCheck
- fix sysv5-init-check.diff for real
------------------------------------------------------------------- -------------------------------------------------------------------
Thu Apr 21 13:00:43 UTC 2011 - lnussel@suse.de Thu Apr 21 13:00:43 UTC 2011 - lnussel@suse.de

View File

@@ -1,8 +1,6 @@
Index: BinariesCheck.py --- BinariesCheck.py
===================================================================
--- BinariesCheck.py.orig
+++ BinariesCheck.py +++ BinariesCheck.py
@@ -10,6 +10,7 @@ @@ -10,13 +10,15 @@
import re import re
import stat import stat
@@ -10,7 +8,8 @@ Index: BinariesCheck.py
import rpm import rpm
@@ -17,6 +18,7 @@ from Filter import addDetails, printErro -from Filter import addDetails, printError, printWarning
+from Filter import addDetails, printError, printWarning, printInfo
import AbstractCheck import AbstractCheck
import Config import Config
import Pkg import Pkg
@@ -18,7 +17,7 @@ Index: BinariesCheck.py
DEFAULT_SYSTEM_LIB_PATHS = ( DEFAULT_SYSTEM_LIB_PATHS = (
@@ -37,6 +39,9 @@ class BinaryInfo: @@ -37,6 +39,9 @@
unused_regex = re.compile('^\s+(\S+)') unused_regex = re.compile('^\s+(\S+)')
exit_call_regex = re.compile('\s+FUNC\s+.*?\s+(_?exit(?:@\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|$)') fork_call_regex = re.compile('\s+FUNC\s+.*?\s+(fork(?:@\S+)?)(?:\s|$)')
@@ -28,7 +27,7 @@ Index: BinariesCheck.py
def __init__(self, pkg, path, file, is_ar, is_shlib): def __init__(self, pkg, path, file, is_ar, is_shlib):
self.readelf_error = False self.readelf_error = False
@@ -50,7 +55,10 @@ class BinaryInfo: @@ -50,7 +55,10 @@
self.stack = False self.stack = False
self.exec_stack = False self.exec_stack = False
self.exit_calls = [] self.exit_calls = []
@@ -39,7 +38,7 @@ Index: BinariesCheck.py
self.tail = '' self.tail = ''
is_debug = path.endswith('.debug') is_debug = path.endswith('.debug')
@@ -93,6 +101,11 @@ class BinaryInfo: @@ -93,6 +101,11 @@
self.exec_stack = True self.exec_stack = True
continue continue
@@ -51,7 +50,7 @@ Index: BinariesCheck.py
if is_shlib: if is_shlib:
r = BinaryInfo.exit_call_regex.search(l) r = BinaryInfo.exit_call_regex.search(l)
if r: if r:
@@ -103,6 +116,14 @@ class BinaryInfo: @@ -103,6 +116,14 @@
fork_called = True fork_called = True
continue continue
@@ -66,7 +65,7 @@ Index: BinariesCheck.py
if self.non_pic: if self.non_pic:
self.non_pic = 'TEXTREL' in res[1] self.non_pic = 'TEXTREL' in res[1]
@@ -263,13 +284,26 @@ class BinariesCheck(AbstractCheck.Abstra @@ -263,13 +284,26 @@
continue continue
# stripped ? # stripped ?
@@ -94,7 +93,7 @@ Index: BinariesCheck.py
if is_shlib: if is_shlib:
has_lib = True has_lib = True
@@ -319,6 +353,10 @@ class BinariesCheck(AbstractCheck.Abstra @@ -319,6 +353,10 @@
for ec in bin_info.exit_calls: for ec in bin_info.exit_calls:
printWarning(pkg, 'shared-lib-calls-exit', fname, ec) printWarning(pkg, 'shared-lib-calls-exit', fname, ec)
@@ -105,7 +104,7 @@ Index: BinariesCheck.py
# rpath ? # rpath ?
if bin_info.rpath: if bin_info.rpath:
for p in bin_info.rpath: for p in bin_info.rpath:
@@ -504,6 +542,14 @@ with the intended shared libraries only. @@ -504,6 +542,14 @@
'ldd-failed', 'ldd-failed',
'''Executing ldd on this file failed, all checks could not be run.''', '''Executing ldd on this file failed, all checks could not be run.''',
@@ -120,7 +119,7 @@ Index: BinariesCheck.py
'executable-stack', 'executable-stack',
'''The binary declares the stack as executable. Executable stack is usually an '''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 error as it is only needed if the code contains GCC trampolines or similar
@@ -516,6 +562,10 @@ don\'t define a proper .note.GNU-stack s @@ -516,6 +562,10 @@
make the stack executable. Usual suspects include use of a non-GNU linker or make the stack executable. Usual suspects include use of a non-GNU linker or
an old GNU linker version.''', an old GNU linker version.''',
@@ -131,7 +130,7 @@ Index: BinariesCheck.py
'shared-lib-calls-exit', 'shared-lib-calls-exit',
'''This library package calls exit() or _exit(), probably in a non-fork() '''This library package calls exit() or _exit(), probably in a non-fork()
context. Doing so from a library is strongly discouraged - when a library context. Doing so from a library is strongly discouraged - when a library
@@ -533,6 +583,12 @@ form, make sure that rpmbuild does not s @@ -533,6 +583,12 @@
that use prelink, make sure that prelink does not strip it either, usually by that use prelink, make sure that prelink does not strip it either, usually by
placing a blacklist file in /etc/prelink.conf.d. For more information, see placing a blacklist file in /etc/prelink.conf.d. For more information, see
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=256900#49''', http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=256900#49''',

View File

@@ -1,8 +1,6 @@
Index: InitScriptCheck.py --- InitScriptCheck.py
===================================================================
--- InitScriptCheck.py.orig
+++ InitScriptCheck.py +++ InitScriptCheck.py
@@ -29,6 +29,10 @@ dot_in_name_regex = re.compile('.*\..*') @@ -29,6 +29,10 @@
use_deflevels = Config.getOption('UseDefaultRunlevels', True) use_deflevels = Config.getOption('UseDefaultRunlevels', True)
lsb_tags_regex = re.compile('^# ([\w-]+):\s*(.*?)\s*$') lsb_tags_regex = re.compile('^# ([\w-]+):\s*(.*?)\s*$')
lsb_cont_regex = re.compile('^#(?:\t| )(.*?)\s*$') lsb_cont_regex = re.compile('^#(?:\t| )(.*?)\s*$')
@@ -13,7 +11,7 @@ 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',
@@ -47,6 +51,13 @@ class InitScriptCheck(AbstractCheck.Abst @@ -47,6 +51,13 @@
return return
initscript_list = [] initscript_list = []
@@ -27,7 +25,7 @@ Index: InitScriptCheck.py
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 \
@@ -60,18 +71,19 @@ class InitScriptCheck(AbstractCheck.Abst @@ -60,18 +71,19 @@
if dot_in_name_regex.match(basename): if dot_in_name_regex.match(basename):
printError(pkg, 'init-script-name-with-dot', fname) printError(pkg, 'init-script-name-with-dot', fname)
@@ -44,7 +42,7 @@ Index: InitScriptCheck.py
- elif not chkconfig_regex.search(preun): - elif not chkconfig_regex.search(preun):
- printError(pkg, 'preun-without-chkconfig', fname) - printError(pkg, 'preun-without-chkconfig', fname)
+ printError(pkg, 'init-script-without-%stop_on_removal-preun', fname) + printError(pkg, 'init-script-without-%stop_on_removal-preun', fname)
+ elif not stop_on_removal_regex.search(postin): + elif not stop_on_removal_regex.search(preun):
+ printError(pkg, 'preun-without-%stop_on_removal-preun', fname) + printError(pkg, 'preun-without-%stop_on_removal-preun', fname)
+ +
+ if not postun: + if not postun:
@@ -57,7 +55,7 @@ Index: InitScriptCheck.py
status_found = False status_found = False
reload_found = False reload_found = False
@@ -202,10 +214,18 @@ a call to chkconfig.''', @@ -202,10 +214,18 @@
'''The package contains an init script but doesn't call chkconfig in its '''The package contains an init script but doesn't call chkconfig in its
%post script.''', %post script.''',
@@ -77,7 +75,7 @@ Index: InitScriptCheck.py
'preun-without-chkconfig', 'preun-without-chkconfig',
'''The package contains an init script but doesn't call chkconfig in its '''The package contains an init script but doesn't call chkconfig in its
%preun script.''', %preun script.''',
@@ -264,6 +284,24 @@ of chkconfig don't work as expected with @@ -264,6 +284,24 @@
'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.''',