# Contributor: Allan Garret # Maintainer: Allan Garret pkgname=apparmor pkgver=2.12 pkgrel=0 pkgdesc="Linux application security framework - mandatory access control for programs" url="https://gitlab.com/apparmor/apparmor/wikis/home" arch="all" license="GPL" depends="bash" makedepends="bash sed python3 autoconf automake libtool bison flex perl-dev swig gettext-dev python3-dev linux-pam-dev linux-headers" options="!check" subpackages=" libapparmor:_libapparmor libapparmor-doc:_libapparmor_doc libapparmor-dev:_libapparmor_dev py3-$pkgname:_py3_apparmor perl-$pkgname:_perl_apparmor $pkgname-utils:_apparmor_utils $pkgname-utils-doc:_apparmor_utils_doc $pkgname-utils-lang:_apparmor_utils_lang $pkgname-profiles:_apparmor_profiles:noarch $pkgname-pam:_apparmor_pam $pkgname-vim:_apparmor_vim:noarch $pkgname-doc $pkgname-lang " source=" https://launchpad.net/$pkgname/$pkgver/$pkgver.0/+download/$pkgname-$pkgver.tar.gz apparmor.initd 0001-Add-missing-secure_getenv-and-scandirat-functions.patch 0002-Add-missing-typedef-definitions-on-parser.patch 0003-Link-against-gettext-library.patch 0004-Remove-vim-from-default-utils-build.patch 0005-Remove-parser-test-against-rttime.patch 0006-Remove-ofile-tests-for-parser.patch 0007-Adjust-several-utils-test-to-Alpine.patch 0008-Adjust-apparmor-functions-path.patch " builddir="$srcdir"/$pkgname-$pkgver build() { export PYTHON_VERSION=3 export PYTHON_VERSIONS=python3 export PYTHON=/usr/bin/python3 cd "$builddir"/libraries/libapparmor msg "Building: libapparmor" ./autogen.sh ./configure --prefix=/usr --with-python --with-perl make cd "$builddir" msg "Building: apparmor parser" make -C parser msg "Building: apparmor-binutils" make -C binutils msg "Building: apparmor-utils" make -C utils msg "Building: apparmor-profiles" make -C profiles msg "Building: apparmor-pam" make -C changehat/pam_apparmor msg "Building: apparmor-vim" make -C utils/vim } package() { cd "$builddir" make -C parser install DESTDIR="$pkgdir" mv "$pkgdir"/lib "$pkgdir"/usr/lib mv "$pkgdir"/sbin "$pkgdir"/usr/sbin mkdir -p "$pkgdir"/usr/libexec/apparmor mv "$pkgdir"/usr/lib/apparmor/rc.apparmor.functions \ "$pkgdir"/usr/libexec/apparmor/ rmdir "$pkgdir"/usr/lib/apparmor install -Dm755 "$srcdir"/apparmor.initd \ "$pkgdir"/etc/init.d/apparmor } _libapparmor() { pkgdesc="AppArmor library" makedepends="swig python3-dev perl-dev" depends="bash sed" cd "$builddir" make -C libraries/libapparmor install DESTDIR="$subpkgdir" # Move development files mkdir -p "$subpkgdir"-dev/usr mv "$subpkgdir"/usr/include "$subpkgdir"-dev/usr/ mkdir -p "$subpkgdir"-dev/usr/lib mv "$subpkgdir"/usr/lib/libapparmor.a "$subpkgdir"-dev/usr/lib/ mv "$subpkgdir"/usr/lib/pkgconfig "$subpkgdir"-dev/usr/lib/ # Move python3 files mkdir -p "$subpkgdir"/../py3-$pkgname/usr/lib mv "$subpkgdir"/usr/lib/python3.* "$subpkgdir"/../py3-$pkgname/usr/lib # Move perl files mkdir -p "$subpkgdir"/../perl-$pkgname/usr/lib mv "$subpkgdir"/usr/lib/perl5 "$subpkgdir"/../perl-$pkgname/usr/lib # Move doc files mkdir -p "$subpkgdir-doc"/usr/share mv "$subpkgdir"/usr/share/man "$subpkgdir-doc"/usr/share/ } _libapparmor_doc() { pkgdesc="AppArmor Library (doc files)" cd "$builddir" for i in 2 3; do find "$subpkgdir"/usr/share/man/man"$i" -type f -exec gzip -9v {} + done } _libapparmor_dev() { pkgdesc="AppArmor Library (development files)" } _py3_apparmor() { pkgdesc="Python3 module for apparmor" depends="libapparmor python3" } _perl_apparmor() { pkgdesc="Perl module for apparmor" depends="libapparmor perl" } _apparmor_utils() { pkgdesc="AppArmor userspace utilities" depends="libapparmor perl python3 bash" cd "$builddir" make -C utils install DESTDIR="$subpkgdir" BINDIR="$subpkgdir"/usr/bin cd "$builddir" make -C binutils install DESTDIR="$subpkgdir" BINDIR="$subpkgdir"/usr/bin mkdir -p "$subpkgdir"-doc/usr/share mv "$subpkgdir"/usr/share/man "$subpkgdir"-doc/usr/share/ mkdir -p "$subpkgdir"-lang/usr/share mv "$subpkgdir"/usr/share/locale "$subpkgdir"-lang/usr/share/ } _apparmor_utils_doc() { pkgdesc="AppArmor userspace utilites (doc files)" cd "$builddir" for i in 1 5 8; do find "$subpkgdir"/usr/share/man/man"$i" -type f -exec gzip -9v {} + done cd "$subpkgdir"/usr/share/man/man8 rm apparmor_status.8 ln -s aa-status.8.gz apparmor_status.8.gz } _apparmor_utils_lang() { pkgdesc="Languages for package $subpkgname" } _apparmor_profiles() { pkgdesc="AppArmor sample pre-made profiles" depends="apparmor" cd "$builddir" make -C profiles install DESTDIR="$subpkgdir" } _apparmor_pam() { pkgdesc="AppArmor PAM library" depends="libapparmor pam" cd "$builddir" make -C changehat/pam_apparmor install DESTDIR="$subpkgdir"/usr } _apparmor_pam_doc() { pkgdesc="AppArmor PAM library (doc files)" cd "$builddir" mkdir -p "$subpkgdir"/usr/share/doc/apparmor install -Dm644 changehat/pam_apparmor/README \ "$subpkgdir"/usr/share/doc/apparmor/README.pam_apparmor } _apparmor_vim() { pkgdesc="AppArmor VIM support" depends="vim" cd "$builddir"/utils/vim install -Dm644 apparmor.vim \ "$subpkgdir"/usr/share/vim/vimfiles/syntax/apparmor.vim } sha512sums="d85fd47c66333fe5658ee5e977b32142697f6e36c575550712ee2ace2ad0fbf2aa59c8fd3b82ad8821c0190adf8cc150cf623ea09a84d5b32bde050a03dd6e9a apparmor-2.12.tar.gz 1a57cc577ba3aedfbe10ef6148c1e8f5d0bbf65c99e60eec80c52409c9dab59ae002024500c6e4fd0e01e8c7aeb0c85e3e6b41cacee08c17fdd869d31bca614e apparmor.initd 8e9f9914a3d0f5368811324a2be34ffebcb2d33add7289a37f2710497b8df0d95d7c33c792a844bae1e2fc320ff91e09313271aef1ad2bf5a37f2b634c652f73 0001-Add-missing-secure_getenv-and-scandirat-functions.patch e26fcb2f68fdba1cce076fdf37803175ab42ae2df4fccea74275bea7d0937e2992fd1e0dcb521b11f6c44a73bcf2819579f34a26e4e62e618e8259fee81cf302 0002-Add-missing-typedef-definitions-on-parser.patch 949af1827ef533f60065fbbcdd72f15cb367ad69b0922a56011a31cd740f63c4834ba675c3686823f1f8319d2455498edb8fc626c02d2c8dfd0843e52ce0dbde 0003-Link-against-gettext-library.patch 11b51b046c3acd83b6b0978ac3806ad3a65e5a678dd8ea01b910cd50c51c36a31c8e0f20223f4715dfe28d80e7d2b1d578dc632de8092d8700723af8188a4bf4 0004-Remove-vim-from-default-utils-build.patch b73fb44dc4649178d4aea8e491f74b025bde75bbdcf7b8fc1d17af30b562f58a743d7bde2a21db5c9dd71d863d1eb84d6b62143c90fff7ec7124d7b0ec590287 0005-Remove-parser-test-against-rttime.patch 2e169df847af74c2bf8906a595afa785dbf293b4d753fbfbb8cc0c2c0d2e5f6a8dd63b2400df57ad1f03330e5d5a39d4f893a3ca0aedf7bc832db48da7d4e67c 0006-Remove-ofile-tests-for-parser.patch 8949df983f36af91f887f13795681213758cf54a59c1ee710f7e2936a7a2e1e7551a1268c8abe0b95d852d24097ba52a39befd890126aa4d4c8e55656af64d2f 0007-Adjust-several-utils-test-to-Alpine.patch bd8a4ac30c6803e2bc219db925f0d577a56cf29f08a9b109d593b06d833351d49eeba67a243f0e1e696c94958b7df9afb0f4be02453c197892fde3b99803c89f 0008-Adjust-apparmor-functions-path.patch"