summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sec-policy/selinux-base-policy/selinux-base-policy-20050821.ebuild')
-rw-r--r--sec-policy/selinux-base-policy/selinux-base-policy-20050821.ebuild94
1 files changed, 94 insertions, 0 deletions
diff --git a/sec-policy/selinux-base-policy/selinux-base-policy-20050821.ebuild b/sec-policy/selinux-base-policy/selinux-base-policy-20050821.ebuild
new file mode 100644
index 000000000000..61e2463eebbf
--- /dev/null
+++ b/sec-policy/selinux-base-policy/selinux-base-policy-20050821.ebuild
@@ -0,0 +1,94 @@
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sec-policy/selinux-base-policy/selinux-base-policy-20050821.ebuild,v 1.1 2005/08/21 19:26:43 pebenito Exp $
+
+IUSE="build"
+
+inherit eutils
+
+DESCRIPTION="Gentoo base policy for SELinux"
+HOMEPAGE="http://www.gentoo.org/proj/en/hardened/selinux/"
+SRC_URI="mirror://gentoo/${P}.tar.bz2"
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~x86 ~ppc ~sparc ~amd64 ~mips"
+#KEYWORDS="x86 ppc sparc amd64 mips"
+DEPEND="build? ( sys-devel/make
+ sys-devel/m4 )"
+RDEPEND="sys-devel/m4
+ sys-devel/make"
+
+S=${WORKDIR}/base-policy
+
+[ -z ${POLICYDIR} ] && POLICYDIR="/etc/security/selinux/src/policy"
+
+# deprecated policies:
+DEPRECATED="domains/program/devfsd.te domains/program/opt.te
+ file_contexts/program/devfsd.fc file_contexts/program/opt.fc
+ file_contexts/users.fc domains/program/inetd.te
+ domains/program/tcpd.te file_contexts/program/inetd.fc
+ file_contexts/program/tcpd.fc macros/program/ypbind_macros.te"
+
+src_compile() {
+ return
+}
+
+src_install() {
+ if use build; then
+ # generate a file_contexts
+ dodir ${POLICYDIR}/file_contexts
+ einfo "Ignore the checkpolicy error on the next line."
+ make -C ${S} \
+ FC=${D}/${POLICYDIR}/file_contexts/file_contexts \
+ ${D}/${POLICYDIR}/file_contexts/file_contexts
+
+ [ ! -f ${D}/${POLICYDIR}/file_contexts/file_contexts ] && \
+ die "file_contexts was not generated."
+ else
+ # install full policy
+ dodir /etc/security/selinux/src
+
+ insinto /etc/security
+ doins ${S}/appconfig/*
+
+ cp -a ${S} ${D}/${POLICYDIR}
+ rm -fR ${D}/${POLICYDIR}/appconfig
+ fi
+}
+
+pkg_postinst() {
+ local isdeprecated
+
+ if ! ( use build || use bootstrap )
+ then
+ ewarn "Removing invalid backup copies of critical config files..."
+ rm -f ${ROOT}/${POLICYDIR}/._cfg????_users
+ fi
+
+ echo
+ einfo "This is the base policy for SELinux on Gentoo. This policy"
+ einfo "package only covers the applications in the system profile."
+ einfo "More policy may need to be added according to your requirements."
+ echo
+ eerror "It is STRONGLY suggested that you evaluate and merge the"
+ eerror "policy changes. If any of the file contexts (*.fc) have"
+ eerror "changed, you should also relabel."
+ echo
+ ewarn "Please check the Changelog, there may be important information."
+ echo
+ echo
+
+ einfo "Checking for deprecated policy..."
+ for i in $DEPRECATED; do
+ if [ -f "${POLICYDIR}/${i}" ]; then
+ eerror "${POLICYDIR}/${i}"
+ isdeprecated="y"
+ fi
+ done
+ [ "${isdeprecated}" ] && \
+ eerror "The above policy file(s) should be removed if possible." || \
+ einfo "None found."
+
+ ebeep 4
+ epause 4
+}