Accepting request 94591 from devel:openSUSE:Factory:rpmlint

- fix devel-package-with-non-devel-group check (bnc#732897)
- enable license check

OBS-URL: https://build.opensuse.org/request/show/94591
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/rpmlint?expand=0&rev=146
This commit is contained in:
Stephan Kulow 2011-12-01 11:25:57 +00:00 committed by Git OBS Bridge
commit 95b07d2f9b
6 changed files with 210 additions and 2 deletions

1
config
View File

@ -497,7 +497,6 @@ addFilter(" dangerous-command.*")
addFilter(" setuid-binary.*")
addFilter(".*FSSTND-dir-in-var /var/adm/.*")
addFilter("subdir-in-bin /sbin/conf.d/")
addFilter(" invalid-license")
addFilter(".* nss_db non-standard-dir-in-var db")
addFilter("non-standard-dir-in-usr openwin")
addFilter("ibcs2 non-standard-dir-in-usr i486-sysv4")

169
licenses.config Normal file
View File

@ -0,0 +1,169 @@
# -*- python -*-
# vim: syntax=python sw=4 et
# This line is mandatory to access the configuration functions
from Config import *
from Filter import addDetails
addDetails('invalid-license',
"""The specified license string is not recognized. Please refer to
http://license.opensuse.org/ for the list of known licences and
their exact spelling.""")
# from http://www.spdx.org/licenses/
setOption('ValidLicenses', (
'AFL-1.2',
'AFL-2.0',
'AFL-2.1',
'AFL-3.0',
'APL-1.0',
'ANTLR-PD',
'Apache-1.0',
'Apache-1.1',
'Apache-2.0',
'APSL-1.0',
'APSL-1.1',
'APSL-1.2',
'APSL-2.0',
'Artistic-1.0',
'Artistic-2.0',
'AAL',
'BSL-1.0',
'BSD-2-Clause',
'BSD-3-Clause',
'BSD-4-Clause',
'CECILL-1.0',
'CECILL-1.1English',
'CECILL-2.0',
'CECILL-B',
'CECILL-C',
'ClArtistic',
'CDDL-1.0',
'CPAL-1.0',
'CPL-1.0',
'CATOSL-1.1',
'CC-BY-1.0',
'CC-BY-2.0',
'CC-BY-2.5',
'CC-BY-3.0',
'CC-BY-ND-1.0',
'CC-BY-ND-2.0',
'CC-BY-ND-2.5',
'CC-BY-ND-3.0',
'CC-BY-NC-1.0',
'CC-BY-NC-2.0',
'CC-BY-NC-2.5',
'CC-BY-NC-3.0',
'CC-BY-NC-ND-1.0',
'CC-BY-NC-ND-2.0',
'CC-BY-NC-ND-2.5',
'CC-BY-NC-ND-3.0',
'CC-BY-NC-SA-1.0',
'CC-BY-NC-SA-2.0',
'CC-BY-NC-SA-2.5',
'CC-BY-NC-SA-3.0',
'CC-BY-SA-1.0',
'CC-BY-SA-2.0',
'CC-BY-SA-2.5',
'CC-BY-SA-3.0',
'CC0-1.0',
'CUA-OPL-1.0',
'EPL-1.0',
'eCos-2.0',
'ECL-1.0',
'ECL-2.0',
'EFL-1.0',
'EFL-2.0',
'Entessa',
'ErlPL-1.1',
'EUDatagrid',
'EUPL-1.0',
'EUPL-1.1',
'Fair',
'Frameworx-1.0',
'AGPL-3.0',
'GFDL-1.1',
'GFDL-1.2',
'GFDL-1.3',
'GPL-1.0',
'GPL-1.0+',
'GPL-2.0',
'GPL-2.0+',
'GPL-2.0-with-autoconf-exception',
'GPL-2.0-with-bison-exception',
'GPL-2.0-with-classpath-exception',
'GPL-2.0-with-font-exception',
'GPL-2.0-with-GCC-exception',
'GPL-3.0',
'GPL-3.0+',
'GPL-3.0-with-autoconf-exception',
'GPL-3.0-with-GCC-exception',
'LGPL-2.1',
'LGPL-2.1+',
'LGPL-3.0',
'LGPL-3.0+',
'LGPL-2.0',
'LGPL-2.0+',
'gSOAP-1.3b',
'HPND',
'IPL-1.0',
'IPA',
'ISC',
'LPPL-1.0',
'LPPL-1.1',
'LPPL-1.2',
'LPPL-1.3c',
'Libpng',
'LPL-1.02',
'MS-PL',
'MS-RL',
'MirOS',
'MIT',
'Motosoto',
'MPL-1.0',
'MPL-1.1',
'Multics',
'NASA-1.3',
'Naumen',
'NGPL',
'Nokia',
'NPOSL-3.0',
'NTP',
'OCLC-2.0',
'ODbL-1.0',
'PDDL-1.0',
'OGTSL',
'OSL-1.0',
'OSL-2.0',
'OSL-3.0',
'OLDAP-2.8',
'OpenSSL',
'PHP-3.01',
'PostgreSQL',
'Python-2.0',
'QPL-1.0',
'RPSL-1.0',
'RPL-1.5',
'RHeCos-1.1',
'RSCPL',
'Ruby',
'SAX-PD',
'OFL-1.1',
'SimPL-2.0',
'Sleepycat',
'SugarCRM-1.1.3',
'SPL-1.0',
'Watcom-1.0',
'NCSA',
'VSL-1.0',
'W3C',
'WXwindows',
'Xnet',
'XFree86-1.1',
'YPL-1.1',
'Zimbra-1.3',
'Zlib',
'ZPL-1.1',
'ZPL-2.0',
'ZPL-2.1',
))

View File

@ -6,7 +6,7 @@ Index: TagsCheck.py
self._unexpanded_macros(pkg, 'Group', group)
if not group:
printError(pkg, 'no-group-tag')
+ elif pkg.name.find('-devel') != -1 and not group.startswith('Development/'):
+ elif pkg.name.endswith('-devel') and not group.startswith('Development/'):
+ printWarning(pkg, 'devel-package-with-non-devel-group', group)
elif VALID_GROUPS and group not in VALID_GROUPS:
printWarning(pkg, 'non-standard-group', group)

View File

@ -1,3 +1,13 @@
-------------------------------------------------------------------
Tue Nov 29 12:39:47 UTC 2011 - lnussel@suse.de
- fix devel-package-with-non-devel-group check (bnc#732897)
-------------------------------------------------------------------
Tue Nov 29 12:08:30 UTC 2011 - lnussel@suse.de
- enable license check
-------------------------------------------------------------------
Mon Nov 28 11:00:43 UTC 2011 - lnussel@suse.de

View File

@ -50,6 +50,7 @@ Source21: BashismsCheck.py
Source22: CheckGNOMEMacros.py
Source23: CheckBuildDate.py
Source24: pie.config
Source25: licenses.config
Source100: syntax-validator.py
Url: http://rpmlint.zarb.org/
License: GPLv2+
@ -125,6 +126,7 @@ Patch86: suse-rclink-check.diff
# accepted upstream
Patch88: suse-speccheck-utf8.diff
Patch89: suse-python-abi-check.diff
Patch90: suse-allow-semicolon-as-license-separator.diff
%py_requires
%description
@ -204,6 +206,7 @@ Authors:
#patch87 -p1
%patch88
%patch89
%patch90 -p1
cp -p %{SOURCE1} .
cp -p %{SOURCE2} .
cp -p %{SOURCE3} .
@ -240,6 +243,7 @@ head -n 8 $RPM_BUILD_ROOT/usr/share/rpmlint/config > $RPM_BUILD_ROOT/etc/rpmlint
python -tt %{SOURCE100} $RPM_BUILD_ROOT/usr/share/rpmlint/*.py $RPM_BUILD_ROOT/usr/share/rpmlint/config
%__install -m 644 %{SOURCE20} %{buildroot}/%{_sysconfdir}/rpmlint/
%__install -m 644 %{SOURCE24} %{buildroot}/%{_sysconfdir}/rpmlint/
%__install -m 644 %{SOURCE25} %{buildroot}/%{_sysconfdir}/rpmlint/
%clean
rm -rf $RPM_BUILD_ROOT
@ -252,6 +256,7 @@ rm -rf $RPM_BUILD_ROOT
%config(noreplace) /etc/rpmlint/config
%config %{_sysconfdir}/rpmlint/rpmgroups.config
%config %{_sysconfdir}/rpmlint/pie.config
%config %{_sysconfdir}/rpmlint/licenses.config
%dir /etc/rpmlint
/usr/share/man/man1/rpmlint.1.gz

View File

@ -0,0 +1,25 @@
From c867bce77f67c562a3f704d58dc7a30042f23081 Mon Sep 17 00:00:00 2001
From: Ludwig Nussel <ludwig.nussel@suse.de>
Date: Tue, 29 Nov 2011 10:39:05 +0100
Subject: [PATCH] allow semicolon as license separator
---
TagsCheck.py | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/TagsCheck.py b/TagsCheck.py
index 762f465..5140202 100644
--- a/TagsCheck.py
+++ b/TagsCheck.py
@@ -417,7 +417,7 @@ invalid_url_regex = re.compile(Config.getOption('InvalidURL'), re.IGNORECASE)
lib_package_regex = re.compile('(?:^(?:compat-)?lib.*?(\.so.*)?|libs?[\d-]*)$', re.IGNORECASE)
leading_space_regex = re.compile('^\s+')
pkg_config_regex = re.compile('^/usr/(?:lib\d*|share)/pkgconfig/')
-license_regex = re.compile('\(([^)]+)\)|\s(?:and|or)\s')
+license_regex = re.compile('\(([^)]+)\)|\s(?:and|or|;)\s')
invalid_version_regex = re.compile('([0-9](?:rc|alpha|beta|pre).*)', re.IGNORECASE)
# () are here for grouping purpose in the regexp
forbidden_words_regex = re.compile('(' + Config.getOption('ForbiddenWords') + ')', re.IGNORECASE)
--
1.7.7