diff options
author | William Cohen <wcohen@redhat.com> | 2008-11-04 01:43:48 -0500 |
---|---|---|
committer | William Cohen <wcohen@redhat.com> | 2008-11-04 01:43:48 -0500 |
commit | 3266a355a8d41eee4e49ce6aa841a5166e3f6fe9 (patch) | |
tree | 91f5a2da93e79525111ea115c84b7162063eb22a /doc/SystemTap_Beginners_Guide/en-US/extras | |
parent | bbd2860f9c95fbef790a2f414c8fc6548c5fec3d (diff) | |
download | systemtap-steved-3266a355a8d41eee4e49ce6aa841a5166e3f6fe9.tar.gz systemtap-steved-3266a355a8d41eee4e49ce6aa841a5166e3f6fe9.tar.xz systemtap-steved-3266a355a8d41eee4e49ce6aa841a5166e3f6fe9.zip |
Include staprep.sh script and make use of it in describing Systemtap setup.
Diffstat (limited to 'doc/SystemTap_Beginners_Guide/en-US/extras')
-rw-r--r-- | doc/SystemTap_Beginners_Guide/en-US/extras/stapprep.sh | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/doc/SystemTap_Beginners_Guide/en-US/extras/stapprep.sh b/doc/SystemTap_Beginners_Guide/en-US/extras/stapprep.sh new file mode 100644 index 00000000..ba909994 --- /dev/null +++ b/doc/SystemTap_Beginners_Guide/en-US/extras/stapprep.sh @@ -0,0 +1,35 @@ +#! /bin/bash +check_error() { if test $1 != 0; then echo $2; exit $1; fi } +DEBUGINFOREPO="rhel-debuginfo" + +if [ "$#" -lt 1 ]; then + UNAME=`uname -r` # determine the kernel running on the machine +else + UNAME=$1 #user passed in uname value +fi +UNAME=`echo $UNAME | sed "s/ //"` #strip out any whitespace +KERNEL="kernel" +for VARIANT in debug kdump PAE xen; do + TMP=`echo $UNAME | sed s/$VARIANT//` + if [ "$TMP" != "$UNAME" ]; then + UNAME=$TMP; KERNEL="kernel-$VARIANT" + fi +done +KERN_ARCH=`uname -m` +KERN_REV=`echo $UNAME | sed s/.$KERN_ARCH//` # strip arch from uname +CANDIDATES="$KERNEL-$KERN_REV.$KERN_ARCH $KERNEL-devel-$KERN_REV.$KERN_ARCH \ +$KERNEL-debuginfo-$KERN_REV.$KERN_ARCH \ +kernel-debuginfo-common-$KERN_REV.$KERN_ARCH" +NEEDED=`rpm --qf "%{name}-%{version}-%{release}.%{arch}\n" -q $CANDIDATES | \ + grep "is not installed" | awk '{print $2}'` +if [ "$NEEDED" != "" ]; then + echo -e "Need to install the following packages:\n$NEEDED" + if [ `id -u` = "0" ]; then #attempt download and install + DIR=`mktemp -d` || exit 1 + yumdownloader --enablerepo=$DEBUGINFOREPO $NEEDED --destdir=$DIR + check_error $? "problem downloading rpm(s) $NEEDED" + rpm --force -ivh $DIR/*.rpm + check_error $? "problem installing rpm(s) $NEEDED" + rm -r $DIR #cleanup + fi +fi |