On 08/03/2012 04:55 PM, Richard Marko wrote:
> Required for reporter-ureport to work with kernel oopses.
> 
> Signed-off-by: Richard Marko <[email protected]>
> ---
>  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

Reply via email to