# Maintainer: Thomas Mudrunka <harvie@@email..cz>
# You can also contact me on http://blog.harvie.cz/
+pkgbase=apparmor
pkgname=apparmor
-pkgver=2.5.1
+true && pkgname=(apparmor-parser apparmor-libapparmor apparmor-utils apparmor-profiles)
+
+pkgver=2.6.0
pkgrel=1
-pkgdesc="Linux application security framework - mandatory access control for programs"
arch=(i686 x86_64)
license=(GPL)
url='https://launchpad.net/apparmor'
-makedepends=(autoconf make gcc perl)
-#install="${pkgname}.install"
+groups=(apparmor)
+makedepends=(swig perl python2 ruby perl-locale-gettext wxgtk audit)
+optdepends=('kernel26>=2.6.36: kernel with AppArmor support')
+
+pacman -Qi apparmor-libapparmor &>/dev/null &&
+ true && pkgname=(${pkgname[*]} apparmor-profile-editor apparmor-dbus) &&
+ depends=(${depends[*]} apparmor-libapparmor) &&
+ msg "Building with libapparmor dependent packages..."
+
bigver="$(echo $pkgver | cut -d . -f -2)"
source=("http://launchpad.net/apparmor/$bigver/$pkgver/+download/apparmor-$pkgver.tar.gz")
-md5sums=('76b37656bf42fedab0d0b9d47e690a8b')
+md5sums=('3b4fb4186ac6440a03d8f2dcf188d4b4')
+
+#Configuration
+core_perl_dir='/usr/bin/core_perl'
+export MAKEFLAGS+=" POD2MAN=${core_perl_dir}/pod2man"
+export MAKEFLAGS+=" POD2HTML=${core_perl_dir}/pod2html"
+export MAKEFLAGS+=" PROVE=${core_perl_dir}/prove"
+export PYTHON='/usr/bin/python2'
build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
-
- #Patch
- patch=common/Make.rules; { rm "$patch"
- sed -e 's/\/usr\/bin\/pod2man/\/usr\/lib\/perl5\/core_perl\/bin\/pod2man/g' |
- sed -e 's/\/usr\/bin\/pod2html/\/usr\/lib\/perl5\/core_perl\/bin\/pod2html/g' > "$patch"
- } < "$patch"
-
- patch=parser/tst/Makefile; { rm "$patch"
- sed -e 's/\/usr\/bin\/prove/\/usr\/lib\/perl5\/core_perl\/bin\/prove/g' > "$patch"
- } < "$patch"
- patch=parser/Makefile; { rm "$patch"
- sed -e 's/pdflatex/true/g' > "$patch"
- } < "$patch"
- echo '#!/bin/true' > parser/tst/caching.sh #Can't pass this test with current kernel
-
- #Build
- ( cd libraries/libapparmor
- #autoconf
- #./configure --prefix="${pkgdir}/usr"
- #make
- ##make install DESTDIR=${pkgdir}
+ export srcroot="${srcdir}/${pkgbase}-${pkgver}";
+}
+
+package_apparmor-parser() {
+ pkgdesc='AppArmor parser - loads AA profiles to kernel module'
+ cd "${srcroot}/parser"; msg2 "${PWD##*/}"
+
+ msg2 'Patching...'
+ #Patch (maybe we can avoid patching by ./configuring things better)
+ patch=Makefile; { rm "$patch"
+ sed -e 's/pdflatex/true/g' > "$patch" #just workaround until we'll get pdflatex package
+ } < "$patch"
+ echo '#!/bin/true' > tst/caching.sh #Can't pass this test with current kernel
+
+ make
+ make install DESTDIR=${pkgdir}
+}
+
+package_apparmor-libapparmor() {
+ pkgdesc='AppArmor library'
+ makedepends=(swig perl python2 ruby)
+ provides=(apparmor-lib libapparmor apparmor-perl apparmor-python apparmor-ruby)
+ ( cd "${srcroot}/libraries/libapparmor"; msg2 "${PWD##*/}"
+ ./autogen.sh
+ ./configure --prefix=/usr --with-perl --with-python --with-ruby
+ make
+ make install DESTDIR=${pkgdir}
+ #FIXME: this file should install automatically:
+ cp swig/perl/LibAppArmor.pm ${pkgdir}/usr/lib/perl5/vendor_perl/
+ )
+}
+
+package_apparmor-utils() {
+ pkgdesc='AppArmor userspace utilities'
+ depends=(perl perl-locale-gettext perl-term-readkey perl-file-tail perl-rpc-xml)
+ optdepends=('perl: many apparmor utilities' 'perl-rpc-xml: more utilities')
+ provides=(apparmor-notify);
+ install=('apparmor.install');
+ ( cd "${srcroot}/utils"; msg2 "${PWD##*/}"
+ make
+ make install DESTDIR=${pkgdir}
+ )
+}
+
+package_apparmor-profiles() {
+ pkgdesc='AppArmor sample pre-made profiles'
+ ( cd "${srcroot}/profiles"; msg2 "${PWD##*/}"
+ make
+ make install DESTDIR=${pkgdir}
+ )
+}
+
+package_apparmor-profile-editor() {
+ pkgdesc='AppArmor profile editor using WxWidgets (or WxGTK)'
+ depends=(apparmor-libapparmor wxgtk audit)
+ ( cd "${srcroot}/deprecated/management/profile-editor"; msg2 "${PWD##*/}"
+ ./macros/autogen.sh
+ ./configure --prefix=/usr
+ make
+ make install DESTDIR=${pkgdir}
)
- ( cd parser
+}
+
+package_apparmor-dbus() {
+ pkgdesc='AppArmor DBUS API'
+ depends=(apparmor-libapparmor)
+ ( cd "${srcroot}/deprecated/management/apparmor-dbus"; msg2 "${PWD##*/}"
+ ./autogen.sh
+ ./configure --prefix=/usr
make
make install DESTDIR=${pkgdir}
)
- ( cd utils
+}
+
+package_apparmor-applet() {
+ pkgdesc='AppArmor Applet for Gnome'
+ depends=(apparmor-libapparmor)
+ #FIXME: can't build this:
+ ( cd "${srcroot}/deprecated/management/applets/apparmorapplet-gnome"; msg2 "${PWD##*/}"
+ ./autogen.sh
+ ./configure --prefix=/usr
make
make install DESTDIR=${pkgdir}
)
}
+
+#AUR hack:
+pkgdesc='Linux application security framework - mandatory access control for programs'