diff options
Diffstat (limited to 'sec-policy/selinux-base-policy')
-rw-r--r-- | sec-policy/selinux-base-policy/Manifest | 3 | ||||
-rw-r--r-- | sec-policy/selinux-base-policy/selinux-base-policy-2.20190201-r1.ebuild | 132 |
2 files changed, 135 insertions, 0 deletions
diff --git a/sec-policy/selinux-base-policy/Manifest b/sec-policy/selinux-base-policy/Manifest index 0cf6ed1c182c..897d0b6a3216 100644 --- a/sec-policy/selinux-base-policy/Manifest +++ b/sec-policy/selinux-base-policy/Manifest @@ -3,12 +3,15 @@ DIST patchbundle-selinux-base-policy-2.20180114-r2.tar.bz2 293604 BLAKE2B 4b3010 DIST patchbundle-selinux-base-policy-2.20180114-r3.tar.bz2 302345 BLAKE2B b175c5564b44aa4256018e25fbe8ec1bf16bdb0b6a01486bd7afbc5c6332b555838838759fea4859f767211097748bb5e62139264b2f4b792b2dec854d3b7031 SHA512 1586857f6403527470a19e534217805e19460695a854c3630fda80b26cd8e1e5d6f1a327c6d56b3ffa7260858d0c1ae393ea427e9ac0239163e914edc97f1c07 DIST patchbundle-selinux-base-policy-2.20180701-r1.tar.bz2 315378 BLAKE2B eeeb0b04c023c40289b6d964aefd1773d2b5d6912f1dffebf9509e6dcdbb39b17e722ee4483fb2b11193d4b987a85f90c7dc7e61cef3cf982fc2ba368d4900ef SHA512 a8b049120f1c420f9bfb55aba9ed0157ff7896ace402cd1b77b01d1ea52b67e49d915f1c00de83ff4d59b1cf8b8aa1f39b50ba312d842ed4850e75fcc7f5be42 DIST patchbundle-selinux-base-policy-2.20180701-r2.tar.bz2 320881 BLAKE2B 12382c64ff8d2acef97ae50b0285061b7f018df0d94034670696b6f19003ee9c9c4f66c711e744696e47145857fcbd577a7762fa807921b40a5366e473901687 SHA512 29453f9deb90b7f982d5a6a3161d79a8171d58d20c0e0de523347d4f1296ad3d4ed970ada0823692e8def4f21756d727628bd919802ec2b1c39087ce5d0811b0 +DIST patchbundle-selinux-base-policy-2.20190201-r1.tar.bz2 426390 BLAKE2B 33e05e03e1e087f0bf460930f074108af5fa05688f7681ba3545530d21174be7d29e9035a7bc37e9acdbe3468680891f9865ad83188eb0f8fb9b9012252d6a1e SHA512 f2855a340f4ae7ba6c4cf0ec9445de7ca20f9fc0f11783992340ca2f073bbbf2d4999190f46f3910213dd1555e9578b3609284af6a7712b401053216c004ff7e DIST refpolicy-2.20180114.tar.bz2 743725 BLAKE2B f64fc08dd68033a1762e147a0f205d8d1b71853017cefe4252ca4ca67029d457f28d81a82ae4e78c01e6c2131e9329d0e5634afee12fb4b291685e7563d59107 SHA512 9acb15d1d84670b25d1fc310e048348f707aa22ea184828e677946817aeb6ee2c590233195ead13aa91c7096544d6d29dfb6e98297120ef9464fc6107ffc9ce7 DIST refpolicy-2.20180701.tar.bz2 753050 BLAKE2B 7069a1b9b9bef25950e62bb50ac09f4a9d5ef6fd0acc667d321da396c3935939348534458df129f7bc81687dca240b4c4fc120d1f46d452665d335c9f023da8c SHA512 9dd5a1e10da5d25fea96cc25efb682f8ac866e835a1d940b161c1ce944cac9a90a5836b03c14311acad6bf9acd9a78003f36e050d35d8edb43606575523857b5 +DIST refpolicy-2.20190201.tar.bz2 552750 BLAKE2B d3cbdf5c5f8480cd36173d8cfbd2f55a6ad4a9f2176883dcc19eece6059114ca8700d07f8bd318d0430da253bb9e4e6a6e03f7a7db8a7964c95b00452aaab040 SHA512 c6568b679ad1a7c5c566b55291e86ce3784ee609c0091e5d465d41055724d950180780c7eedb3413351101b9182db51c7bce1816db1a9a17b3257861363efc6e EBUILD selinux-base-policy-2.20180114-r1.ebuild 3603 BLAKE2B 0d8294c8cec01620bc7f1c2ea6d957a8b05d109196322a8c482ed9d8c7f517e14329b13ac4762ffc5483bd207d81e75cb113ae29c39c1da4ca8c4b16fcdc919e SHA512 0057be4e522c0704ef4080751a94e445cf42d658cd8b1227eb0b1c7074de57010cd31b90dcb757a0f0ab6672b5b1a53341800142b11869dcffbede53e0e59282 EBUILD selinux-base-policy-2.20180114-r2.ebuild 3935 BLAKE2B 41ffc6a7ed124e125f198aaaad62eb37b334056d9609800ef5e92902da0dd106fa0c73e77216f2c831a478db2602d4303dc50ebbbedaf355078780d1d11b19e4 SHA512 28d121da52cc3a99f0e232159e172d88f8d4e5556107a9a260c897ed53f806b6b24ce21a17b9f429743e930f6ed405baaa6d751bfc8f70589239a0bf02f64496 EBUILD selinux-base-policy-2.20180114-r3.ebuild 3937 BLAKE2B 9d2f4297edd38a837f6299f0fc1a1424e391ac5fa7f1c77f187e049545a0e4cdc3bffbdeb7b86f6bde30af093b813f4a8bd3ce85b8a25a4ab514bc8a5464e010 SHA512 6a7a3ac43cfc10aedd4cce05190c34877075da8ec699adb0ebfe15e94bcc5e026b7f0876cb7fb7f18f657a511f9906db1c8e6323d019f25679bfe778767a7591 EBUILD selinux-base-policy-2.20180701-r1.ebuild 3943 BLAKE2B 8f4083a91f5fc36c165b9f3dd73c153028d8a6b3624414fb52e0ebbe369703cfd296b243f0f625ad5fa1f9f272af8956b47b2aa5f4e82b397a7db5a4a5309d5d SHA512 5a176919731ab791a7c1a6791a7fe08f019ea81e3060ab87c67b889196c222c5538dd7d87b08fb46b3184dcb3f9924a2f79d1ab3702ad01a3316fb5ac34c060c EBUILD selinux-base-policy-2.20180701-r2.ebuild 3942 BLAKE2B 8f0bc2e3955bed0e4e2144c7dcd929c0d766b653d9668fdda013190597578b77e284a10d614770a1473c3d2e0a1f96e66b434848ac9663ed93a2e331c6dc62be SHA512 80921679ce317db1b00012b9dce7b2ef685485fdb27443d9773c8a82a584ae121cb1ae3c67b9cf825a0c4ae3caf75a04055734bcf7c7de655c2553c06f4ec649 +EBUILD selinux-base-policy-2.20190201-r1.ebuild 3942 BLAKE2B 3a05c86d604bc7a8a7de4835a517442b86628838b3eefda33c32cac8080df600b3ae4f52619c352f5861160497dd6082827c65d1e57180ed0e1c7dfc358c41da SHA512 6c34e9482d241fdea04a0fb6b5da06ca81c888cadbf2bde9d143688e519466871f02bdbadae31be764607c7eddbdd42c1b928cdf4e8415242964d74fd665cd66 EBUILD selinux-base-policy-9999.ebuild 3945 BLAKE2B 47f89b64fc441cff562f35b04c80d2c3da1ba5bc93b9f39e074f91cb30de8f93eba5b5306e62d7804c8519e380f0b3bf96ed2f172f07520d5093663f38404d17 SHA512 5ebc07f14d215ad2bbfe3e168915e0a6b5d5ff020d1078e2a4f1a5d1c8b0b61db804fc8af166f863e088dd1a3c887b5afa11ee92cbd5ae8cbfe57039831c2173 MISC metadata.xml 534 BLAKE2B 1bb289204431150ae974c9fd677926faf72e75def3294b9df405a048e398ac3b6147de8483512487edaeea378e1dbd32df0675acb7fa50326c48382603c5dbfe SHA512 d8340bec9d0ec0feb396b17b53a6d53e3caa7ddd1efdc5e5de07baf86592ad0526d08fc08908295cf18a915eef1c7429c72970d56967162b2390eed6f28c822a diff --git a/sec-policy/selinux-base-policy/selinux-base-policy-2.20190201-r1.ebuild b/sec-policy/selinux-base-policy/selinux-base-policy-2.20190201-r1.ebuild new file mode 100644 index 000000000000..5da851fdae6d --- /dev/null +++ b/sec-policy/selinux-base-policy/selinux-base-policy-2.20190201-r1.ebuild @@ -0,0 +1,132 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="6" + +if [[ ${PV} == 9999* ]]; then + EGIT_REPO_URI="${SELINUX_GIT_REPO:-https://anongit.gentoo.org/git/proj/hardened-refpolicy.git}" + EGIT_BRANCH="${SELINUX_GIT_BRANCH:-master}" + EGIT_CHECKOUT_DIR="${WORKDIR}/refpolicy" + + inherit git-r3 +else + SRC_URI="https://github.com/SELinuxProject/refpolicy/releases/download/RELEASE_${PV/./_}/refpolicy-${PV}.tar.bz2 + https://dev.gentoo.org/~swift/patches/${PN}/patchbundle-${PN}-${PVR}.tar.bz2" + KEYWORDS="~amd64 -arm ~arm64 ~mips ~x86" +fi + +HOMEPAGE="https://wiki.gentoo.org/wiki/Project:SELinux" +DESCRIPTION="SELinux policy for core modules" + +IUSE="systemd +unconfined" + +PDEPEND="unconfined? ( sec-policy/selinux-unconfined )" +DEPEND="=sec-policy/selinux-base-${PVR}[systemd?]" +RDEPEND="$DEPEND" + +MODS="application authlogin bootloader clock consoletype cron dmesg fstools getty hostname hotplug init iptables libraries locallogin logging lvm miscfiles modutils mount mta netutils nscd portage raid rsync selinuxutil setrans ssh staff storage su sysadm sysnetwork tmpfiles udev userdomain usermanage unprivuser xdg" +LICENSE="GPL-2" +SLOT="0" +S="${WORKDIR}/" + +# Code entirely copied from selinux-eclass (cannot inherit due to dependency on +# itself), when reworked reinclude it. Only postinstall (where -b base.pp is +# added) needs to remain then. + +pkg_setup() { + if use systemd; then + MODS="${MODS} systemd" + fi +} + +pkg_pretend() { + for i in ${POLICY_TYPES}; do + if [[ "${i}" == "targeted" ]] && ! use unconfined; then + die "If you use POLICY_TYPES=targeted, then USE=unconfined is mandatory." + fi + done +} + +src_prepare() { + local modfiles + + if [[ ${PV} != 9999* ]]; then + einfo "Applying SELinux policy updates ... " + eapply -p0 "${WORKDIR}/0001-full-patch-against-stable-release.patch" + fi + + eapply_user + + # Collect only those files needed for this particular module + for i in ${MODS}; do + modfiles="$(find ${S}/refpolicy/policy/modules -iname $i.te) $modfiles" + modfiles="$(find ${S}/refpolicy/policy/modules -iname $i.fc) $modfiles" + done + + for i in ${POLICY_TYPES}; do + mkdir "${S}"/${i} || die "Failed to create directory ${S}/${i}" + cp "${S}"/refpolicy/doc/Makefile.example "${S}"/${i}/Makefile \ + || die "Failed to copy Makefile.example to ${S}/${i}/Makefile" + + cp ${modfiles} "${S}"/${i} \ + || die "Failed to copy the module files to ${S}/${i}" + done +} + +src_compile() { + for i in ${POLICY_TYPES}; do + emake NAME=$i SHAREDIR="${ROOT%/}"/usr/share/selinux -C "${S}"/${i} || die "${i} compile failed" + done +} + +src_install() { + local BASEDIR="/usr/share/selinux" + + for i in ${POLICY_TYPES}; do + for j in ${MODS}; do + einfo "Installing ${i} ${j} policy package" + insinto ${BASEDIR}/${i} + doins "${S}"/${i}/${j}.pp || die "Failed to add ${j}.pp to ${i}" + done + done +} + +pkg_postinst() { + # Set root path and don't load policy into the kernel when cross compiling + local root_opts="" + if [[ "${ROOT%/}" != "" ]]; then + root_opts="-p ${ROOT%/} -n" + fi + + # Override the command from the eclass, we need to load in base as well here + local COMMAND="-i base.pp" + if has_version "<sys-apps/policycoreutils-2.5"; then + COMMAND="-b base.pp" + fi + + for i in ${MODS}; do + COMMAND="${COMMAND} -i ${i}.pp" + done + + for i in ${POLICY_TYPES}; do + einfo "Inserting the following modules, with base, into the $i module store: ${MODS}" + + cd "${ROOT%/}/usr/share/selinux/${i}" + + semodule ${root_opts} -s ${i} ${COMMAND} + done + + # Don't relabel when cross compiling + if [[ "${ROOT%/}" == "" ]]; then + # Relabel depending packages + local PKGSET=""; + if [[ -x /usr/bin/qdepends ]] ; then + PKGSET=$(/usr/bin/qdepends -Cq -r -Q ${CATEGORY}/${PN} | grep -v 'sec-policy/selinux-'); + elif [[ -x /usr/bin/equery ]] ; then + PKGSET=$(/usr/bin/equery -Cq depends ${CATEGORY}/${PN} | grep -v 'sec-policy/selinux-'); + fi + if [[ -n "${PKGSET}" ]] ; then + rlpkg ${PKGSET}; + fi + fi +} |