diff options
author | Chris PeBenito <pebenito@gentoo.org> | 2003-05-27 00:58:03 +0000 |
---|---|---|
committer | Chris PeBenito <pebenito@gentoo.org> | 2003-05-27 00:58:03 +0000 |
commit | a02608d809a4f0c1cc5cbcf647d25ba76396baf1 (patch) | |
tree | ee9d26fc4338d4da18d790fe105e3cab7eab1763 /sys-apps | |
parent | Correctly postinst slightly with regards to conf.d/apache* directives. (diff) | |
download | gentoo-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/Manifest | 4 | ||||
-rw-r--r-- | sys-apps/selinux-small/files/digest-selinux-small-2003040709-r1 | 2 | ||||
-rw-r--r-- | sys-apps/selinux-small/files/rlpkg | 36 | ||||
-rw-r--r-- | sys-apps/selinux-small/selinux-small-2003040709-r1.ebuild | 147 |
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)" -} |