File apparmor-profile-collector.spec of Package apparmor-profile-collector

#
# spec file for package apparmor-profile-collector
#
# Copyright (c) 2015-2019 Christian Boltz
#
# 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/
#

Name:           apparmor-profile-collector
Version:        0.0.1
Release:        1
# some of the packages containing profiles might have a different license, but we have to name one...
License:        GPL-2.0
Summary:        AppArmor Profile collector package
#Url:
Group:         Productivity/Security
Source1:       collect-profiles.sh
BuildArch:     noarch

BuildRequires: findutils

# Leap 42.1 active profiles
# zgrep /etc/apparmor.d/ ARCHIVES.gz | sed 's,^./suse/[a-z0-9_]*/,, ; s/-[0-9.-]*\.[a-z0-9]*\.[a-z0-9_]*\.rpm: .*$// ; s/^/BuildRequires: /' | sort -u
# (might need some manual post-processing if version contains letters)
BuildRequires: apparmor-abstractions
BuildRequires: apparmor-parser
BuildRequires: apparmor-profiles
BuildRequires: colord
BuildRequires: git-web
BuildRequires: haproxy
BuildRequires: libvirt-daemon
BuildRequires: lxc
BuildRequires: monitoring-plugins-bonding
BuildRequires: monitoring-plugins-cups
BuildRequires: monitoring-plugins-dhcp
BuildRequires: monitoring-plugins-disk
BuildRequires: monitoring-plugins-icmp
BuildRequires: monitoring-plugins-ide_smart
BuildRequires: monitoring-plugins-ipmi-sensor1
BuildRequires: monitoring-plugins-load
BuildRequires: monitoring-plugins-ntp_time
BuildRequires: monitoring-plugins-ping
BuildRequires: monitoring-plugins-procs
BuildRequires: monitoring-plugins-smart
BuildRequires: monitoring-plugins-ssh
BuildRequires: monitoring-plugins-swap
BuildRequires: monitoring-plugins-users
BuildRequires: monitoring-plugins-zypper
BuildRequires: mumble-server
BuildRequires: postsrsd

%if 0%{?suse_version} < 1500
# removed from Tumbleweed 2018-01-17, only collect it for Leap 42.x
BuildRequires: nsca
# removed from Tumblweed and Leap 15.0 (checked 2019-04-14)
BuildRequires: sks
%endif

# additional Tumbleweed active profiles
%if 0%{?suse_version} >= 1330
BuildRequires: liblxc1
BuildRequires: llmnrd
BuildRequires: monitoring-plugins-mem
BuildRequires: monitoring-plugins-repomd
BuildRequires: monitoring-plugins-sar-perf
BuildRequires: mosquitto
BuildRequires: openQA
BuildRequires: openQA-worker
# pure-ftpd ships a profile in extras (inactive)
BuildRequires: pure-ftpd
BuildRequires: torbrowser-apparmor-profile
BuildRequires: torbrowser-launcher
# added in Tumbleweed 2019-03-??
BuildRequires: ghostscript
%endif

# Leap 42.1 /etc/apparmor/profiles/extras/
# zgrep /etc/apparmor/profiles ARCHIVES.gz | sed 's,^./suse/[a-z0-9_]*/,, ; s/-[0-9.-]*\.[a-z0-9]*\.[a-z0-9_]*\.rpm: .*$// ; s/^/BuildRequires: /' | sort -u
BuildRequires: exim
BuildRequires: rsyslog
BuildRequires: rsyslog-module-gssapi
BuildRequires: rsyslog-module-gtls
BuildRequires: rsyslog-module-mysql
BuildRequires: rsyslog-module-pgsql
BuildRequires: rsyslog-module-relp
BuildRequires: rsyslog-module-snmp

# Leap 42.1 /usr/share/apparmor/extra-profiles/
# zgrep /usr/share/apparmor/extra-profiles/ ARCHIVES.gz | sed 's,^./suse/[a-z0-9_]*/,, ; s/-[0-9.-]*\.[a-z0-9]*\.[a-z0-9_]*\.rpm: .*$// ; s/^/BuildRequires: /' | sort -u
BuildRequires: apparmor-profiles

%description
Collection of AppArmor profiles found in various openSUSE packages

%prep

%build
chmod +x %{S:1}

%install
mkdir -p "%{buildroot}/usr/share/apparmor-profile-collector"

%{S:1} "/etc/apparmor.d"                    "%{buildroot}/usr/share/apparmor-profile-collector/apparmor.d"
%{S:1} "/etc/apparmor/profiles/extras/"     "%{buildroot}/usr/share/apparmor-profile-collector/etc-extras"
%{S:1} "/usr/share/apparmor/extra-profiles" "%{buildroot}/usr/share/apparmor-profile-collector/usr-extras"

# drop cache and cache.d symlinks
test -L "%{buildroot}/usr/share/apparmor-profile-collector/apparmor.d/cache"   && rm "%{buildroot}/usr/share/apparmor-profile-collector/apparmor.d/cache"
test -L "%{buildroot}/usr/share/apparmor-profile-collector/apparmor.d/cache.d" && rm "%{buildroot}/usr/share/apparmor-profile-collector/apparmor.d/cache.d"

%files
%defattr(-,root,root)
/usr/share/apparmor-profile-collector

openSUSE Build Service is sponsored by