sys-apps/restorecond: New Package split from policycoreutils
authorJason Zaman <perfinion@gentoo.org>
Wed, 26 Apr 2017 18:08:38 +0000 (02:08 +0800)
committerJason Zaman <perfinion@gentoo.org>
Wed, 26 Apr 2017 18:14:17 +0000 (02:14 +0800)
Package-Manager: Portage-2.3.3, Repoman-2.3.1

sys-apps/restorecond/files/restorecond.init [new file with mode: 0755]
sys-apps/restorecond/metadata.xml [new file with mode: 0644]
sys-apps/restorecond/restorecond-9999.ebuild [new file with mode: 0644]

diff --git a/sys-apps/restorecond/files/restorecond.init b/sys-apps/restorecond/files/restorecond.init
new file mode 100755 (executable)
index 0000000..709f1d1
--- /dev/null
@@ -0,0 +1,30 @@
+#!/sbin/openrc-run
+# Copyright 2006-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+is_selinux_enabled() {
+       local SE_ENABL="/usr/sbin/selinuxenabled"
+
+       if [ -x "$SE_ENABL" ]; then
+               $SE_ENABL && return 0 || return 1
+       else
+               ewarn "Restorecond: Unable to determine SELinux status"
+               return 1
+       fi
+}
+
+start() {
+       if is_selinux_enabled; then
+               ebegin "Starting restorecond"
+               start-stop-daemon --start --quiet --exec /usr/sbin/restorecond
+               eend $?
+       fi
+}
+
+stop() {
+       if is_selinux_enabled; then
+               ebegin "Stopping restorecond"
+               start-stop-daemon --stop --quiet --pidfile /var/run/restorecond.pid
+               eend $?
+       fi
+}
diff --git a/sys-apps/restorecond/metadata.xml b/sys-apps/restorecond/metadata.xml
new file mode 100644 (file)
index 0000000..bad7d3f
--- /dev/null
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+       <maintainer type="project">
+               <email>selinux@gentoo.org</email>
+               <name>SELinux Team</name>
+       </maintainer>
+       <longdescription>
+               daemon that watches for file creation and then sets the default SELinux file context
+       </longdescription>
+       <upstream>
+               <remote-id type="github">SELinuxProject/selinux</remote-id>
+       </upstream>
+</pkgmetadata>
diff --git a/sys-apps/restorecond/restorecond-9999.ebuild b/sys-apps/restorecond/restorecond-9999.ebuild
new file mode 100644 (file)
index 0000000..9195189
--- /dev/null
@@ -0,0 +1,57 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+inherit toolchain-funcs
+
+MY_RELEASEDATE="20161014"
+
+MY_P="${P//_/-}"
+IUSE=""
+
+if [[ ${PV} == *9999 ]] ; then
+       inherit git-r3
+       EGIT_REPO_URI="https://github.com/SELinuxProject/selinux.git"
+       S="${WORKDIR}/${MY_P}/${PN}"
+else
+       SRC_URI="https://raw.githubusercontent.com/wiki/SELinuxProject/selinux/files/releases/${MY_RELEASEDATE}/${MY_P}.tar.gz"
+       KEYWORDS="~amd64 ~arm ~arm64 ~mips ~x86"
+       S="${WORKDIR}/${MY_P}"
+fi
+
+DESCRIPTION="Daemon to watch for creation and set default SELinux fcontexts"
+HOMEPAGE="https://github.com/SELinuxProject/selinux/wiki"
+
+LICENSE="GPL-2"
+SLOT="0"
+
+DEPEND=">=sys-libs/libsepol-${PV}:=
+       >=sys-libs/libselinux-${PV}:=
+       dev-libs/libpcre:=
+       >=sys-libs/libcap-1.10-r10:="
+
+RDEPEND="${DEPEND}
+       !<sys-apps/policycoreutils-2.7_pre"
+
+src_prepare() {
+       default
+
+       sed -i 's/-Werror//g' "${S}"/Makefile || die "Failed to remove Werror"
+}
+
+src_compile() {
+       emake \
+               CC="$(tc-getCC)" \
+               LIBDIR="\$(PREFIX)/$(get_libdir)"
+}
+
+src_install() {
+       emake DESTDIR="${D}" \
+               LIBDIR="\$(PREFIX)/$(get_libdir)" \
+               install
+
+       rm -rf "${D}/etc/rc.d" || die
+
+       newinitd "${FILESDIR}/restorecond.init" restorecond
+}