# Contributor: Allan Garret # Maintainer: Allan Garret pkgname=apparmor pkgver=2.11.0 _majorver=2.11 pkgrel=0 pkgdesc="Linux application security framework - mandatory access control for programs" url="http://wiki.apparmor.net/index.php/Main_Page" arch="all" license="GPL" depends="bash" makedepends="bash sed python autoconf automake libtool bison flex swig gettext-dev python-dev linux-pam-dev linux-headers" subpackages=" libapparmor:libapparmor libapparmor-doc:libapparmor_doc libapparmor-dev:libapparmor_dev $pkgname-utils:apparmor_utils:noarch $pkgname-utils-doc:apparmor_utils_doc $pkgname-profiles:apparmor_profiles:noarch $pkgname-pam:apparmor_pam $pkgname-vim:apparmor_vim:noarch $pkgname-doc $pkgname-lang " source=" https://launchpad.net/$pkgname/$_majorver/$_majorver/+download/$pkgname-$pkgver.tar.gz https://gitweb.gentoo.org/repo/gentoo.git/plain/sys-apps/apparmor/files/apparmor-init 0001-Remove-__BEGIN_DECLS-and-__END_DECLS-identifiers.patch 0002-Provide-missing-secure_getenv-and-scandirat-function.patch 0003-Added-missing-typedef-definitions-on-parser.patch 0004-Define-RLIMIT_OFILE-if-needed.patch 0005-Added-RLIMIT_RTTIME-option-conditionally.patch 0006-Use-gettext-and-remove-latex.patch 0007-Do-not-build-install-vim-file-with-utils-package.patch 0008-Add-missing-include-for-ppc64le.patch " builddir="$srcdir"/$pkgname-$pkgver prepare() { local i cd "$builddir" for i in "$srcdir"/*.patch; do msg "Applying $i" patch -p1 -i $i || return 1 done } build() { cd "$builddir"/libraries/libapparmor msg "Building: libapparmor" ./autogen.sh ./configure --prefix=/usr --with-python make cd "$builddir" msg "Building: apparmor" make -C parser 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 install -Dm755 "$srcdir"/apparmor-init \ "$pkgdir"/etc/init.d/apparmor } libapparmor() { pkgdesc="AppArmor library" makedepends="swig python-dev" depends="bash sed python" cd "$builddir" make -C libraries/libapparmor install DESTDIR="$subpkgdir" # Move development files mkdir -p "$subpkgdir"-dev/usr mv "$subpkgdir"/usr/include "$subpkgdir"-dev/usr/ || return 1 mkdir -p "$subpkgdir"-dev/usr/lib mv "$subpkgdir"/usr/lib/libapparmor.a "$subpkgdir"-dev/usr/lib/ || return 1 mv "$subpkgdir"/usr/lib/pkgconfig "$subpkgdir"-dev/usr/lib/ || return 1 # 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)" } apparmor_utils() { pkgdesc="AppArmor userspace utilities" depends="perl python bash" cd "$builddir" make -C utils install DESTDIR="$subpkgdir" BINDIR="$subpkgdir"/usr/bin mkdir -p "$subpkgdir"-doc/usr/share mv "$subpkgdir"/usr/share/man "$subpkgdir"-doc/usr/share/ } apparmor_utils_doc() { pkgdesc="AppArmor userspace utilites (doc files)" cd "$builddir" for i in 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 || return 1 ln -s aa-status.8.gz apparmor_status.8.gz || return 1 } 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="apparmor-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="86b33c1cbbd256028dd5fdfaddc764c225845acd19c833223fce5cdd6164f997fe010d7b642791f834a3417b4ea847d77175fdfd89ea99ab2111933790d42b55 apparmor-2.11.0.tar.gz 4ee4747ec98a0828beb690bf5e01bc112d958bff4c68d60fc0cbb9f0707bd8daecc011dba3916aa6e6368f460eedce7f2ce42aad9ccea49a5d898dcae3d01148 apparmor-init fbe93bfdc6469496aafddfe8f8c01d53adb5075a4547e40fb8fc5b5b972aa418a0a84e626e82602425ad48409fd078dabdf60132f5810f80aa3212e11cb7186e 0001-Remove-__BEGIN_DECLS-and-__END_DECLS-identifiers.patch 988f4f6c27089ca68ef122066123099477e2e1dc7c849f93e3d0a92c2aa9a38ccbcd9e4d212329edad4ac4bbb7ee32dfbaab8b0039a661e2af391b6c830e6b54 0002-Provide-missing-secure_getenv-and-scandirat-function.patch 029a94086ffa97b5eff55e23469ee199caf066761cad28a1f0d4b8c51c4ae927192651befc79505f0078cf81a79fa472c97bf8b0e5e4816fcd8f597ad129c431 0003-Added-missing-typedef-definitions-on-parser.patch 3da30be6f964135c1fd85368f17bd503682af6a5dc3d3d3964f87d74330debdddbb9ada705aad35999904539e29d46118a58af88084646bf2faa8413b65e857c 0004-Define-RLIMIT_OFILE-if-needed.patch 1606e18435ea8aec16546c9c15f1b4bdc9c15af0764b2f580c28b8597fbd3ea670a4fe6dcf16a6b97a340f4b6b52b578463b1359150141a37f668e7dc8f1b272 0005-Added-RLIMIT_RTTIME-option-conditionally.patch 0e94e33cc919a76e7d59da578f0166ac9e6c2021b55d1a92ae1512e51f05d45a099a83a57625905112cf25e460e6078ae57bf7ee66da7caf0bc87fccdd0589ce 0006-Use-gettext-and-remove-latex.patch 6d75ed791653457d58fea7ff29a8e8e52c4bf7e214daa1e1ad2dcd888521251c9a89279cecaed320d252b057f7db0c5440c0d8ca8f4e51af79f9511d44bbec16 0007-Do-not-build-install-vim-file-with-utils-package.patch 9c9748e2b472b1b204b8ce1ad2c714ae2e296c083f14750f042b77055ec6c321e5ab8df402d41d57eff1c52cfa9dfab0dcb890db0be49403907e688d616b0c8c 0008-Add-missing-include-for-ppc64le.patch"