Mailinglist Archive: opensuse-features (325 mails)
| < Previous | Next > |
[openFATE 305561] Install Debuginfo Package by build-id
- From: fate_noreply@xxxxxxx
- Date: Fri, 23 Oct 2009 15:00:38 +0200 (CEST)
- Message-id: <feature-305561-15@xxxxxxxxxxxxxx>
Feature changed by: Stephan Kulow (coolo)
Feature #305561, revision 15
Title: Install Debuginfo Package by build-id
openSUSE-11.2: Done
Priority
Requester: Mandatory
Projectmanager: Important
Requested by: Jan Blunck (janblunck)
Developer: Jan Blunck (jblunck)
Description:
Since SLE11 we embed build-ids into all binaries. This build-id can be
used to match the corresponding debuginfo to a binary file, a running
process or a core file. To make it easy for user to install the correct
debuginfo, he should be able to run the following command to get the
correct debuginfo package installed:
zypper install debuginfo-build-id-
eb49eeaf82eff32cfbf44d94f9aa8e3cdcf0e461
Test Case:
* make sure you don't have the debuginfo
* run gdb
* gdb will output the command line for missing debug infos, e.g. zypper
install -C "debuginfo(build-id)
=41d4f203d690d7db47fbcc38c3f47a2cdcc6848f"
Discussion:
#1: Stephan Kulow (coolo) (2009-02-17 11:17:46)
Not sure why agruen is set as engmgr, this is simply some rpm hackery.
Put a debuginfo.prov script in place, that checks the file list given
and give it all /usr/lib/debug/.build-id files.
And it will transform /usr/lib/debug/.build-
id/00/d9cff1044033b4781ab47388b422b07cb72708.debug into debuginfo
(d9cff1044033b4781ab47388b422b07cb72708).
After that you can use zypper install -C "debuginfo
(d9cff1044033b4781ab47388b422b07cb72708)" and you get kdepim4-debuginfo
installed (11.1-x86_64 example).
This is an effort of half an hour without testing.
#2: Andreas Gruenbacher (agruen) (2009-02-17 16:15:18) (reply to #1)
This should work, and the debug info repository metadata should still
remain reasonably small.
#3: Stephan Kulow (coolo) (2009-04-16 10:43:47)
the debuginfo meta data for 11.2 and sle11 contain the build ids.
Zypper support is not implemented, but I don't think it's needed as it
requires a 10 line shell script wrapper that can live very well in
ptools
#4: Stephan Kulow (coolo) (2009-08-18 15:07:42)
state in factory: gdb will output the command line for missing debug
infos, e.g. zypper install -C "debuginfo(build-id)
=41d4f203d690d7db47fbcc38c3f47a2cdcc6848f"
#5: Alexander Orlovskyy (aorlovskyy) (2009-10-23 14:50:46)
Hi Stephan , can you add an example for missing debug infos?
+ #6: Stephan Kulow (coolo) (2009-10-23 14:59:33) (reply to #5)
+ no, you can't use a generic example. you will have to try to debug
+ something. gdb /bin/ls will do. It will output something like this (in
+ 11.2):
+ Reading symbols from /bin/ls...Missing separate debuginfo for /bin/ls
+ Try: zypper install -C "debuginfo(build-id)
+ =f2ec11f6e0cb0b5306e5f07fd763063747484bf6" (no debugging symbols
+ found)...done.
+ This zypper command should work.
--
openSUSE Feature:
https://features.opensuse.org/305561
Feature #305561, revision 15
Title: Install Debuginfo Package by build-id
openSUSE-11.2: Done
Priority
Requester: Mandatory
Projectmanager: Important
Requested by: Jan Blunck (janblunck)
Developer: Jan Blunck (jblunck)
Description:
Since SLE11 we embed build-ids into all binaries. This build-id can be
used to match the corresponding debuginfo to a binary file, a running
process or a core file. To make it easy for user to install the correct
debuginfo, he should be able to run the following command to get the
correct debuginfo package installed:
zypper install debuginfo-build-id-
eb49eeaf82eff32cfbf44d94f9aa8e3cdcf0e461
Test Case:
* make sure you don't have the debuginfo
* run gdb
* gdb will output the command line for missing debug infos, e.g. zypper
install -C "debuginfo(build-id)
=41d4f203d690d7db47fbcc38c3f47a2cdcc6848f"
Discussion:
#1: Stephan Kulow (coolo) (2009-02-17 11:17:46)
Not sure why agruen is set as engmgr, this is simply some rpm hackery.
Put a debuginfo.prov script in place, that checks the file list given
and give it all /usr/lib/debug/.build-id files.
And it will transform /usr/lib/debug/.build-
id/00/d9cff1044033b4781ab47388b422b07cb72708.debug into debuginfo
(d9cff1044033b4781ab47388b422b07cb72708).
After that you can use zypper install -C "debuginfo
(d9cff1044033b4781ab47388b422b07cb72708)" and you get kdepim4-debuginfo
installed (11.1-x86_64 example).
This is an effort of half an hour without testing.
#2: Andreas Gruenbacher (agruen) (2009-02-17 16:15:18) (reply to #1)
This should work, and the debug info repository metadata should still
remain reasonably small.
#3: Stephan Kulow (coolo) (2009-04-16 10:43:47)
the debuginfo meta data for 11.2 and sle11 contain the build ids.
Zypper support is not implemented, but I don't think it's needed as it
requires a 10 line shell script wrapper that can live very well in
ptools
#4: Stephan Kulow (coolo) (2009-08-18 15:07:42)
state in factory: gdb will output the command line for missing debug
infos, e.g. zypper install -C "debuginfo(build-id)
=41d4f203d690d7db47fbcc38c3f47a2cdcc6848f"
#5: Alexander Orlovskyy (aorlovskyy) (2009-10-23 14:50:46)
Hi Stephan , can you add an example for missing debug infos?
+ #6: Stephan Kulow (coolo) (2009-10-23 14:59:33) (reply to #5)
+ no, you can't use a generic example. you will have to try to debug
+ something. gdb /bin/ls will do. It will output something like this (in
+ 11.2):
+ Reading symbols from /bin/ls...Missing separate debuginfo for /bin/ls
+ Try: zypper install -C "debuginfo(build-id)
+ =f2ec11f6e0cb0b5306e5f07fd763063747484bf6" (no debugging symbols
+ found)...done.
+ This zypper command should work.
--
openSUSE Feature:
https://features.opensuse.org/305561
| < Previous | Next > |