Hello community, here is the log from the commit of package rpmlint for openSUSE:Factory checked in at 2016-05-29 03:06:35 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/rpmlint (Old) and /work/SRC/openSUSE:Factory/.rpmlint.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rpmlint" Changes: -------- --- /work/SRC/openSUSE:Factory/rpmlint/rpmlint.changes 2016-04-03 23:04:52.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.rpmlint.new/rpmlint.changes 2016-05-29 03:06:37.000000000 +0200 @@ -1,0 +2,26 @@ +Thu May 19 19:49:25 UTC 2016 - [email protected] + +- suse-spdx-license-exceptions.patch, suse-sysv-init-checks.diff: + adjust to match rpmlint-tests again + +------------------------------------------------------------------- +Thu May 19 19:11:40 UTC 2016 - [email protected] + +- update link to list of valid licenses + +------------------------------------------------------------------- +Thu May 19 12:00:09 UTC 2016 - [email protected] + +- temporary approval for tcmu-runner dbus service (bsc#978903) + +------------------------------------------------------------------- +Tue May 3 16:33:33 UTC 2016 - [email protected] + +- add omit_BUILDROOT_from_pyo_files.patch (boo#978306) + +------------------------------------------------------------------- +Wed Apr 6 09:31:04 UTC 2016 - [email protected] + +- add suse-spdx-license-exceptions.patch (bsc#973404) + +------------------------------------------------------------------- New: ---- omit_BUILDROOT_from_pyo_files.patch suse-spdx-license-exceptions.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ rpmlint.spec ++++++ --- /var/tmp/diff_new_pack.VJHcRY/_old 2016-05-29 03:06:39.000000000 +0200 +++ /var/tmp/diff_new_pack.VJHcRY/_new 2016-05-29 03:06:39.000000000 +0200 @@ -66,52 +66,54 @@ Patch07: suse-binarieschecks.diff Patch08: no-doc-for-lib.diff Patch09: suse-filter-exception.diff -Patch10: usr-arch.diff -Patch11: script-interpreter-only-for-exec-sc.diff -Patch12: sourced-dirs.diff -Patch13: suse-filter-more-verbose.diff -Patch14: docdata-examples.diff -Patch15: yast-provides.diff -Patch16: xdg-paths-update.diff -Patch17: better-wrong-script.diff -Patch18: buildroot-doc.diff -Patch19: rpmgroup-checks.diff -Patch20: devel-provide-is-devel-package.diff -Patch21: only-reg-files-are-scripts.diff -Patch22: buildroot-in-scripts.diff -Patch23: libtool-wrapper-check.diff -Patch24: suse-check-optional-dependencies.diff -Patch25: noarch-lib64.diff -Patch26: suse-no-run-ldconfig.diff -Patch27: description-check.diff -Patch28: add-weak-dependencies.diff -Patch29: selfconflicts-provide.diff -Patch30: no-badness-return.diff -Patch31: suse-shlib-devel-dependency.diff -Patch32: version-control-internal-file.diff -Patch33: stricter-interpreter-check.diff -Patch34: confusing-invalid-spec-name.diff -Patch35: rpmlint-pkg-quoting.diff -Patch36: suse-g-ir-chech.diff -Patch37: remove-expand-macros.diff -Patch38: suse-whitelist-opensuse.diff -Patch39: extend-suse-conffiles-check.diff -Patch40: compressed-backup-regex.diff -Patch41: suse-speccheck-utf8.diff -Patch42: suse-python-abi-check.diff -Patch43: suse-manpages-for-rc-scripts.diff -Patch44: suse-ignore-specfile-errors.diff -Patch45: invalid-filerequires.diff -Patch46: suse-sysv-init-checks.diff -Patch47: check-for-self-provides.diff -Patch48: add-check-for-tmpfiles-created-at-r.diff -Patch49: remove-files-attr-not-set-check.diff -Patch50: fix-shared-library-matching.diff +Patch10: suse-spdx-license-exceptions.patch +Patch20: usr-arch.diff +Patch21: script-interpreter-only-for-exec-sc.diff +Patch22: sourced-dirs.diff +Patch23: suse-filter-more-verbose.diff +Patch24: docdata-examples.diff +Patch25: yast-provides.diff +Patch26: xdg-paths-update.diff +Patch27: better-wrong-script.diff +Patch28: buildroot-doc.diff +Patch29: rpmgroup-checks.diff +Patch30: devel-provide-is-devel-package.diff +Patch31: only-reg-files-are-scripts.diff +Patch32: buildroot-in-scripts.diff +Patch33: libtool-wrapper-check.diff +Patch34: suse-check-optional-dependencies.diff +Patch35: noarch-lib64.diff +Patch36: suse-no-run-ldconfig.diff +Patch37: description-check.diff +Patch38: add-weak-dependencies.diff +Patch39: selfconflicts-provide.diff +Patch40: no-badness-return.diff +Patch41: suse-shlib-devel-dependency.diff +Patch42: version-control-internal-file.diff +Patch43: stricter-interpreter-check.diff +Patch44: confusing-invalid-spec-name.diff +Patch45: rpmlint-pkg-quoting.diff +Patch46: suse-g-ir-chech.diff +Patch47: remove-expand-macros.diff +Patch48: suse-whitelist-opensuse.diff +Patch49: extend-suse-conffiles-check.diff +Patch50: compressed-backup-regex.diff +Patch51: suse-speccheck-utf8.diff +Patch52: suse-python-abi-check.diff +Patch53: suse-manpages-for-rc-scripts.diff +Patch54: suse-ignore-specfile-errors.diff +Patch55: invalid-filerequires.diff +Patch56: suse-sysv-init-checks.diff +Patch57: check-for-self-provides.diff +Patch58: add-check-for-tmpfiles-created-at-r.diff +Patch59: remove-files-attr-not-set-check.diff +Patch60: fix-shared-library-matching.diff # https://github.com/rpm-software-management/rpmlint/commit/1436dd7bc41115af658cf8f36a3149ab90a61fcf.patch -Patch51: postin-speedup.diff +Patch61: postin-speedup.diff # https://github.com/rpm-software-management/rpmlint/commit/37fe9d4f237c2cb29fcb3b60d1ece189e578eeaf.patch and followup regression fixes -Patch52: binaryinfo-speedup.diff -Patch53: 0001-Avoid-messing-with-the-error-encoding-Fixes-61.patch +Patch62: binaryinfo-speedup.diff +Patch63: 0001-Avoid-messing-with-the-error-encoding-Fixes-61.patch +Patch64: omit_BUILDROOT_from_pyo_files.patch # PATCHLIST END # BuildArch must at the end. is a bug: https://bugzilla.suse.com/show_bug.cgi?id=926766 BuildArch: noarch ++++++ config ++++++ --- /var/tmp/diff_new_pack.VJHcRY/_old 2016-05-29 03:06:39.000000000 +0200 +++ /var/tmp/diff_new_pack.VJHcRY/_new 2016-05-29 03:06:39.000000000 +0200 @@ -703,7 +703,10 @@ "net.hadess.SensorProxy.service", # openattic (bsc#972478) "openattic.conf", - "openattic.service" + "openattic.service", + # TEMPORARY APPROVAL ONLY (meissner 20160519) tcmu-runner (bsc#978903) + "tcmu-runner.conf", + "org.kernel.TCMUService1.service" )) setOption("PAMModules.WhiteList", ( ++++++ licenses.config ++++++ --- /var/tmp/diff_new_pack.VJHcRY/_old 2016-05-29 03:06:39.000000000 +0200 +++ /var/tmp/diff_new_pack.VJHcRY/_new 2016-05-29 03:06:39.000000000 +0200 @@ -7,7 +7,7 @@ addDetails('invalid-license', """The specified license string is not recognized. Please refer to -http://license.opensuse.org/ for the list of known licences and +https://spdx.org/licenses/ for the list of known licenses and their exact spelling.""") # from http://www.spdx.org/licenses/ ++++++ omit_BUILDROOT_from_pyo_files.patch ++++++ diff -u rpmlint-rpmlint-1.8.orig/Makefile rpmlint-rpmlint-1.8/Makefile --- rpmlint-rpmlint-1.8.orig/Makefile 2016-05-03 18:21:47.823504438 +0200 +++ rpmlint-rpmlint-1.8/Makefile 2016-05-03 18:25:11.746636047 +0200 @@ -39,9 +39,7 @@ $(DESTDIR)$(LIBDIR)/[A-Z]*.py \ $(DESTDIR)$(LIBDIR)/__*__.py ; \ fi - $(PYTHON) -O -m py_compile \ - $(DESTDIR)$(LIBDIR)/[A-Z]*.py \ - $(DESTDIR)$(LIBDIR)/__*__.py ; \ + $(PYTHON) -O -m compileall -d $(LIBDIR) $(DESTDIR)$(LIBDIR) for file in rpmlint rpmdiff ; do \ sed -e "s,#!/usr/bin/python ,#!$(PYTHON) ," $$file > $(DESTDIR)$(BINDIR)/$$file ; \ chmod +x $(DESTDIR)$(BINDIR)/$$file ; \ ++++++ suse-spdx-license-exceptions.patch ++++++ >From a7e8eca225a09c08742627af7b0c9bc7db9f44b3 Mon Sep 17 00:00:00 2001 From: Dirk Mueller <[email protected]> Date: Wed, 6 Apr 2016 11:29:40 +0200 Subject: [PATCH] Handle SPDX style license exceptions --- TagsCheck.py | 51 ++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 50 insertions(+), 1 deletion(-) diff --git a/TagsCheck.py b/TagsCheck.py index f5b7516..ada84f7 100644 --- a/TagsCheck.py +++ b/TagsCheck.py @@ -139,6 +139,34 @@ DEFAULT_VALID_LICENSES = ( 'Shareware', ) +DEFAULT_VALID_LICENSE_EXCEPTIONS = ( + '389-exception', + 'Autoconf-exception-2.0', + 'Autoconf-exception-3.0', + 'Bison-exception-2.2', + 'CLISP-exception-2.0', + 'Classpath-exception-2.0', + 'DigiRule-FOSS-exception', + 'FLTK-exception', + 'Fawkes-Runtime-exception', + 'Font-exception-2.0', + 'GCC-exception-2.0', + 'GCC-exception-3.1', + 'LZMA-exception', + 'Libtool-exception', + 'Nokia-Qt-exception-1.1', + 'OCCT-exception-1.0', + 'Qwt-exception-1.0', + 'WxWindows-exception-3.1', + 'eCos-exception-2.0', + 'freertos-exception-2.0', + 'gnu-javamail-exception', + 'i2p-gpl-java-exception', + 'mif-exception', + 'openvpn-openssl-exception', + 'u-boot-exception-2.0', +) + BAD_WORDS = { 'alot': 'a lot', 'accesnt': 'accent', @@ -404,6 +432,7 @@ VALID_GROUPS = Config.getOption('ValidGroups', None) 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) +VALID_LICENSE_EXCEPTIONS = Config.getOption('ValidLicenseExceptions', DEFAULT_VALID_LICENSE_EXCEPTIONS) INVALID_REQUIRES = map(re.compile, Config.getOption('InvalidRequires', DEFAULT_INVALID_REQUIRES)) packager_regex = re.compile(Config.getOption('Packager')) changelog_version_regex = re.compile('[^>]([^ >]+)\s*$') @@ -417,6 +446,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+') license_regex = re.compile('\(([^)]+)\)|\s(?:and|or)\s') +license_exception_regex = re.compile('(\S+)\sWITH\s(\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) @@ -776,6 +806,10 @@ class TagsCheck(AbstractCheck.AbstractCheck): # printWarning(pkg, 'package-provides-itself') # break + def split_license_exception(license): + x, y = license_exception_regex.split(license)[1:3] or (license, "") + return x.strip(), y.strip() + def split_license(license): return (x.strip() for x in (l for l in license_regex.split(license) if l)) @@ -786,7 +820,17 @@ class TagsCheck(AbstractCheck.AbstractCheck): else: valid_license = True if rpm_license not in VALID_LICENSES: - for l1 in split_license(rpm_license): + license_string = rpm_license + + l1, lexception = split_license_exception(rpm_license) + # SPDX allows "<license> WITH <license-exception>" + if lexception: + license_string = l1 + if lexception not in VALID_LICENSE_EXCEPTIONS: + printWarning(pkg, 'invalid-license-exception', lexception) + valid_license = False + + for l1 in split_license(license_string): if l1 in VALID_LICENSES: continue for l2 in split_license(l1): @@ -1062,6 +1106,11 @@ your specfile.''', '''The value of the License tag was not recognized. Known values are: "%s".''' % '", "'.join(VALID_LICENSES), +'invalid-license-exception', +'''The ' WITH <x> ' license exception of the License tag was not recognized. +Known values are: +"%s".''' % '", "'.join(VALID_LICENSE_EXCEPTIONS), + 'obsolete-not-provided', '''If a package is obsoleted by a compatible replacement, the obsoleted package should also be provided in order to not cause unnecessary dependency breakage. -- 2.7.4 ++++++ suse-sysv-init-checks.diff ++++++ --- /var/tmp/diff_new_pack.VJHcRY/_old 2016-05-29 03:06:39.000000000 +0200 +++ /var/tmp/diff_new_pack.VJHcRY/_new 2016-05-29 03:06:39.000000000 +0200 @@ -16,8 +16,8 @@ 'Default-Stop', 'Short-Description') +suse = True -+stop_on_removal_regex=re.compile('bin/systemctl stop \$service >/dev/null') -+restart_on_update_regex=re.compile('bin/systemctl try-restart \$service >/dev/null') ++stop_on_removal_regex=re.compile('bin/systemctl stop (?!.+\.service).+') ++restart_on_update_regex=re.compile('bin/systemctl try-restart (?!.+\.service).+') +insserv_cleanup_regex=re.compile('^\s*/sbin/insserv /etc/init.d$', re.MULTILINE) class InitScriptCheck(AbstractCheck.AbstractCheck):
