mirror of
https://gitlab.com/apparmor/apparmor.git
synced 2025-03-04 00:14:44 +01:00

the 2.8 branch. Original commit message: committer: Jamie Strandboge <jamie@canonical.com> Initial port to python3 for utilities. Thanks to Dmitrijs Ledkovs Acked-By: Jamie Strandboge <jamie@canonical.com> Most of trunk r2052 also applies to the 2.8 branch. The only difference is the last section of changes in utils/vim/create-apparmor.vim.py Acked-by: John Johansen <john.johansen@canonical.com> Acked-by: Steve Beattie <sbeattie@ubuntu.com> Skimmed-by: Seth Arnold <seth.arnold@canonical.com>
108 lines
3.6 KiB
Makefile
108 lines
3.6 KiB
Makefile
# ----------------------------------------------------------------------
|
|
# Copyright (c) 1999, 2004-2009 NOVELL (All rights reserved)
|
|
# Copyright (c) 2010-2011 Canonical Ltd.
|
|
#
|
|
# This program is free software; you can redistribute it and/or
|
|
# modify it under the terms of version 2 of the GNU General Public
|
|
# License published by the Free Software Foundation.
|
|
#
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with this program; if not, contact Novell, Inc.
|
|
# ----------------------------------------------------------------------
|
|
NAME = apparmor-utils
|
|
all:
|
|
COMMONDIR=../common/
|
|
|
|
include common/Make.rules
|
|
|
|
COMMONDIR_EXISTS=$(strip $(shell [ -d ${COMMONDIR} ] && echo true))
|
|
ifeq ($(COMMONDIR_EXISTS), true)
|
|
common/Make.rules: $(COMMONDIR)/Make.rules
|
|
ln -sf $(COMMONDIR) .
|
|
endif
|
|
|
|
MODDIR = Immunix
|
|
PERLTOOLS = aa-genprof aa-logprof aa-autodep aa-audit aa-complain aa-enforce \
|
|
aa-unconfined aa-notify aa-disable aa-exec
|
|
TOOLS = ${PERLTOOLS} aa-decode aa-status
|
|
MODULES = ${MODDIR}/AppArmor.pm ${MODDIR}/Repository.pm \
|
|
${MODDIR}/Config.pm ${MODDIR}/Severity.pm
|
|
PYTOOLS = aa-easyprof
|
|
PYSETUP = python-tools-setup.py
|
|
|
|
MANPAGES = ${TOOLS:=.8} logprof.conf.5 ${PYTOOLS:=.8}
|
|
|
|
all: ${MANPAGES} ${HTMLMANPAGES}
|
|
$(MAKE) -C po all
|
|
$(MAKE) -C vim all
|
|
|
|
# need some better way of determining this
|
|
DESTDIR=/
|
|
BINDIR=${DESTDIR}/usr/sbin
|
|
CONFDIR=${DESTDIR}/etc/apparmor
|
|
VENDOR_PERL=$(shell perl -e 'use Config; print $$Config{"vendorlib"};')
|
|
PERLDIR=${DESTDIR}${VENDOR_PERL}/${MODDIR}
|
|
PYPREFIX=/usr
|
|
|
|
po/${NAME}.pot: ${TOOLS} ${PYTOOLS}
|
|
$(MAKE) -C po ${NAME}.pot NAME=${NAME} SOURCES="${TOOLS} ${MODULES} ${PYTOOLS}"
|
|
|
|
.PHONY: install
|
|
install: ${MANPAGES} ${HTMLMANPAGES}
|
|
install -d ${CONFDIR}
|
|
install -m 644 logprof.conf severity.db notify.conf ${CONFDIR}
|
|
install -d ${BINDIR}
|
|
ln -sf aa-status ${BINDIR}/apparmor_status
|
|
install -m 755 ${TOOLS} ${BINDIR}
|
|
install -d ${PERLDIR}
|
|
install -m 644 ${MODULES} ${PERLDIR}
|
|
$(MAKE) -C po install DESTDIR=${DESTDIR} NAME=${NAME}
|
|
$(MAKE) install_manpages DESTDIR=${DESTDIR}
|
|
$(MAKE) -C vim install DESTDIR=${DESTDIR}
|
|
ln -sf aa-status.8 ${DESTDIR}/${MANDIR}/man8/apparmor_status.8
|
|
${PYTHON} ${PYSETUP} install --prefix=${PYPREFIX} --root=${DESTDIR} --version=${VERSION}
|
|
|
|
.PHONY: clean
|
|
ifndef VERBOSE
|
|
.SILENT: clean
|
|
endif
|
|
clean: _clean
|
|
rm -f core core.* *.o *.s *.a *~
|
|
rm -f Make.rules
|
|
$(MAKE) -C po clean
|
|
$(MAKE) -C vim clean
|
|
rm -rf staging/ build/
|
|
rm -f apparmor/*.pyc
|
|
|
|
# ${CAPABILITIES} is defined in common/Make.rules
|
|
.PHONY: check_severity_db
|
|
.SILENT: check_severity_db
|
|
check_severity_db: /usr/include/linux/capability.h severity.db
|
|
# The sed statement is based on the one in the parser's makefile
|
|
RC=0 ; for cap in ${CAPABILITIES} ; do \
|
|
if ! grep -q -w $${cap} severity.db ; then \
|
|
echo "Warning! capability $${cap} not found in severity.db" ; \
|
|
RC=1 ; \
|
|
fi ;\
|
|
done ; \
|
|
test "$$RC" -eq 0
|
|
|
|
.PHONY: check
|
|
.SILENT: check
|
|
check: check_severity_db
|
|
for i in ${MODULES} ${PERLTOOLS} ; do \
|
|
perl -c $$i || exit 1; \
|
|
done
|
|
tmpfile=$$(mktemp --tmpdir aa-pyflakes-XXXXXX); \
|
|
for i in ${PYTOOLS} apparmor aa-status test/*.py; do \
|
|
echo Checking $$i; \
|
|
pyflakes $$i 2>&1 | grep -v "undefined name '_'" > $$tmpfile; \
|
|
test -s $$tmpfile && cat $$tmpfile && rm -f $$tmpfile && exit 1; \
|
|
done || true; \
|
|
rm -f $$tmpfile
|
|
$(foreach test, $(wildcard test/test-*.py), $(call pyalldo, $(test)))
|