106 lines
3.1 KiB
Bash
106 lines
3.1 KiB
Bash
# Template file for 'apparmor'
|
|
pkgname=apparmor
|
|
version=2.13.4
|
|
revision=4
|
|
wrksrc="${pkgname}-v${version}"
|
|
build_wrksrc=libraries/libapparmor
|
|
build_style=gnu-configure
|
|
conf_files="/etc/apparmor.d/local/* /etc/apparmor/*"
|
|
make_dirs="/etc/apparmor.d/disable 0755 root root"
|
|
hostmakedepends="bison flex autoconf automake libtool gettext swig python3 which"
|
|
makedepends="perl python3-devel"
|
|
depends="runit-void-apparmor python3 libapparmor"
|
|
checkdepends="dejagnu"
|
|
short_desc="Mandatory access control to restrict programs"
|
|
maintainer="Olivier Mauras <olivier@mauras.ch>"
|
|
license="GPL-2.0-only, LGPL-2.1-only"
|
|
homepage="https://gitlab.com/apparmor/apparmor"
|
|
distfiles="https://gitlab.com/apparmor/apparmor/-/archive/v${version}/apparmor-v${version}.tar.gz"
|
|
checksum=4f45e5a5de59b72039c6cf218bb61cb4fc42eeb7f47ca109a58238896394a33b
|
|
patch_args="-Np1"
|
|
|
|
if [ -z "$CROSS_BUILD" ]; then
|
|
configure_args="--with-perl --with-python"
|
|
fi
|
|
|
|
post_patch() {
|
|
# Make.rules feeds some system headers to the C preprocessor to produce
|
|
# lists of capability and address-family names that, respectively,
|
|
# populate `parser/cap_names.h` and `parser/af_names.h`. The escaping
|
|
# backslash in the '\#include" directives here is seen by the
|
|
# preprocessor, causing it to skip the system headers and produce empty
|
|
# files. Removing the backslash ensures correct behavior.
|
|
vsed -i ${wrksrc}/common/Make.rules -e 's/\\#include </#include </'
|
|
}
|
|
|
|
pre_configure() {
|
|
autoreconf -if
|
|
}
|
|
|
|
pre_build() {
|
|
# Replace release profiles with our own
|
|
cd ${wrksrc}
|
|
|
|
# Put in place our own profiles
|
|
cp ${FILESDIR}/profiles/* profiles/apparmor.d/
|
|
}
|
|
|
|
post_build() {
|
|
cd ${wrksrc}
|
|
sed -i 's#$(DESTDIR)/sbin#$(DESTDIR)/usr/bin#g' parser/Makefile
|
|
make ${makejobs} -C binutils
|
|
make ${makejobs} -C utils
|
|
make ${makejobs} -C parser
|
|
make ${makejobs} -C profiles
|
|
}
|
|
|
|
post_install() {
|
|
cd ${wrksrc}
|
|
make DESTDIR=${DESTDIR} install -C binutils
|
|
make DESTDIR=${DESTDIR} BINDIR=${DESTDIR}/usr/bin install -C utils
|
|
make DESTDIR=${DESTDIR} APPARMOR_BIN_PREFIX=${DESTDIR}/usr/lib/apparmor \
|
|
SBINDIR=${DESTDIR}/usr/bin USR_SBINDIR=${DESTDIR}/usr/bin install -C parser
|
|
make DESTDIR=${DESTDIR} install -C profiles
|
|
|
|
# Put Vim syntax in the correct place
|
|
mkdir -p ${DESTDIR}/usr/share/vim/vim80/syntax/
|
|
mv ${DESTDIR}/usr/share/apparmor/apparmor.vim ${DESTDIR}/usr/share/vim/vim80/syntax/
|
|
|
|
# requires perl bindings not generated when cross-compiling
|
|
if [ "$CROSS_BUILD" ]; then
|
|
rm -f ${DESTDIR}/usr/bin/aa-notify
|
|
fi
|
|
}
|
|
|
|
apparmor-vim_package() {
|
|
short_desc+=" - Vim syntax"
|
|
depends="vim"
|
|
pkg_install() {
|
|
vmove usr/share/vim/vim80/syntax/apparmor.vim
|
|
vmove usr/share/man/man5/apparmor.vim.5
|
|
}
|
|
}
|
|
|
|
libapparmor_package() {
|
|
short_desc+=" - Library"
|
|
pkg_install() {
|
|
vmove "usr/lib/libapparmor.so*"
|
|
if [ -z "$CROSS_BUILD" ]; then
|
|
vmove usr/lib/perl5
|
|
vmove "${py3_sitelib}/LibAppArmor*"
|
|
fi
|
|
vmove usr/share/man/man2
|
|
vmove usr/share/man/man3
|
|
}
|
|
}
|
|
|
|
libapparmor-devel_package() {
|
|
short_desc+=" - Library development files"
|
|
depends="lib${sourcepkg}-${version}_${revision}"
|
|
pkg_install() {
|
|
vmove usr/include
|
|
vmove "usr/lib/*.a"
|
|
vmove "usr/lib/*.so"
|
|
vmove usr/lib/pkgconfig
|
|
}
|
|
}
|