rpmlint package is retired on branch c10s for CS-2451

This commit is contained in:
Johnny Hughes 2024-08-14 14:20:31 +00:00
parent 89d7b069cb
commit 7ad8e565ae
18 changed files with 1 additions and 2244 deletions

View File

@ -1 +0,0 @@
1

4
.gitignore vendored
View File

@ -1,4 +0,0 @@
/*.rpm
/results_rpmlint/
/rpmlint-*/
/rpmlint-*.tar.gz

View File

@ -1,26 +0,0 @@
From c2a3d7506387110bc0d03147ecdc75aed3432122 Mon Sep 17 00:00:00 2001
From: Todd Zullinger <tmz@pobox.com>
Date: Thu, 25 May 2023 13:12:12 -0400
Subject: [PATCH] DocCheck: adjust for rpm-4.19.0 API changes
Apparently, using `dsFromHeader()` has been deprecated for a long time.
Using `rpm.ds()` is the preferred method. It has been available for ~10
years, according to rpm commit 8d32255ff (Drop hdr.dsFromHeader() and
hdr.dsOfHeader() methods, 2022-04-08).
---
rpmlint/checks/DocCheck.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/rpmlint/checks/DocCheck.py b/rpmlint/checks/DocCheck.py
index a1922fcd..4e77e7a6 100644
--- a/rpmlint/checks/DocCheck.py
+++ b/rpmlint/checks/DocCheck.py
@@ -60,7 +60,7 @@ class DocCheck(AbstractCheck):
core_reqs = {} # dependencies of non-doc files
doc_reqs = {} # dependencies of doc files
- for dep in pkg.header.dsFromHeader():
+ for dep in rpm.ds(pkg.header, 'requires'):
# skip deps which were found by find-requires
if dep.Flags() & rpm.RPMSENSE_FIND_REQUIRES != 0:
continue

View File

@ -1,101 +0,0 @@
From 7d707f7f370c31f3d9841415c1458a2d21640a15 Mon Sep 17 00:00:00 2001
From: Todd Zullinger <tmz@pobox.com>
Date: Fri, 3 Mar 2023 12:56:37 -0500
Subject: [PATCH] TagsCheck: handle license exception in grouping
A valid license exception which is in a grouping is reported as invalid.
This is due to the trailing ')' being included in the regex. The
following license:
(GPL-2.0-only OR GPL-3.0-only WITH Qt-GPL-exception-1.0) AND MIT
returns:
W: invalid-license-exception Qt-GPL-exception-1.0)
Adjust the license_exception_regex to exclude trailing parenthesis.
Fixes: https://bugzilla.redhat.com/2175241
---
rpmlint/checks/TagsCheck.py | 2 +-
.../valid-exception-in-grouping-1.0-1.src.rpm | Bin 0 -> 6615 bytes
test/test_tags.py | 12 ++++++++++++
3 files changed, 13 insertions(+), 1 deletion(-)
create mode 100644 test/source/valid-exception-in-grouping-1.0-1.src.rpm
diff --git a/rpmlint/checks/TagsCheck.py b/rpmlint/checks/TagsCheck.py
index ad9a35f2..923538ba 100644
--- a/rpmlint/checks/TagsCheck.py
+++ b/rpmlint/checks/TagsCheck.py
@@ -21,7 +21,7 @@ lib_package_regex = re.compile(r'(?:^(?:compat-)?lib.*?(\.so.*)?|libs?[\d-]*)$',
leading_space_regex = re.compile(r'^\s+')
pkg_config_regex = re.compile(r'^/usr/(?:lib\d*|share)/pkgconfig/')
license_regex = re.compile(r'\(([^)]+)\)|\s(?:and|or|AND|OR)\s')
-license_exception_regex = re.compile(r'(\S+)\s(?:WITH|with)\s(\S+)')
+license_exception_regex = re.compile(r'(\S+)\s(?:WITH|with)\s([^)]+)')
invalid_version_regex = re.compile(r'([0-9](?:rc|alpha|beta|pre).*)', re.IGNORECASE)
# () are here for grouping purpose in the regexp
tag_regex = re.compile(r'^((?:Auto(?:Req|Prov|ReqProv)|Build(?:Arch(?:itectures)?|Root)|(?:Build)?Conflicts|(?:Build)?(?:Pre)?Requires|Copyright|(?:CVS|SVN)Id|Dist(?:ribution|Tag|URL)|DocDir|(?:Build)?Enhances|Epoch|Exclu(?:de|sive)(?:Arch|OS)|Group|Icon|License|Name|No(?:Patch|Source)|Obsoletes|Packager|Patch\d*|Prefix(?:es)?|Provides|(?:Build)?Recommends|Release|RHNPlatform|Serial|Source\d*|(?:Build)?Suggests|Summary|(?:Build)?Supplements|(?:Bug)?URL|Vendor|Version)(?:\([^)]+\))?:)\s*\S', re.IGNORECASE)
diff --git a/test/source/valid-exception-in-grouping-1.0-1.src.rpm b/test/source/valid-exception-in-grouping-1.0-1.src.rpm
new file mode 100644
index 0000000000000000000000000000000000000000..c74b2f048a8d45b224df143f7a77f75d21eba87c
GIT binary patch
literal 6615
zcmeI0d2AF_9LL`tYB?<t<dDEX3Ibu5*}13IQf$*Bsgyz^9-z+5ds7zoqPvBH7%hi_
zfTBW>^B-%10R)j40whud2@sEvN(e{fwp7bu1rdSz`?U{56EX2$capc?{mk$8uHT!T
zO}@?RE*$j{;vt@?RwPUVtj1x9R5%_Bgkyoqs(5uG9IFh3f?^;<{`K;Z`~IHu)`mt8
zzxMzknOop{E;RgJ2bu{}cLBX08eWj==?02Cw4Hs8pnhl(&Od=df0BR({e2ffG5#7f
z=<mA(it#xR7O3KAwkgR}RW((YWm{B4S+^zIFjPs_Oo!R7VTvL#)R1f&)V2-BR8^Hy
zQCC&l2r<oYWn0ohs^YkmQca@Nku8l{isl-O$)>0>O><#FLNZ2X)5<rLF~Onc*!kt&
z*B`%5h<8U@DE*PHK)M3y3ZyHLu0Xm1=?bJPkgh<w0_h5*E0C^0x&r_A3bc75t*xz#
zp%CC{5OSAqqJpO}9d3<;2EK+b42n4vS_U+{(Dy)}1bq`P=kuKVac<%~kTd!y9iU}#
zZsz<9=L?{IXt*XEAAJ@ae+lQypcvo8xdjyC=<#6wRnB`j|Ju%;2RUB@h50=}&Np~m
z;e3;GG3Q&HN4K*d=Z5BanlsLgR@Ma0xHshIId=rb{1-WQ0)_f{DCf?cKje(Q6y~qx
zjO)hy^_=kxkoo@oJ%BNv@892($G7tQUOe6a3TNc+&Ev;7_i1M@t^?ykKw(ebzMxP~
zzX1y4d$Ty3pfJA|^Dv&xxr}omDE7BF7lC5`d7O(mFXUVTisSL~_K)T9B|MIG#{Tbf
z#^(g{S8>L=W4w;@L>^zu8P5Up_i?76xW4_I8Ru^}yPUCJu)l}i1I6(VbN-UYv3?jo
z1B&CH;(Qhq@_kvH&$q{YLy+^yJ^W4rekTc$3YJU>ZoEn;4LdBBWJ1cS6sCn!lLRX!
z+%Zapa7?g-+g9m+>IA<4>Qy#H<5h`C;TQ|1SUhIMEXPVkf-#nY_2QB@RQ!2cC{58I
z8B#Q+G$4UD8;?b%3uR-4zwr2yiejNW6~LQ!R*P2dP+`>Q0^x~q1pzsbAF-;Fj8w!a
z6`rk*M8NH3RYFcGIwLO;x8pTICmziuMOKt0$)r>&k<1=3g4I~jM1*08K!@rYQe$W@
zXv*z%*4DM{XLX2$43(KwQcT-6Ma6Yw$5v%ma&%GBsVkX^tDDS}R9m*0?nunF3`eDs
zEXk@ZiS6SN0Tx5B!TYiGUZ(~RK}T#=iD)Ej56O>56ICpkWVA3GVWV*iLkW-Joq}*B
z95CFIgJMtte_IJ^Z9caW4Cz6zyQ$}7-ne*_31u-R<Rsx+JjU|w+I_AN5ZbNr06YcZ
zRM?6L3CnrOs$}G!4pRtex^8G%NV~m1STa7pZ5L|B-ER9m_8Uwlm_vw@2**j~jBtYB
z3jzCAr`&)+495yFN3u;-Q4B?wG*LHQSGSpKNX!v!mr6`AEmPHXRkJ1V!>MRUAq)I*
znOeO18DdDcWs@nkLJbQ}&$1O6z|=z;(;QWnMb)xI$x<c5v=jzTI#n#yv6w51)K>AG
z)&9rT+Ij<Dl$re(z;6^TuW!-ViDkRQ?#Gj_?m1gq@MQM3Q3dnM%e$8hZp?e-<D*Q8
zHE(`+Zsx7+K3eK5X*u}&lo=O_4y;(eukUB|*K?-S%)Z(6hpqL;W}H@z)#T8Z>yI~m
zI<4P=#ixevY{(e&(PCwPgVICVT>WM(yE1)N;PA<}A34)oUcI;DHb*|?ESzvLYgN;!
zf!&V`-<MdCm9w(v@@|uT&eGaPy-WJkU&_dxvz#m&)7?LyHoyGcneTL3I{U)xqKPZZ
z2c0%M&%Ac-^Ir<5U7FN5Z0pJa7h5uq-0V7`%VS$cZ*+3MD_%2mV~$a}u%vq3Q(yEh
zJJ_o^Z&2O#rVn;EojZDPPDOshsKJMt>b8BmvSiuRHN6+qe3dbHLSe6U^ZM3D2cK9|
zxwGlSxr-h0mkOP;b}j!pFzE8;ik7~OlRs$~pnN}9oV9oH&nFfY6%RjPpKWdFfA#Fm
f-9H}c^;`3rX{W~zTe@S*l@7<2XFs<C{yhEwzp^hn
literal 0
HcmV?d00001
diff --git a/test/test_tags.py b/test/test_tags.py
index 210fb2db..42a83154 100644
--- a/test/test_tags.py
+++ b/test/test_tags.py
@@ -77,6 +77,18 @@ def test_valid_license_exception(tmpdir, package, tagscheck):
assert 'W: invalid-license-exception' not in out
+@pytest.mark.parametrize('package', ['source/valid-exception-in-grouping'])
+def test_valid_license_exception_in_grouping(tmpdir, package, tagscheck):
+ CONFIG.info = True
+ CONFIG.configuration['ValidLicenses'] = ['BSD-3-Clause', 'GPL-2.0-only']
+ CONFIG.configuration['ValidLicenseExceptions'] = ['Qt-GPL-exception-1.0']
+ output = Filter(CONFIG)
+ test = TagsCheck(CONFIG, output)
+ test.check(get_tested_package(package, tmpdir))
+ out = output.print_results(output.results)
+ assert 'W: invalid-license-exception' not in out
+
+
@pytest.mark.parametrize('package', ['binary/xtables-addons-kmp-default'])
def test_forbidden_controlchar_found_requires(tmpdir, package, tagscheck):
output, test = tagscheck

View File

@ -1,28 +0,0 @@
From 48aa148bd633aa4e27b28239d98cd809e0e45f22 Mon Sep 17 00:00:00 2001
From: Todd Zullinger <tmz@pobox.com>
Date: Mon, 20 Mar 2023 03:14:14 -0400
Subject: [PATCH] TagsCheck: restore space exclusion to license_exception_regex
In 7d707f7f (TagsCheck: handle license exception in grouping,
2023-03-03), the regex lost the exclusion of space characters. This
isn't immediately noticeable because we strip the strings generated by
the regex before use, but it's better to keep the regex more precise.
Suggested-by: Daniel Garcia Moreno <daniel.garcia@suse.com>
---
rpmlint/checks/TagsCheck.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/rpmlint/checks/TagsCheck.py b/rpmlint/checks/TagsCheck.py
index 923538ba..65c75c92 100644
--- a/rpmlint/checks/TagsCheck.py
+++ b/rpmlint/checks/TagsCheck.py
@@ -21,7 +21,7 @@
leading_space_regex = re.compile(r'^\s+')
pkg_config_regex = re.compile(r'^/usr/(?:lib\d*|share)/pkgconfig/')
license_regex = re.compile(r'\(([^)]+)\)|\s(?:and|or|AND|OR)\s')
-license_exception_regex = re.compile(r'(\S+)\s(?:WITH|with)\s([^)]+)')
+license_exception_regex = re.compile(r'(\S+)\s(?:WITH|with)\s([^)\s]+)')
invalid_version_regex = re.compile(r'([0-9](?:rc|alpha|beta|pre).*)', re.IGNORECASE)
# () are here for grouping purpose in the regexp
tag_regex = re.compile(r'^((?:Auto(?:Req|Prov|ReqProv)|Build(?:Arch(?:itectures)?|Root)|(?:Build)?Conflicts|(?:Build)?(?:Pre)?Requires|Copyright|(?:CVS|SVN)Id|Dist(?:ribution|Tag|URL)|DocDir|(?:Build)?Enhances|Epoch|Exclu(?:de|sive)(?:Arch|OS)|Group|Icon|License|Name|No(?:Patch|Source)|Obsoletes|Packager|Patch\d*|Prefix(?:es)?|Provides|(?:Build)?Recommends|Release|RHNPlatform|Serial|Source\d*|(?:Build)?Suggests|Summary|(?:Build)?Supplements|(?:Bug)?URL|Vendor|Version)(?:\([^)]+\))?:)\s*\S', re.IGNORECASE)

View File

@ -1,56 +0,0 @@
From 393cde4e70a6efdf1353ca1d4a8ba6500c0dc967 Mon Sep 17 00:00:00 2001
From: Martin Liska <mliska@suse.cz>
Date: Sat, 8 Oct 2022 10:12:54 +0200
Subject: [PATCH] fix broken regex for no-manual-page-for-binary check
It was a regression since 718e1eb9e6e84edf34026f2b62653f3d8f75d993.
Fixes: #918.
---
rpmlint/checks/FilesCheck.py | 6 +++---
test/test_files.py | 1 +
2 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/rpmlint/checks/FilesCheck.py b/rpmlint/checks/FilesCheck.py
index 067e603d..cbd32259 100644
--- a/rpmlint/checks/FilesCheck.py
+++ b/rpmlint/checks/FilesCheck.py
@@ -204,7 +204,7 @@
non_readable_regexs = (re.compile(r'^/var/log/'),
re.compile(r'^/etc/(g?shadow-?|securetty)$'))
-man_base_regex = re.compile(r'^/usr(?:/share)?/man(?:/overrides)?/man(?P<category>[^/]+)/(?P<filename>.+)')
+man_base_regex = re.compile(r'^/usr(?:/share)?/man(?:/overrides)?/man(?P<category>[^/]+)/(?P<filename>((?P<binary>[^.]+)\..+))')
fsf_license_regex = re.compile(br'(GNU((\s+(Library|Lesser|Affero))?(\s+General)?\s+Public|\s+Free\s+Documentation)\s+Licen[cs]e|(GP|FD)L)', re.IGNORECASE)
fsf_wrong_address_regex = re.compile(br'(675\s+Mass\s+Ave|59\s+Temple\s+Place|Franklin\s+Steet|02139|02111-1307)', re.IGNORECASE)
@@ -702,7 +702,7 @@ def check(self, pkg):
# look for man pages
res = man_base_regex.fullmatch(f)
if res:
- man_basenames.add(res.group('category'))
+ man_basenames.add(res.group('binary'))
res = bin_regex.search(f)
if res:
@@ -924,7 +924,7 @@ def check(self, pkg):
res = man_base_regex.fullmatch(f)
if res:
- man_basenames.add(res.group('category'))
+ man_basenames.add(res.group('binary'))
else:
res = bin_regex.search(f)
if res:
diff --git a/test/test_files.py b/test/test_files.py
index 09fae39f..684a39b6 100644
--- a/test/test_files.py
+++ b/test/test_files.py
@@ -175,6 +175,7 @@ def test_distribution_tags(tmpdir, package, filescheck):
test.check(get_tested_package(package, tmpdir))
out = output.print_results(output.results)
assert 'manpage-not-compressed' in out
+ assert 'no-manual-page-for-binary' not in out
assert 'This manual page is not compressed with the bz2 compression' in out

View File

@ -1,97 +0,0 @@
From 65abdbd383166ce727ece30f79b0808f46c2da29 Mon Sep 17 00:00:00 2001
From: Todd Zullinger <tmz@pobox.com>
Date: Mon, 20 Mar 2023 03:20:44 -0400
Subject: [PATCH] TagsCheck: handle license exception in first item of a
grouping
The change in 7d707f7f (TagsCheck: handle license exception in grouping,
2023-03-03) is insufficient when the exception is on the first item in a
grouping, e.g.:
License: (Apache-2.0 WITH LLVM-exception OR NCSA) AND BSD-3-Clause
Adjust `license_exception_regex` to exclude a leading '(' as well as a
trailing ')'.
---
rpmlint/checks/TagsCheck.py | 2 +-
.../valid-exception-begin-grouping-1.0-1.src.rpm | Bin 0 -> 6644 bytes
test/test_tags.py | 12 ++++++++++++
3 files changed, 13 insertions(+), 1 deletion(-)
create mode 100644 test/source/valid-exception-begin-grouping-1.0-1.src.rpm
diff --git a/rpmlint/checks/TagsCheck.py b/rpmlint/checks/TagsCheck.py
index 65c75c92..64088f55 100644
--- a/rpmlint/checks/TagsCheck.py
+++ b/rpmlint/checks/TagsCheck.py
@@ -21,7 +21,7 @@
leading_space_regex = re.compile(r'^\s+')
pkg_config_regex = re.compile(r'^/usr/(?:lib\d*|share)/pkgconfig/')
license_regex = re.compile(r'\(([^)]+)\)|\s(?:and|or|AND|OR)\s')
-license_exception_regex = re.compile(r'(\S+)\s(?:WITH|with)\s([^)\s]+)')
+license_exception_regex = re.compile(r'([^(\s]+)\s(?:WITH|with)\s([^)\s]+)')
invalid_version_regex = re.compile(r'([0-9](?:rc|alpha|beta|pre).*)', re.IGNORECASE)
# () are here for grouping purpose in the regexp
tag_regex = re.compile(r'^((?:Auto(?:Req|Prov|ReqProv)|Build(?:Arch(?:itectures)?|Root)|(?:Build)?Conflicts|(?:Build)?(?:Pre)?Requires|Copyright|(?:CVS|SVN)Id|Dist(?:ribution|Tag|URL)|DocDir|(?:Build)?Enhances|Epoch|Exclu(?:de|sive)(?:Arch|OS)|Group|Icon|License|Name|No(?:Patch|Source)|Obsoletes|Packager|Patch\d*|Prefix(?:es)?|Provides|(?:Build)?Recommends|Release|RHNPlatform|Serial|Source\d*|(?:Build)?Suggests|Summary|(?:Build)?Supplements|(?:Bug)?URL|Vendor|Version)(?:\([^)]+\))?:)\s*\S', re.IGNORECASE)
diff --git a/test/source/valid-exception-begin-grouping-1.0-1.src.rpm b/test/source/valid-exception-begin-grouping-1.0-1.src.rpm
new file mode 100644
index 0000000000000000000000000000000000000000..d0aba4903debd79db253b7655f3a001f2edfe0b2
GIT binary patch
literal 6644
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
literal 0
HcmV?d00001
diff --git a/test/test_tags.py b/test/test_tags.py
index 42a83154..6c5d5280 100644
--- a/test/test_tags.py
+++ b/test/test_tags.py
@@ -89,6 +89,18 @@ def test_valid_license_exception_in_grouping(tmpdir, package, tagscheck):
assert 'W: invalid-license-exception' not in out
+@pytest.mark.parametrize('package', ['source/valid-exception-begin-grouping'])
+def test_valid_license_exception_begin_grouping(tmpdir, package, tagscheck):
+ CONFIG.info = True
+ CONFIG.configuration['ValidLicenses'] = ['BSD-3-Clause', 'GPL-2.0-only']
+ CONFIG.configuration['ValidLicenseExceptions'] = ['Qt-GPL-exception-1.0']
+ output = Filter(CONFIG)
+ test = TagsCheck(CONFIG, output)
+ test.check(get_tested_package(package, tmpdir))
+ out = output.print_results(output.results)
+ assert 'W: invalid-license-exception' not in out
+
+
@pytest.mark.parametrize('package', ['binary/xtables-addons-kmp-default'])
def test_forbidden_controlchar_found_requires(tmpdir, package, tagscheck):
output, test = tagscheck

View File

@ -1,82 +0,0 @@
From c228e8edcdc64e6e2877b48da4c43dbeae124c23 Mon Sep 17 00:00:00 2001
From: Todd Zullinger <tmz@pobox.com>
Date: Thu, 25 May 2023 14:11:56 -0400
Subject: [PATCH] rpmdiff: adjust for rpm-4.19.0 API changes
The `fiFromHeader()` method has been removed from rpm-4.19.0, in rpm
commit 742be88cd (Drop the klunky and ugly rpm.fi python binding
finally, 2022-04-08)
It has (apparently) been deprecated since rpm commit f0c3985a7 (Make
fiFromHeader() static inside header-py, deprecate, 2009-09-23).
Use `rpm.files()` instead, which was added in rpm commit 3b086277b (New
rpmfile[s] python bindings, 2013-12-18). This was released in
rpm-4.12.0.
---
rpmlint/rpmdiff.py | 33 +++++++++++++++------------------
1 file changed, 15 insertions(+), 18 deletions(-)
diff --git a/rpmlint/rpmdiff.py b/rpmlint/rpmdiff.py
index 34249ba3..a9e972bd 100644
--- a/rpmlint/rpmdiff.py
+++ b/rpmlint/rpmdiff.py
@@ -21,19 +21,17 @@ class Rpmdiff:
PRCO = ('REQUIRES', 'PROVIDES', 'CONFLICTS', 'OBSOLETES',
'RECOMMENDS', 'SUGGESTS', 'ENHANCES', 'SUPPLEMENTS')
- # {fname : (size, mode, mtime, flags, dev, inode,
- # nlink, state, vflags, user, group, digest)}
- __FILEIDX = [['S', 0],
- ['M', 1],
- ['5', 11],
- ['D', 4],
- ['N', 6],
- ['L', 7],
- ['V', 8],
- ['U', 9],
- ['G', 10],
- ['F', 3],
- ['T', 2]]
+ __FILEIDX = [['S', 'size'],
+ ['M', 'mode'],
+ ['5', 'digest'],
+ ['D', 'rdev'],
+ ['N', 'nlink'],
+ ['L', 'state'],
+ ['V', 'vflags'],
+ ['U', 'user'],
+ ['G', 'group'],
+ ['F', 'fflags'],
+ ['T', 'mtime']]
DEPFORMAT = '%-12s%s %s %s %s'
FORMAT = '%-12s%s'
@@ -78,9 +76,8 @@ class Rpmdiff:
self.__comparePRCOs(old, new, tag)
# compare the files
-
- old_files_dict = self.__fileIteratorToDict(old.fiFromHeader())
- new_files_dict = self.__fileIteratorToDict(new.fiFromHeader())
+ old_files_dict = self.__fileIteratorToDict(rpm.files(old))
+ new_files_dict = self.__fileIteratorToDict(rpm.files(new))
files = list(set(chain(iter(old_files_dict), iter(new_files_dict))))
files.sort()
@@ -101,7 +98,7 @@ class Rpmdiff:
fmt = ''
for entry in FILEIDX:
if entry[1] is not None and \
- old_file[entry[1]] != new_file[entry[1]]:
+ getattr(old_file, entry[1]) != getattr(new_file, entry[1]):
fmt += entry[0]
diff = True
else:
@@ -236,5 +233,5 @@ class Rpmdiff:
def __fileIteratorToDict(self, fi):
result = {}
for filedata in fi:
- result[filedata[0]] = filedata[1:]
+ result[filedata.name] = filedata
return result

View File

@ -1,71 +0,0 @@
From 50a33b41c67342c4b0817670a184c0ba263e77b5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Daniel=20Garc=C3=ADa=20Moreno?= <dani@danigm.net>
Date: Wed, 3 Jan 2024 15:00:55 +0100
Subject: [PATCH] lint: Reset all checks for each package
Some check classes keep state during checking and this cause problems
when checking several files with the same call.
This patch resets all the checks for each package to check. This is a
quick solution, maybe the best way to handle this is to reset the state
for each check in with a common method in the AbstractCheck, a common
way to handle and reset the state to avoid this problem in the future.
Fix https://github.com/rpm-software-management/rpmlint/issues/1161
---
rpmlint/lint.py | 10 ++++++++++
test/test_cli.py | 9 +++++++++
2 files changed, 19 insertions(+)
diff --git a/rpmlint/lint.py b/rpmlint/lint.py
index 5372e749c..b00937ca2 100644
--- a/rpmlint/lint.py
+++ b/rpmlint/lint.py
@@ -224,6 +224,7 @@ def _print_header(self):
def validate_installed_packages(self, packages):
for pkg in packages:
self.run_checks(pkg, pkg == packages[-1])
+ self.reset_checks()
def validate_files(self, files):
"""
@@ -243,6 +244,7 @@ def validate_files(self, files):
packages = sorted(packages)
for pkg in packages:
self.validate_file(pkg, pkg == packages[-1])
+ self.reset_checks()
def _expand_filelist(self, files):
packages = []
@@ -331,6 +333,14 @@ def load_checks(self):
if not selected_checks or check in selected_checks:
self.checks[check] = self.load_check(check)
+ def reset_checks(self):
+ """
+ Reset all check objects to set to the default state
+ """
+ to_reset = self.checks.keys()
+ for check in to_reset:
+ self.checks[check] = self.load_check(check)
+
def load_check(self, name):
"""Load a (check) module by its name, unless it is already loaded."""
module = importlib.import_module(f'.{name}', package='rpmlint.checks')
diff --git a/test/test_cli.py b/test/test_cli.py
index 2f0c55f08..03aea43a1 100644
--- a/test/test_cli.py
+++ b/test/test_cli.py
@@ -83,3 +83,12 @@ def test_parsing_fedora_conf(test_arguments):
if score_key.startswith('percent-in-'):
continue
assert score_key in checks
+
+
+def test_reset_check():
+ files = ['test/spec/SpecCheck2.spec', 'test/spec/SpecCheck3.spec']
+ options = process_lint_args(['--checks', 'SpecCheck'] + files)
+ lint = Lint(options)
+ lint.run()
+ out = lint.output.print_results(lint.output.results, lint.config)
+ assert 'more-than-one-%changelog-section' not in out

1
ci.fmf
View File

@ -1 +0,0 @@
resultsdb-testcase: separate

1
dead.package Normal file
View File

@ -0,0 +1 @@
rpmlint package is retired on branch c10s for CS-2451

View File

@ -1,362 +0,0 @@
# Fedora's configuration for the rpmlint utility.
# When checking that various files that should be compressed are
# indeed compressed, look for this filename extension
CompressExtension = "gz"
# simple error is enough; warnings are fine
BadnessThreshold = -1
# Whether to allow packaging kernel modules in non-kernel packages.
KernelModuleRPMsOK = false
# Maximum allowed line length for Summary and Description tags
MaxLineLength = 80
# Assumed default version of Python if one cannot be determined from files
# FIXME this should be sys.version[:3] but I have no idea how to implement it
# here without changing it every other release
PythonDefaultVersion = ""
# Regexp string with expected suffix in Release tags.
ReleaseExtension = '\.(fc|rhe?l|el)\d+(?=\.|$)'
# Whether to want default start/stop runlevels specified in init scripts
UseDefaultRunlevels = false
ValidSrcPerms = [
"0o644",
"0o664",
]
# List of directories considered to be system default library search paths.
SystemLibPaths = [
"/lib",
"/usr/lib",
"/lib64",
"/usr/lib64",
]
# Enabled checks for the rpmlint to be run (besides the default set)
Checks = [
"BashismsCheck",
"PAMModulesCheck",
"TmpFilesCheck",
"SysVInitOnSystemdCheck",
"SharedLibraryPolicyCheck",
]
# Interpreters whose scriptlets are allowed to be empty
ValidEmptyShells = [
"/usr/sbin/ldconfig",
]
# Package scriptlet interpreters
ValidShells = [
"<lua>",
"/usr/bin/sh",
"/usr/bin/bash",
"/usr/sbin/ldconfig",
"/usr/bin/perl",
"/usr/bin/python",
"/usr/bin/python3",
]
Filters = [
# FIXME - the commented lines are from openSUSE config
# Are they relevant for Fedora too?
# PR which enables them or remove them is welcome
## Stuff autobuild takes care about
# '.*invalid-version.*',
# '.*invalid-packager.*',
'.*not-standard-release-extension.*',
# '.*invalid-buildhost.*',
'.*executable-in-library-package.*',
'.*non-versioned-file-in-library-package.*',
'.*shlib-policy-name-error.*',
# '.*hardcoded-path-in-buildroot-tag.*',
'.*no-buildroot-tag.*',
# '.*cross-directory-hard-link.*',
# Do not validate package rpm groups
'.*devel-package-with-non-devel-group.*',
'.*no-group-tag.*',
'.*non-standard-group.*',
# Output filters
# '.*spurious-bracket-in-.*',
# '.*one-line-command-in-.*',
# ' dir-or-file-in-opt ', # handled by CheckFilelist.py
# ' dir-or-file-in-usr-local ', # handled by CheckFilelist.py
' non-standard-dir-in-usr ', # handled by CheckFilelist.py
' no-signature',
# ' symlink-crontab-file', #bnc591431
# ' without-chkconfig',
# 'unstripped-binary-or-object.*\.ko',
# ' no-chkconfig',
# ' subsys-not-used',
# ' dangerous-command.*',
# ' setuid-binary.*',
# 'subdir-in-bin /sbin/conf.d/',
# '.* nss_db non-standard-dir-in-var db',
# 'non-standard-dir-in-usr openwin',
# 'ibcs2 non-standard-dir-in-usr i486-sysv4',
# 'shlibs5 non-standard-dir-in-usr i486-linux-libc5',
# 'explicit-lib-dependency libtool',
#
## Filesystem package needs special exceptions
# '^filesystem\..*: dir-or-file-in-var-run',
# '^filesystem\..*: dir-or-file-in-var-lock',
# '^filesystem\..*: dir-or-file-in-var-tmp',
# '^filesystem\..*: dir-or-file-in-var-run',
# '^filesystem\..*: dir-or-file-in-var-lock',
# '^filesystem\..*: dir-or-file-in-usr-tmp',
# '^filesystem\..*: dir-or-file-in-tmp',
# '^filesystem\..*: dir-or-file-in-mnt',
# '^filesystem\..*: dir-or-file-in-home',
# '^filesystem\..*: hidden-file-or-dir /root/.gnupg',
# '^filesystem\..*: hidden-file-or-dir /root/.gnupg',
# '^filesystem\..*: hidden-file-or-dir /etc/skel/.config',
# '^filesystem\..*: hidden-file-or-dir /etc/skel/.local',
# '^filesystem\..*: hidden-file-or-dir /tmp/.X11-unix',
# '^filesystem\..*: hidden-file-or-dir /tmp/.ICE-unix',
# '^filesystem\..*: hidden-file-or-dir /etc/skel/.fonts',
# '^filesystem\..*: filelist-forbidden-fhs23',
# '^filesystem\..*: filelist-forbidden-opt',
# '^filesystem\..*: non-standard-uid /var/lib/nobody nobody',
# '^filesystem\..*: missing-dependency-to-cron',
## has arch specific dirs in /usr
# '^filesystem\..*: no-binary',
#
## Suppress any errors about internal packages
# '^qa\S+: [EWI]:',
# '^\S*(?:INTERNAL|internal)\.\S+: [EWI]:',
#
## Exceptions for devel-files
# 'devel-file-in-non-devel-package.*/boot/vmlinuz-.*autoconf.h',
# 'devel-file-in-non-devel-package.*/usr/src/linux-',
# 'devel-file-in-non-devel-package.*/usr/share/systemtap',
# '-(?:examples|doc)\.\S+: \w: devel-file-in-non-devel-package',
# 'java\S+-demo\.\S+: \w: devel-file-in-non-devel-package',
# 'avr-libc\.\S+: \w: devel-file-in-non-devel-package',
# 'cross-.*devel-file-in-non-devel-package',
# 'cmake.*devel-file-in-non-devel-package',
# 'gcc\d\d.*devel-file-in-non-devel-package',
# 'OpenOffice_org-sdk\.\S+: \w: devel-file-in-non-devel-package',
# 'wnn-sdk\.\S+: \w: devel-file-in-non-devel-package',
# 'ocaml\.\S+: \w: devel-file-in-non-devel-package',
# 'xorg-x11-server-sdk\.\S+: \w: devel-file-in-non-devel-package',
# 'linux-kernel-headers\.\S+: \w: devel-file-in-non-devel-package',
# ' devel-file-in-non-devel-package.*-config',
# 'libtool\.\S+: \w: devel-file-in-non-devel-package',
# 'sdb.* dangling-relative-symlink /usr/share/doc/sdb/.*/gifs ../gifs',
# 'kernel-modules-not-in-kernel-packages',
#
## SUSE kmp's don't need manual depmod (bnc#456048)
# 'module-without-depmod-postin',
# 'postin-with-wrong-depmod',
# 'module-without-depmod-postun',
# 'postun-with-wrong-depmod',
# 'configure-without-libdir-spec',
# 'conffile-without-noreplace-flag /etc/init.d',
# 'use-of-RPM_SOURCE_DIR',
# 'use-tmp-in-',
# 'symlink-contains-up-and-down-segments /var/lib/named',
# 'no-ldconfig-symlink',
# 'aaa_base\.\S+: \w: use-of-home-in-%post',
# 'description-line-too-long',
'hardcoded-library-path',
#
## Doesn't seem to make sense
# 'invalid-ldconfig-symlink',
# 'invalid-soname',
# 'library-not-linked-against-libc',
# 'only-non-binary-in-usr-lib',
'outside-libdir-files',
#
## We want these files
# ' perl-temp-file ',
# ' hidden-file-or-dir .*/\.packlist',
# ' hidden-file-or-dir .*/\.directory',
# 'perl-.*no-binary',
' no-major-in-name ',
#
## We check for that already
# 'dangling-relative-symlink',
' lib-package-without-%mklibname',
' requires-on-release',
# ' non-executable-script /etc/profile.d/',
# ' non-executable-script /var/adm/fillup-templates/',
# ' init-script-name-with-dot ',
# '.* statically-linked-binary /sbin/ldconfig',
# '.* statically-linked-binary /sbin/init',
# 'valgrind.* statically-linked-binary',
# 'ldconfig-post.*/ddiwrapper/wine/',
# 'glibc\.\S+: \w: statically-linked-binary /usr/sbin/glibc_post_upgrade',
' symlink-should-be-relative ',
# ' binary-or-shlib-defines-rpath .*ORIGIN',
# 'libzypp.*shlib-policy-name-error.*libzypp',
# 'libtool.*shlib-policy.*',
#
## Stuff that is currently too noisy, but might become relevant in the future
# ' prereq-use',
# ' file-not-utf8',
# ' tag-not-utf8',
# ' setup-not-quiet',
# ' mixed-use-of-spaces-and-tabs ',
# ' prereq-use ',
#
## An issue with OBS, works with autobuild
' no-packager-tag',
# ' unversioned-explicit-provides ',
# ' unversioned-explicit-obsoletes ',
# ' service-default-enabled ',
# ' non-standard-dir-perm ',
# ' conffile-without-noreplace-flag ',
# ' non-standard-executable-perm ',
' jar-not-indexed ',
# ' uncompressed-zip ',
# ' %ifarch-applied-patch ',
# ' read-error ',
# ' init-script-without-chkconfig-postin ',
# ' init-script-without-chkconfig-preun ',
# ' postin-without-chkconfig ',
# ' preun-without-chkconfig ',
' no-dependency-on locales',
' no-dependency-on perl-base',
' no-dependency-on python-base',
' python-naming-policy-not-applied',
# FIXME does this really exists?
' perl-naming-policy-not-applied',
# ' shlib-policy-name-error',
# ' binary-or-shlib-defines-rpath',
# ' executable-marked-as-config-file',
# ' log-files-without-logrotate',
# ' hardcoded-prefix-tag',
'-debug(info|source).* no-documentation',
'-debugsource.* no-binary',
# ' multiple-specfiles',
# ' no-default-runlevel ',
# ' setgid-binary ',
# ' non-readable ',
' postin-without-ghost-file-creation ',
#
## Exceptions for filelist checks
# 'nfs-client\.\S+: \w: filelist-forbidden-backup-file /var/lib/nfs/sm.bak',
# 'perl\.\S+: \w: filelist-forbidden-perl-dir ',
# 'info\.\S+: \w: info-dir-file .*/usr/share/info/dir',
#
## These packages are used for CD creation and are not supposed to be
## installed. It's still a dirty hack to make an exception. The
## packages should either be built in a separate project with
## different config or file be put somewhere below /opt/suse/*
# '(?:dosutils|skelcd|installation-images|yast2-slide-show|instlux|skelcd-.*|patterns-.*)\.\S+: \w: filelist-forbidden-fhs23 /CD1',
#
## Too noisy, and usually not something downstream packagers can fix
# ' incorrect-fsf-address ',
# ' no-manual-page-for-binary ',
# ' static-library-without-debuginfo /usr/lib(?:64)?/ghc-[\d\.]+/',
#
## Many places have shorter paths
# ' non-coherent-filename ',
# Mandriva specific stuff that Fedora do not want either
' invalid-build-requires ',
# Fedora specific stuff that we don't want
' ghost-files-without-postin',
' no-provides ',
'-debuginfo.* /usr/lib/debug/',
'-debugsource.* /usr/src/debug/',
'-devel.* no-binary',
'^gpg-pubkey:',
' doc-file-dependency .* /bin/sh$',
'explicit-lib-dependency (liberation-fonts|libertas-.*-firmware|libvirt$|.*-(java|python|utils)$)',
'explicit-lib-dependency (python-.*lib.*|python2-.*lib.*|python3-.*lib.*)$',
'explicit-lib-dependency libreoffice.*$',
'dangling-\S*symlink /usr/share/doc/HTML/\S+/common .+/common$',
'hidden-file-or-dir .*/man5/\.k5login\.5[^/]+$',
'blender.+ (wrong-script-interpreter|non-executable-script) .+/blender/.+\.py.*BPY.*',
# Don't bother with the non-ghost-in-run checks, /var/lock and /var/run are
# symlinks to /run/lock and /run respectively, and /run is a tmpfs
'non-ghost-in-run',
# Someone thought it was a good idea to make .desktop files executable. They were wrong.
# Nevertheless, I do not yet control the universe, so we squelch the error here.
'script-without-shebang .*\.desktop$',
# Some files in /etc/ are not meant to be modified by the sysadmin
'non-conffile-in-etc /etc/rpm/.*$',
# Files that are intentionally not supposed to be readable
# Contains passwords
'non-readable /etc/ovirt-engine/isouploader.conf',
## Ignore webservers which are just broken.
'invalid-url .*\.googlecode\.com/.*HTTP Error 404',
'invalid-url .*\.jboss\.org/.*HTTP Error 403',
'invalid-url .*bitbucket\.org/.*HTTP Error 403',
'invalid-url .*github\.com/.*HTTP Error 403',
# Don't care about long descriptions on debuginfo packages
# They automatically include the package name and are always
# quite long.
'-debuginfo.* description-line-too-long',
# ignore "common" jargon words
# https://bugzilla.redhat.com/show_bug.cgi?id=1424684#c9
'spelling-error.* \b(runtime|Runtime|metadata|cryptographic|multi|linux|filesystem|filesystems|backend|backends|userspace|addon|wayland|Wayland|util|utils|lossless|virtualization|toolkits|libvirtd|crypto|glyphs|GStreamer|http|extensibility|codec|codecs|truetype|scalable|pluggable|pixbuf|Kerberos|customizable|bitstream|tcp|libXss|libs|libc|encodings|GLib|udev|posix|libpng|glapi|gbm|freedesktop|spi|realtime|preprocessor|libaudit|hypervisor|embeddable|distributable|devel|config|cairo|bootloader|adaptors|pragma|passphrase|malloc|libvirt|libmagic|io|datetime|boolean|argparse|py|pinentry|namespace|middleware|lowlevel|libxcb|libudev|libsoup|libgcrypt|libcom|iSCSI|initramfs|GObject|executables|dialogs|checkpolicy|bitmapped|assistive|btrfs|crypttab|defrag|dracut|hostname|luks|mountpoints|netdev|rpmnew|rpmsave|storaged|tss|unlocker)\b',
# Fedora no longer uses explicit ldconfig %post/%postun as of Fedora 28
'postin-without-ldconfig',
'postun-without-ldconfig',
'library-without-ldconfig-postin',
'library-without-ldconfig-postun',
# Ignore 700 dir perms here
'non-standard-dir-perm /etc/.* 700',
'non-standard-dir-perm /var/lib/.* 700',
# pip 20.2 generates PEP 376 "REQUESTED" marker (empty)
'zero-length .+/site-packages/.+\.dist-info/REQUESTED\b',
# py.typed files are empty
'zero-length .+/site-packages/.+/py\.typed\b',
# https://bugzilla.redhat.com/496737, https://bugzilla.redhat.com/646455
'coreutils.* (setuid-binary|non-standard-executable-perm) /bin/su (root )?04',
'krb5-workstation.* (setuid-binary|non-standard-executable-perm) /usr/kerberos/bin/ksu (root )?04',
'passwd.* (setuid-binary|non-standard-executable-perm) /usr/bin/passwd (root )?04',
'sudo.* (setuid-binary|non-standard-executable-perm) /usr/bin/sudo(edit)? (root )?04',
'upstart.* (setuid-binary|non-standard-executable-perm) /sbin/initctl (root )?04',
'usermode.* (setuid-binary|non-standard-executable-perm) /usr/sbin/userhelper (root )?04',
# Only works properly with SUSE packages. See
# https://github.com/rpm-software-management/rpmlint/issues/781
'no-library-dependency-for',
'no-library-dependency-on',
# ignore missing .hash section; we still warn if .gnu.hash is missing
# https://bugzilla.redhat.com/2132969
' missing-hash-section ',
# https://bugzilla.redhat.com/2260169
' python-missing-require ',
## Bash completion files are not scripts, do not require them marked as %config
# 'W: non-conffile-in-etc /etc/bash_completion.d/',
#
# Info uses file triggers now (boo#1152169)
' info-files-without-install-info-postin',
' info-files-without-install-info-postun ',
' postin-without-install-info ',
]
[DanglingSymlinkExceptions."/usr/share/doc/licenses/"]
path = "/usr/share/doc/licenses/"
name = "licenses"
[DanglingSymlinkExceptions."consolehelper$"]
path = "consolehelper$"
name = "usermode"
[DanglingSymlinkExceptions."consolehelper-gtk$"]
path = "consolehelper-gtk$"
name = "usermode-gtk"
[Descriptions]
non-standard-uid = '''A file in this package is owned by an unregistered user id.
To register the user, please make a pull request to the rpmlint config file
configs/Fedora/fedora.toml in the rpmlint repository.
'''
non-standard-gid = '''A file in this package is owned by an unregistered group id.
To register the group, please make a pull request to the rpmlint config file
configs/Fedora/fedora.toml in the rpmlint repository.
'''
no-changelogname-tag = '''There is no changelog. Please insert a '%changelog' section heading in your
spec file and prepare your changelog entry using e.g. the 'rpmdev-bumpspec' command.'''

View File

@ -1,6 +0,0 @@
--- !Policy
product_versions:
- rhel-10
decision_context: osci_compose_gate
rules:
- !PassingTestCaseRule {test_case_name: osci.brew-build./plans/internal/CI-Tier-1.functional}

View File

@ -1,12 +0,0 @@
summary: Internal CI-Tier-1 tests plan
discover:
- name: rpmlint
how: fmf
filter: 'tag: CI-Tier-1'
url: https://pkgs.devel.redhat.com/git/tests/rpmlint
execute:
how: tmt
adjust:
enabled: false
when: distro == centos-stream or distro == fedora

View File

@ -1,234 +0,0 @@
* Thu Dec 6 2007 Ville Skyttä <ville.skytta@iki.fi> - 0.82-2
- Remove leftover "Affero GPL" from last license list sync (Todd Zullinger).
* Thu Dec 6 2007 Ville Skyttä <ville.skytta@iki.fi> - 0.82-1
- 0.82, fixes #362441, #388881, #399871, #409941.
- Sync Fedora license list with Revision 0.61 (Wiki rev 98).
* Fri Sep 28 2007 Todd Zullinger <tmz@pobox.com>
- Sync Fedora license list with Revision 0.55 (Wiki rev 92).
* Mon Sep 3 2007 Ville Skyttä <ville.skytta@iki.fi> - 0.81-1
- 0.81, fixes #239611, #240840, #241471, #244835.
- Improve Fedora license check (Todd Zullinger).
- Sync Fedora license list with Wiki rev 87.
* Wed Aug 29 2007 Ville Skyttä <ville.skytta@iki.fi>
- Sync Fedora license list with Wiki rev 84 (Todd Zullinger).
* Thu Aug 16 2007 Ville Skyttä <ville.skytta@iki.fi> - 0.80-3
- Sync Fedora license list with Wiki rev 68.
- Move pre-2006 changelog entries to CHANGES.package.old.
* Tue Jul 31 2007 Tom "spot" Callaway <tcallawa@redhat.com> - 0.80-2
- new fedora licensing scheme
* Thu May 31 2007 Ville Skyttä <ville.skytta@iki.fi>
- Filter hardcoded-library-path errors for /lib/udev.
* Thu Apr 12 2007 Ville Skyttä <ville.skytta@iki.fi> - 0.80-1
- 0.80, fixes #227389, #228645, #233795.
- Accept "Redistributable, no modification permitted" as a valid license.
- Filter messages about doc file dependencies on /bin/sh.
- Add missing dependency on file.
* Fri Feb 2 2007 Ville Skyttä <ville.skytta@iki.fi> - 0.79-1
- 0.79, fixes #211417, #212491, #214605, #218250, #219068, #220061, #221116,
#222585, and #226879.
- Accept *.elX disttags in default config.
* Sun Oct 15 2006 Ville Skyttä <ville.skytta@iki.fi> - 0.78-2
- Accumulated bugfixes since 0.78: #209876, #209889, #210110, 210261.
- Filter messages about gpg-pubkeys for now.
* Sun Sep 24 2006 Ville Skyttä <ville.skytta@iki.fi> - 0.78-1
- 0.78, fixes #198605, #198616, #198705, #198707, #200032, #206383.
- /etc/profile.d/* filtering no longer needed.
* Sat Sep 16 2006 Ville Skyttä <ville.skytta@iki.fi> - 0.77-2
- Filter false positives for /etc/profile.d/* file modes.
- Ship *.pyc and *.pyo as usual.
* Thu Jun 29 2006 Ville Skyttä <ville.skytta@iki.fi> - 0.77-1
- 0.77, fixes #194466, #195962, #196008, #196985.
- Make "disttag" configurable using the DistRegex config file option.
- Sync standard users and groups with the FC setup package.
- Disable MenuCheck by default, it's currently Mandriva specific.
- Use upstream default valid License tag list, fixes #191078.
- Use upstream default valid Group tag list (dynamically retrieved from
the GROUPS file shipped with rpm).
- Allow /usr/libexec, fixes #195992.
* Tue Apr 11 2006 Ville Skyttä <ville.skytta@iki.fi> - 0.76-1
- 0.76.
* Mon Mar 27 2006 Ville Skyttä <ville.skytta@iki.fi>
- Don't pass -T to objdump for *.debug files (#185227).
- lib64 library path fixes (#185228).
* Wed Mar 15 2006 Ville Skyttä <ville.skytta@iki.fi>
- Accept zlib License (#185501).
* Tue Feb 28 2006 Ville Skyttä <ville.skytta@iki.fi>
- Accept Ruby License (#183384) and SIL Open Font License (#176405).
* Sat Feb 18 2006 Ville Skyttä <ville.skytta@iki.fi> - 0.75-1
- 0.75 + -devel Epoch version check patch from CVS.
* Tue Jan 17 2006 Ville Skyttä <ville.skytta@iki.fi> - 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ä <ville.skytta@iki.fi> - 0.71-2
- Take file based dependencies into account in dangling symlink checks
(completes the fix for #165839).
- Skip some checks for binaries not understood by objdump (#165173).
- Improve long descriptions of some script warnings.
- Fix command output parsing in non-English locales.
- Import Enrico's latest DocFilesCheck (with some local tweaks).
- Use rm instead of %%exclude.
* Wed Nov 16 2005 Ville Skyttä <ville.skytta@iki.fi>
- Add DocFilesCheck from Enrico Scholz.
* Sat Sep 3 2005 Ville Skyttä <ville.skytta@iki.fi>
- Improve accuracy of doc, info and games path regexps.
- Improve error message when invoked on non-rpm files.
- Filter more Mandriva specific warnings.
* Sat Aug 13 2005 Ville Skyttä <ville.skytta@iki.fi>
- Add dangling symlink exceptions tuned for Fedora to default config
(partially fixes #165839).
* Wed Aug 10 2005 Ville Skyttä <ville.skytta@iki.fi> - 0.71-1
- 0.71, confmsg patch and bits from initvars patch applied upstream.
- Filter out Mandriva-specific errors about missing locales-* deps (#165457).
- Patch to not warn about non-empty *.bs (in Perl packages).
- Patch to clarify PreReq explanation, make it a warning instead of an error.
- Patch to warn about use of BuildPreReq.
* Thu Jul 7 2005 Ville Skyttä <ville.skytta@iki.fi> - 0.70-4
- Fix false "positives" from libtool archives confused as scripts,
non-executable scripts installed in docs, FE disttags, unsuccessfully
expanded shell variables and quotation in init scripts.
* Mon Jun 20 2005 Ville Skyttä <ville.skytta@iki.fi> - 0.70-3
- 0.70, use sed instead of perl during build.
- Default configuration improvements: allow Development/Debug group (for
debuginfo packages), filter out errors/warnings about non-indexed jars,
invalid LC_MESSAGES and man page dirs, and library packages containing
something else in addition to libraries.
- Make info about non-config files in /etc more accurate.
- Patch to warn about services that default to enabled after "chkconfig add",
not the other way around.
* Thu May 26 2005 Ville Skyttä <ville.skytta@iki.fi> - 0.69-3
- Filter out more not-that-useful messages in the default config.
* Sat Apr 16 2005 Ville Skyttä <ville.skytta@iki.fi> - 0.69-2
- 0.69.
- Simplify bash-completion snippet installation, remove triggers.
- Default configuration improvements: filter messages about missing packager,
Mandriva specific package naming conventions, %%ghost files without
%%post scriptlets, and 0664 source permissions.
- Exclude check-install.py, it doesn't currently work with rpm >= 4.2.
- Convert docs to UTF-8.
- Improve summary.
* Sun Mar 13 2005 Ville Skyttä <ville.skytta@iki.fi> - 0.68-2
- 0.68, siteperl patch applied upstream.
- Fix "no-dependency-on" filtering in default config.
- Add LaTeX Project Public License to default config.
- Remove upstream-only %%changelog entries.
* Sun Feb 13 2005 Ville Skyttä <ville.skytta@iki.fi> - 0:0.67-1
- 0.67.
- Patch to catch more site_perl directories.
- Default config improvements: filter Distribution and Vendor warnings,
use empty string instead of None for release extension (fixes -i).
* Sat Jan 29 2005 Ville Skyttä <ville.skytta@iki.fi> - 0:0.65-1
- Update to 0.65.
* Sat Jan 1 2005 Ville Skyttä <ville.skytta@iki.fi> - 0:0.64-1
- Update to 0.64.
- Default config tweaks: don't mandate Epochs nor "fdr" in Release.
* Tue Oct 19 2004 Ville Skyttä <ville.skytta@iki.fi> - 0:0.61-0.fdr.2
- Requires cpio (bug 2169).
* Sun Oct 3 2004 Ville Skyttä <ville.skytta@iki.fi> - 0:0.61-0.fdr.1
- Update to 0.61.
* Mon Aug 16 2004 Ville Skyttä <ville.skytta@iki.fi> - 0:0.60-0.fdr.1
- Update to 0.60.
* Mon May 3 2004 Ville Skyttä <ville.skytta@iki.fi> - 0:0.59-0.fdr.1
- Update to 0.59.
* Sun Feb 22 2004 Ville Skyttä <ville.skytta@iki.fi> - 0:0.57.1-0.fdr.1
- Update to 0.57.1.
* Wed Feb 11 2004 Ville Skyttä <ville.skytta@iki.fi> - 0:0.56-0.fdr.1
- Update to 0.56.
* Mon Feb 2 2004 Ville Skyttä <ville.skytta@iki.fi> - 0:0.55-0.fdr.3
- Correctly %%ghost %%{_sysconfdir}/rpmlint/config? (bug 1251).
* Sun Feb 1 2004 Ville Skyttä <ville.skytta@iki.fi> - 0:0.55-0.fdr.2
- Add back %%ghost handling of not-installed compiled versions of *.py.
* Fri Jan 30 2004 Ville Skyttä <ville.skytta@iki.fi> - 0:0.55-0.fdr.1
- Update to 0.55.
- Spec cleanups.
* Tue Dec 23 2003 Ville Skyttä <ville.skytta@iki.fi> - 0:0.53-0.fdr.1
- Update to 0.53.
* Thu Oct 2 2003 Ville Skyttä <ville.skytta@iki.fi> - 0:0.52-0.fdr.2
- Add list of valid shells for post'n'friends scriptlets into default config.
* Sat Sep 13 2003 Ville Skyttä <ville.skytta@iki.fi> - 0:0.52-0.fdr.1
- Update to 0.52.
* Thu Sep 4 2003 Ville Skyttä <ville.skytta@iki.fi> - 0:0.51.1-0.fdr.4
- Filter more Mdk-specific warnings in default config.
* Wed Sep 3 2003 Ville Skyttä <ville.skytta@iki.fi> - 0:0.51.1-0.fdr.3
- Upstream tarball reappeared, use it.
* Sun Aug 24 2003 Ville Skyttä <ville.skytta@iki.fi> - 0:0.51.1-0.fdr.2
- Filter Mdk-specific python-related stuff in the default config.
* Fri Aug 15 2003 Ville Skyttä <ville.skytta@iki.fi> - 0:0.51.1-0.fdr.1
- Update to 0.51.1.
- Own %%ghost'ed *.py{c,o}, and ditto for the config file.
- Add list of valid licenses to default config.
- Set "Fedora Linux" as suggested distribution in default config.
- Clean up %%doc list.
* Fri May 9 2003 Ville Skyttä <ville.skytta@iki.fi> - 0:0.50-0.fdr.1
- Update to 0.50, all patches now applied upstream.
* Mon May 5 2003 Ville Skyttä <ville.skytta@iki.fi> - 0:0.49-0.fdr.2
- %%{buildroot} -> $RPM_BUILD_ROOT.
- Filter out mdk-specific "no-dependancy perl-base" messages in config.
* Thu May 1 2003 Ville Skyttä <ville.skytta@iki.fi> - 0:0.49-0.fdr.1
- Update to 0.49.
* Sun Apr 20 2003 Ville Skyttä <ville.skytta@iki.fi> - 0:0.49-0.fdr.0.1.cvs20030420
- Add one more strict Epoch checking patch.
- Slightly enhanced default config.
* Fri Apr 11 2003 Ville Skyttä <ville.skytta@iki.fi> - 0:0.49-0.fdr.0.1.cvs20030411
- Patch to work with installed packages (including -a) and rpm 4.2.
- Remove spurious rpm-devel BuildRequirement.
* Tue Apr 8 2003 Ville Skyttä <ville.skytta@iki.fi> - 0:0.49-0.fdr.0.1.cvs20030408
- Patch to work with packages signed with an unknown key.
- Save .spec in UTF-8.
* Sun Mar 30 2003 Ville Skyttä <ville.skytta@iki.fi> - 0:0.49-0.fdr.0.1.cvs20030330
- First Fedora release, based on upstream spec.

View File

@ -1,2 +0,0 @@
# Add local system wide rpmlint configuration here or in other *config files
# in this directory.

View File

@ -1,498 +0,0 @@
# -*- python -*-
# System wide rpmlint default configuration. Do not modify, override/add
# options in /etc/rpmlint/config and/or ~/.rpmlintrc as needed.
import os.path
import re
import sys
from Config import *
import Pkg
setOption("CompressExtension", "gz")
setOption("DefaultPythonVersion", sys.version[:3])
setOption("KernelModuleRPMsOK", False)
setOption("MaxLineLength", 80)
setOption("NetworkEnabled", True)
setOption("ReleaseExtension", r'\.(fc|rhe?l|el)\d+(?=\.|$)')
setOption("UseDebugSource", True)
setOption("UseDefaultRunlevels", False)
setOption("UseEpoch", False)
setOption("UseUTF8", True)
setOption("UseVersionInChangeLog", True)
setOption("ValidSrcPerms", (int("664",8), int("644",8), ))
setOption("ValidGroups", [])
setOption("ValidShells", (
"<lua>",
"/bin/sh",
"/bin/bash",
"/sbin/ldconfig",
"/usr/bin/perl",
"/usr/bin/python",
"/usr/bin/python2",
"/usr/bin/python3",
))
setOption("DanglingSymlinkExceptions", (
['consolehelper$', 'usermode'],
['consolehelper-gtk$', 'usermode-gtk'],
))
setOption("ValidLicenses", (
# These are the short names for all of the Fedora approved licenses.
# The master list is kept here: http://fedoraproject.org/wiki/Licensing
# Last synced with revision "2.47, July 3, 2018" of that page.
'AAL',
'Abstyles',
'Adobe',
'ADSL',
'AFL',
'Afmparse',
'AGPLv1',
'AGPLv3',
'AGPLv3+',
'AGPLv3 with exceptions',
'AMDPLPA',
'AML',
'AMPAS BSD',
'ANTLR-PD',
'APAFML',
'App-s2p',
'APSL 2.0',
'ARL',
'Array',
'Artistic 2.0',
'Artistic clarified',
'ASL 1.0',
'ASL 1.1',
'ASL 2.0',
'Bahyph',
'Barr',
'Beerware',
'BeOpen',
'Bibtex',
'BitTorrent',
'Boost',
'Borceux',
'BSD',
'BSD Protection',
'BSD with advertising',
'BSD with attribution',
'CATOSL',
'CC0',
'CeCILL',
'CeCILL-B',
'CeCILL-C',
'CDDL-1.0',
'CDDL-1.1',
'CNRI',
'Condor',
'Copyright only',
'CPAL',
'CPL',
'CPM',
'CRC32',
'Crossword',
'Crystal Stacker',
'Cube',
'diffmark',
'DMIT',
'DOC',
'Dotseqn',
'DSDP',
'dvipdfm',
'DWPL',
'ECL 1.0',
'ECL 2.0',
'eCos',
'EFL 2.0',
'eGenix',
'Entessa',
'EPICS',
'EPL-1.0',
'EPL-2.0',
'ERPL',
'EU Datagrid',
'EUPL 1.1',
'Eurosym',
'Fair',
'FDK-AAC',
'FSFAP',
'FSFUL',
'FSFULLR',
'FTL',
'Giftware',
'GL2PS',
'Glide',
'Glulxe',
'gnuplot',
'GPL+',
'GPL+ or Artistic',
'GPL+ with exceptions',
'GPLv1',
'GPLv2 or Artistic',
'GPLv2+ or Artistic',
'GPLv2',
'GPLv2 with exceptions',
'GPLv2+',
'GPLv2+ with exceptions',
'GPLv3',
'GPLv3 with exceptions',
'GPLv3+',
'GPLv3+ with exceptions',
'HaskellReport',
'HSRL',
'IBM',
'IJG',
'ImageMagick',
'iMatix',
'Imlib2',
'Inner-Net',
'Intel ACPI',
'Interbase',
'ISC',
'Jabber',
'JasPer',
'JPython',
'Julius',
'Knuth',
'Latex2e',
'LBNL BSD',
'Leptonica',
'LGPLv2',
'LGPLv2 with exceptions',
'LGPLv2+',
'LGPLv2+ or Artistic',
'LGPLv2+ with exceptions',
'LGPLv3',
'LGPLv3 with exceptions',
'LGPLv3+',
'LGPLv3+ with exceptions',
'Lhcyr',
'libtiff',
'LLGPL',
'Logica',
'LOSLA',
'LPL',
'LPPL',
'MakeIndex',
'mecab-ipadic',
'midnight',
'MirOS',
'MIT',
'MITNFA',
'MIT with advertising',
'mod_macro',
'Motosoto',
'MPLv1.0',
'MPLv1.1',
'MPLv2.0',
'MS-PL',
'MS-RL',
'MTLL',
'Mup',
'Naumen',
'NCSA',
'NetCDF',
'Netscape',
'Newmat',
'Newsletr',
'NGPL',
'NISTSL',
'NLPL',
'Nmap',
'Nokia',
'NOSL',
'Noweb',
'OGL',
'OML',
'OpenLDAP',
'OpenPBS',
'OpenSSL',
'OReilly',
'OSL 1.0',
'OSL 1.1',
'OSL 2.0',
'OSL 2.1',
'OSL 3.0',
'Par',
'Phorum',
'PHP',
'PlainTeX',
'Plexus',
'PostgreSQL',
'psfrag',
'psutils',
'Public Domain',
'Python',
'Qhull',
'QPL',
'radvd',
'Rdisc',
'REX',
'RiceBSD',
'Romio',
'RPSL',
'RSA',
'Rsfs',
'Ruby',
'Saxpath',
'Sequence',
'SCEA',
'SCRIP',
'Sendmail',
'Sleepycat',
'SISSL',
'SLIB',
'SNIA',
'softSurfer',
'SPL',
'STMPL',
'SWL',
'TCGL',
'TCL',
'Teeworlds',
'TGPPL',
'TGPPL with exceptions',
'Threeparttable',
'TMate',
'Tolua',
'TORQUEv1.1',
'TOSL',
'TPDL',
'TPL',
'TTWL',
'Tumbolia',
'UCAR',
'UCD',
'Unicode',
'Unlicense',
'Vim',
'VNLSL',
'VOSTROM',
'VSL',
'W3C',
'Webmin',
'Wsuipa',
'WTFPL',
'wxWidgets',
'wxWindows',
'Xerox',
'xinetd',
'xpp',
'XSkat',
'YPLv1.1',
'Zed',
'Zend',
'zlib',
'zlib with acknowledgement',
'ZPLv1.0',
'ZPLv2.0',
'ZPLv2.1',
# Documentation licenses
'CDL',
'FBSDDL',
'GFDL',
'IEEE',
'LDPL',
'OFSFDL',
'Open Publication',
'Public Use',
'Verbatim',
# Content licenses
'CC-BY',
'CC-BY-ND',
'CC-BY-SA',
'DMTF',
'DSL',
'EFML',
'Free Art',
'GeoGratis',
'Green OpenMusic',
'OAL',
'PDDL-1.0',
# Font licenses
'AMS',
'Arphic',
'Baekmuk',
'Bitstream Vera',
'Charter',
'DoubleStroke',
'ec',
'Elvish',
'Hershey',
'HOFL',
'IPA',
'Liberation',
'Lucida',
'MgOpen',
'mplus',
'OFL',
'PTFL',
'Punknova',
'STIX',
'Utopia',
'Wadalab',
'XANO',
# Others
'Redistributable, no modification permitted',
'Freely redistributable without restriction',
))
setOption('SystemLibPaths', ('/lib', '/lib64', '/usr/lib', '/usr/lib64'))
# Add systemd dir to ignored path for UsrLibBinaryException
setOption('UsrLibBinaryException', r'^/usr/lib(64)?/(perl|python|ruby|menu|pkgconfig|ocaml|systemd|lib[^/]+\.(so|l?a)$|\.build-id)')
# Get standard users and groups from the setup package's uidgid file
setOption('StandardUsers', [])
setOption('StandardGroups', [])
setup_pkg = None
try:
setup_pkg = Pkg.InstalledPkg('setup')
except:
pass
if setup_pkg:
users = set()
groups = set()
uidgid_regex = re.compile(r'^\s*(\S+)\s+(-|\d+)\s+(-|\d+|\(\d+\))\s')
for uidgid_file in [x for x in setup_pkg.files() if x.endswith('/uidgid')]:
if os.path.exists(uidgid_file):
fobj = open(uidgid_file)
try:
for line in fobj.read().strip().splitlines():
res = uidgid_regex.search(line)
if res:
name = res.group(1)
if res.group(2) != '-':
users.add(name)
if res.group(3) != '-' and not '(' in res.group(3):
groups.add(name)
del res
del line
finally:
fobj.close()
del fobj
setOption('StandardUsers', sorted(users))
setOption('StandardGroups', sorted(groups))
del uidgid_regex, uidgid_file, users, groups
del setup_pkg
# Output filters
addFilter("source-or-patch-not-compressed")
addFilter("%mklibname")
addFilter("no-dependency-on (perl|python)-base")
addFilter("no-dependency-on locales-")
addFilter("(python|perl5)-naming-policy-not-applied")
addFilter("no-(packager-tag|signature)")
addFilter("incoherent-version-in-name")
addFilter("invalid-build-requires")
addFilter("ghost-files-without-postin")
addFilter("postin-without-ghost-file-creation")
addFilter("no-major-in-name")
addFilter("no-provides")
addFilter("executable-in-library-package")
addFilter("non-versioned-file-in-library-package")
addFilter("requires-on-release")
addFilter("jar-not-indexed")
addFilter("outside-libdir-files")
addFilter("-debug(info|source).* no-documentation")
addFilter("-debuginfo.* /usr/lib/debug/")
addFilter("-debugsource.* /usr/src/debug/")
addFilter("non-standard-dir-in-usr libexec")
addFilter("^gpg-pubkey:")
addFilter(" doc-file-dependency .* /bin/sh$")
addFilter("hardcoded-library-path .*/lib/udev(/|$)")
addFilter("not-standard-release-extension")
addFilter("explicit-lib-dependency (liberation-fonts|libertas-.*-firmware|libvirt$|.*-(java|python|utils)$)")
addFilter("explicit-lib-dependency (python-.*lib.*|python2-.*lib.*|python3-.*lib.*)$")
addFilter("explicit-lib-dependency libreoffice.*$")
addFilter("filename-too-long-for-joliet")
addFilter("symlink-should-be-")
addFilter(r"dangling-\S*symlink /usr/share/doc/HTML/\S+/common .+/common$")
addFilter(r"hidden-file-or-dir .*/man5/\.k5login\.5[^/]+$")
addFilter(r"blender.+ (wrong-script-interpreter|non-executable-script) .+/blender/.+\.py.*BPY.*")
# Fedora 12 and newer no longer need a buildroot defined, to have the buildroot cleaned at the beginning
# of %install, and do not need to define a %clean section unless the default is invalid.
addFilter("no-cleaning-of-buildroot")
addFilter("no-buildroot-tag")
addFilter("no-%clean-section")
# Only EL4 needs the files-attr-not-set check, because rpm 4.4 and newer no longer need a %defattr line
# (it automatically provides one).
addFilter("files-attr-not-set")
# Don't bother with the non-ghost-in-run checks, /var/lock and /var/run are
# symlinks to /run/lock and /run respectively, and /run is a tmpfs
addFilter("non-ghost-in-run")
# Someone thought it was a good idea to make .desktop files executable. They were wrong.
# Nevertheless, I do not yet control the universe, so we squelch the error here.
addFilter(r"script-without-shebang .*\.desktop$")
# Some files in /etc/ are not meant to be modified by the sysadmin
addFilter("non-conffile-in-etc /etc/rpm/.*$")
addFilter("non-conffile-in-etc /etc/rc.d/init.d/.*$")
# Fixed in rpm >= 4.7.1
addFilter("broken-syntax-in-scriptlet-requires")
# Files that are intentionally not supposed to be readable
# Contains passwords
addFilter("non-readable /etc/ovirt-engine/isouploader.conf")
# Ignore webservers which are just broken.
addFilter(r"invalid-url .*\.googlecode\.com/.*HTTP Error 404")
addFilter(r"invalid-url .*\.jboss\.org/.*HTTP Error 403")
addFilter(r"invalid-url .*bitbucket\.org/.*HTTP Error 403")
addFilter(r"invalid-url .*github\.com/.*HTTP Error 403")
# Don't care about long descriptions on debuginfo packages
# They automatically include the package name and are always
# quite long.
addFilter("-debuginfo.* description-line-too-long")
# ignore "common" jargon words
# https://bugzilla.redhat.com/show_bug.cgi?id=1424684#c9
addFilter(r"spelling-error.* \b(runtime|Runtime|metadata|cryptographic|multi|linux|filesystem|filesystems|backend|backends|userspace|addon|wayland|Wayland|util|utils|lossless|virtualization|toolkits|libvirtd|crypto|glyphs|GStreamer|http|extensibility|codec|codecs|truetype|scalable|pluggable|pixbuf|Kerberos|customizable|bitstream|tcp|libXss|libs|libc|encodings|GLib|udev|posix|libpng|glapi|gbm|freedesktop|spi|realtime|preprocessor|libaudit|hypervisor|embeddable|distributable|devel|config|cairo|bootloader|adaptors|pragma|passphrase|malloc|libvirt|libmagic|io|datetime|boolean|argparse|py|pinentry|namespace|middleware|lowlevel|libxcb|libudev|libsoup|libgcrypt|libcom|iSCSI|initramfs|GObject|executables|dialogs|checkpolicy|bitmapped|assistive|btrfs|crypttab|defrag|dracut|hostname|luks|mountpoints|netdev|rpmnew|rpmsave|storaged|tss|unlocker)\b")
# Fedora no longer uses explicit ldconfig %post/%postun as of Fedora 28
addFilter("library-without-ldconfig-postin")
addFilter("library-without-ldconfig-postun")
# Ignore 700 dir perms here
addFilter("non-standard-dir-perm /etc/.* 700")
addFilter("non-standard-dir-perm /var/lib/.* 700")
# Fedora no longer requires install-info scriptlets
addFilter("info-files-without-install-info-postin")
addFilter("info-files-without-install-info-postun")
addFilter("postin-without-install-info")
# pip 20.2 generates PEP 376 "REQUESTED" marker (empty)
addFilter(r"zero-length .+/site-packages/.+\.dist-info/REQUESTED\b")
# py.typed files are empty
addFilter(r"zero-length .+/site-packages/.+/py\.typed\b")
# specfile-errors are listed twice, once with reason and once without
# we filter out the empty ones
addFilter(r"\.(src|spec): (E|W): specfile-error\s+$")
bad_crypto_warning = \
'''This application package calls a function to explicitly set crypto ciphers
for SSL/TLS. That may cause the application not to use the system-wide set
cryptographic policy and should be modified in accordance to:
https://fedoraproject.org/wiki/Packaging:CryptoPolicies'''
call_blacklist = {'crypto-policy-non-compliance-openssl' :
{'f_name' : 'SSL_CTX_set_cipher_list',
'good_param' : 'PROFILE=SYSTEM',
'description' : bad_crypto_warning},
'crypto-policy-non-compliance-gnutls-1' :
{'f_name' : 'gnutls_priority_set_direct',
'description' : bad_crypto_warning},
'crypto-policy-non-compliance-gnutls-2' :
{'f_name' : 'gnutls_priority_init',
'good_param' : 'SYSTEM',
'description' : bad_crypto_warning}
}
setOption("WarnOnFunction", call_blacklist)
# https://bugzilla.redhat.com/496737, https://bugzilla.redhat.com/646455
for pkg, exe in (("coreutils", "/bin/su"),
("krb5-workstation", "/usr/kerberos/bin/ksu"),
("passwd", "/usr/bin/passwd"),
("sudo", "/usr/bin/sudo(edit)?"),
("upstart", "/sbin/initctl"),
("usermode", "/usr/sbin/userhelper")):
addFilter("%s.* (setuid-binary|non-standard-executable-perm) %s (root )?04"
% (pkg, exe))

View File

@ -1,663 +0,0 @@
# pass --without tests to skip the test suite
%bcond_without tests
Name: rpmlint
Version: 2.5.0
Release: 6%{?dist}
Summary: Tool for checking common errors in RPM packages
License: GPL-2.0-or-later
URL: https://github.com/rpm-software-management/rpmlint
Source0: %{url}/archive/%{version}/rpmlint-%{version}.tar.gz
# Taken from https://github.com/rpm-software-management/rpmlint/tree/main/configs/Fedora
Source1: fedora.toml
Source3: scoring.toml
Source4: users-groups.toml
Source5: warn-on-functions.toml
# Fix from @danigm to reset checks for each package
# https://github.com/rpm-software-management/rpmlint/pull/1163
Patch0: https://patch-diff.githubusercontent.com/raw/rpm-software-management/rpmlint/pull/1163.patch
BuildArch: noarch
# use git to apply patches; it handles binary diffs
BuildRequires: git-core
BuildRequires: python3-devel
# tests
%if %{with tests}
%if ! 0%{?rhel}
BuildRequires: dash
BuildRequires: devscripts-checkbashisms
%endif
BuildRequires: hunspell-cs
BuildRequires: hunspell-en-US
BuildRequires: python3dist(pytest)
%if ! 0%{?rhel}
BuildRequires: python3dist(pytest-xdist)
%endif
BuildRequires: /usr/bin/appstream-util
BuildRequires: /usr/bin/desktop-file-validate
%endif
%if ! 0%{?rhel}
Requires: dash
Requires: devscripts-checkbashisms
%endif
Requires: rpm-build
Requires: /usr/bin/appstream-util
Requires: /usr/bin/desktop-file-validate
%if 0%{?fedora}
Requires: rpmlint-fedora-license-data
%endif
%description
rpmlint is a tool for checking common errors in RPM packages. Binary
and source packages as well as spec files can be checked.
%prep
%autosetup -p1 -Sgit
# Replace python-magic dep with file-magic (rhbz#1899279)
sed -i 's/python-magic/file-magic/g' pyproject.toml
%if 0%{?rhel}
# Avoid extra dependencies for checks not needed in RHEL
# pybeam: ErlangCheck
sed -i -e '/pybeam/d' pyproject.toml
sed -i -e '/ErlangCheck/d' rpmlint/configdefaults.toml test/test_lint.py
%endif
# Don't lint the code or measure coverage in %%check
# On RHEL, also avoid xdist by disabling parallelism
sed -i -e '/^ *--cov=rpmlint$/d' %{?rhel:-e '/^ *-n auto$/d'} pytest.ini
# Avoid warnings about pytest.mark.no_cover marker
sed -i '/^@pytest.mark.no_cover/d' test/test_lint.py
%generate_buildrequires
%pyproject_buildrequires
%build
%pyproject_wheel
%install
%pyproject_install
%pyproject_save_files %{name}
mkdir -p %{buildroot}%{_sysconfdir}/xdg/rpmlint/
%if 0%{?fedora}
cp -a %{SOURCE1} %{SOURCE3} %{SOURCE4} %{SOURCE5} %{buildroot}%{_sysconfdir}/xdg/rpmlint/
%endif
%check
%if %{with tests}
%pytest %{?rhel:--ignore test/test_erlang.py}
%endif
%files -f %{pyproject_files}
%doc README.md
%dir %{_sysconfdir}/xdg/rpmlint
%if 0%{?fedora}
%config(noreplace) %{_sysconfdir}/xdg/rpmlint/*.toml
%endif
%{_bindir}/rpmdiff
%{_bindir}/rpmlint
%changelog
* Mon Jun 24 2024 Troy Dawson <tdawson@redhat.com> - 2.5.0-6
- Bump release for June 2024 mass rebuild
* Thu Jan 25 2024 Miro Hrončok <mhroncok@redhat.com> - 2.5.0-5
- Filter out python-missing-require warnings,
Fedora's style of Python requirements is not supported
- Resolves: rhbz#2260169
* Mon Jan 22 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.5.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Thu Jan 4 2024 Tom Callaway <spot@fedoraproject.org> - 2.5.0-3
- reset checks after each package, thanks to Daniel García Moreno
* Sat Nov 25 2023 Zephyr Lykos <fedora@mochaa.ws> - 2.5.0-2
- Migrate patches to pyproject.toml (rhbz#1899279)
* Tue Nov 21 2023 Tom Callaway <spot@fedoraproject.org> - 2.5.0-1
- update to 2.5.0
* Mon Jul 24 2023 Yaakov Selkowitz <yselkowi@redhat.com> - 2.4.0-11
- Disable ErlangCheck by default in RHEL builds
* Fri Jul 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.0-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Thu Jun 15 2023 Python Maint <python-maint@redhat.com> - 2.4.0-9
- Rebuilt for Python 3.12
* Thu May 25 2023 Yaakov Selkowitz <yselkowi@redhat.com> - 2.4.0-8
- Limit deps and don't ship Fedora config in RHEL builds
* Thu May 25 2023 Todd Zullinger <tmz@pobox.com> - 2.4.0-7
- adjust for rpm-4.19.0 API changes
* Mon Mar 20 2023 Todd Zullinger <tmz@pobox.com> - 2.4.0-6
- handle license exception in grouping, better (rhbz#2175241)
* Mon Mar 06 2023 Todd Zullinger <tmz@pobox.com> - 2.4.0-5
- handle license exception in grouping (rhbz#2175241)
* Fri Jan 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Fri Oct 07 2022 Todd Zullinger <tmz@pobox.com> - 2.4.0-3
- disable various errors/warnings for debug/devel packages
- fix broken regex for no-manual-page-for-binary check (rhbz#2132936)
- ignore missing-hash-section error (rhbz#2132969)
* Wed Oct 05 2022 Miro Hrončok <mhroncok@redhat.com> - 2.4.0-2
- remove the license list, depend on rpmlint-fedora-license-data instead
* Tue Oct 04 2022 Todd Zullinger <tmz@pobox.com> - 2.4.0-1
- update to 2.4.0 (rhbz#2088759)
- use python build-dependency generator
- own %%{_sysconfdir}/xdg/rpmlint directory
* Sat Sep 24 2022 Todd Zullinger <tmz@pobox.com> - 2.3.0-1
- update to 2.3.0 (rhbz#2088759)
- convert license to SPDX and correct to GPL-2.0-or-later
- enable tests by default, avoid warnings about pytest.mark.no_cover marker
* Sat Sep 24 2022 Tom Callaway <spot@fedoraproject.org> - 2.2.0-7
- update licenses.toml to reflect change in Fedora licensing identifiers
* Mon Aug 08 2022 Miro Hrončok <mhroncok@redhat.com> - 2.2.0-6
- Require desktop-file-validate to avoid a fatal error when the RPM has .desktop files
* Sat Jul 23 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.2.0-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Tue Jun 14 2022 Python Maint <python-maint@redhat.com> - 2.2.0-4
- Rebuilt for Python 3.11
* Fri Jan 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.2.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Thu Jan 6 2022 Tom Callaway <spot@fedoraproject.org> - 2.2.0-2
- disable no-library-dependency-for/on checks in Fedora
* Thu Dec 09 2021 Stephen Smoogen <ssmoogen@redhat.com> - 2.2.0-1
- Update to upstream 2.2.0
* Tue Dec 07 2021 Neal Gompa <ngompa@fedoraproject.org> - 2.1.0-6
- Fix some rpmlint policy issues
* Tue Oct 5 2021 Tom Callaway <spot@fedoraproject.org> - 2.1.0-5
- add explicit Requires for pyenchant
* Thu Sep 16 2021 Tom Callaway <spot@fedoraproject.org> - 2.1.0-4
- fix rpmlintrc load from cmdline option (bz2000018)
* Sun Sep 05 2021 Miro Hrončok <mhroncok@redhat.com> - 2.1.0-3
- Ignore hidden-file-or-dir for .cargo-checksum.json
* Tue Aug 17 2021 Tom Callaway <spot@fedoraproject.org> - 2.1.0-2
- include iso-639-2 collective language codes in LANGUAGES
* Tue Aug 17 2021 Tom Callaway <spot@fedoraproject.org> - 2.1.0-1
- update to 2.1.0
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.0-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Wed Jul 7 2021 Tom Callaway <spot@fedoraproject.org> - 2.0.0-5
- add Requires: rpm-build
* Thu Jul 1 2021 Tom Callaway <spot@fedoraproject.org> - 2.0.0-4
- fix rpmlint -i where it wrongly assumes a tmp dir
* Fri Jun 04 2021 Python Maint <python-maint@redhat.com> - 2.0.0-3
- Rebuilt for Python 3.10
* Fri Jun 4 2021 Tom Callaway <spot@fedoraproject.org> - 2.0.0-2
- add dash and checkbashisms as Requires
* Thu Jun 3 2021 Tom Callaway <spot@fedoraproject.org> - 2.0.0-1
- update to 2.0.0
* Tue May 11 2021 Todd Zullinger <tmz@pobox.com> - 1.11-17
- use proper folder _sourcedir for spec files (upstream PR#633)
Resolves: rhbz#1959363
* Tue Apr 13 2021 Miro Hrončok <mhroncok@redhat.com> - 1.11-16
- Filter out empty specfile-errors, they are duplicates
* Fri Feb 5 2021 Tom Callaway <spot@fedoraproject.org> - 1.11-15
- correct hard-coded version in Makefile
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.11-14
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Mon Jan 25 2021 Miro Hrončok <mhroncok@redhat.com> - 1.11-13
- Filter out empty py.typed files in Python site-packages
* Fri Aug 21 2020 Miro Hrončok <mhroncok@redhat.com> - 1.11-12
- Filter out empty REQUESTED files in pip installed Python metadata dist-info dirs
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.11-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Thu Jul 16 2020 Miro Hrončok <mhroncok@redhat.com> - 1.11-10
- Don't use the %%python_sitelib macro, because it errors
- See https://fedoraproject.org/wiki/Changes/PythonMacroError
* Tue Jun 23 2020 Tom Callaway <spot@fedoraproject.org> - 1.11-9
- use python3-file-magic on f33+
* Tue Jun 16 2020 Tom Callaway <spot@fedoraproject.org> - 1.11-8
- turn *-not-linked-against-libc from errors to warnings (bz1749738)
* Wed Jun 10 2020 Tom Callaway <spot@fedoraproject.org> - 1.11-7
- add /usr/bin/python[23] as valid shells
* Sun May 24 2020 Miro Hrončok <mhroncok@redhat.com> - 1.11-6
- Rebuilt for Python 3.9
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.11-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Sat Aug 17 2019 Miro Hrončok <mhroncok@redhat.com> - 1.11-4
- Rebuilt for Python 3.8
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.11-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Thu Jul 11 2019 Tom Callaway <spot@fedoraproject.org> - 1.11-2
- merge conflig file cleanups from PR
* Fri Jun 21 2019 Tom Callaway <spot@fedoraproject.org> - 1.11-1
- update to 1.11
* Sun Mar 10 2019 Miro Hrončok <mhroncok@redhat.com> - 1.10-22
- Suppress locale error in order to work in default mock (#1668400)
* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.10-21
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Wed Jan 16 2019 Tom Callaway <spot@fedoraproject.org> - 1.10-20
- ignore info-files-without-install-info-postin/postun checks
* Fri Dec 7 2018 Tom Callaway <spot@fedoraproject.org> - 1.10-19
- ignore non-standard-dir-perm error for 700 dirs in /etc and /var/lib
* Fri Oct 5 2018 Tom Callaway <spot@fedoraproject.org> - 1.10-18
- force python3 as exec binary
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.10-17
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Mon Jun 18 2018 Miro Hrončok <mhroncok@redhat.com> - 1.10-16
- Rebuilt for Python 3.7
* Sun Jun 17 2018 Todd Zullinger <tmz@pobox.com> - 1.10-15
- Fix mixed-use-of-spaces-and-tabs warning (in this spec file)
- Remove el4/el5 configs and /usr/bin symlinks
- Disable automatic compilation of Python files in /usr/share/rpmlint
- Fix non-ghost-in-run filter in config
* Tue Jun 12 2018 Miro Hrončok <mhroncok@redhat.com> - 1.10-14
- apply upstream fix for python 3.7 new magic numbers
* Sat Jun 2 2018 Tom Callaway <spot@fedoraproject.org> 1.10-13
- apply upstream fix for python 3.7 mtime handling
* Thu May 03 2018 Todd Zullinger <tmz@pobox.com> - 1.10-12
- Properly handle the exception on missing files (bz1574509)
- Explicitly disable the non-standard-group check
* Wed Apr 18 2018 Todd Zullinger <tmz@pobox.com>
- Ignore 'no-documentation' in debugsource packages
- Ignore /usr/src/debug/ in debugsource packages
* Tue Apr 17 2018 Tom Callaway <spot@fedoraproject.org> - 1.10-11
- disable library-without-ldconfig-postin/postun checks (F28+)
* Tue Apr 17 2018 Tom Callaway <spot@fedoraproject.org> - 1.10-10
- fix flake errors (merge upstream changes)
* Mon Apr 16 2018 Todd Zullinger <tmz@pobox.com> - 1.10-9
- Update UsrLibBinaryException config to include .build-id
- Ignore useless-provides on debuginfo provides (bz1489096)
* Sun Mar 04 2018 Till Maas <opensource@till.name> - 1.10-8
- Update URL (RH #1547150)
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.10-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Mon Jan 15 2018 Karsten Hopp <karsten@redhat.com> - 1.10-6
- fix python3 conditional
* Sun Oct 29 2017 Tom Callaway <spot@fedoraproject.org> - 1.10-5
- ignore common jargon words in spellcheck
* Sun Oct 29 2017 Tom Callaway <spot@fedoraproject.org> - 1.10-4
- fix SSL_CTX_set_cipher_list waiver
- use raw strings in config file to silence python3 deprecation warnings
* Mon Sep 11 2017 Tom Callaway <spot@fedoraproject.org> - 1.10-3
- use correct config file option for debugsource
* Fri Sep 8 2017 Tom Callaway <spot@fedoraproject.org> - 1.10-2
- update config file to reflect new licenses and to ignore devel files in debugsource packages
* Tue Sep 5 2017 Tom Callaway <spot@fedoraproject.org> - 1.10-1
- update to 1.10
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.9-12
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Mon Jul 17 2017 Tom Callaway <spot@fedoraproject.org> - 1.9-11
- apply upstream fix for buildid
* Thu Jul 13 2017 Petr Pisar <ppisar@redhat.com> - 1.9-10
- perl dependency renamed to perl-interpreter
<https://fedoraproject.org/wiki/Changes/perl_Package_to_Install_Core_Modules>
* Fri Apr 07 2017 Björn Esser <besser82@fedoraproject.org> - 1.9-9
- Upstream fix for str object has no attribute decode (bz1439941)
* Thu Mar 9 2017 Charalampos Stratakis <cstratak@redhat.com> - 1.9-8
- Update Python 3.5.3 magic bytecode value
* Wed Feb 8 2017 Tom Callaway <spot@fedoraproject.org> - 1.9-7
- apply upstream fix to not demand versioned filename Provides/Obsoletes
* Thu Dec 29 2016 Adam Williamson <awilliam@redhat.com> - 1.9-6
- Update Python 3.6 magic bytecode value (github PR #7)
* Tue Dec 13 2016 Charalampos Stratakis <cstratak@redhat.com> - 1.9-5
- Rebuild for Python 3.6
* Mon Oct 24 2016 Orion Poplawski <orion@cora.nwra.com> - 1.9-4
- Use %%license
- BR python-flake8-import-order for tests
* Fri Aug 26 2016 Tom Callaway <spot@fedoraproject.org> - 1.9-3
- ignore long description lines for debuginfo packages
* Mon Jul 25 2016 Tom Callaway <spot@fedoraproject.org> - 1.9-2
- fix 403 ignore rule for github to be more complete (bz1359582)
* Wed Jul 6 2016 Tom Callaway <spot@fedoraproject.org> - 1.9-1
- update to 1.9
* Tue Jun 14 2016 Tom Callaway <spot@fedoraproject.org> - 1.8-7
- ignore explicit-lib-dependency on python subpackages with "lib"
- update license list
* Mon Apr 18 2016 Tom Callaway <spot@fedoraproject.org> - 1.8-6
- update license list
- add github.com to the filter ignore list for 403 errors (bz1326855)
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1.8-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Tue Nov 10 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.8-3
- Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5
* Mon Sep 28 2015 Tom Callaway <spot@fedoraproject.org> - 1.8-2
- fix issue in config regex causing bitbucket URLs to slip through invalid-url filter
* Fri Sep 25 2015 Tom Callaway <spot@fedoraproject.org> - 1.8-1
- 1.8
- add bad crypto warning to config file
- update license list
* Fri Jul 10 2015 Tom Callaway <spot@fedoraproject.org> - 1.7-1
- 1.7
- add python conditionals
* Thu Jun 18 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.6-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Fri May 29 2015 Tom Callaway <spot@fedoraproject.org> - 1.6-3
- filter out failure from broken webservers
- add new licenses
* Tue Dec 9 2014 Tom Callaway <spot@fedoraproject.org> - 1.6-2
- update license list in config file
* Thu Sep 4 2014 Tom Callaway <spot@fedoraproject.org> - 1.6-1
- update to 1.6
* Wed Jun 25 2014 Tom Callaway <spot@fedoraproject.org> - 1.5-12
- add systemd to UsrLibBinaryException
* Sun Jun 08 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.5-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Thu May 29 2014 Tom Callaway <spot@fedoraproject.org> - 1.5-10
- fix python 3.4 magic number (#1102846)
* Mon May 12 2014 Tom Callaway <spot@fedoraproject.org> - 1.5-9
- update config to ignore non-readable /etc/ovirt-engine/isouploader.conf
* Mon Feb 10 2014 Tom Callaway <spot@fedoraproject.org> - 1.5-8
- filter out broken-syntax-in-scriptlet-requires (except on el4/5)
- update license list
* Sun Feb 9 2014 Ville Skyttä <ville.skytta@iki.fi> - 1.5-7
- Make default config Python 3 compatible.
* Thu Dec 12 2013 Tom Callaway <spot@fedoraproject.org> - 1.5-6
- fix unicode naming bug (bz 1036310)
* Mon Nov 11 2013 Tom Callaway <spot@fedoraproject.org> - 1.5-5
- do not modify sys.argv[0] (bz 1026333)
- fix unbound var in MenuXDGCheck.py (bz 1026328)
* Wed Oct 9 2013 Tom Callaway <spot@fedoraproject.org> - 1.5-4
- Fix handling of Exec= with an absolute path (bz991278)
- Update license list, add AGPLv3+ (bz894187)
* Tue Aug 6 2013 Thomas Woerner <twoerner@redhat.com> - 1.5-3
- Fixed URL and Source0, now using sourceforge.net
* Sun Aug 04 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.5-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
* Fri May 17 2013 Tom Callaway <spot@fedoraproject.org> - 1.5-1
- update to 1.5
* Mon Apr 1 2013 Tom Callaway <spot@fedoraproject.org> - 1.4-14
- explicitly Require: perl (bz919865)
- fix lua binary detection (bz919869)
* Wed Mar 6 2013 Tom Callaway <spot@fedoraproject.org> - 1.4-13
- update license list
- exclude non-config files that live in /etc
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.4-12
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
* Tue Nov 6 2012 Tom Callaway <spot@fedoraproject.org> - 1.4-11
- add Requires: %%{_bindir}/groff for man page checks (bz 873448)
* Thu Sep 6 2012 Tom Callaway <spot@fedoraproject.org> - 1.4-10
- fix handling of ruby RI files as text files (they are binary files)
- apply upstream fix for macro regexp
* Tue Sep 4 2012 Thomas Woerner <twoerner@redhat.com> - 1.4-9
- fix build for RHEL: no bash-completion
* Tue Aug 14 2012 Tom Callaway <spot@fedoraproject.org> - 1.4-8
- add magic number fix for python 3 (bz845972)
- update license list
* Sat Jul 21 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.4-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
* Mon Jan 23 2012 Toshio Kuratomi <toshio@fedoraproject.org> - 1.4-6
- Patch to fix messages that contain unicode summaries
https://bugzilla.redhat.com/show_bug.cgi?id=783912
* Sat Jan 14 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.4-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
* Thu Dec 15 2011 Tom Callaway <spot@fedoraproject.org> - 1.4-4
- Do not throw an error on .desktop files set +x. (bz 767978)
* Mon Dec 5 2011 Tom Callaway <spot@fedoraproject.org> - 1.4-3
- own %%{_datadir}/bash-completion/ (thanks Ville Skyttä)
* Mon Dec 5 2011 Tom Callaway <spot@fedoraproject.org> - 1.4-2
- add BR: bash-completion for the pc file
* Mon Dec 5 2011 Tom Callaway <spot@fedoraproject.org> - 1.4-1
- update to 1.4
* Wed Oct 12 2011 Tom Callaway <spot@fedoraproject.org> - 1.3-2
- apply upstream fix for false error on checking ghosted man pages for
encoding (bz745446)
- update config to reflect new licenses (bz741298)
* Tue Jul 12 2011 Tom Callaway <spot@fedoraproject.org> - 1.3-1
- update to 1.3
* Sun Apr 24 2011 Tom Callaway <spot@fedoraproject.org> - 1.2-1
- update to 1.2
- filter away files-attr-not-set for all targets except EL-4 (bz694579)
* Thu Mar 3 2011 Tom Callaway <spot@fedoraproject.org> - 1.1-3
- apply upstream fix for source url aborts (bz 680781)
* Wed Feb 09 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
* Fri Feb 4 2011 Tom Callaway <spot@fedoraproject.org> - 1.1-1
- update to 1.1
* Tue Dec 7 2010 Tom "spot" Callaway <tcallawa@redhat.com> - 1.0-3
- fix typo in changelog
- %% comment out item in changelog
- simplify el4/el5 config files (thanks to Ville Skyttä)
* Mon Dec 6 2010 Tom "spot" Callaway <tcallawa@redhat.com> - 1.0-2
- add support for el4-rpmlint, el5-rpmlint
- disable no-cleaning-of-buildroot checks for Fedora
- disable no-buildroot-tag check for Fedora
- disable no-%%clean-section check for Fedora
* Mon Nov 1 2010 Ville Skyttä <ville.skytta@iki.fi> - 1.0-1
- Update to 1.0; fixes #637956, and #639823.
- Sync Fedora license list with Wiki revision 1.85.
- Whitelist more expectedly setuid executables; fixes #646455.
* Thu Aug 19 2010 Ville Skyttä <ville.skytta@iki.fi> - 0.99-1
- Update to 0.99; fixes #623607, helps work around #537430.
- Sync Fedora license list with Wiki revision 1.80.
* Wed Aug 11 2010 David Malcolm <dmalcolm@redhat.com> - 0.98-2
- recompiling .py files against Python 2.7 (rhbz#623355)
* Wed Jun 23 2010 Ville Skyttä <ville.skytta@iki.fi> - 0.98-1
- Update to 0.98; fixes #599427 and #599516.
- Filter out all lib*-java and lib*-python explicit-lib-dependency messages.
- Sync Fedora license list with Wiki revision 1.75; fixes #600317.
* Tue May 18 2010 Ville Skyttä <ville.skytta@iki.fi> - 0.97-1
- Update to 0.97; fixes #459452, #589432.
- Filter out explicit-lib-dep messages for libvirt(-python) (Dan Kenigsberg).
- Sync Fedora license list with Wiki revision 1.73.
* Thu Apr 22 2010 Ville Skyttä <ville.skytta@iki.fi> - 0.96-1
- Update to 0.96; fixes #487974, #571375, #571386, #572090, #572097, #578390.
- Sync Fedora license list with Wiki revision 1.71.
* Sat Mar 6 2010 Ville Skyttä <ville.skytta@iki.fi> - 0.95-2
- Patch to fix non-coherent-filename regression for source packages.
* Wed Mar 3 2010 Ville Skyttä <ville.skytta@iki.fi> - 0.95-1
- Update to 0.95; fixes #564585, #567285, #568498, and #570086.
* Mon Feb 1 2010 Ville Skyttä <ville.skytta@iki.fi> - 0.94-1
- Update to 0.94; rpm >= 4.8.0 spec file check fix included upstream.
- Sync Fedora license list with Wiki revision 1.65 (#559156).
* Tue Jan 26 2010 Ville Skyttä <ville.skytta@iki.fi> - 0.93-2
- Apply upstream patch to fix spec file check with rpm >= 4.8.0.
* Mon Jan 25 2010 Ville Skyttä <ville.skytta@iki.fi> - 0.93-1
- Update to 0.93; fixes #531102 and #555284.
- Enable checks requiring network access in default config.
- Disallow kernel module packages in default config.
- Remove old X11R6 dirs from paths treated as system ones in default config.
- Sync Fedora license list with Wiki revision 1.64.
- Omit python-enchant and python-magic dependencies when built on EL.
* Mon Nov 2 2009 Ville Skyttä <ville.skytta@iki.fi> - 0.92-1
- Update to 0.92; fixes #528535, and #531102 (partially).
- Python byte compile patch applied/superseded upstream.
- Add <lua> to list of valid scriptlet shells.
- Sync Fedora license list with Wiki revision 1.53.
* Mon Sep 14 2009 Ville Skyttä <ville.skytta@iki.fi> - 0.91-1
- Update to 0.91; fixes #513811, #515185, #516492, #519694, and #521630.
- Add dependencies on gzip, bzip2, and xz.
- Sync Fedora license list with Wiki revision 1.49.
- Move pre-2008 %%changelog entries to CHANGES.package.old.
* Sun Jul 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.90-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
* Mon Jun 29 2009 Ville Skyttä <ville.skytta@iki.fi> - 0.90-1
- 0.90; fixes #508683.
* Sun Jun 21 2009 Ville Skyttä <ville.skytta@iki.fi> - 0.89-1
- Update to 0.89; fixes #461610, #496735, #496737 (partially), #498107,
#491188, and #506957.
- Sync Fedora license list with Wiki revision 1.44.
- Parse list of standard users and groups from the setup package's uidgid file.
* Thu Mar 19 2009 Ville Skyttä <ville.skytta@iki.fi> - 0.87-1
- 0.87; fixes #480664, #483196, #483199, #486748, #488146, #488930, #489118.
- Sync Fedora license list with Wiki revision 1.38.
- Configs patch included upstream.
* Wed Feb 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.85-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
* Tue Jan 20 2009 Ville Skyttä <ville.skytta@iki.fi>
- Sync Fedora license list with Wiki revision 1.34.
- Filter out filename-too-long-for-joliet and symlink-should-be-* warnings in
default config.
* Mon Dec 01 2008 Ignacio Vazquez-Abrams <ivazqueznet+rpm@gmail.com> - 0.85-3
- Rebuild for Python 2.6
* Thu Oct 30 2008 Ville Skyttä <ville.skytta@iki.fi> - 0.85-2
- Apply upstream patch to load all *config from /etc/rpmlint.
* Thu Oct 23 2008 Ville Skyttä <ville.skytta@iki.fi> - 0.85-1
- 0.85, fixes #355861, #450011, #455371, #456843, #461421, #461423, #461434.
- Mute some explicit-lib-dependency false positives (#458290).
- Sync Fedora license list with Wiki revision 1.19.
- Dist regex patch applied/superseded upstream.
* Fri Sep 12 2008 Tom "spot" Callaway <tcallawa@redhat.com> - 0.84-3
- Sync Fedora license list with Wiki revision 1.09
* Sat Jul 26 2008 Ville Skyttä <ville.skytta@iki.fi> - 0.84-2
- 0.84, fixes #355861, #456304.
- Sync Fedora license list with Wiki revision "16:08, 18 July 2008".
- Rediff patches.
* Tue May 27 2008 Ville Skyttä <ville.skytta@iki.fi> - 0.83-1
- 0.83, fixes #237204, #428096, #430206, #433783, #434694, #444441.
- Fedora licensing patch applied upstream.
- Move pre-2007 changelog entries to CHANGES.package.old.
- Sync Fedora license list with Revision 0.88.
* Tue May 20 2008 Todd Zullinger <tmz@pobox.com>
- Sync Fedora license list with Revision 0.83 (Wiki rev 131).
* Mon Mar 3 2008 Ville Skyttä <ville.skytta@iki.fi> - 0.82-3
- Sync Fedora license list with Revision 0.69 (Wiki rev 110) (#434690).