[libcgroup/f13/master] Fix initscripts to report stopped cgconfig service as not running Resolves: #619091
Jan Šafránek
jsafrane at fedoraproject.org
Mon Aug 2 14:46:34 UTC 2010
commit 5d759f7b580aa51232c52378f4fd8e31bb9b01eb
Author: Jan Safranek <jsafrane at redhat.com>
Date: Mon Aug 2 16:45:50 2010 +0200
Fix initscripts to report stopped cgconfig service as not running
Resolves: #619091
libcgroup-0.36.2-initscripts.patch | 123 ++++++++++++++++++++++++++++++++++++
libcgroup.spec | 8 ++-
2 files changed, 130 insertions(+), 1 deletions(-)
---
diff --git a/libcgroup-0.36.2-initscripts.patch b/libcgroup-0.36.2-initscripts.patch
new file mode 100644
index 0000000..99ef8ac
--- /dev/null
+++ b/libcgroup-0.36.2-initscripts.patch
@@ -0,0 +1,123 @@
+Bug 619091 - cgconfig service is always reported as "running"
+
+commit 023fee998f07499938830a044845eb03b816eea7
+Author: Ivana Hutarova Varekova <varekova at redhat.com>
+Date: Wed Jul 14 14:30:48 2010 +0200
+
+ Init scripts patch
+
+ This patch fixes the return values to meet the standarts.
+
+ changed values are:
+ cgconfig:
+ * start action: 6: program is not configured
+ * status action: 3: program is not running
+
+ cgred:
+ * start action: 7: program is not running
+ * start action: 6: program is not configured
+ * status action: 3: program is not running
+ * status action: 2: program is dead and /var/run pid file exists
+ * stop action: 0: if the service is not running
+
+ Signed-off-by: Ivana Hutarova Varekova <varekova at redhat.com>
+ Signed-off-by: Dhaval Giani <dhaval.giani at gmail.com>
+
+diff --git a/scripts/init.d/cgconfig.in b/scripts/init.d/cgconfig.in
+index 9cf2c9a..d716b40 100644
+--- a/scripts/init.d/cgconfig.in
++++ b/scripts/init.d/cgconfig.in
+@@ -112,6 +112,12 @@ start() {
+
+ if [ $? -eq 0 ]
+ then
++ if [ ! -s $CONFIG_FILE ]
++ then
++ log_failure_msg $CONFIG_FILE "is not configured"
++ return 6
++ fi
++
+ $CGCONFIGPARSER_BIN -l $CONFIG_FILE
+ retval=$?
+ if [ $retval -ne 0 ]
+@@ -193,8 +199,10 @@ case $1 in
+ 'status')
+ if [ -f /var/lock/subsys/$servicename ] ; then
+ echo "Running"
++ exit 0
+ else
+ echo "Stopped"
++ exit 3
+ fi
+ ;;
+ *)
+diff --git a/scripts/init.d/cgred.in b/scripts/init.d/cgred.in
+index db9c2ac..c5b0ed5 100644
+--- a/scripts/init.d/cgred.in
++++ b/scripts/init.d/cgred.in
+@@ -34,6 +34,7 @@
+
+ prefix=@prefix@;exec_prefix=@exec_prefix@;sbindir=@sbindir@
+ CGRED_BIN=$sbindir/cgrulesengd
++CGRED_CONF=/etc/cgrules.conf
+
+ # Sanity checks
+ [ -x $CGRED_BIN ] || exit 1
+@@ -62,14 +63,21 @@ RETVAL=0
+
+ start()
+ {
+- echo $"Starting CGroup Rules Engine Daemon..."
++ echo -n $"Starting CGroup Rules Engine Daemon: "
+ if [ -f "/var/lock/subsys/$servicename" ] ; then
+ log_failure_msg "$servicename is already running with PID `cat ${pidfile}`"
+- return 1
++ return 0
++ fi
++ if [ ! -s $CGRED_CONF ]; then
++ log_failure_msg "not configured"
++ return 6
+ fi
+ daemon --check $servicename --pidfile $pidfile $CGRED_BIN $OPTIONS
+ RETVAL=$?
+ echo
++ if [ $RETVAL -ne 0 ]; then
++ return 7
++ fi
+ [ $RETVAL -eq 0 ] && touch /var/lock/subsys/$servicename
+ echo "`pidof $processname`" > $pidfile
+ }
+@@ -77,6 +85,10 @@ start()
+ stop()
+ {
+ echo -n $"Stopping CGroup Rules Engine Daemon..."
++ if [ ! -f $pidfile ]; then
++ log_success_msg
++ return 0
++ fi
+ killproc -p $pidfile $processname -TERM
+ RETVAL=$?
+ echo
+@@ -84,19 +96,20 @@ stop()
+ rm -f /var/lock/subsys/$servicename
+ rm -f $pidfile
+ fi
+- log_success_msg
+ }
+
+ # See how we are called
+ case "$1" in
+ start)
+ start
++ RETVAL=$?
+ ;;
+ stop)
+ stop
++ RETVAL=$?
+ ;;
+ status)
+- status -p $pidfile $processname
++ status -p $pidfile $servicename
+ RETVAL=$?
+ ;;
+ restart)
diff --git a/libcgroup.spec b/libcgroup.spec
index 4d9eb9c..6da0d0b 100644
--- a/libcgroup.spec
+++ b/libcgroup.spec
@@ -4,13 +4,14 @@ Name: libcgroup
Summary: Tools and libraries to control and monitor control groups
Group: Development/Libraries
Version: 0.35.1
-Release: 2%{?dist}
+Release: 3%{?dist}
License: LGPLv2+
URL: http://libcg.sourceforge.net/
Source0: http://downloads.sourceforge.net/libcg/%{name}-%{version}.tar.bz2
Source1: README.Fedora
Patch1: fedora-config.patch
Patch2: fedora-fix-initscripts.patch
+Patch3: libcgroup-0.36.2-initscripts.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: pam-devel
BuildRequires: byacc
@@ -46,6 +47,7 @@ provide scripts to manage that configuration.
%setup -q
%patch1 -p1 -b .config
%patch2 -p1 -b .lsb
+%patch3 -p1 -b .running
%build
%configure --bindir=/bin --sbindir=/sbin --libdir=/%{_lib}
@@ -138,6 +140,10 @@ fi
%changelog
+* Mon Aug 2 2010 Jan Safranek <jsafrane at redhat.com> 0.35-3
+- Fix initscripts to report stopped cgconfig service as not running
+ (#619091)
+
* Thu Jun 24 2010 Jan Safranek <jsafrane at redhat.com> 0.35-2
- Relax the dependency on redhat-lsb (#607189)
More information about the scm-commits
mailing list