libcgroup: Add libcgroup for initscripts.

This commit is contained in:
Xin Ouyang 2012-02-29 17:59:40 +08:00 committed by Mark Hatle
parent 1675fcf46c
commit 84d8ba1055
2 changed files with 152 additions and 0 deletions

View File

@ -0,0 +1,129 @@
From 15db1ef0f561309e2b475df3993c8f185d19a7eb Mon Sep 17 00:00:00 2001
From: Xin Ouyang <Xin.Ouyang@windriver.com>
Date: Wed, 29 Feb 2012 17:42:57 +0800
Subject: [PATCH] Fix LSB routines for non-LSB releases.
---
scripts/init.d/cgconfig.in | 49 ++++++++++++++++++++++++++++++++++++++++---
scripts/init.d/cgred.in | 45 +++++++++++++++++++++++++++++++++++++++-
2 files changed, 89 insertions(+), 5 deletions(-)
diff --git a/scripts/init.d/cgconfig.in b/scripts/init.d/cgconfig.in
index 14aa2e3..6ca9ecf 100644
--- a/scripts/init.d/cgconfig.in
+++ b/scripts/init.d/cgconfig.in
@@ -36,10 +36,51 @@ CONFIG_FILE=/etc/cgconfig.conf
servicename=cgconfig
lockfile=/var/lock/subsys/$servicename
-#
-# Source LSB routines
-#
-. /lib/lsb/init-functions
+# for log_success_msg and friends
+if [ -r /lib/lsb/init-functions ]; then
+# LSB, SLES, ...
+ . /lib/lsb/init-functions
+elif [ -r /etc/init.d/functions ]; then
+# Red Hat / VMware
+ . /etc/init.d/functions
+ my_log_message()
+ {
+ ACTION=$1
+ shift
+
+ case "$ACTION" in
+ success)
+ echo -n $*
+ success "$*"
+ echo
+ ;;
+ failure)
+ echo -n $*
+ failure "$*"
+ echo
+ ;;
+ warning)
+ echo -n $*
+ warning "$*"
+ echo
+ ;;
+ *)
+ ;;
+ esac
+ }
+ log_success_msg()
+ {
+ my_log_message success "$*"
+ }
+ log_failure_msg()
+ {
+ my_log_message failure "$*"
+ }
+ log_warning_msg()
+ {
+ my_log_message warning "$*"
+ }
+fi
# read the config
CREATE_DEFAULT=yes
diff --git a/scripts/init.d/cgred.in b/scripts/init.d/cgred.in
index 9ff2d9b..4b02536 100644
--- a/scripts/init.d/cgred.in
+++ b/scripts/init.d/cgred.in
@@ -41,7 +41,50 @@ CGRED_CONF=/etc/cgrules.conf
# Source function library & LSB routines
. /etc/rc.d/init.d/functions
-. /lib/lsb/init-functions
+# for log_success_msg and friends
+if [ -r /lib/lsb/init-functions ]; then
+# LSB, SLES, ...
+ . /lib/lsb/init-functions
+elif [ -r /etc/init.d/functions ]; then
+# Red Hat / VMware
+ my_log_message()
+ {
+ ACTION=$1
+ shift
+
+ case "$ACTION" in
+ success)
+ echo -n $*
+ success "$*"
+ echo
+ ;;
+ failure)
+ echo -n $*
+ failure "$*"
+ echo
+ ;;
+ warning)
+ echo -n $*
+ warning "$*"
+ echo
+ ;;
+ *)
+ ;;
+ esac
+ }
+ log_success_msg()
+ {
+ my_log_message success "$*"
+ }
+ log_failure_msg()
+ {
+ my_log_message failure "$*"
+ }
+ log_warning_msg()
+ {
+ my_log_message warning "$*"
+ }
+fi
# Read in configuration options.
if [ -f "/etc/sysconfig/cgred.conf" ] ; then
--
1.7.5.4

View File

@ -19,7 +19,10 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/project/libcg/libcgroup/v.038/libcgroup-${PV}.t
SRC_URI[md5sum] = "f0f7d4060bf36ccc19d75dbf4f1695db"
SRC_URI[sha256sum] = "5d36d1a48b95f62fe9fcdf74a5a4089512e5e43e6011aa1504fd6f2a0909867f"
SRC_URI += "file://fix-LSB-routines.patch"
EXTRA_OECONF = "${@base_contains('DISTRO_FEATURES', 'pam', '--enable-pam-module-dir=${base_libdir}/security --enable-pam=yes', '--enable-pam=no', d)}"
EXTRA_OECONF += "--enable-initscript-install"
# http://www.mail-archive.com/openembedded-devel@lists.openembedded.org/msg21444.html
PARALLEL_MAKE = ""
@ -32,4 +35,24 @@ FILES_${PN}-dev += "${base_libdir}/security/*.la"
# We really need the symlink so :(
ERROR_QA = "debug-deps dev-deps debug-files arch la2 pkgconfig la perms"
do_install_append() {
install -d ${D}${sysconfdir}
install -m 644 samples/cgconfig.conf ${D}/${sysconfdir}/cgconfig.conf
install -m 644 samples/cgrules.conf ${D}/${sysconfdir}/cgrules.conf
install -m 644 samples/cgsnapshot_blacklist.conf ${D}/${sysconfdir}/cgsnapshot_blacklist.conf
install -d ${D}${sysconfdir}/sysconfig/
head -7 samples/cgconfig.sysconfig > samples/cgconfig.sysconfig.new
echo "# By default, do not create these groups:" >> samples/cgconfig.sysconfig.new
echo "CREATE_DEFAULT=no" >> samples/cgconfig.sysconfig.new
install -m 644 samples/cgconfig.sysconfig.new ${D}${sysconfdir}/sysconfig/cgconfig
# sanitize pam module, we need only pam_cgroup.so
if [ -f ${D}/${base_libdir}/security/pam_cgroup.so.*.*.* ]; then
mv -f ${D}/${base_libdir}/security/pam_cgroup.so.*.*.* ${D}/${base_libdir}/security/pam_cgroup.so
rm -f ${D}/${base_libdir}/security/pam_cgroup.la ${D}/${base_libdir}/security/pam_cgroup.so.*
fi
rm -f ${D}/${libdir}/*.la
}
BBCLASSEXTEND = "native"