| Name |
apparmor |
| Description |
Mandatory Access Control (MAC) using Linux Security Module (LSM) |
| Version |
4.1.6-1 |
| Package Base |
apparmor |
| Homepage |
https://gitlab.com/apparmor/apparmor |
| Maintainers |
['David Runge <dvzrv@archlinux.org>', 'Robin Candau <antiz@archlinux.org>'] |
| Contributors |
[] |
| Distro-repo |
https://gitlab.archlinux.org/archlinux/packaging/packages/apparmor |
| Sources |
['git+https://gitlab.com/apparmor/apparmor.git#tag=v4.1.6?signed'] |
| Dependencies |
['audit', 'bash', 'gcc-libs', 'glibc', 'pam', 'python', 'python-legacy-cgi'] |
| Optional-Dependencies |
['perl', 'python-gobject', 'python-notify2', 'python-psutil', 'ruby', 'sqlite', 'tk'] |
| Build-Dependencies |
['apache', 'autoconf-archive', 'git', 'libxcrypt', 'python-setuptools', 'ruby', 'swig'] |
| Provides |
['libapparmor.so'] |
| Builddate |
10-02-2026 19:01:05 |
| Architecture |
x86_64 |
| Distro-Version |
|
| Licenses |
['GPL-2.0-only', 'LGPL-2.0-only', 'LGPL-2.1-only'] |
| Hash |
d4dbac8283797f03bba64742c6bea8fc7f471e521f6792cab422cfe902c88735 |
# Maintainer: David Runge <dvzrv@archlinux.org>
# Maintainer: Robin Candau <antiz@archlinux.org>
pkgname=apparmor
pkgver=4.1.6
pkgrel=2
pkgdesc="Mandatory Access Control (MAC) using Linux Security Module (LSM)"
arch=(x86_64)
url="https://gitlab.com/apparmor/apparmor"
license=(
GPL-2.0-only
LGPL-2.0-only
LGPL-2.1-only
)
depends=(
audit
bash
glibc
libgcc
pam
python
python-legacy-cgi
)
makedepends=(
apache
autoconf-archive
git
libxcrypt
python-setuptools
ruby
swig
)
checkdepends=(
dejagnu
perl-locale-gettext
python-gobject
python-notify2
python-psutil
sqlite
tk
)
optdepends=(
'perl: for perl bindings'
'python-gobject: for aa-notify'
'python-notify2: for aa-notify'
'python-psutil: for aa-notify'
'ruby: for ruby bindings'
'sqlite: for aa-notify'
'tk: for aa-notify'
)
provides=(libapparmor.so)
backup=(
etc/apparmor/easyprof.conf
etc/apparmor/logprof.conf
etc/apparmor/notify.conf
etc/apparmor/parser.conf
etc/apparmor/severity.db
)
source=(
git+$url.git#tag=v$pkgver?signed
)
sha512sums=('c70fcaf971b3d52004da70a9018d105632b7e1f7fc9a41477216c2fa6b8a72f7c3434959f1e0d6d3426c7476ca82efcc06e94e4fba62cf596d3f8d6167552364')
b2sums=('ec52673b24940def9569fcf4ad1022c4dd344d78519e77f05d7e8a93c388a199d11f4c910121e71a603c4825ac994c34f0435df6adc03e40712ff1375fc654fd')
validpgpkeys=('3ECDCBA5FB34D254961CC53F6689E64E3D3664BB' # AppArmor Development Team (AppArmor signing key) <apparmor@lists.ubuntu.com>
'EDC4830FBD39AB6AC51047FB052F367018D5C3D8') # John Johansen <john@jjmx.net> <john.johansen@canonical.com>
_core_perl="/usr/bin/core_perl"
prepare() {
cd $pkgname/libraries/libapparmor/
autoreconf -fiv
}
build() {
local configure_options=(
--prefix=/usr
--sbindir=/usr/bin
--with-perl
--with-python
--with-ruby
)
cd $pkgname
# export required perl executable locations
export MAKEFLAGS+=" POD2MAN=$_core_perl/pod2man"
export MAKEFLAGS+=" POD2HTML=$_core_perl/pod2html"
export MAKEFLAGS+=" PODCHECKER=$_core_perl/podchecker"
export MAKEFLAGS+=" PROVE=$_core_perl/prove"
(
cd libraries/libapparmor/
./configure "${configure_options[@]}"
make
)
make -C binutils
make -C parser
make -C profiles
make -C utils
make -C changehat/pam_apparmor
make -C changehat/mod_apparmor
make -C utils/vim
# copy to test location as some tests render the resulting python bytecode
# unreproducible: https://gitlab.com/apparmor/apparmor/-/issues/184
cd ..
cp -av $pkgname $pkgname-test
}
check() {
cd $pkgname-test
echo "INFO: Running check: libraries/libapparmor"
make -C libraries/libapparmor check
echo "INFO: Running check binutils"
make -C binutils check
echo "INFO: Running check parser"
make -C parser check
# NOTE: the profiles checks are notoriously broken, so run each separately
echo "INFO: Running check-abstractions.d profiles"
make -C profiles check-abstractions.d
# # many hardcoded paths are not accounted for:
# # https://gitlab.com/apparmor/apparmor/-/issues/137
# echo "INFO: Running check-logprof profiles"
# make -C profiles check-logprof
echo "INFO: Running check-parser profiles"
make -C profiles check-parser
echo "INFO: Running check utils"
# we do not care about linting when running tests
# https://gitlab.com/apparmor/apparmor/-/issues/121
make PYFLAKES='/usr/bin/true' -C utils check
}
package() {
cd $pkgname
make -C libraries/libapparmor DESTDIR="$pkgdir" install
make -C changehat/pam_apparmor DESTDIR="$pkgdir/usr" install
make -C changehat/mod_apparmor DESTDIR="$pkgdir" install
make -C binutils DESTDIR="$pkgdir" SBINDIR="$pkgdir/usr/bin" USR_SBINDIR="$pkgdir/usr/bin" install
make -C parser -j1 DESTDIR="$pkgdir" SBINDIR="$pkgdir/usr/bin" USR_SBINDIR="$pkgdir/usr/bin" APPARMOR_BIN_PREFIX="$pkgdir/usr/lib/apparmor" install install-systemd
make -C profiles DESTDIR="$pkgdir" install
make -C utils DESTDIR="$pkgdir" SBINDIR="$pkgdir/usr/bin" USR_SBINDIR="$pkgdir/usr/bin" BINDIR="$pkgdir/usr/bin" VIM_INSTALL_PATH="$pkgdir/usr/share/vim/vimfiles/syntax" install
# set file mode to allow the perl library to be stripped:
# https://gitlab.com/apparmor/apparmor/issues/34
find "$pkgdir/usr/lib/perl5/" -type f -iname "*.so" -exec chmod 755 {} \;
# remove empty core_perl directory:
# https://gitlab.com/apparmor/apparmor/issues/40
rm -rv "${pkgdir}"/usr/lib/perl5/*/core_perl
# move ruby bindings to vendor_ruby:
# https://gitlab.com/apparmor/apparmor/issues/35
mv -v "$pkgdir/usr/lib/ruby/"{site,vendor}_ruby
# adding files below /etc/apparmor.d to backup array
cd "$pkgdir"
# trick extract_function_variable() in makepkg into not detecting the
# backup array modification and adding remaining configuration files
[[ /usr/bin/true ]] && backup=( ${backup[@]} $(find "etc/$pkgname.d/" -type f | LC_ALL=C sort) )
}