Required for reporter-ureport to work with kernel oopses.
Signed-off-by: Richard Marko rmarko@redhat.com --- src/plugins/koops_event.conf | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+)
diff --git a/src/plugins/koops_event.conf b/src/plugins/koops_event.conf index 4d75110..e050cae 100644 --- a/src/plugins/koops_event.conf +++ b/src/plugins/koops_event.conf @@ -4,6 +4,24 @@ EVENT=post-create analyzer=Kerneloops dmesg >dmesg && abrt-action-generate-core-backtrace
+ echo "Looking for kernel package" + package=$( rpm -q kernel | grep $( cat kernel | cut -d' ' -f1 )) + if [ $? == 0 ]; then + echo "Kernel package $package found" + rpm -q --qf "%{name}\n" $package > pkg_name + rpm -q --qf "%{arch}\n" $package > pkg_arch + rpm -q --qf "%{version}\n" $package > pkg_version + rpm -q --qf "%{release}\n" $package > pkg_release + epoch=$( rpm -q --qf "%{epoch}" $package ) + if [ $epoch == "(none)" ]; then + echo "0" > pkg_epoch + else + echo "$epoch" > pkg_epoch + fi + else + echo "Kernel package not found" + fi + # If you want behavior similar to one provided by kerneloops daemon # distributed by kerneloops.org - that is, if you want # oopses to be reported automatically and immediately without
On 08/03/2012 04:55 PM, Richard Marko wrote:
Required for reporter-ureport to work with kernel oopses.
Signed-off-by: Richard Marko rmarko@redhat.com
src/plugins/koops_event.conf | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+)
diff --git a/src/plugins/koops_event.conf b/src/plugins/koops_event.conf index 4d75110..e050cae 100644 --- a/src/plugins/koops_event.conf +++ b/src/plugins/koops_event.conf @@ -4,6 +4,24 @@ EVENT=post-create analyzer=Kerneloops dmesg >dmesg && abrt-action-generate-core-backtrace
echo "Looking for kernel package"
package=$( rpm -q kernel | grep $( cat kernel | cut -d' ' -f1 ))
This fails on my machine because I have kernel-PAE-3.4.2-1.fc16.i686 package. Looks like we need rpm -qa and grep for "kernel.*VERSION"
"cat kernel | cut -d' ' -f1" can be optimized into one fewer command: "sed 's/ .*//' kernel"
if [ $? == 0 ]; then
echo "Kernel package $package found"
rpm -q --qf "%{name}\n" $package > pkg_name
Please use "$package" and "$(subst)", not $package and $(subst).
Just paranoia: you want it to be one "shell word"? Then it must be quoted. I do it even when I _know_ there are no spaces - I want to develop a good habit and avoid a bug when it _will_ have spaces.
rpm -q --qf "%{arch}\n" $package > pkg_arch
rpm -q --qf "%{version}\n" $package > pkg_version
rpm -q --qf "%{release}\n" $package > pkg_release
epoch=$( rpm -q --qf "%{epoch}" $package )
if [ $epoch == "(none)" ]; then
echo "0" > pkg_epoch
else
echo "$epoch" > pkg_epoch
fi
else
echo "Kernel package not found"
fi
# If you want behavior similar to one provided by kerneloops daemon # distributed by kerneloops.org - that is, if you want # oopses to be reported automatically and immediately without
crash-catcher@lists.fedorahosted.org