From 6631c65c5e4b421aa4113b44d4ca5107922b29b059d24578805e68e567ec5ce3 Mon Sep 17 00:00:00 2001 From: Dirk Mueller Date: Mon, 1 Feb 2021 17:25:29 +0000 Subject: [PATCH 1/4] Accepting request 868320 from home:coolo:branches:openSUSE:Factory - Update valid spdx license exceptions - Allow the + version of all valid licenses (to avoid having to fix the parser) OBS-URL: https://build.opensuse.org/request/show/868320 OBS-URL: https://build.opensuse.org/package/show/devel:openSUSE:Factory:rpmlint/rpmlint?expand=0&rev=765 --- rpmlint.changes | 7 +++++++ rpmlint.spec | 1 + suse-spdx-license-exceptions.patch | 28 ++++++++++++++++++++++------ 3 files changed, 30 insertions(+), 6 deletions(-) diff --git a/rpmlint.changes b/rpmlint.changes index 462aaf7..87baf65 100644 --- a/rpmlint.changes +++ b/rpmlint.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +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..1abb5d1 100644 --- a/rpmlint.spec +++ b/rpmlint.spec @@ -116,6 +116,7 @@ cp %{SOURCE12} licenses.config # note there is a tab character behind the -d, so don't copy&paste lightly cut '-d ' -f1 %{_prefix}/lib/obs/service/format_spec_file.files/licenses_changes.txt | tail -n +2 | sort -u | while read l; do sed -i -e "s/\(#VALIDLICENSES\)/\1\n '$l',/" licenses.config + 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 \ 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), From 180c8a16a72ab2ba17ed3b1f491fe5eefc9871ce978edd4e3315a37802dd1bbc Mon Sep 17 00:00:00 2001 From: Dirk Mueller Date: Fri, 5 Feb 2021 15:25:03 +0000 Subject: [PATCH 2/4] Accepting request 869032 from home:computersalat:branches:devel:openSUSE:Factory:rpmlint add 'otobo' group/id OBS-URL: https://build.opensuse.org/request/show/869032 OBS-URL: https://build.opensuse.org/package/show/devel:openSUSE:Factory:rpmlint/rpmlint?expand=0&rev=766 --- config | 2 ++ rpmlint.changes | 5 +++++ 2 files changed, 7 insertions(+) diff --git a/config b/config index 670794a..4ab1f76 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', diff --git a/rpmlint.changes b/rpmlint.changes index 87baf65..5d6df0e 100644 --- a/rpmlint.changes +++ b/rpmlint.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +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 From 9c09cdda26ee2e4fcf45ac04f49193191a26b48cbf4d5542650313ce7a17461d Mon Sep 17 00:00:00 2001 From: Wolfgang Frisch Date: Mon, 22 Feb 2021 13:42:57 +0000 Subject: [PATCH 3/4] Accepting request 874327 from home:mgerstner:branches:devel:openSUSE:Factory:rpmlint - whitelist pam_sss_gss.so PAM module (bsc#1182509) OBS-URL: https://build.opensuse.org/request/show/874327 OBS-URL: https://build.opensuse.org/package/show/devel:openSUSE:Factory:rpmlint/rpmlint?expand=0&rev=767 --- config | 2 ++ rpmlint.changes | 5 +++++ 2 files changed, 7 insertions(+) diff --git a/config b/config index 4ab1f76..9bf20cd 100644 --- a/config +++ b/config @@ -944,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.changes b/rpmlint.changes index 5d6df0e..846af86 100644 --- a/rpmlint.changes +++ b/rpmlint.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +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 From 804a3cc03a58ab6dd6d679813bf72789c43018d1ba7409d4f53004ff186a08f6 Mon Sep 17 00:00:00 2001 From: Dirk Mueller Date: Mon, 1 Mar 2021 19:27:04 +0000 Subject: [PATCH 4/4] Accepting request 875382 from home:coolo:branches:openSUSE:Factory - 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 - Add accept-licenses-with-plus.patch to accept any license ending with a + (as indicated in the SPDX syntax) - Remove licenses ending with + from valid license array OBS-URL: https://build.opensuse.org/request/show/875382 OBS-URL: https://build.opensuse.org/package/show/devel:openSUSE:Factory:rpmlint/rpmlint?expand=0&rev=768 --- _servicedata | 4 +- accept-licenses-with-plus.patch | 38 +++++++++++++++++++ rpmlint-checks-master.tar.xz | 4 +- ...int-tests-84.87+git20200724.ef05f7e.tar.xz | 3 -- ...int-tests-84.87+git20210226.d6b66e2.tar.xz | 3 ++ rpmlint-tests.changes | 9 +++++ rpmlint-tests.spec | 2 +- rpmlint.changes | 11 ++++++ rpmlint.spec | 6 +-- 9 files changed, 69 insertions(+), 11 deletions(-) create mode 100644 accept-licenses-with-plus.patch delete mode 100644 rpmlint-tests-84.87+git20200724.ef05f7e.tar.xz create mode 100644 rpmlint-tests-84.87+git20210226.d6b66e2.tar.xz 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/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 846af86..7513b7c 100644 --- a/rpmlint.changes +++ b/rpmlint.changes @@ -1,3 +1,14 @@ +------------------------------------------------------------------- +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 diff --git a/rpmlint.spec b/rpmlint.spec index 1abb5d1..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 @@ -116,12 +117,11 @@ cp %{SOURCE12} licenses.config # note there is a tab character behind the -d, so don't copy&paste lightly cut '-d ' -f1 %{_prefix}/lib/obs/service/format_spec_file.files/licenses_changes.txt | tail -n +2 | sort -u | while read l; do sed -i -e "s/\(#VALIDLICENSES\)/\1\n '$l',/" licenses.config - 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/