summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris PeBenito <pebenito@gentoo.org>2003-05-27 00:58:03 +0000
committerChris PeBenito <pebenito@gentoo.org>2003-05-27 00:58:03 +0000
commita02608d809a4f0c1cc5cbcf647d25ba76396baf1 (patch)
treeee9d26fc4338d4da18d790fe105e3cab7eab1763 /sys-apps
parentCorrectly postinst slightly with regards to conf.d/apache* directives. (diff)
downloadgentoo-2-a02608d809a4f0c1cc5cbcf647d25ba76396baf1.tar.gz
gentoo-2-a02608d809a4f0c1cc5cbcf647d25ba76396baf1.tar.bz2
gentoo-2-a02608d809a4f0c1cc5cbcf647d25ba76396baf1.zip
cleanup and add support for multiple packages in rlpkg command
Diffstat (limited to 'sys-apps')
-rw-r--r--sys-apps/selinux-small/Manifest4
-rw-r--r--sys-apps/selinux-small/files/digest-selinux-small-2003040709-r12
-rw-r--r--sys-apps/selinux-small/files/rlpkg36
-rw-r--r--sys-apps/selinux-small/selinux-small-2003040709-r1.ebuild147
4 files changed, 19 insertions, 170 deletions
diff --git a/sys-apps/selinux-small/Manifest b/sys-apps/selinux-small/Manifest
index e4bd0eb1e9a5..4eee389409e1 100644
--- a/sys-apps/selinux-small/Manifest
+++ b/sys-apps/selinux-small/Manifest
@@ -1,10 +1,8 @@
MD5 b4028d679fb343b3da499b781bbaf8a7 selinux-small-2003011510-r4.ebuild 4212
-MD5 5129c7f6ffb16d29cb6c7d634b6870e6 selinux-small-2003040709-r1.ebuild 4482
MD5 4ff4fe988e87fc6504bd1d1a64256add selinux-small-2003040709-r2.ebuild 4466
MD5 481c0c7e8cdc4e2a636d3f41d8a65e93 ChangeLog 3963
-MD5 4487057dc383a5e8f1b0424242308452 files/rlpkg 1788
+MD5 95245c95e7a1c329656d222c55fb769d files/rlpkg 1856
MD5 e5ffaa323b22754b51eaa94f04bcf5dd files/digest-selinux-small-2003011510-r4 151
-MD5 0986e11cde481cc9d4f8061654dedead files/digest-selinux-small-2003040709-r1 151
MD5 5b8ae6c77d50a559c31fb144faf6843e files/selinux-small-2003011510-bison.diff 553
MD5 5b8ae6c77d50a559c31fb144faf6843e files/selinux-small-2003040709-bison.diff 553
MD5 3809db44913b783d2b8bb31c8361aa92 files/selinux-small-2003040709-setfiles.diff 2623
diff --git a/sys-apps/selinux-small/files/digest-selinux-small-2003040709-r1 b/sys-apps/selinux-small/files/digest-selinux-small-2003040709-r1
deleted file mode 100644
index be96298ad944..000000000000
--- a/sys-apps/selinux-small/files/digest-selinux-small-2003040709-r1
+++ /dev/null
@@ -1,2 +0,0 @@
-MD5 f2a8e506d952ceb4a30970a646e9a227 selinux-small-2003040709.tgz 571597
-MD5 98d24820cf82cce8d826b88ff2617eb6 selinux-small_2003040709-5.diff.gz 62300
diff --git a/sys-apps/selinux-small/files/rlpkg b/sys-apps/selinux-small/files/rlpkg
index 1e775b837cff..a55cbb0a2a08 100644
--- a/sys-apps/selinux-small/files/rlpkg
+++ b/sys-apps/selinux-small/files/rlpkg
@@ -1,13 +1,12 @@
#!/bin/bash
# Copyright 1999-2003 Gentoo Technologies, Inc.
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/selinux-small/files/rlpkg,v 1.1 2003/05/22 19:42:23 pebenito Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-apps/selinux-small/files/rlpkg,v 1.2 2003/05/27 00:57:59 pebenito Exp $
# Author: Chris PeBenito <pebenito@gentoo.org>
# this probably isnt the cleanest script, but it works.
#
# TODO:
-# -make it accept more than 1 pkg on the cmd line
# -maybe add a -l function to list the package's files + contexts
# -more informative messages, -h for help
@@ -17,7 +16,7 @@ PROG=`basename ${0}`
if [ -z ${1} ]; then
echo "The Gentoo Linux package relabeler"
echo
- eerror "Usage: ${PROG} <pkg>"
+ eerror "Usage: ${PROG} <pkg1> [<pkg2> ...]"
echo
echo "${PROG} relabels gentoo packages based on their CONTENTS file."
echo "Any files associated with a package, but not in the contents"
@@ -37,22 +36,23 @@ if [ ! -d ${POLICYDIR} ]; then
exit 1
fi
-cd ${POLICYDIR}
ewarn "Using file contexts from the policy in ${POLICYDIR}"
# generate file_contexts as needed
-if [ ! -f ./file_contexts/file_contexts ]; then
- ebegin "Generating file contexts"
- make file_contexts/file_contexts &> /dev/null
- eend $?
-fi
-
-build=`find /var/db/pkg -iname CONTENTS | grep ${1} | sort`
-
-for i in ${build}; do
- pkgcat=`echo ${i} | cut -d/ -f5`
- pkgnam=`echo ${i} | cut -d/ -f6`
- ebegin "Relabeling: ${pkgcat}/${pkgnam}"
- awk '{ print $2 }' < ${i} | setfiles file_contexts/file_contexts -sq &> /dev/null
- eend $?
+ebegin "Regenerating file contexts"
+[ -f ${POLICYDIR}/file_contexts/file_contexts ] && rm -f ${POLICYDIR}/file_contexts/file_contexts
+make -C ${POLICYDIR} file_contexts/file_contexts &> /dev/null
+eend $?
+
+while [ ${#} -gt 0 ]; do
+ build=`find /var/db/pkg -iname CONTENTS | grep ${1} | sort`
+
+ for i in ${build}; do
+ pkgcat=`echo ${i} | cut -d/ -f5`
+ pkgnam=`echo ${i} | cut -d/ -f6`
+ ebegin "Relabeling: ${pkgcat}/${pkgnam}"
+ awk '{ print $2 }' < ${i} | setfiles ${POLICYDIR}/file_contexts/file_contexts -sq &> /dev/null
+ eend $?
+ done
+ shift
done
diff --git a/sys-apps/selinux-small/selinux-small-2003040709-r1.ebuild b/sys-apps/selinux-small/selinux-small-2003040709-r1.ebuild
deleted file mode 100644
index 11630893fb17..000000000000
--- a/sys-apps/selinux-small/selinux-small-2003040709-r1.ebuild
+++ /dev/null
@@ -1,147 +0,0 @@
-# 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-2003040709-r1.ebuild,v 1.2 2003/05/25 21:34:18 pebenito Exp $
-
-DESCRIPTION="SELinux libraries and policy compiler"
-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_${PV}-5.diff.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-S="${WORKDIR}/selinux"
-
-# to easily specify that libsecure is in the workdir, and we want to use pam
-LIBSECURE="-I${S}/libsecure/include -L${S}/libsecure/src -DUSE_PAM"
-
-KEYWORDS="~x86 ~ppc ~alpha ~sparc"
-IUSE="selinux"
-DEPEND="<sys-libs/glibc-2.3.2
- sys-devel/flex
- sys-libs/pam
- || (
- >=sys-kernel/selinux-sources-2.4.20-r1
- >=sys-kernel/hardened-sources-2.4.20-r1
- )"
-
-RDEPEND="<sys-libs/glibc-2.3.2
- || (
- >=sys-kernel/selinux-sources-2.4.20-r1
- >=sys-kernel/hardened-sources-2.4.20-r1
- )
- dev-tcltk/expect
- sys-apps/selinux-base-policy"
-
-pkg_setup() {
- use selinux || eend 1 "You must have selinux in USE."
-
- if [ ! -f /usr/src/linux/security/selinux/ss/ebitmap.c ]; then
- eerror "The /usr/src/linux symlink appears to be incorrect. It must"
- eerror "be pointing to a selinux-sources or hardened-sources kernel"
- eerror "for selinux-small to compile. If the symlink is correct, the"
- eerror "kernel sources may be damaged or incomplete, and will need to"
- eend 1 "be remerged. Please fix and retry."
- fi
-}
-
-src_compile() {
- ln -s /usr/src/linux ${WORKDIR}/lsm-2.4
-
- cd ${S}
-
- epatch ${WORKDIR}/selinux-small_${PV}-5.diff
- epatch ${FILESDIR}/${P}-bison.diff
-
- cd ${S}/setfiles
- epatch ${FILESDIR}/${P}-setfiles.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."
- cd ${S}/devfsd
- mv devfsd-conflet selinux-small
- make CFLAGS="${CFLAGS} ${LIBSECURE}" \
- LDFLAGS="-L${S}/libsecure/src" \
- || die "devfsd 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 policy stuff
- dosbin ${S}/module/checkpolicy/checkpolicy
- dosbin ${S}/setfiles/setfiles
-
- insinto /etc/security
- doins ${S}/utils/appconfig/*
-
- insinto /usr/include
- doins ${S}/libsecure/include/*.h
-
- insinto /etc/devfs.d
- doins ${S}/devfsd/selinux-small
-
- 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
- dosbin ${S}/utils/run_init/open_init_pty
- 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
-
- exeinto /lib/devfsd
- doexe ${S}/devfsd/devfsd-se.so
-
- # install pam stuff
- dodir /etc/pam.d
- sed "/pam_rootok.so/d" /etc/pam.d/su > ${D}/etc/pam.d/newrole
- cp ${D}/etc/pam.d/newrole ${D}/etc/pam.d/run_init
-}
-
-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 install failed (see above error messages)"
-
- einfo "Loading policy"
- make load || die "Policy loading failed (see above error messages)"
-
- einfo "Relabeling filesystems -- This will take a very long time!"
- make relabel || die "Relabeling failed (see above error messages)"
-}