ad3e1322 |
Name: apparmor
Version: 2.13
Release: 1%{?dist}
Summary: AppArmor is an effective and easy-to-use Linux application security system.
License: GNU LGPL v2.1
URL: https://launchpad.net/apparmor
Source0: https://launchpad.net/apparmor/2.13/2.13.0/+download/%{name}-%{version}.tar.gz
%define sha1 apparmor=54202cafce24911c45141d66e2d1e037e8aa5746
Patch0: apparmor-set-profiles-complain-mode.patch
Patch1: apparmor-service-start-fix.patch
Vendor: VMware, Inc.
Distribution: Photon
Group: Productivity/Security
BuildRequires: python3
BuildRequires: python3-devel
BuildRequires: python3-libs
BuildRequires: ruby
BuildRequires: swig
BuildRequires: make
BuildRequires: gawk
BuildRequires: which
BuildRequires: libstdc++
BuildRequires: libstdc++-devel
BuildRequires: gcc
BuildRequires: libgcc
BuildRequires: libgcc-devel
BuildRequires: glibc
BuildRequires: glibc-devel
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: libtool
BuildRequires: httpd
BuildRequires: httpd-devel
BuildRequires: httpd-tools
BuildRequires: apr
BuildRequires: apr-util-devel
BuildRequires: Linux-PAM
BuildRequires: Linux-PAM-devel
%global debug_package %{nil}
%description
AppArmor is a file and network mandatory access control
mechanism. AppArmor confines processes to the resources allowed by the
systems administrator and can constrain the scope of potential security
vulnerabilities.
%package -n libapparmor
Summary: Utility library for AppArmor
License: GNU LGPL v2.1
Group: Development/Libraries/C and C++
%description -n libapparmor
This package contains the AppArmor library.
%package -n libapparmor-devel
Summary: Development headers and libraries for libapparmor
License: GNU LGPL v2.1
Group: Development/Libraries/C and C++
Requires: libapparmor = %{version}-%{release}
%description -n libapparmor-devel
This package contains development files for libapparmor.
%package -n apache2-mod_apparmor
Summary: AppArmor module for apache2
License: GNU LGPL v2.1
Group: Productivity/Security
%description -n apache2-mod_apparmor
This provides the Apache module needed to declare various differing
confinement policies when running virtual hosts in the webserver
by using the changehat abilities exposed through libapparmor.
%package profiles
Summary: AppArmor profiles that are loaded into the apparmor kernel module
License: GNU LGPL v2.1
Group: Productivity/Security
Requires: apparmor-parser = %{version}-%{release}
Requires: apparmor-abstractions = %{version}-%{release}
%description profiles
This package contains the basic AppArmor profiles.
%package parser
Summary: AppArmor userlevel parser utility
License: GNU LGPL v2.1
Group: Productivity/Security
Requires: libapparmor = %{version}-%{release}
Requires: systemd
%description parser
The AppArmor Parser is a userlevel program that is used to load in
program profiles to the AppArmor Security kernel module.
This package is part of a suite of tools that used to be named
SubDomain.
%package abstractions
Summary: AppArmor abstractions and directory structure
License: GNU LGPL v2.1
Group: Productivity/Security
Requires: apparmor-parser = %{version}-%{release}
%description abstractions
AppArmor abstractions (common parts used in various profiles) and
the /etc/apparmor.d/ directory structure.
%package -n pam_apparmor
Summary: PAM module for AppArmor change_hat
License: GNU LGPL v2.1
Group: Productivity/Security
Requires: Linux-PAM
Requires: Linux-PAM-devel
%description -n pam_apparmor
The pam_apparmor module provides the means for any PAM applications
that call pam_open_session() to automatically perform an AppArmor
change_hat operation in order to switch to a user-specific security
policy.
%package utils
Summary: AppArmor User-Level Utilities Useful for Creating AppArmor Profiles
License: GNU LGPL v2.1
Group: Productivity/Security
Requires: libapparmor = %{version}-%{release}
Requires: audit
Requires: apparmor-abstractions = %{version}-%{release}
%description utils
This package contains programs to help create and manage AppArmor
profiles.
%package -n python3-apparmor
Summary: Python 3 interface for libapparmor functions
License: GNU LGPL v2.1
Group: Development/Libraries/Python
Requires: libapparmor = %{version}-%{release}
Requires: python3
%description -n python3-apparmor
This package provides the python3 interface to AppArmor. It is used for python
applications interfacing with AppArmor.
%package -n perl-apparmor
Summary: AppArmor module for perl.
License: GNU LGPL v2.1
Group: Development/Libraries/Perl
Requires: libapparmor = %{version}-%{release}
%description -n perl-apparmor
This package contains the AppArmor module for perl.
%package -n ruby-apparmor
Summary: Ruby interface for libapparmor functions
License: GNU LGPL v2.1
Group: Development/Languages/Ruby
Requires: libapparmor = %{version}-%{release}
Requires: ruby
%description -n ruby-apparmor
This package provides the ruby interface to AppArmor. It is used for ruby
applications interfacing with AppArmor.
%prep
%setup -q -n %{name}-%{version}
%patch0 -p1
%patch1 -p1
%build
export PYTHONPATH=/usr/lib/python3.6/site-packages
export PYTHON=/usr/bin/python3
export PYTHON_VERSION=3.6
export PYTHON_VERSIONS=python3
#Building libapparmor
cd ./libraries/libapparmor
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/lib/"
/sbin/ldconfig
sh ./autogen.sh
./configure \
--prefix=%{_prefix} \
--bindir=%{_bindir} \
--libdir=%{_libdir} \
--sysconfdir=/etc \
--with-perl \
--with-python \
--with-ruby
make %{?_smp_mflags}
#Building Binutils
cd ../../binutils/
make %{?_smp_mflags}
#Building parser
cd ../parser
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/lib/"
export LIBRARY_PATH="$LIBRARY_PATH:/usr/lib"
echo $LD_LIBRARY_PATH
echo $LIBRARY_PATH
make %{?_smp_mflags}
#Building Utilities
cd ../utils
make %{?_smp_mflags}
#Building Apache mod_apparmor
cd ../changehat/mod_apparmor
make %{?_smp_mflags}
#Building PAM AppArmor
cd ../pam_apparmor
make %{?_smp_mflags}
#Building Profiles
cd ../../profiles
make %{?_smp_mflags}
%check
make check -C libraries/libapparmor
make check -C binutils
make check -C parser
make check -C utils
make check -C changehat/mod_apparmor
make check -C pam_apparmor
make check -C profiles
%install
export PYTHONPATH=/usr/lib/python3.6/site-packages
export PYTHON=/usr/bin/python3
export PYTHON_VERSION=3.6
export PYTHON_VERSIONS=python3
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/lib/"
cd libraries/libapparmor
make DESTDIR=%{buildroot} install
cd ../../binutils/
make DESTDIR=%{buildroot} install
cd ../parser
make DESTDIR=%{buildroot} install
cd ../utils
make DESTDIR=%{buildroot} install
cd ../changehat/mod_apparmor
make DESTDIR=%{buildroot} install
cd ../pam_apparmor
make DESTDIR=%{buildroot} install
cd ../../profiles
make DESTDIR=%{buildroot} install
%files -n libapparmor
%defattr(-,root,root)
%{_libdir}/libapparmor.so.*
%post -n libapparmor
/sbin/ldconfig
%postun -n libapparmor
/sbin/ldconfig
%files -n libapparmor-devel
%defattr(-,root,root)
%{_libdir}/libapparmor.a
%{_libdir}/libapparmor.la
%{_libdir}/libapparmor.so
%{_libdir}/pkgconfig/libapparmor.pc
%dir %{_includedir}/aalogparse
%dir %{_includedir}/sys
%{_includedir}/aalogparse/*
%{_includedir}/sys/*
%doc %{_mandir}/man2/aa_change_hat.2.gz
%doc %{_mandir}/man2/aa_find_mountpoint.2.gz
%doc %{_mandir}/man2/aa_getcon.2.gz
%doc %{_mandir}/man2/aa_query_label.2.gz
%doc %{_mandir}/man3/aa_features.3.gz
%doc %{_mandir}/man3/aa_kernel_interface.3.gz
%doc %{_mandir}/man3/aa_policy_cache.3.gz
%doc %{_mandir}/man3/aa_splitcon.3.gz
%files -n apache2-mod_apparmor
%defattr(-,root,root)
%{_libdir}/httpd/modules/mod_apparmor.so
%doc %{_mandir}/man8/mod_apparmor.8.gz
%files profiles
%defattr(-,root,root,755)
%dir %{_sysconfdir}/apparmor.d/apache2.d
%config(noreplace) %{_sysconfdir}/apparmor.d/apache2.d/phpsysinfo
%config(noreplace) %{_sysconfdir}/apparmor.d/bin.*
%config(noreplace) %{_sysconfdir}/apparmor.d/sbin.*
%config(noreplace) %{_sysconfdir}/apparmor.d/usr.*
%config(noreplace) %{_sysconfdir}/apparmor.d/local/*
%dir %{_datadir}/apparmor
%{_datadir}/apparmor/extra-profiles/*
%files parser
%defattr(755,root,root,755)
/sbin/apparmor_parser
/sbin/rcapparmor
/lib/apparmor/rc.apparmor.functions
/lib/apparmor/apparmor.systemd
%{_bindir}/aa-exec
%{_bindir}/aa-enabled
%attr(644,root,root) %{_prefix}%{_unitdir}/apparmor.service
%dir %{_sysconfdir}/apparmor
%dir %{_sysconfdir}/apparmor.d
%config(noreplace) %{_sysconfdir}/apparmor/parser.conf
%config(noreplace) %{_sysconfdir}/apparmor/subdomain.conf
%{_localstatedir}/lib/apparmor
%doc %{_mandir}/man5/apparmor.d.5.gz
%doc %{_mandir}/man5/apparmor.vim.5.gz
%doc %{_mandir}/man5/subdomain.conf.5.gz
%doc %{_mandir}/man7/apparmor.7.gz
%doc %{_mandir}/man8/apparmor_parser.8.gz
%doc %{_mandir}/man1/aa-enabled.1.gz
%doc %{_mandir}/man1/aa-exec.1.gz
%doc %{_mandir}/man2/aa_stack_profile.2.gz
%preun parser
%systemd_preun apparmor.service
%post parser
%systemd_post apparmor.service
%postun parser
%systemd_postun_with_restart apparmor.service
%files abstractions
%defattr(644,root,root,755)
%dir %{_sysconfdir}/apparmor.d/abstractions
%config(noreplace) %{_sysconfdir}/apparmor.d/abstractions/*
%dir %{_sysconfdir}/apparmor.d/disable
%dir %{_sysconfdir}/apparmor.d/local
%dir %{_sysconfdir}/apparmor.d/tunables
%config(noreplace) %{_sysconfdir}/apparmor.d/tunables/*
%exclude %{_datadir}/locale
%files utils
%defattr(-,root,root)
%config(noreplace) %{_sysconfdir}/apparmor/easyprof.conf
%config(noreplace) %{_sysconfdir}/apparmor/logprof.conf
%config(noreplace) %{_sysconfdir}/apparmor/notify.conf
%config(noreplace) %{_sysconfdir}/apparmor/severity.db
/sbin/aa-teardown
%{_sbindir}/aa-*
%{_sbindir}/apparmor_status
%{_bindir}/aa-easyprof
%{_datadir}/apparmor/easyprof/
%dir %{_datadir}/apparmor
%{_datadir}/apparmor/apparmor.vim
%doc %{_mandir}/man2/aa_change_profile.2.gz
%doc %{_mandir}/man5/logprof.conf.5.gz
%doc %{_mandir}/man8/aa-*.gz
%doc %{_mandir}/man8/apparmor_status.8.gz
%files -n pam_apparmor
%defattr(-,root,root,755)
/lib/security/pam_apparmor.so
%files -n python3-apparmor
%defattr(-,root,root)
%dir %{_libdir}/python3.6/site-packages/LibAppArmor
%dir %{_libdir}/python3.6/site-packages/LibAppArmor/__pycache__
%{_libdir}/python3.6/site-packages/LibAppArmor/_LibAppArmor.cpython-*.so
%{_libdir}/python3.6/site-packages/LibAppArmor/__pycache__/__init__.cpython-*.pyc
%{_libdir}/python3.6/site-packages/LibAppArmor/__pycache__/LibAppArmor.cpython-*.pyc
%{_libdir}/python3.6/site-packages/LibAppArmor/__init__.py
%{_libdir}/python3.6/site-packages/LibAppArmor/LibAppArmor.py
%{_libdir}/python3.6/site-packages/LibAppArmor-%{version}-py*.egg-info
%{_libdir}/python3.6/site-packages/apparmor-%{version}-py*.egg-info
%dir %{_libdir}/python3.6/site-packages/apparmor
%{_libdir}/python3.6/site-packages/apparmor/*
%files -n perl-apparmor
%defattr(-,root,root)
%{perl_vendorarch}/auto/LibAppArmor/
%{perl_vendorarch}/LibAppArmor.pm
%exclude %{_libdir}/perl5/5.24.1/x86_64-linux-thread-multi/perllocal.pod
%files -n ruby-apparmor
%defattr(-,root,root)
%{_libdir}/ruby/site_ruby/2.4.0/x86_64-linux/LibAppArmor.so
%changelog
* Thu Aug 30 2018 Keerthana K <keerthanak@vmware.com> 2.13-1
- Initial Apparmor package for Photon. |