diff --git a/_servicedata b/_servicedata
index b96c24d..87ad3f2 100644
--- a/_servicedata
+++ b/_servicedata
@@ -1,6 +1,6 @@
https://github.com/openSUSE/rpmlint-tests.git
- 3d948bb4c8be26e2ec8922d4c3430b0e0451994b
+ d6b66e2f3072f5962358e0101c3597316903cfd2
https://github.com/openSUSE/rpmlint-checks.git
- f62985c16ad7bc370ea08958a139d23aad4fd94b
\ No newline at end of file
+ 8a60ef9ef02754556557db3708477f3568c13ff1
\ No newline at end of file
diff --git a/accept-licenses-with-plus.patch b/accept-licenses-with-plus.patch
new file mode 100644
index 0000000..d347cd0
--- /dev/null
+++ b/accept-licenses-with-plus.patch
@@ -0,0 +1,38 @@
+Index: rpmlint-rpmlint-1.11/TagsCheck.py
+===================================================================
+--- rpmlint-rpmlint-1.11.orig/TagsCheck.py
++++ rpmlint-rpmlint-1.11/TagsCheck.py
+@@ -845,12 +845,19 @@ class TagsCheck(AbstractCheck.AbstractCh
+ return (x.strip() for x in
+ (l for l in license_regex.split(license) if l))
+
++ def is_valid_license(license):
++ if license in VALID_LICENSES:
++ return True
++ if license.endswith('+'):
++ return license[:-1] in VALID_LICENSES
++ return False
++
+ rpm_license = pkg[rpm.RPMTAG_LICENSE]
+ if not rpm_license:
+ printError(pkg, 'no-license')
+ else:
+ valid_license = True
+- if rpm_license not in VALID_LICENSES:
++ if not is_valid_license(rpm_license):
+ license_string = rpm_license
+
+ l1, lexception = split_license_exception(rpm_license)
+@@ -862,10 +869,10 @@ class TagsCheck(AbstractCheck.AbstractCh
+ valid_license = False
+
+ for l1 in split_license(license_string):
+- if l1 in VALID_LICENSES:
++ if is_valid_license(l1):
+ continue
+ for l2 in split_license(l1):
+- if l2 not in VALID_LICENSES:
++ if not is_valid_license(l2):
+ printWarning(pkg, 'invalid-license', l2)
+ valid_license = False
+ if not valid_license:
diff --git a/config b/config
index 670794a..9bf20cd 100644
--- a/config
+++ b/config
@@ -204,6 +204,7 @@ setOption('StandardGroups', (
'oinstall',
'openvswitch',
'orthanc',
+ 'otobo',
'otrs',
'ovirtagent',
'pcp',
@@ -427,6 +428,7 @@ setOption('StandardUsers', (
'openvswitch',
'oracle',
'orthanc'
+ 'otobo',
'otrs',
'ovirtagent',
'partimag',
@@ -942,6 +944,8 @@ setOption("PAMModules.WhiteList", (
"pam_malcontent.so",
# pam (bsc#1171562)
"pam_faillock.so",
+ # sssd gssapi extension (bsc#1182509)
+ "pam_sss_gss.so"
))
# Output filters
diff --git a/rpmlint-checks-master.tar.xz b/rpmlint-checks-master.tar.xz
index 7aae3a8..5d00586 100644
--- a/rpmlint-checks-master.tar.xz
+++ b/rpmlint-checks-master.tar.xz
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:1313aa66bf802838eb87286a97ee2e45787b290254e5991a8c948808a359edf8
-size 32840
+oid sha256:eb3db8e4053d3e4c92e466f802fd82c79d252596920eb37d6246ef96df3833cc
+size 32856
diff --git a/rpmlint-tests-84.87+git20200724.ef05f7e.tar.xz b/rpmlint-tests-84.87+git20200724.ef05f7e.tar.xz
deleted file mode 100644
index af29a4c..0000000
--- a/rpmlint-tests-84.87+git20200724.ef05f7e.tar.xz
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:d5423af9fa9924f86439a06e98867d2a9895d51e457447d1df111913a72450e8
-size 13632
diff --git a/rpmlint-tests-84.87+git20210226.d6b66e2.tar.xz b/rpmlint-tests-84.87+git20210226.d6b66e2.tar.xz
new file mode 100644
index 0000000..8c1f25f
--- /dev/null
+++ b/rpmlint-tests-84.87+git20210226.d6b66e2.tar.xz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:82a5d1be062d1aa69f57d2adc815de653c26d0dbecfd5078acec6666268c9481
+size 13672
diff --git a/rpmlint-tests.changes b/rpmlint-tests.changes
index 53e2545..28f89ba 100644
--- a/rpmlint-tests.changes
+++ b/rpmlint-tests.changes
@@ -1,3 +1,12 @@
+-------------------------------------------------------------------
+Fri Feb 26 09:10:31 UTC 2021 - coolo@suse.com
+
+- Update to version 84.87+git20210226.d6b66e2:
+ * GitHub Actions: work around the missing
+ * GitHub Actions: work around the missing `groupadd`
+ * rclink2: fix test reference output
+ * polkit: adjust polkit frobnicate action name
+
-------------------------------------------------------------------
Fri Jul 31 10:28:58 UTC 2020 - matthias.gerstner@suse.com
diff --git a/rpmlint-tests.spec b/rpmlint-tests.spec
index b9a23c8..0583496 100644
--- a/rpmlint-tests.spec
+++ b/rpmlint-tests.spec
@@ -24,7 +24,7 @@ BuildRequires: rpmlint-Factory-strict
BuildRequires: rpmlint-mini
Name: rpmlint-tests
-Version: 84.87+git20200724.ef05f7e
+Version: 84.87+git20210226.d6b66e2
Release: 0
Summary: rpmlint regression tests
License: SUSE-Public-Domain
diff --git a/rpmlint.changes b/rpmlint.changes
index 462aaf7..7513b7c 100644
--- a/rpmlint.changes
+++ b/rpmlint.changes
@@ -1,3 +1,31 @@
+-------------------------------------------------------------------
+Fri Feb 26 10:49:52 UTC 2021 - Stephan Kulow
+
+- Add accept-licenses-with-plus.patch to accept any license ending
+ with a + (as indicated in the SPDX syntax)
+
+-------------------------------------------------------------------
+Fri Feb 26 09:12:17 UTC 2021 - Stephan Kulow
+
+- Remove licenses ending with + from valid license array
+
+-------------------------------------------------------------------
+Mon Feb 22 13:26:48 UTC 2021 - Matthias Gerstner
+
+- whitelist pam_sss_gss.so PAM module (bsc#1182509)
+
+-------------------------------------------------------------------
+Wed Feb 3 21:24:59 UTC 2021 - chris@computersalat.de
+
+- add 'otobo' group/id
+
+-------------------------------------------------------------------
+Mon Feb 1 10:15:50 UTC 2021 - Stephan Kulow
+
+- Update valid spdx license exceptions
+- Allow the + version of all valid licenses (to avoid having to fix
+ the parser)
+
-------------------------------------------------------------------
Fri Jan 15 11:42:10 UTC 2021 - Christopher Yeleighton
diff --git a/rpmlint.spec b/rpmlint.spec
index 6e1ee25..12afca1 100644
--- a/rpmlint.spec
+++ b/rpmlint.spec
@@ -62,6 +62,7 @@ Patch72: rpmlint-slpp-NUM-NUM.patch
Patch77: suse-rpmlint-all-pie.patch
Patch78: add-check-for-a-non-zero-.text-segment-in-.a-archive.patch
Patch79: rpm415-workaround.diff
+Patch80: accept-licenses-with-plus.patch
BuildRequires: desktop-file-utils
BuildRequires: obs-service-format_spec_file
BuildRequires: python3-flake8
@@ -118,9 +119,9 @@ cut '-d ' -f1 %{_prefix}/lib/obs/service/format_spec_file.files/licenses_changes
sed -i -e "s/\(#VALIDLICENSES\)/\1\n '$l',/" licenses.config
done
# add some deprecated licenses we allow for now
-for l in AGPL-3.0 AGPL-3.0+ GFDL-1.1 GFDL-1.1+ GFDL-1.2 GFDL-1.2+ GFDL-1.3 GFDL-1.3+ GPL-3.0-with-GCC-exception \
+for l in AGPL-3.0 GFDL-1.1 GFDL-1.2 GFDL-1.3 GPL-3.0-with-GCC-exception \
GPL-2.0-with-classpath-exception GPL-2.0-with-font-exception SUSE-LGPL-2.1+-with-GCC-exception SUSE-NonFree \
- GPL-1.0+ GPL-1.0 GPL-2.0+ GPL-2.0 GPL-3.0+ GPL-3.0 LGPL-2.0 LGPL-2.0+ LGPL-2.1+ LGPL-2.1 LGPL-3.0+ LGPL-3.0; do
+ GPL-1.0 GPL-2.0 GPL-3.0 LGPL-2.0 LGPL-2.1 LGPL-3.0; do
sed -i -e "s/\(#VALIDLICENSES\)/\1\n '$l',/" licenses.config
done
install -m 644 licenses.config %{buildroot}/%{_sysconfdir}/rpmlint/
diff --git a/suse-spdx-license-exceptions.patch b/suse-spdx-license-exceptions.patch
index 498e06b..32aa84f 100644
--- a/suse-spdx-license-exceptions.patch
+++ b/suse-spdx-license-exceptions.patch
@@ -11,7 +11,7 @@ Index: rpmlint-rpmlint-1.11/TagsCheck.py
===================================================================
--- rpmlint-rpmlint-1.11.orig/TagsCheck.py
+++ rpmlint-rpmlint-1.11/TagsCheck.py
-@@ -140,6 +140,34 @@ DEFAULT_VALID_LICENSES = (
+@@ -140,6 +140,50 @@ DEFAULT_VALID_LICENSES = (
'Shareware',
)
@@ -20,6 +20,7 @@ Index: rpmlint-rpmlint-1.11/TagsCheck.py
+ 'Autoconf-exception-2.0',
+ 'Autoconf-exception-3.0',
+ 'Bison-exception-2.2',
++ 'Bootloader-exception',
+ 'CLISP-exception-2.0',
+ 'Classpath-exception-2.0',
+ 'DigiRule-FOSS-exception',
@@ -28,11 +29,26 @@ Index: rpmlint-rpmlint-1.11/TagsCheck.py
+ 'Font-exception-2.0',
+ 'GCC-exception-2.0',
+ 'GCC-exception-3.1',
++ 'GPL-3.0-linking-exception',
++ 'GPL-3.0-linking-source-exception',
++ 'GPL-CC-1.0',
++ 'LGPL-3.0-linking-exception',
++ 'LLVM-exception',
+ 'LZMA-exception',
+ 'Libtool-exception',
++ 'Linux-syscall-note',
+ 'Nokia-Qt-exception-1.1',
+ 'OCCT-exception-1.0',
++ 'OCaml-LGPL-linking-exception',
++ 'OpenJDK-assembly-exception-1.0',
++ 'PS-or-PDF-font-exception-20170817',
++ 'Qt-GPL-exception-1.0',
++ 'Qt-LGPL-exception-1.1',
+ 'Qwt-exception-1.0',
++ 'SHL-2.0',
++ 'SHL-2.1',
++ 'Swift-exception',
++ 'Universal-FOSS-exception-1.0',
+ 'WxWindows-exception-3.1',
+ 'eCos-exception-2.0',
+ 'freertos-exception-2.0',
@@ -46,7 +62,7 @@ Index: rpmlint-rpmlint-1.11/TagsCheck.py
BAD_WORDS = {
'alot': 'a lot',
'accesnt': 'accent',
-@@ -408,6 +436,7 @@ VALID_GROUPS = Config.getOption('ValidGr
+@@ -408,6 +452,7 @@ VALID_GROUPS = Config.getOption('ValidGr
if VALID_GROUPS is None: # get defaults from rpm package only if it's not set
VALID_GROUPS = Pkg.get_default_valid_rpmgroups()
VALID_LICENSES = Config.getOption('ValidLicenses', DEFAULT_VALID_LICENSES)
@@ -54,7 +70,7 @@ Index: rpmlint-rpmlint-1.11/TagsCheck.py
INVALID_REQUIRES = map(re.compile, Config.getOption('InvalidRequires', DEFAULT_INVALID_REQUIRES))
packager_regex = re.compile(Config.getOption('Packager'))
changelog_version_regex = re.compile(r'[^>]([^ >]+)\s*$')
-@@ -422,6 +451,7 @@ lib_package_regex = re.compile(r'(?:^(?:
+@@ -422,6 +467,7 @@ lib_package_regex = re.compile(r'(?:^(?:
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')
@@ -62,7 +78,7 @@ Index: rpmlint-rpmlint-1.11/TagsCheck.py
invalid_version_regex = re.compile(r'([0-9](?:rc|alpha|beta|pre).*)', re.IGNORECASE)
# () are here for grouping purpose in the regexp
forbidden_words_regex = re.compile(r'(%s)' % Config.getOption('ForbiddenWords'), re.IGNORECASE)
-@@ -795,6 +825,10 @@ class TagsCheck(AbstractCheck.AbstractCh
+@@ -795,6 +841,10 @@ class TagsCheck(AbstractCheck.AbstractCh
# printWarning(pkg, 'package-provides-itself')
# break
@@ -73,7 +89,7 @@ Index: rpmlint-rpmlint-1.11/TagsCheck.py
def split_license(license):
return (x.strip() for x in
(l for l in license_regex.split(license) if l))
-@@ -805,7 +839,17 @@ class TagsCheck(AbstractCheck.AbstractCh
+@@ -805,7 +855,17 @@ class TagsCheck(AbstractCheck.AbstractCh
else:
valid_license = True
if rpm_license not in VALID_LICENSES:
@@ -92,7 +108,7 @@ Index: rpmlint-rpmlint-1.11/TagsCheck.py
if l1 in VALID_LICENSES:
continue
for l2 in split_license(l1):
-@@ -1092,6 +1136,11 @@ your specfile.''',
+@@ -1092,6 +1152,11 @@ your specfile.''',
'''The value of the License tag was not recognized. Known values are:
"%s".''' % '", "'.join(VALID_LICENSES),