summaryrefslogtreecommitdiff
path: root/app-admin/cgmanager
diff options
context:
space:
mode:
Diffstat (limited to 'app-admin/cgmanager')
-rw-r--r--app-admin/cgmanager/Manifest10
-rw-r--r--app-admin/cgmanager/cgmanager-0.39.ebuild52
-rw-r--r--app-admin/cgmanager/cgmanager-0.41.ebuild49
-rw-r--r--app-admin/cgmanager/files/cgmanager-0.39-make-pam-conditional.patch31
-rw-r--r--app-admin/cgmanager/files/cgmanager.initd-r114
-rw-r--r--app-admin/cgmanager/files/cgproxy.initd-r127
-rw-r--r--app-admin/cgmanager/metadata.xml12
7 files changed, 195 insertions, 0 deletions
diff --git a/app-admin/cgmanager/Manifest b/app-admin/cgmanager/Manifest
new file mode 100644
index 000000000000..4743ddc4adee
--- /dev/null
+++ b/app-admin/cgmanager/Manifest
@@ -0,0 +1,10 @@
+AUX cgmanager-0.39-make-pam-conditional.patch 1068 SHA256 ed638b63b6e893a664378f7ab22083410225639c8bda431c283c8c728cd8b745 SHA512 d7673d3189af0279f9b34a94f8fd7631ab3dea68df5df11cdaaa541e4978ebeaae8d0fc91f9cf331853cd96dab6d9b284adb469d409fb58f5bda262bf96fbfa2 WHIRLPOOL 3f00abbf764411860250471fa418c1d5e30419e3f4e58f76f25aa54d91587713163fa7e5bfbe2d1b3ae89f29cd2fa8fda6f8a16e816b315739a53e504af61440
+AUX cgmanager.initd-r1 331 SHA256 f162685428a6593630daf5d636c198caf4992843ced977dc6d7288b7559a062c SHA512 f50afaf471f9e9d500cbc909da1185c1342481699eb1887f694ef91bd49c7cd727d21871ff5d6c0b6046601cfa72a4ac167926c62920b2f3a4902ec817401948 WHIRLPOOL 769e94196151bf11b9ca0ec5a190b85b47860e75d65a4bb13f624fd80794ad656b60d99cc6b28a56273b79d89431cd3c625ad3386d3c861f3bf252ec7b182d11
+AUX cgproxy.initd-r1 661 SHA256 97220fa0af6dcaa9d2cb726620ee3de8e216e55bab37cea40e5ed010ed637e35 SHA512 7f43ea6369428d71d122a191c6a1718987ed09eafe2217ae326606ddf2a50f0500d0de0520fe21e5d2edefb8ddd4c3a85623d2aac1212e821ea922cb8256fffc WHIRLPOOL 46931abeeb41bc572f195e0848d42d189df6e001b86b244c9dac5a9f1615f52491c81c3823b9d03ad97e13b4f3ec578174b84ecac5e31d2e95dfd3414cb64993
+DIST cgmanager-0.39.tar.gz 437683 SHA256 9e65487fb4e4aa0a6acd87ba7f8f00b8007d8c52608aa6d411e72e6fe9445b7b SHA512 2adf2c639191fb681ffed083629d6ba93f6d5a3534d4dc00b2cff1917c3273febcb30ec7d524ee95ce4a1b8811d902a2ff1cdffe911a66850fb9f10750ef1801 WHIRLPOOL b57c0feb75543af7e7eadccd5287962034fa2c54883289822b54ed184873fb1b6e1eb6d9dcc952fcda2f3027d84fa517c2bfed22a855ede8e700c2298d5d210a
+DIST cgmanager-0.41.tar.gz 461805 SHA256 29b155befb3ac233d5d29dbca7c791c8138bab01bfa78ea4757ebb88ce23b458 SHA512 e8ba64665a21d987cd835580c2b6bafbcb05e22ce7f6216762d04840957c2cd21fb571360e0206ae9143656beed88ff3396eb1f644052c05189093a665a705fd WHIRLPOOL 4571c88415f24dbd3aae240e2427e27786538653602b4b6ba862eff1abd7fc8b2f97784ca5bced4481f738638030a5777f3d687ee5d115492d7a91ebf4985ab1
+EBUILD cgmanager-0.39.ebuild 1333 SHA256 f7c29d99bd193495480d437278b836dd78ebaee29fd19902299b0d3c80a40be6 SHA512 94bee732d5068fc8a7063f5a6dae65eb45a4d2d7e054e33554d756e8a2515bb660caf1effdd7feff8aefdac3efcefc0c4264e81d3fa03fee5c565e995eda693a WHIRLPOOL 4e0595eef76c5861a4d1d0dca834e2f11c2a6d7ed66a5bcac6b67f9e78a71dac9c526f00a2422c15b26cc00fd29d9d2d68a8f3e18fc6e4d8c8cbf859c2b6b46d
+EBUILD cgmanager-0.41.ebuild 1234 SHA256 ba7aba502daf07b38651a67fed5d75f17cb8f2752888e937cac59ebc48e678c6 SHA512 b5236eeb934b5a8679a965783ef187b4b3f603b69d37d1a572ea1c8a0f22bbd78c7339cad4aba8f4ffdf3970dc647cf46c1b132e18f19c4fd7057031fd06ba41 WHIRLPOOL 80e26f9e4c718abd959a01a2f3e457486c95aa3830f0b7853a21560fd292376765b164112dd086e32701f55a95bf94367203653bf194bfa4e7c3ef90f7b565a4
+MISC ChangeLog 5834 SHA256 dec321c1c0ef10f9f7a0528aa31395ae91a1dde36d9edabf412010308bf27c5a SHA512 480524d8362e6adf849c8206c4c9fb31a58140bde59a8ccc21062c2859b5aa0b50800ac867254039a0f0586cac8a0da62e1b16d4f1287002a9386d5dd452be5b WHIRLPOOL 00c753a142763c2a6bfa73d200c40c0060c784333817ef0dd063de6e8cb7c31e26799df4655c25b520f7eb62f39bff689fd85f6a24c1611f983f65387d6e51ad
+MISC ChangeLog-2015 1411 SHA256 98ad80d5d71eeae2e4b1a74749e10ef94073e6cf3d2af6b3380c94cfcdec34aa SHA512 30ea6c095bc2d429288c1137b45acd298458c56f3669fbe580521c4ea11c8747697546fddf80efb7924e3d5cb5d038a60ae71718352f1b3ba748a4b6272041a0 WHIRLPOOL 7e63e060b71050272a5067e82e5a346013657b11ef507f94f1488fceddd499210a798e61133d8fd0b40a213151f6cb0d2e905eff9c49408afce57dc9936ce5ee
+MISC metadata.xml 370 SHA256 3753099ce6f024a17c07eae94614fa76e7b9d65074acd899c6f75efd12e23fef SHA512 eba74394c34246d7ca096cd81be0d41e4431cbb885331c9fdfde61e273a3f01bae0726dac514af8b96a4bf272961706a8845d84d802e216ce745793f930320dd WHIRLPOOL fbc1304412875311b999a5222af4d5d13da30410e4c404a6a9225b97609b49a0aa5aae37a23cb42a8287193e08777455efd1851567feff07b48702f0aaa1a112
diff --git a/app-admin/cgmanager/cgmanager-0.39.ebuild b/app-admin/cgmanager/cgmanager-0.39.ebuild
new file mode 100644
index 000000000000..95c7b5cdff4f
--- /dev/null
+++ b/app-admin/cgmanager/cgmanager-0.39.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+inherit autotools pam
+
+DESCRIPTION="Control Group manager daemon"
+HOMEPAGE="https://linuxcontainers.org/cgmanager/introduction/"
+SRC_URI="https://linuxcontainers.org/downloads/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ~arm64 hppa ppc64 x86"
+IUSE="pam selinux"
+
+RDEPEND="sys-libs/libnih[dbus]
+ sys-apps/dbus
+ selinux? ( sec-policy/selinux-cgmanager )"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ epatch_user
+
+ # systemd expects files in /sbin but we will have them in /usr/sbin
+ pushd config/init/systemd > /dev/null || die
+ sed -i -e "s@sbin@usr/&@" {${PN},cgproxy}.service || \
+ die "Failed to fix paths in systemd service files"
+ popd > /dev/null || die
+
+ # there is an automagic dep on pam
+ epatch "${FILESDIR}/${PN}-0.39-make-pam-conditional.patch"
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --with-distro=gentoo \
+ $(use_enable pam pam-module) \
+ --with-pamdir="$(getpam_mod_dir)" \
+ --with-init-script=systemd
+}
+
+src_install () {
+ default
+
+ # I see no reason to have the tests in the filesystem. Drop them
+ rm -r "${D}"/usr/share/${PN}/tests || die "Failed to remove ${PN} tests"
+
+ newinitd "${FILESDIR}"/${PN}.initd-r1 ${PN}
+ newinitd "${FILESDIR}"/cgproxy.initd-r1 cgproxy
+}
diff --git a/app-admin/cgmanager/cgmanager-0.41.ebuild b/app-admin/cgmanager/cgmanager-0.41.ebuild
new file mode 100644
index 000000000000..88b2a849915a
--- /dev/null
+++ b/app-admin/cgmanager/cgmanager-0.41.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools pam
+
+DESCRIPTION="Control Group manager daemon"
+HOMEPAGE="https://linuxcontainers.org/cgmanager/introduction/"
+SRC_URI="https://linuxcontainers.org/downloads/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ppc ppc64 sparc x86"
+IUSE="pam selinux"
+
+RDEPEND="sys-libs/libnih[dbus]
+ sys-apps/dbus
+ selinux? ( sec-policy/selinux-cgmanager )"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ eapply_user
+
+ # systemd expects files in /sbin but we will have them in /usr/sbin
+ pushd config/init/systemd > /dev/null || die
+ sed -i -e "s@sbin@usr/&@" {${PN},cgproxy}.service || \
+ die "Failed to fix paths in systemd service files"
+ popd > /dev/null || die
+
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --with-distro=gentoo \
+ --with-pamdir="$(usex pam $(getpam_mod_dir) none)" \
+ --with-init-script=systemd
+}
+
+src_install () {
+ default
+
+ # I see no reason to have the tests in the filesystem. Drop them
+ rm -r "${D}"/usr/share/${PN}/tests || die "Failed to remove ${PN} tests"
+
+ newinitd "${FILESDIR}"/${PN}.initd-r1 ${PN}
+ newinitd "${FILESDIR}"/cgproxy.initd-r1 cgproxy
+}
diff --git a/app-admin/cgmanager/files/cgmanager-0.39-make-pam-conditional.patch b/app-admin/cgmanager/files/cgmanager-0.39-make-pam-conditional.patch
new file mode 100644
index 000000000000..eed626f3e68c
--- /dev/null
+++ b/app-admin/cgmanager/files/cgmanager-0.39-make-pam-conditional.patch
@@ -0,0 +1,31 @@
+--- Makefile.am.old 2015-09-06 00:16:38.997836415 +0800
++++ Makefile.am 2015-09-06 01:05:00.376009752 +0800
+@@ -133,6 +133,7 @@
+ $(CCLD) -o tests/cgm-concurrent tests/cgm-concurrent.o \
+ $(NIH_LIBS) $(NIH_DBUS_LIBS) $(DBUS_LIBS) -lpthread -lcgmanager
+
++if HAVE_PAMMODULE
+ pam_LTLIBRARIES = pam_cgm.la
+ pam_cgm_la_SOURCES = pam/pam_cgm.c pam/cgmanager.c pam/cgmanager.h
+ pam_cgm_la_CFLAGS = $(AM_CFLAGS)
+@@ -145,4 +146,6 @@
+ rm -f "$(DESTDIR)$(pamdir)/pam_cgm.a"
+ uninstall-local:
+ rm -f "$(DESTDIR)$(pamdir)/pam_cgm.so"
++endif
++
+ tests: TESTS_CGM_CONCURRENT TESTS_SCM TEST_NSTEST
+--- configure.ac.old 2015-09-06 00:55:48.262972928 +0800
++++ configure.ac 2015-09-06 01:04:19.683301852 +0800
+@@ -127,6 +127,11 @@
+
+ AS_AC_EXPAND(SBINDIR, "$sbindir")
+
++AC_ARG_ENABLE(pam-module,
++ [AS_HELP_STRING([--enable-pam-module],[build PAM module])],
++ , enable_pam_module=no)
++AM_CONDITIONAL([HAVE_PAMMODULE], [test "x$enable_pam_module" != "xno" ])
++
+ AC_ARG_WITH(
+ [pamdir],
+ [AS_HELP_STRING([--with-pamdir=PATH],[Specify the directory where PAM modules are stored])],
diff --git a/app-admin/cgmanager/files/cgmanager.initd-r1 b/app-admin/cgmanager/files/cgmanager.initd-r1
new file mode 100644
index 000000000000..6efc80b7155a
--- /dev/null
+++ b/app-admin/cgmanager/files/cgmanager.initd-r1
@@ -0,0 +1,14 @@
+#!/sbin/openrc-run
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+description="Control Group manager daemon"
+pidfile="/run/cgmanager.pid"
+command="/usr/sbin/cgmanager"
+command_args="-m name=systemd"
+command_background="yes"
+retry="TERM/45"
+
+depend() {
+ before cgproxy
+}
diff --git a/app-admin/cgmanager/files/cgproxy.initd-r1 b/app-admin/cgmanager/files/cgproxy.initd-r1
new file mode 100644
index 000000000000..ceb075254a3f
--- /dev/null
+++ b/app-admin/cgmanager/files/cgproxy.initd-r1
@@ -0,0 +1,27 @@
+#!/sbin/openrc-run
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+description="Control Group manager proxy"
+pidfile="/run/cgproxy.pid"
+command="/usr/sbin/cgproxy"
+command_args="--daemon"
+command_background="yes"
+retry="TERM/45"
+NESTED="${NESTED:-no}"
+
+depend() {
+ after cgmanager
+}
+
+start_pre() {
+ if ! /usr/sbin/cgproxy --check-master; then
+ ewarn "cgmanager is not running"
+ return 1
+ fi
+ # cgproxy should only run on container unless on older kernel
+ if [ -e /proc/self/ns/pid ] && [ "$NESTED" != "yes" ]; then
+ eerror "Too old kernel to support cgroup, please update to >3.8"
+ return 1
+ fi
+}
diff --git a/app-admin/cgmanager/metadata.xml b/app-admin/cgmanager/metadata.xml
new file mode 100644
index 000000000000..734f29efb788
--- /dev/null
+++ b/app-admin/cgmanager/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>perfinion@gentoo.org</email>
+ <name>Jason Zaman</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>hwoarang@gentoo.org</email>
+ <name>Markos Chandras</name>
+ </maintainer>
+</pkgmetadata>