summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoshua Brindle <method@gentoo.org>2003-03-20 06:27:21 +0000
committerJoshua Brindle <method@gentoo.org>2003-03-20 06:27:21 +0000
commitaec32d42f392ca5381ac4447f21043790017ae77 (patch)
tree94313a524037c9c10504fd6b9c58d134aaecc4d6 /sys-apps/selinux-small
parentmarked stable on ppc and sparc. (diff)
downloadgentoo-2-aec32d42f392ca5381ac4447f21043790017ae77.tar.gz
gentoo-2-aec32d42f392ca5381ac4447f21043790017ae77.tar.bz2
gentoo-2-aec32d42f392ca5381ac4447f21043790017ae77.zip
new, improved selinux-small, now slices, dices and labels your filesystem
Diffstat (limited to 'sys-apps/selinux-small')
-rw-r--r--sys-apps/selinux-small/ChangeLog9
-rw-r--r--sys-apps/selinux-small/files/digest-selinux-small-2003011510-r23
-rw-r--r--sys-apps/selinux-small/selinux-small-2003011510-r2.ebuild110
3 files changed, 121 insertions, 1 deletions
diff --git a/sys-apps/selinux-small/ChangeLog b/sys-apps/selinux-small/ChangeLog
index 2808e7fff040..065a8e7e28ad 100644
--- a/sys-apps/selinux-small/ChangeLog
+++ b/sys-apps/selinux-small/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for sys-apps/selinux-small
# Copyright 2000-2003 Gentoo Technologies, Inc.; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/selinux-small/ChangeLog,v 1.1 2003/03/17 05:25:50 method Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-apps/selinux-small/ChangeLog,v 1.2 2003/03/20 06:27:21 method Exp $
+
+*selinux-small-2003011510-r2 (19 Mar 2003)
+
+ 19 Mar 2003; Joshua Brindle <method@gentoo.org> selinux-small-2003011510-r2.ebuild:
+ This selinux-small actually works, installs the appropriate stuff, installs a
+ default policy and now labels the filesystem in pkg_config
+ This is brought to you by pebenito, thanks for all his efforts!
*selinux-small-2003011510-r1 (16 Mar 2003)
diff --git a/sys-apps/selinux-small/files/digest-selinux-small-2003011510-r2 b/sys-apps/selinux-small/files/digest-selinux-small-2003011510-r2
new file mode 100644
index 000000000000..6b5ae57f8454
--- /dev/null
+++ b/sys-apps/selinux-small/files/digest-selinux-small-2003011510-r2
@@ -0,0 +1,3 @@
+MD5 ee9e814c96aba9efdc9552652c041fa4 selinux-small-2003011510.tgz 551852
+MD5 808a93b812fa16f789551c212c02ba95 selinux-small_2003011510-7.diff.gz 48492
+MD5 3a92864df734dad00080658f3b7a8f85 policy.tgz 113035
diff --git a/sys-apps/selinux-small/selinux-small-2003011510-r2.ebuild b/sys-apps/selinux-small/selinux-small-2003011510-r2.ebuild
new file mode 100644
index 000000000000..891bf536f8fa
--- /dev/null
+++ b/sys-apps/selinux-small/selinux-small-2003011510-r2.ebuild
@@ -0,0 +1,110 @@
+# Copyright 1999-2002 Gentoo Technologies, Inc.
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-apps/selinux-small/selinux-small-2003011510-r2.ebuild,v 1.1 2003/03/20 06:27:21 method Exp $
+
+DESCRIPTION="SELinux policy compiler and example policies"
+HOMEPAGE="http://www.nsa.gov/selinux"
+SRC_URI="http://www.nsa.gov/selinux/archives/${P}.tgz
+ http://www.coker.com.au/selinux/selinux-small/selinux-small_2003011510-7.diff.gz
+ http://www.coker.com.au/selinux/policy.tgz"
+LICENSE="GPL-1"
+SLOT="0"
+S="${WORKDIR}/selinux"
+
+# to easily specify that libsecure is in the workdir
+LIBSECURE="-I${S}/libsecure/include -L${S}/libsecure/src"
+
+KEYWORDS="~x86"
+IUSE="selinux"
+DEPEND="<sys-libs/glibc-2.3.2
+ >=selinux-sources-2.4.20-r1
+ >=yacc-1.9.1"
+
+pkg_setup() {
+ use selinux || eend 1 "You must have selinux USE var"
+}
+
+src_compile() {
+ ln -s /usr/src/linux ${WORKDIR}/lsm-2.4
+
+ # fix up policy makefile
+ cd ${WORKDIR}/policy
+ sed -e 's:/usr/lib/selinux:/usr/flask:' < Makefile > Makefile.new
+ mv -f Makefile.new Makefile
+
+ cd ${S}
+ epatch ${WORKDIR}/selinux-small_2003011510-7.diff
+
+ einfo "Compiling checkpolicy"
+ cd ${S}/module
+ make all LSMVER=-2.4 || die "Checkpolicy compilation failed"
+
+ einfo "Compiling libsecure"
+ cd ${S}/libsecure
+ make SE_INC=/usr/include/linux/flask \
+ EXTRA_CFLAGS="${CFLAGS}" \
+ || die "libsecure compile failed."
+
+ einfo "Compiling utilities"
+ cd ${S}/setfiles
+ make CFLAGS="${CFLAGS} ${LIBSECURE}" \
+ LDFLAGS="-L${S}/libsecure/src" setfiles \
+ || die "setfiles compile failed."
+ cd ${S}/utils/newrole
+ make CFLAGS="${CFLAGS} ${LIBSECURE} -lcrypt" \
+ || die "newrole compile failed."
+ cd ${S}/utils/run_init
+ make CFLAGS="${CFLAGS} ${LIBSECURE} -lcrypt" \
+ || die "run_init compile failed."
+ cd ${S}/utils/spasswd
+ make CFLAGS="${CFLAGS} ${LIBSECURE}" \
+ LDFLAGS="-L${S}/libsecure/src -lcrypt" \
+ || die "spasswd compile failed."
+}
+
+src_install() {
+ # install policies
+ dosbin ${S}/module/checkpolicy/checkpolicy
+ dosbin ${S}/setfiles/setfiles
+ mkdir -p ${D}/etc/security/selinux/src
+ mv ${WORKDIR}/policy ${D}/etc/security/selinux/src
+
+ insinto /usr/include
+ doins ${S}/libsecure/include/*.h
+
+ dolib.a ${S}/libsecure/src/libsecure.a
+
+ dobin ${S}/libsecure/test/{avc_enforcing,avc_toggle,context_to_sid,sid_to_context,list_sids,chsid,lchsid,chsidfs,get_user_sids}
+ dosbin ${S}/libsecure/test/load_policy
+ dobin ${S}/utils/spasswd/{sadminpasswd,schfn,schsh,spasswd,suseradd,suserdel,svipw}
+ dobin ${S}/utils/run_init/run_init
+ dobin ${S}/utils/newrole/newrole
+
+ doman ${S}/setfiles/setfiles.8
+ doman ${S}/libsecure/man/man[12]/*
+ doman ${S}/utils/newrole/newrole.1
+ doman ${S}/utils/run_init/run_init.8
+}
+
+pkg_postinst() {
+ einfo
+ einfo "To recompile the policy and relabel the filesystem simply run:"
+ einfo "ebuild /var/db/pkg/${CATEGORY}/${PF}/${PF}.ebuild config"
+ einfo
+}
+
+pkg_config() {
+ cd /etc/security/selinux/src/policy
+
+ einfo "Compiling policy"
+ make policy || die "Policy compile failed (see above error messages)"
+
+ einfo "Installing policy"
+ make install || die "Policy installation failed"
+
+ einfo "Loading policy"
+ make load || die "Policy loading failed"
+
+ einfo "Relabeling filesystems -- This will take a very long time!"
+ make relabel || die "Relabeling failed (see above error messages)"
+}