forked from pool/rpmlint
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:
commit
95b07d2f9b
1
config
1
config
@ -497,7 +497,6 @@ addFilter(" dangerous-command.*")
|
|||||||
addFilter(" setuid-binary.*")
|
addFilter(" setuid-binary.*")
|
||||||
addFilter(".*FSSTND-dir-in-var /var/adm/.*")
|
addFilter(".*FSSTND-dir-in-var /var/adm/.*")
|
||||||
addFilter("subdir-in-bin /sbin/conf.d/")
|
addFilter("subdir-in-bin /sbin/conf.d/")
|
||||||
addFilter(" invalid-license")
|
|
||||||
addFilter(".* nss_db non-standard-dir-in-var db")
|
addFilter(".* nss_db non-standard-dir-in-var db")
|
||||||
addFilter("non-standard-dir-in-usr openwin")
|
addFilter("non-standard-dir-in-usr openwin")
|
||||||
addFilter("ibcs2 non-standard-dir-in-usr i486-sysv4")
|
addFilter("ibcs2 non-standard-dir-in-usr i486-sysv4")
|
||||||
|
169
licenses.config
Normal file
169
licenses.config
Normal 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',
|
||||||
|
))
|
@ -6,7 +6,7 @@ Index: TagsCheck.py
|
|||||||
self._unexpanded_macros(pkg, 'Group', group)
|
self._unexpanded_macros(pkg, 'Group', group)
|
||||||
if not group:
|
if not group:
|
||||||
printError(pkg, 'no-group-tag')
|
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)
|
+ printWarning(pkg, 'devel-package-with-non-devel-group', group)
|
||||||
elif VALID_GROUPS and group not in VALID_GROUPS:
|
elif VALID_GROUPS and group not in VALID_GROUPS:
|
||||||
printWarning(pkg, 'non-standard-group', group)
|
printWarning(pkg, 'non-standard-group', group)
|
||||||
|
@ -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
|
Mon Nov 28 11:00:43 UTC 2011 - lnussel@suse.de
|
||||||
|
|
||||||
|
@ -50,6 +50,7 @@ Source21: BashismsCheck.py
|
|||||||
Source22: CheckGNOMEMacros.py
|
Source22: CheckGNOMEMacros.py
|
||||||
Source23: CheckBuildDate.py
|
Source23: CheckBuildDate.py
|
||||||
Source24: pie.config
|
Source24: pie.config
|
||||||
|
Source25: licenses.config
|
||||||
Source100: syntax-validator.py
|
Source100: syntax-validator.py
|
||||||
Url: http://rpmlint.zarb.org/
|
Url: http://rpmlint.zarb.org/
|
||||||
License: GPLv2+
|
License: GPLv2+
|
||||||
@ -125,6 +126,7 @@ Patch86: suse-rclink-check.diff
|
|||||||
# accepted upstream
|
# accepted upstream
|
||||||
Patch88: suse-speccheck-utf8.diff
|
Patch88: suse-speccheck-utf8.diff
|
||||||
Patch89: suse-python-abi-check.diff
|
Patch89: suse-python-abi-check.diff
|
||||||
|
Patch90: suse-allow-semicolon-as-license-separator.diff
|
||||||
%py_requires
|
%py_requires
|
||||||
|
|
||||||
%description
|
%description
|
||||||
@ -204,6 +206,7 @@ Authors:
|
|||||||
#patch87 -p1
|
#patch87 -p1
|
||||||
%patch88
|
%patch88
|
||||||
%patch89
|
%patch89
|
||||||
|
%patch90 -p1
|
||||||
cp -p %{SOURCE1} .
|
cp -p %{SOURCE1} .
|
||||||
cp -p %{SOURCE2} .
|
cp -p %{SOURCE2} .
|
||||||
cp -p %{SOURCE3} .
|
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
|
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 %{SOURCE20} %{buildroot}/%{_sysconfdir}/rpmlint/
|
||||||
%__install -m 644 %{SOURCE24} %{buildroot}/%{_sysconfdir}/rpmlint/
|
%__install -m 644 %{SOURCE24} %{buildroot}/%{_sysconfdir}/rpmlint/
|
||||||
|
%__install -m 644 %{SOURCE25} %{buildroot}/%{_sysconfdir}/rpmlint/
|
||||||
|
|
||||||
%clean
|
%clean
|
||||||
rm -rf $RPM_BUILD_ROOT
|
rm -rf $RPM_BUILD_ROOT
|
||||||
@ -252,6 +256,7 @@ rm -rf $RPM_BUILD_ROOT
|
|||||||
%config(noreplace) /etc/rpmlint/config
|
%config(noreplace) /etc/rpmlint/config
|
||||||
%config %{_sysconfdir}/rpmlint/rpmgroups.config
|
%config %{_sysconfdir}/rpmlint/rpmgroups.config
|
||||||
%config %{_sysconfdir}/rpmlint/pie.config
|
%config %{_sysconfdir}/rpmlint/pie.config
|
||||||
|
%config %{_sysconfdir}/rpmlint/licenses.config
|
||||||
%dir /etc/rpmlint
|
%dir /etc/rpmlint
|
||||||
/usr/share/man/man1/rpmlint.1.gz
|
/usr/share/man/man1/rpmlint.1.gz
|
||||||
|
|
||||||
|
25
suse-allow-semicolon-as-license-separator.diff
Normal file
25
suse-allow-semicolon-as-license-separator.diff
Normal 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
|
||||||
|
|
Loading…
Reference in New Issue
Block a user