# $Id: Makefile.user,v 1.16 2005/12/25 16:42:05 ynakam Exp $ # (c) Yuichi Nakamura himainu-ynakam@miomio.jp CONVERTER=seedit-converter LOADPOLICY=/usr/sbin/load_policy CHECKPOLICY=/usr/bin/checkpolicy FIXFILES=/sbin/fixfiles RESTORECON=/sbin/restorecon SELINUXTYPE=seedit POLICYROOT=/etc/selinux/$(SELINUXTYPE) POLICYDIR=$(POLICYROOT)/policy CONTEXTSDIR=$(POLICYROOT)/contexts CONFDIR=./simplified_policy BASEPOLICYDIR=./base_policy MACRODIR=./macros OUTDIR =./sepolicy M4DEFINE= -D fc4 -D usekudzu INSTALL_PATH = $(POLICYROOT) SELINUXCONF=/etc/selinux/config DEFAULT_POLICYVER=18 POLICYVER := $(shell $(CHECKPOLICY) -V |cut -f 1 -d ' ') ifeq ($(POLICYVER),) POLICYVER=$(DEFAULT_POLICYVER) endif policy: mkdir -p $(OUTDIR); cat $(CONFDIR)/global $(CONFDIR)/*.a >$(CONFDIR)/all_pre; m4 $(MACRODIR)/template_macros.te $(M4DEFINE) $(CONFDIR)/all_pre > $(CONFDIR)/all $(CONVERTER) -i $(CONFDIR)/all -o $(OUTDIR)/generated.conf -f $(OUTDIR)/file_contexts -b $(BASEPOLICYDIR); m4 -Imacros -s $(MACRODIR)/*.te $(OUTDIR)/generated.conf > $(OUTDIR)/policy.conf; $(CHECKPOLICY) -o $(OUTDIR)/policy.$(POLICYVER) -c $(POLICYVER) $(OUTDIR)/policy.conf install: policy cp $(OUTDIR)/policy.$(POLICYVER) $(POLICYDIR) cp $(OUTDIR)/file_contexts $(CONTEXTSDIR)/files/ cp -r $(BASEPOLICYDIR)/contexts/* $(CONTEXTSDIR) reload : install $(LOADPOLICY) $(POLICYDIR)/policy.$(POLICYVER) touch tmp/load relabel: reload $(FIXFILES) restore cp $(OUTDIR)/file_contexts $(OUTDIR)/file_contexts.old diffrelabel: reload diff $(OUTDIR)/file_contexts.old $(OUTDIR)/file_contexts -r|grep -e "^[<>]"|sed -e 's/^[><][ \t]*//'|sed -e 's/[ \t]\+.*//'|sed -e 's/(.*//'|sort > fcdiff.tmp exec 3< fcdiff.tmp;\ while read FL 0<&3; do \ if [ -e $$FL ] ; then \ $(RESTORECON) $$FL -R -vv;\ fi;\ done; \ exec 3<&-;\ cp $(OUTDIR)/file_contexts $(OUTDIR)/file_contexts.old rm fcdiff.tmp export: rm -rf /etc/selinux/seedit cp -r $(POLICYROOT) /etc/selinux/seedit ./export.sh /etc/selinux/seedit/src/policy/simplified_policy "$(M4DEFINE)"