# # spec file for package rpmlint # # Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # #!BuildIgnore: rpmlint-mini Name: rpmlint BuildRequires: obs-service-format_spec_file BuildRequires: python-pytest BuildRequires: rpm-python BuildRequires: xz Summary: Rpm correctness checker License: GPL-2.0+ Group: System/Packages Version: 1.8 Release: 0 Source0: https://github.com/rpm-software-management/rpmlint/archive/rpmlint-%{version}.tar.gz Source1: rpmlint-checks-master.tar.xz Source2: config Source3: config.in Source11: pie.config Source12: licenses.config Source98: update_git.sh Source99: README.packaging.txt Source100: syntax-validator.py Url: https://github.com/rpm-software-management/rpmlint Requires: /usr/bin/readelf Requires: bash Requires: checkbashisms Requires: cpio Requires: dash Requires: desktop-file-utils Requires: file Requires: findutils Requires: python-magic Requires: python-xml Requires: rpm-python # Requirement for ErlangCheck.py (pull-request #2). Requires: python-pybeam # # Read README.packaging.txt before making any changes to this # package # # PATCHLIST BEGIN Patch00: rpmlint-suse.diff Patch01: suse-checks.diff Patch02: suse-version.diff Patch03: suse-url-check.diff Patch04: suse-python3-naming-policy.diff Patch05: suse-filesystem.diff Patch06: suse-pkg-config-check.diff Patch07: suse-binarieschecks.diff Patch08: no-doc-for-lib.diff Patch09: suse-filter-exception.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 Patch61: postin-speedup.diff # https://github.com/rpm-software-management/rpmlint/commit/37fe9d4f237c2cb29fcb3b60d1ece189e578eeaf.patch and followup regression fixes Patch62: binaryinfo-speedup.diff Patch63: 0001-Avoid-messing-with-the-error-encoding-Fixes-61.patch Patch64: omit_BUILDROOT_from_pyo_files.patch # PATCH-FIX-UPSTREAM 0001-Fix-resolving-Python-source-from-3.5-.opt-12.pyc.patch alarrosa@suse.com -- Fixes resolving python source from files generated following PEP0488 Patch65: 0001-Fix-resolving-Python-source-from-3.5-.opt-12.pyc.patch Patch66: issue_68_BinariesCheck_lower_memory.patch # PATCHLIST END # BuildArch must at the end. is a bug: https://bugzilla.suse.com/show_bug.cgi?id=926766 BuildArch: noarch %py_requires %description Rpmlint is a tool to check common errors on rpm packages. Binary and source packages can be checked. %prep %autosetup -n rpmlint-rpmlint-%{version} -a1 -p1 cp -p %{SOURCE2} . # Only move top-level python files chmod 0755 rpmlint-checks-master/*.py mv rpmlint-checks-master/*.py . %build make %{?_smp_mflags} %install make install DESTDIR=$RPM_BUILD_ROOT # the provided bash-completion does not work and only prints bash errors rm -rf $RPM_BUILD_ROOT/etc/bash_completion.d mv $RPM_BUILD_ROOT/etc/rpmlint/config $RPM_BUILD_ROOT/usr/share/rpmlint/config head -n 8 $RPM_BUILD_ROOT/usr/share/rpmlint/config > $RPM_BUILD_ROOT/etc/rpmlint/config # make sure that the package is sane python -tt %{SOURCE100} $RPM_BUILD_ROOT/usr/share/rpmlint/*.py $RPM_BUILD_ROOT/usr/share/rpmlint/config %__install -m 644 %{SOURCE11} %{buildroot}/%{_sysconfdir}/rpmlint/ cp %{SOURCE12} licenses.config # note there is a tab character behind the -d, so don't copy&paste lightly cut '-d ' -f1 /usr/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 done %__install -m 644 licenses.config %{buildroot}/%{_sysconfdir}/rpmlint/ %check sh ./test.sh %files %defattr(-,root,root,0755) %doc COPYING INSTALL README* %{_prefix}/bin/* %{_prefix}/share/rpmlint %config(noreplace) /etc/rpmlint/config %config %{_sysconfdir}/rpmlint/pie.config %config %{_sysconfdir}/rpmlint/licenses.config %dir /etc/rpmlint /usr/share/man/man1/rpmlint.1.gz /usr/share/man/man1/rpmdiff.1.gz %changelog