Author: glen                         Date: Sun Jun 28 22:38:40 2009 GMT
Module: packages                      Tag: HEAD
---- Log message:
- add initscript to load kexec image

---- Files affected:
packages/kexec-tools:
   kexec-tools.spec (1.18 -> 1.19) , kexec.init (NONE -> 1.1)  (NEW), 
kexec.sysconfig (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: packages/kexec-tools/kexec-tools.spec
diff -u packages/kexec-tools/kexec-tools.spec:1.18 
packages/kexec-tools/kexec-tools.spec:1.19
--- packages/kexec-tools/kexec-tools.spec:1.18  Mon Jun 29 00:18:55 2009
+++ packages/kexec-tools/kexec-tools.spec       Mon Jun 29 00:38:35 2009
@@ -3,15 +3,20 @@
 Summary(pl.UTF-8):     Narzędzie pozwalające załadować nowe jądro bez 
konieczności restartu
 Name:          kexec-tools
 Version:       2.0.0
-Release:       0.1
+Release:       0.3
 License:       GPL v2
 Group:         Applications/System
 Source0:       
http://www.kernel.org/pub/linux/kernel/people/horms/kexec-tools/%{name}-%{version}.tar.bz2
 # Source0-md5: d9f2ecd3c3307905f24130a25816e6cc
 Patch0:                as-needed.patch
+Source1:       kexec.init
+Source2:       kexec.sysconfig
 URL:           http://www.kernel.org/pub/linux/kernel/people/horms/kexec-tools/
 BuildRequires: autoconf
+BuildRequires: rpmbuild(macros) >= 1.228
 BuildRequires: zlib-devel
+Requires(post,preun):  /sbin/chkconfig
+Requires:      rc-scripts
 ExclusiveArch: %{ix86} %{x8664} alpha ia64 ppc ppc64
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
@@ -40,16 +45,32 @@
 
 %install
 rm -rf $RPM_BUILD_ROOT
+install -d $RPM_BUILD_ROOT/etc/{sysconfig,rc.d/init.d}
 
 %{__make} install \
        DESTDIR=$RPM_BUILD_ROOT
 
+install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/kexec
+cp -a %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/kexec
+
 %clean
 rm -rf $RPM_BUILD_ROOT
 
+%post
+/sbin/chkconfig --add kexec
+%service kexec restart
+
+%preun
+if [ "$1" = "0" ]; then
+       %service -q kexec stop
+       /sbin/chkconfig --del kexec
+fi
+
 %files
 %defattr(644,root,root,755)
 %doc AUTHORS News TODO
+%attr(754,root,root) /etc/rc.d/init.d/kexec
+%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/kexec
 %attr(755,root,root) %{_sbindir}/kdump
 %attr(755,root,root) %{_sbindir}/kexec
 %dir %{_libdir}/kexec-tools
@@ -61,6 +82,9 @@
 All persons listed below can be reached at <cvs_login>@pld-linux.org
 
 $Log$
+Revision 1.19  2009/06/28 22:38:35  glen
+- add initscript to load kexec image
+
 Revision 1.18  2009/06/28 22:18:55  glen
 - up to 2.0.0, new url
 
@@ -116,3 +140,6 @@
 
 Revision 1.2  2003/07/13 15:27:16  erjot
 - adapterized
+
+Revision 1.1  2003/07/13 15:13:22  erjot
+- init version

================================================================
Index: packages/kexec-tools/kexec.init
diff -u /dev/null packages/kexec-tools/kexec.init:1.1
--- /dev/null   Mon Jun 29 00:38:40 2009
+++ packages/kexec-tools/kexec.init     Mon Jun 29 00:38:35 2009
@@ -0,0 +1,65 @@
+#!/bin/sh
+#
+# kexec-load   Load kernel image with kexec
+#
+# chkconfig:   345 99 01
+#
+# description: This tool is used to load a kernel in memory and reboot into 
the kernel \
+#                              loaded in memory using the kexec system call.
+#
+# $Id$
+
+# Source function library
+. /etc/rc.d/init.d/functions
+
+LOAD_KEXEC=yes
+KERNEL_IMAGE="/boot/vmlinuz"
+INITRD="/boot/initrd"
+APPEND=""
+
+# Get service config - may override defaults
+[ -f /etc/sysconfig/kexec ] && . /etc/sysconfig/kexec
+
+stop() {
+       if ! is_yes "$LOAD_KEXEC" || [ ! -f /sys/kernel/kexec_loaded ]; then
+               return
+       fi
+
+       # skip if already loaded something
+       if [ "`cat /sys/kernel/kexec_loaded 2>/dev/null`" = "1" ]; then
+               return
+       fi
+
+       REAL_APPEND="$APPEND"
+       if [ -z "$REAL_APPEND" ]; then
+               REAL_APPEND=$(cat /proc/cmdline)
+       fi
+
+       show "Loading new kernel image (%s) into memory" "$KERNEL_IMAGE"
+       if [ -z "$INITRD" ]; then
+               kexec -l "$KERNEL_IMAGE" --append="$REAL_APPEND"
+       else
+               kexec -l "$KERNEL_IMAGE" --initrd="$INITRD" 
--append="$REAL_APPEND"
+       fi
+       if [ $? = 0 ]; then
+               ok
+       else
+               fail
+       fi
+}
+
+RETVAL=0
+# See how we were called.
+case "$1" in
+  start)
+       # it's a noop
+       ;;
+  stop)
+       stop
+       ;;
+  *)
+       msg_usage "$0 {start|stop}"
+       exit 3
+esac
+
+exit $RETVAL

================================================================
Index: packages/kexec-tools/kexec.sysconfig
diff -u /dev/null packages/kexec-tools/kexec.sysconfig:1.1
--- /dev/null   Mon Jun 29 00:38:40 2009
+++ packages/kexec-tools/kexec.sysconfig        Mon Jun 29 00:38:35 2009
@@ -0,0 +1,12 @@
+# Defaults for kexec initscript
+# Sourced by /etc/rc.d/init.d/kexec
+
+# Load a kexec kernel (yes/no)
+LOAD_KEXEC=yes
+
+# Kernel and initrd image
+KERNEL_IMAGE="/boot/vmlinuz"
+INITRD="/boot/initrd.gz"
+
+# If empty, use current /proc/cmdline
+APPEND=""
================================================================

---- CVS-web:
    
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/kexec-tools/kexec-tools.spec?r1=1.18&r2=1.19&f=u

_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to