/[packages]/cauldron/abrt/current/SOURCES/abrt-debuginfo-install
ViewVC logotype

Contents of /cauldron/abrt/current/SOURCES/abrt-debuginfo-install

Parent Directory Parent Directory | Revision Log Revision Log


Revision 21273 - (show annotations) (download)
Mon Jan 17 13:41:48 2011 UTC (13 years, 2 months ago) by blino
File size: 1246 byte(s)
imported package abrt
1 #!/bin/sh
2 # Called by abrtd before producing a backtrace.
3 # The task of this script is to install debuginfos.
4
5 core="$1"
6 debug=false
7
8 # stderr may be used for status messages too
9 exec 2>&1
10
11 error_msg_and_die() {
12 echo "$*"
13 exit 2
14 }
15
16 count_words() {
17 echo $#
18 }
19
20 print_missing_debuginfos() {
21 local dir
22 local executable
23 dir="$1"
24 sed -n -e 's|.*from /|/|p' < "$dir"/backtrace | sort -u
25 executable=`cat "$dir"/executable`
26 test -f /usr/lib/debug/"$executable" || echo "$executable"
27 }
28
29 print_package_names() {
30 echo $missing_debuginfo_files | xargs rpm -qf --qf "%{SOURCERPM}\n" | sed 's/-[^-]*-[^-]*$/-debug/' | sort -u
31 }
32
33 # Sanity checking
34 test -f "$core" || error_msg_and_die "not a file: '$core'"
35
36 dir=`dirname "$core"`
37
38 missing_debuginfo_files=`print_missing_debuginfos "$dir"`
39
40 $debug && echo "missing_debuginfo_files:$missing_debuginfo_files"
41
42 # Map $missing_debuginfo_files to package names.
43 packages=`print_package_names`
44 $debug && echo "packages:$packages"
45
46 if test x"$packages" != x"" ; then
47 num_packages=`count_words $packages`
48 echo "Installing $num_packages packages"
49 urpmi.update debug
50 /usr/sbin/urpmi --auto --media debug $packages
51 fi
52
53 echo "All needed debuginfos are present"
54 exit 0

Properties

Name Value
svn:executable *

  ViewVC Help
Powered by ViewVC 1.1.30