From 21325e5a02c989d9ed31cf19815191ba9ad45a86 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ville=20Skytt=C3=A4?= Date: Tue, 17 Jan 2006 20:33:54 +0000 Subject: [PATCH] - Sync with upstream CVS as of 2006-01-15, includes improved versions of most of the earlier patches. - Add dependency on binutils. --- .cvsignore | 1 + DocFilesCheck.py | 108 ------------------ rpmlint-0.71-disttag.patch | 11 ++ rpmlint-0.71-doc-exec.patch | 12 ++ rpmlint-0.71-docfilescheck.patch | 10 -- rpmlint-0.71-errmsg.patch | 13 --- rpmlint-0.71-la-exec.patch | 16 +++ rpmlint-0.71-locale.patch | 10 -- rpmlint-0.71-objdump.patch | 84 -------------- rpmlint-0.71-paths.patch | 17 --- ...-prereq.patch => rpmlint-0.71-prereq.patch | 21 ++-- rpmlint-0.71-scriptinfo.patch | 23 ---- rpmlint-0.71-symlinks.patch | 28 ----- rpmlint-disttag.patch | 25 ---- rpmlint-execs.patch | 28 ----- rpmlint-fedora-config | 2 + rpmlint-initvars.patch | 11 -- rpmlint-perl-bs.patch | 11 -- rpmlint-svcdefault.patch | 30 ----- rpmlint.spec | 38 +++--- sources | 1 + 21 files changed, 68 insertions(+), 432 deletions(-) delete mode 100644 DocFilesCheck.py create mode 100644 rpmlint-0.71-disttag.patch create mode 100644 rpmlint-0.71-doc-exec.patch delete mode 100644 rpmlint-0.71-docfilescheck.patch delete mode 100644 rpmlint-0.71-errmsg.patch create mode 100644 rpmlint-0.71-la-exec.patch delete mode 100644 rpmlint-0.71-locale.patch delete mode 100644 rpmlint-0.71-objdump.patch delete mode 100644 rpmlint-0.71-paths.patch rename rpmlint-prereq.patch => rpmlint-0.71-prereq.patch (78%) delete mode 100644 rpmlint-0.71-scriptinfo.patch delete mode 100644 rpmlint-0.71-symlinks.patch delete mode 100644 rpmlint-disttag.patch delete mode 100644 rpmlint-execs.patch delete mode 100644 rpmlint-initvars.patch delete mode 100644 rpmlint-perl-bs.patch delete mode 100644 rpmlint-svcdefault.patch diff --git a/.cvsignore b/.cvsignore index 4b85619..eadc92b 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1,2 @@ rpmlint-0.71.tar.bz2 +rpmlint-0.71-cvs20060115.patch.bz2 diff --git a/DocFilesCheck.py b/DocFilesCheck.py deleted file mode 100644 index 50b32fb..0000000 --- a/DocFilesCheck.py +++ /dev/null @@ -1,108 +0,0 @@ -# Copyright (C) 2005 Enrico Scholz -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; version 2 of the License. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -from Filter import * - -import sys -import rpm - -import AbstractCheck - -# remove version from deps like ['foo', '>', '3'] -def _stripVersionedDeps(deps): - deps = deps[:] - j = len(deps) - while j>=3: - j = j-1 - if deps[j-1] in ('<', '<=', '=', '>=', '>'): - del deps[j-1:j+1] - - return deps - -class DocFilesCheck(AbstractCheck.AbstractCheck): - def __init__(self): - AbstractCheck.AbstractCheck.__init__(self, 'DocFilesCheck') - - def __checkRequirements(this, pkg): - file_reqs = pkg.header[rpm.RPMTAG_FILEREQUIRE] - files = pkg.header[rpm.RPMTAG_FILENAMES] - doc_files = pkg.docFiles() - - assert(len(file_reqs) == len(files)) - - reqs = {} - for i in xrange(0,len(files)): - tmp = file_reqs[i].split() - tmp = _stripVersionedDeps(tmp) - reqs[files[i]] = tmp - - core_reqs = {} # dependencies of non-doc files - doc_reqs = {} # dependencies of doc files - - for dep in pkg.header.dsFromHeader(): - # skip deps which were found by find-requires - if (dep.Flags() & (rpm.RPMSENSE_FIND_REQUIRES))!=0: continue - core_reqs[dep.N()] = [] - - # register things which are provided by the package - for i in pkg.header[rpm.RPMTAG_PROVIDES] + files: - core_reqs[i] = [] - - for i in files: - if not reqs[i]: continue # skip empty dependencies - elif i in doc_files: target = doc_reqs - else: target = core_reqs - - for r in reqs[i]: - if not target.has_key(r): - target[r] = [] - - target[r].append(i) - - - # go through the calculated requirements of the %doc files - for (dep,req_files) in doc_reqs.items(): - if dep not in core_reqs: - for f in req_files: - printWarning(pkg, "doc-file-dependency", f, dep) - - def check(self, pkg): - if pkg.isSource(): - return - - self.__checkRequirements(pkg) - - - -check = DocFilesCheck() - -if Config.info: - addDetails( -'doc-file-dependency', -'''An included file marked as %doc creates a possible additional dependency in -the package. Usually, this is not wanted and may be caused by eg. example -scripts with executable bits set included in the package's documentation.''', -) - -def test(): - for (arg,exp) in ((['a'],['a']), - ([], []), - (['a','b'], ['a', 'b']), - (['a','b', 'c', 'd'], ['a', 'b', 'c', 'd']), - (['a','>', '0'], ['a']), - (['a','>', '0', 'b'], ['a', 'b']), - (['a','>', '0', 'b', '>', '0'], ['a', 'b']), - ): - assert(_stripVersionedDeps(arg) == exp) diff --git a/rpmlint-0.71-disttag.patch b/rpmlint-0.71-disttag.patch new file mode 100644 index 0000000..f8d9384 --- /dev/null +++ b/rpmlint-0.71-disttag.patch @@ -0,0 +1,11 @@ +--- TagsCheck.py~ 2006-01-15 23:33:42.000000000 +0200 ++++ TagsCheck.py 2006-01-15 23:34:30.000000000 +0200 +@@ -424,2 +424,3 @@ + changelog_version_regex=re.compile('[^>]([^ >]+)\s*$') ++fedora_disttag_regex=re.compile('\.(fc|rhe?l)\d+$') + release_ext=Config.getOption('ReleaseExtension', 'mdk') +@@ -636,3 +637,3 @@ + expected=str(epoch) + ':' + expected +- if expected != ret.group(1): ++ if ret.group(1) not in (expected, fedora_disttag_regex.sub('', expected)): + printWarning(pkg, 'incoherent-version-in-changelog', ret.group(1), expected) diff --git a/rpmlint-0.71-doc-exec.patch b/rpmlint-0.71-doc-exec.patch new file mode 100644 index 0000000..dacc4b9 --- /dev/null +++ b/rpmlint-0.71-doc-exec.patch @@ -0,0 +1,12 @@ +Index: FilesCheck.py +=================================================================== +RCS file: /cooker/soft/rpmlint/FilesCheck.py,v +retrieving revision 1.96 +diff -u -U1 -r1.96 FilesCheck.py +--- FilesCheck.py 15 Jan 2006 09:59:04 -0000 1.96 ++++ FilesCheck.py 15 Jan 2006 21:08:24 -0000 +@@ -565,3 +565,3 @@ + +- if mode & 0111 == 0: ++ if mode & 0111 == 0 and not doc_regex.search(f): + printError(pkg, 'non-executable-script', f, oct(perm)) diff --git a/rpmlint-0.71-docfilescheck.patch b/rpmlint-0.71-docfilescheck.patch deleted file mode 100644 index c7e469c..0000000 --- a/rpmlint-0.71-docfilescheck.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- Config.py 17 Aug 2005 05:11:24 -0000 1.125 -+++ Config.py 20 Nov 2005 10:39:57 -0000 -@@ -16,6 +16,7 @@ - "BinariesCheck", - "ConfigCheck", - "FilesCheck", -+ "DocFilesCheck", - "FHSCheck", - "SignatureCheck", - "I18NCheck", diff --git a/rpmlint-0.71-errmsg.patch b/rpmlint-0.71-errmsg.patch deleted file mode 100644 index 29efa77..0000000 --- a/rpmlint-0.71-errmsg.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- rpmlint.py 15 Apr 2005 20:01:46 -0000 1.62 -+++ rpmlint.py 26 Aug 2005 16:17:20 -0000 -@@ -71,6 +71,10 @@ - except KeyboardInterrupt: - sys.stderr.write('Interrupted, exiting while reading ' + f + '\n') - sys.exit(2) -+ except rpm.error, e: -+ sys.stderr.write('Error while reading %s: %s\n' % (f, e)) -+ pkg=None -+ continue - except: - sys.stderr.write('Error while reading ' + f + '\n') - pkg=None diff --git a/rpmlint-0.71-la-exec.patch b/rpmlint-0.71-la-exec.patch new file mode 100644 index 0000000..dec6905 --- /dev/null +++ b/rpmlint-0.71-la-exec.patch @@ -0,0 +1,16 @@ +Index: FilesCheck.py +=================================================================== +RCS file: /cooker/soft/rpmlint/FilesCheck.py,v +retrieving revision 1.96 +diff -u -U1 -r1.96 FilesCheck.py +--- FilesCheck.py 15 Jan 2006 09:59:04 -0000 1.96 ++++ FilesCheck.py 15 Jan 2006 21:08:59 -0000 +@@ -189,2 +189,3 @@ + script_regex=re.compile('^/((usr/)?s?bin|etc/(rc.d/init.d|profile.d|X11/xinit.d|cron.(hourly|daily|monthly|weekly)))/') ++libtool_archive_regex=re.compile('\.la$') + lib64python_regex=re.compile('^/usr/lib64/python') +@@ -562,3 +563,3 @@ + printError(pkg, 'wrong-script-interpreter', f, '"' + res.group(1) + '"') +- else: ++ elif not (lib_path_regex.search(f) and libtool_archive_regex.search(f)): + printError(pkg, 'script-without-shellbang', f) diff --git a/rpmlint-0.71-locale.patch b/rpmlint-0.71-locale.patch deleted file mode 100644 index ffe5421..0000000 --- a/rpmlint-0.71-locale.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- rpmlint 6 Oct 1999 13:03:45 -0000 1.2 -+++ rpmlint 20 Nov 2005 12:48:00 -0000 -@@ -13,6 +13,6 @@ - - PYTHONPATH=${PYTHONPATH}:/usr/share/rpmlint - --exec python -u -O /usr/share/rpmlint/rpmlint.py $* -+LC_ALL=C exec python -u -O /usr/share/rpmlint/rpmlint.py $* - - # rpmlint ends here diff --git a/rpmlint-0.71-objdump.patch b/rpmlint-0.71-objdump.patch deleted file mode 100644 index a5218e2..0000000 --- a/rpmlint-0.71-objdump.patch +++ /dev/null @@ -1,84 +0,0 @@ ---- BinariesCheck.py 17 Jun 2005 09:10:36 -0000 1.32 -+++ BinariesCheck.py 20 Nov 2005 17:42:33 -0000 -@@ -32,7 +32,8 @@ - pic_regex=re.compile('^\s+\d+\s+\.rela?\.(data|text)') - non_pic_regex=re.compile('TEXTREL', re.MULTILINE) - -- def __init__(self, path, file): -+ def __init__(self, pkg, path, file): -+ self.error=0 - self.needed=[] - self.rpath=[] - self.comment=0 -@@ -40,9 +41,9 @@ - self.soname=0 - self.non_pic=1 - -- res=commands.getoutput('objdump --headers --private-headers -T ' + path) -- if res: -- for l in string.split(res, '\n'): -+ res=commands.getstatusoutput('objdump --headers --private-headers -T ' + path) -+ if not res[0]: -+ for l in string.split(res[1], '\n'): - needed=BinaryInfo.needed_regex.search(l) - if needed: - self.needed.append(needed.group(1)) -@@ -57,16 +58,14 @@ - self.dynsyms=1 - elif BinaryInfo.pic_regex.search(l): - self.non_pic=0 -- else: -- r=BinaryInfo.unrecognized_regex.search(l) -- if r: -- sys.stderr.write('file format not recognized for %s in %s\n' % (r.group(1), file)) -- #sys.exit(1) - r=BinaryInfo.soname_regex.search(l) - if r: - self.soname=r.group(1) - if self.non_pic: -- self.non_pic=BinaryInfo.non_pic_regex.search(res) -+ self.non_pic=BinaryInfo.non_pic_regex.search(res[1]) -+ else: -+ self.error=1 -+ printWarning(pkg, 'objdump-failed', res[1]) - - path_regex=re.compile('(.*/)([^/]+)') - numeric_dir_regex=re.compile('/usr(?:/share)/man/man./(.*)\.[0-9](?:\.gz|\.bz2)') -@@ -156,12 +155,14 @@ - printWarning(pkg, 'unstripped-binary-or-object', i[0]) - - # inspect binary file -- bin_info=BinaryInfo(pkg.dirName()+i[0], i[0]) -+ bin_info=BinaryInfo(pkg, pkg.dirName()+i[0], i[0]) - - # so name in library - if so_regex.search(i[0]): - has_lib.append(i[0]) -- if not bin_info.soname: -+ if bin_info.error: -+ pass -+ elif not bin_info.soname: - printWarning(pkg, 'no-soname', i[0]) - else: - if not validso_regex.search(bin_info.soname): -@@ -201,7 +202,9 @@ - if is_exec and bin_regex.search(i[0]): - exec_files.append(i[0]) - -- if not bin_info.needed and \ -+ if bin_info.error: -+ pass -+ elif not bin_info.needed and \ - not (bin_info.soname and \ - ldso_soname_regex.search(bin_info.soname)): - if shared_object_regex.search(i[1]): -@@ -333,6 +336,9 @@ - 'only-non-binary-in-usr-lib', - '''There are only non binary files in /usr/lib so they should be in /usr/share.''', - -+'objdump-failed', -+'''Running objdump on some files failed, all checks could not be done.''', -+ - ) - - # BinariesCheck.py ends here diff --git a/rpmlint-0.71-paths.patch b/rpmlint-0.71-paths.patch deleted file mode 100644 index cdbaf0f..0000000 --- a/rpmlint-0.71-paths.patch +++ /dev/null @@ -1,17 +0,0 @@ ---- FilesCheck.py 10 Aug 2005 01:46:30 -0000 1.88 -+++ FilesCheck.py 21 Aug 2005 07:42:30 -0000 -@@ -151,3 +151,3 @@ - points_regex=re.compile('^../(.*)') --doc_regex=re.compile('^/usr/(doc|man|info)|^/usr/share/(doc|man|info)') -+doc_regex=re.compile('^/usr(/share)?/(doc|man|info)/') - bin_regex=re.compile('^(/usr)?/s?bin/') -@@ -160,3 +160,3 @@ - depmod_regex=re.compile('^[^#]*depmod', re.MULTILINE) --info_regex=re.compile('^/usr/share/info') -+info_regex=re.compile('^/usr/share/info/') - install_info_regex=re.compile('^[^#]*install-info', re.MULTILINE) -@@ -165,3 +165,3 @@ - htaccess_regex=re.compile('\.htaccess$') --games_path_regex=re.compile('/usr/(lib/)?/games') -+games_path_regex=re.compile('/usr(/lib(64)?)?/games/') - games_group_regex=re.compile(Config.getOption('RpmGamesGroups', DEFAULT_GAMES_GROUPS)) diff --git a/rpmlint-prereq.patch b/rpmlint-0.71-prereq.patch similarity index 78% rename from rpmlint-prereq.patch rename to rpmlint-0.71-prereq.patch index 5c01046..1348992 100644 --- a/rpmlint-prereq.patch +++ b/rpmlint-0.71-prereq.patch @@ -1,29 +1,32 @@ ---- SpecCheck.py 10 Aug 2005 06:10:39 -0000 1.29 -+++ SpecCheck.py 10 Aug 2005 13:14:46 -0000 -@@ -44,6 +44,7 @@ +Index: SpecCheck.py +=================================================================== +RCS file: /cooker/soft/rpmlint/SpecCheck.py,v +retrieving revision 1.32 +diff -u -r1.32 SpecCheck.py +--- SpecCheck.py 15 Jan 2006 09:59:04 -0000 1.32 ++++ SpecCheck.py 15 Jan 2006 21:05:12 -0000 +@@ -45,6 +45,7 @@ biarch_package_regex=re.compile(DEFAULT_BIARCH_PACKAGES) hardcoded_lib_path_exceptions_regex=re.compile(Config.getOption('HardcodedLibPathExceptions', DEFAULT_HARDCODED_LIB_PATH_EXCEPTIONS)) prereq_regex=re.compile('^PreReq:\s*(.+?)\s*$', re.IGNORECASE) +buildprereq_regex=re.compile('^BuildPreReq:\s*(.+?)\s*$', re.IGNORECASE) + use_utf8=Config.getOption('UseUTF8', Config.USEUTF8_DEFAULT) # Only check for /lib, /usr/lib, /usr/X11R6/lib - # TODO: better handling of X libraries and modules. -@@ -185,8 +186,12 @@ +@@ -190,7 +191,11 @@ res=prereq_regex.search(line) if res: - printError(pkg, 'prereq-use', res.group(1)) -- + printWarning(pkg, 'prereq-use', res.group(1)) + + res=buildprereq_regex.search(line) + if res: + printWarning(pkg, 'buildprereq-use', res.group(1)) -+ + if not buildroot: printError(pkg, 'no-buildroot-tag') - -@@ -272,8 +277,13 @@ +@@ -284,8 +289,13 @@ patch to be effective only on a given arch.''', 'prereq-use', diff --git a/rpmlint-0.71-scriptinfo.patch b/rpmlint-0.71-scriptinfo.patch deleted file mode 100644 index 083a394..0000000 --- a/rpmlint-0.71-scriptinfo.patch +++ /dev/null @@ -1,23 +0,0 @@ ---- FilesCheck.py 10 Sep 2005 23:00:31 -0000 1.89 -+++ FilesCheck.py 20 Nov 2005 19:50:57 -0000 -@@ -833,10 +834,18 @@ - '''This script uses an incorrect interpreter.''', - - 'non-executable-script', --'''This script is not executable.''', -+'''This file is a non-executable text file which contains a shebang. Often -+this is a sign of a spurious shebang in files that are not meant to be -+executed, but can also be a case of missing executable bits for a script. -+To fix this warning, find out which case of the above it is, and either remove -+the unneeded shebang or add the executable bits.''', - - 'script-without-shellbang', --'''This script does not begins with a shellbang. It will prevent its execution.''', -+'''This file is an executable text file, but does not contain a shebang, thus -+it cannot be properly executed. Often this is a sign of spurious executable -+bits for a non-script file, but can also be a case of a missing shebang. -+To fix this warning, find out which case of the above it is, and either remove -+the executable bits or add the shebang.''', - - 'wrong-script-end-of-line-encoding', - '''This script has wrong end-of-line encoding, usually caused by creation on a diff --git a/rpmlint-0.71-symlinks.patch b/rpmlint-0.71-symlinks.patch deleted file mode 100644 index 8a085dd..0000000 --- a/rpmlint-0.71-symlinks.patch +++ /dev/null @@ -1,28 +0,0 @@ ---- FilesCheck.py 10 Sep 2005 23:00:31 -0000 1.89 -+++ FilesCheck.py 20 Nov 2005 09:00:33 -0000 -@@ -477,7 +477,7 @@ - printWarning(pkg, 'devel-file-in-non-devel-package', f) - # absolute link - if r: -- if (not is_so) and link not in files.keys(): -+ if (not is_so) and link not in files.keys() and link not in req_names: - is_exception=0 - for e in dangling_exceptions: - if e[0].search(link): -@@ -502,14 +502,14 @@ - file = os.path.normpath(file) - pkgfile = '%s/%s' % (os.path.dirname(f), link) - pkgfile = os.path.normpath(pkgfile) -- if not (files.has_key(pkgfile) or os.path.exists(file)): -+ if not (files.has_key(pkgfile) or os.path.exists(file) or pkgfile in req_names): - is_exception=0 - for e in dangling_exceptions: - if e[0].search(link): - is_exception=e[1] - break - if is_exception: -- if not is_exception in map(lambda x: x[0], pkg.requires() + pkg.prereq()): -+ if not is_exception in req_names: - printWarning(pkg, 'no-dependency-on', is_exception) - else: - printWarning(pkg, 'dangling-relative-symlink', f, link) diff --git a/rpmlint-disttag.patch b/rpmlint-disttag.patch deleted file mode 100644 index b114bf4..0000000 --- a/rpmlint-disttag.patch +++ /dev/null @@ -1,25 +0,0 @@ -Index: TagsCheck.py -=================================================================== -RCS file: /cooker/soft/rpmlint/TagsCheck.py,v -retrieving revision 1.84 -diff -u -r1.84 TagsCheck.py ---- TagsCheck.py 1 Jul 2005 02:59:46 -0000 1.84 -+++ TagsCheck.py 6 Jul 2005 14:19:23 -0000 -@@ -419,6 +419,7 @@ - packager_regex=re.compile(Config.getOption('Packager', DEFAULT_PACKAGER)) - basename_regex=re.compile('/?([^/]+)$') - changelog_version_regex=re.compile('[^>]([^ >]+)\s*$') -+fedora_disttag_regex=re.compile('\.(fc|rhe?l)\d+$') - release_ext=Config.getOption('ReleaseExtension', 'mdk') - extension_regex=release_ext and re.compile(release_ext + '$') - use_version_in_changelog=Config.getOption('UseVersionInChangelog', 1) -@@ -626,7 +627,8 @@ - expected=version + '-' + release - if epoch is not None: - expected=str(epoch) + ':' + expected -- if expected != ret.group(1): -+ if ret.group(1) not in (expected, fedora_disttag_regex.sub('', expected)): -+ - printWarning(pkg, 'incoherent-version-in-changelog', ret.group(1), expected) - - # provides=pkg.provides() diff --git a/rpmlint-execs.patch b/rpmlint-execs.patch deleted file mode 100644 index bf980b3..0000000 --- a/rpmlint-execs.patch +++ /dev/null @@ -1,28 +0,0 @@ -Index: FilesCheck.py -=================================================================== -RCS file: /cooker/soft/rpmlint/FilesCheck.py,v -retrieving revision 1.87 -diff -u -r1.87 FilesCheck.py ---- FilesCheck.py 17 Jun 2005 09:48:34 -0000 1.87 -+++ FilesCheck.py 6 Jul 2005 14:19:21 -0000 -@@ -186,6 +186,7 @@ - shellbang_regex=re.compile('^#!\s*(\S*)') - interpreter_regex=re.compile('^/(usr/)?s?bin/[^/]+$') - script_regex=re.compile('^/((usr/)?s?bin|etc/(rc.d/init.d|profile.d|X11/xinit.d|cron.(hourly|daily|monthly|weekly)))/') -+libtool_archive_regex=re.compile('\.la$') - - for idx in range(0, len(dangling_exceptions)): - dangling_exceptions[idx][0]=re.compile(dangling_exceptions[idx][0]) -@@ -552,10 +553,10 @@ - if res: - if not interpreter_regex.search(res.group(1)): - printError(pkg, 'wrong-script-interpreter', f, '"' + res.group(1) + '"') -- else: -+ elif not (lib_path_regex.search(f) and libtool_archive_regex.search(f)): - printError(pkg, 'script-without-shellbang', f) - -- if mode & 0111 == 0: -+ if mode & 0111 == 0 and not doc_regex.search(f): - printError(pkg, 'non-executable-script', f, oct(perm)) - if line.endswith('\r\n'): - printError(pkg, 'wrong-script-end-of-line-encoding', f) diff --git a/rpmlint-fedora-config b/rpmlint-fedora-config index c4dcf88..36f4719 100644 --- a/rpmlint-fedora-config +++ b/rpmlint-fedora-config @@ -9,7 +9,9 @@ setOption("ValidBuildHost", ".*") setOption("Packager", ".*") setOption("UseVersionInChangeLog", 1) setOption("UseBzip2", 0) +setOption("UseDefaultRunlevels", 0) setOption("UseEpoch", 0) +setOption("UseUTF8", 1) setOption("ValidSrcPerms", (0664, 0644, )) setOption("ValidGroups", ( "Amusements/Games", diff --git a/rpmlint-initvars.patch b/rpmlint-initvars.patch deleted file mode 100644 index 1f87c7e..0000000 --- a/rpmlint-initvars.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- InitScriptCheck.py 10 Aug 2005 01:51:34 -0000 1.15 -+++ InitScriptCheck.py 10 Aug 2005 13:12:39 -0000 -@@ -86,7 +86,7 @@ - error=1 - if name[0] == '$': - value=Pkg.substitute_shell_vars(name, content) -- if value == basename: -+ if value == basename or value[0] == '$': - error=0 - if error: - printError(pkg, 'incoherent-subsys', f, name) diff --git a/rpmlint-perl-bs.patch b/rpmlint-perl-bs.patch deleted file mode 100644 index 2762d35..0000000 --- a/rpmlint-perl-bs.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- FilesCheck.py 10 Aug 2005 01:46:30 -0000 1.88 -+++ FilesCheck.py 10 Aug 2005 13:29:12 -0000 -@@ -160,7 +160,7 @@ - depmod_regex=re.compile('^[^#]*depmod', re.MULTILINE) - info_regex=re.compile('^/usr/share/info') - install_info_regex=re.compile('^[^#]*install-info', re.MULTILINE) --perl_temp_file=re.compile('.*perl.*(\.bs|/\.packlist|/perllocal\.pod)$') -+perl_temp_file=re.compile('.*perl.*(/\.packlist|/perllocal\.pod)$') - scm_regex=re.compile('/CVS/[^/]+$|/.cvsignore$|/\.svn/|/(\.arch-ids|{arch})/') - htaccess_regex=re.compile('\.htaccess$') - games_path_regex=re.compile('/usr/(lib/)?/games') diff --git a/rpmlint-svcdefault.patch b/rpmlint-svcdefault.patch deleted file mode 100644 index d8a82df..0000000 --- a/rpmlint-svcdefault.patch +++ /dev/null @@ -1,30 +0,0 @@ -Index: InitScriptCheck.py -=================================================================== -RCS file: /cooker/soft/rpmlint/InitScriptCheck.py,v -retrieving revision 1.14 -diff -u -r1.14 InitScriptCheck.py ---- InitScriptCheck.py 15 Apr 2005 20:01:46 -0000 1.14 -+++ InitScriptCheck.py 20 Jun 2005 10:20:15 -0000 -@@ -74,8 +74,8 @@ - if not res: - printError(pkg, 'no-chkconfig-line', f) - else: -- if res.group(1) == '-': -- printWarning(pkg, 'no-default-runlevel') -+ if res.group(1) != '-': -+ printWarning(pkg, 'service-default-enabled', f) - - res=subsys_regex.search(content) - if not res: -@@ -126,8 +126,9 @@ - '''The init script doesn't contain a chkconfig line to specify the runlevels at which - to start and stop it.''', - --'no-default-runlevel', --'''The default runlevel isn't specified in the init script.''', -+'service-default-enabled', -+'''The service is enabled by default after "chkconfig --add"; most services -+should not be. Use "-" to correct this if appropriate.''', - - 'subsys-not-used', - '''While your program is running, you have to put a lock file in diff --git a/rpmlint.spec b/rpmlint.spec index 063e706..78d3743 100644 --- a/rpmlint.spec +++ b/rpmlint.spec @@ -1,6 +1,6 @@ Name: rpmlint Version: 0.71 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Tool for checking common errors in RPM packages Group: Development/Tools @@ -8,20 +8,11 @@ License: GPL URL: http://people.mandriva.com/~flepied/projects/rpmlint/ Source0: http://people.mandriva.com/~flepied/projects/rpmlint/dist/%{name}-%{version}.tar.bz2 Source1: %{name}-fedora-config -Source2: DocFilesCheck.py -Patch0: %{name}-svcdefault.patch -Patch1: %{name}-prereq.patch -Patch2: %{name}-disttag.patch -Patch3: %{name}-initvars.patch -Patch4: %{name}-execs.patch -Patch5: %{name}-perl-bs.patch -Patch6: %{name}-0.71-paths.patch -Patch7: %{name}-0.71-errmsg.patch -Patch8: %{name}-0.71-symlinks.patch -Patch9: %{name}-0.71-docfilescheck.patch -Patch10: %{name}-0.71-objdump.patch -Patch11: %{name}-0.71-locale.patch -Patch12: %{name}-0.71-scriptinfo.patch +Patch0: %{name}-0.71-disttag.patch +Patch1: %{name}-0.71-cvs20060115.patch.bz2 +Patch2: %{name}-0.71-prereq.patch +Patch3: %{name}-0.71-la-exec.patch +Patch4: %{name}-0.71-doc-exec.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildArch: noarch @@ -31,6 +22,7 @@ BuildRequires: sed >= 3.95 Requires: rpm-python Requires: python >= 1.5.2 Requires: cpio +Requires: binutils %description rpmlint is a tool for checking common errors in RPM packages. Binary @@ -39,20 +31,11 @@ and source packages can be checked. %prep %setup -q -install -pm 644 %{SOURCE2} . -%patch0 %patch1 +%patch0 %patch2 %patch3 %patch4 -%patch5 -%patch6 -%patch7 -%patch8 -%patch9 -%patch10 -%patch11 -%patch12 sed -i -e 's|/etc/httpd/webapps\.d|%{_sysconfdir}/httpd/conf.d|' \ FilesCheck.py I18NCheck.py for f in AUTHORS ChangeLog ; do @@ -105,6 +88,11 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Tue Jan 17 2006 Ville Skyttä - 0.71-3 +- Sync with upstream CVS as of 2006-01-15, includes improved versions of + most of the earlier patches. +- Add dependency on binutils. + * Sun Nov 20 2005 Ville Skyttä - 0.71-2 - Take file based dependencies into account in dangling symlink checks (completes the fix for #165839). diff --git a/sources b/sources index 27e8d56..968a955 100644 --- a/sources +++ b/sources @@ -1 +1,2 @@ 9e7645ee79bfc75540c885f05dca0751 rpmlint-0.71.tar.bz2 +ed1fa7aaa6cbfcdf866b423adcd40cb2 rpmlint-0.71-cvs20060115.patch.bz2