diff options
author | Joshua Brindle <method@gentoo.org> | 2003-03-20 06:27:21 +0000 |
---|---|---|
committer | Joshua Brindle <method@gentoo.org> | 2003-03-20 06:27:21 +0000 |
commit | aec32d42f392ca5381ac4447f21043790017ae77 (patch) | |
tree | 94313a524037c9c10504fd6b9c58d134aaecc4d6 /sys-apps/selinux-small | |
parent | marked stable on ppc and sparc. (diff) | |
download | gentoo-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/ChangeLog | 9 | ||||
-rw-r--r-- | sys-apps/selinux-small/files/digest-selinux-small-2003011510-r2 | 3 | ||||
-rw-r--r-- | sys-apps/selinux-small/selinux-small-2003011510-r2.ebuild | 110 |
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)" +} |