File rpmlint.spec of Package rpmlint-tests

#
# 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
# 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
openSUSE Build Service is sponsored by