From f498991c7f72d00ac22d80aaca54075f20353425 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Ba=C5=BEant?= Date: Tue, 26 Apr 2022 15:04:08 +0200 Subject: [PATCH 1/2] Added new chapter on debuginfod (jsc#SLE-20452) --- doc-kit.conf | 2 +- xml/book_administration.xml | 1 + xml/debuginfod.xml | 107 ++++++++++++++++++++++++++++++++++++ xml/generic-entities.ent | 3 +- 4 files changed, 111 insertions(+), 2 deletions(-) create mode 100644 xml/debuginfod.xml diff --git a/doc-kit.conf b/doc-kit.conf index 1dce777153..b1858612ed 100644 --- a/doc-kit.conf +++ b/doc-kit.conf @@ -3,5 +3,5 @@ variant: license-gfdl file: dc865ed00674536288a1e5a78ba07fe138aaabde .gitignore file: c6b4745307e90c9b88905b434cbbaddc54e4541b .editorconfig -file: 52057b72aa89089dc36d5edc422a2ecb4c6ca48b xml/generic-entities.ent +file: c5e2769f73dd26e97483d32ba6edfbd08f2b9108 xml/generic-entities.ent file: e18430714fe3af85fe62bea62b50140d8b5edf5a xml/network-entities.ent diff --git a/xml/book_administration.xml b/xml/book_administration.xml index 5cb1e2d739..13c360e85e 100644 --- a/xml/book_administration.xml +++ b/xml/book_administration.xml @@ -82,6 +82,7 @@ + diff --git a/xml/debuginfod.xml b/xml/debuginfod.xml new file mode 100644 index 0000000000..2ec8999a97 --- /dev/null +++ b/xml/debuginfod.xml @@ -0,0 +1,107 @@ + + + %entities; +]> + + Getting debugging data and sources with &debuginfod; + + + + yes + + + + Introduction + + + Developers often need to solve bugs in software packages. Debugging tools, + for example GDB, use information contained in special files that are not + available in the installed binary version of the package. It is available in + the source or debuginfo version of the package. + Installing packages with extended debugging information requires system + administrator privileges and occupies a lot of disk space. + + + + The &debuginfod; service contains an HTTP file server that provides + debugging information for debugging tools without the need to install + debuginfo versions of packages. + + + + How &debuginfod; works + + + &debuginfod; periodically scans remote and local directory trees and RPM + package archives to extract the build IDs of discovered executables and + debuginfo files. It stores these IDs into a built-in database and indexes + them to the related file or package names. + + + + Configuring &debuginfod; + + + You can query external &debuginfod; servers, run local &debuginfod; server, + or a combination of both approaches. + + + + Runing local &debuginfod; server + + To run a local &debuginfod; server, follow these steps: + + + + + Install the elfutils-debuginfod package: + +&prompt.sudo;zypper install elfutils-debuginfod + + + + Start the &debuginfod; service: + +&prompt.sudo;systemctl start debuginfod.service + + + + Add the local server's URL to the DEBUGINFOD_URLS + environment variable: + +&prompt.sudo;export DEBUGINFOD_URLS="http://localhost:8002/ $DEBUGINFOD_URLS" + + + + + + Adding remote &debuginfod; servers + + To be able to query remote &debuginfod; server, add its URL to the + DEBUGINFOD_URLS environment variable. For example: + +&prompt.sudo;export DEBUGINFOD_URLS="https://debuginfod.opensuse.org/ $DEBUGINFOD_URLS" + + + + Querying executables for debugging information + + + The debuginfod-find command—which is part of the + debuginfod-client package—queries configured + &debuginfod; servers for debugging information. It uses build IDs to + identify the queried data. For example, for an executable + /bin/ls, you can find the build ID by running the + following command and the query for the debugging information: + + + +&prompt.user;readelf -n /bin/ls | grep 'Build ID' +Build ID: e21f1b05e314b4c54ee57ec057c4f40c1df49dd3 +&prompt.user;debuginfod-find debuginfo e21f1b05e314b4c54ee57ec057c4f40c1df49dd3 +/root/.cache/debuginfod_client/e21f1b05e314b4c54ee57ec057c4f40c1df49dd3/debuginfo + + + diff --git a/xml/generic-entities.ent b/xml/generic-entities.ent index 5e03e0397a..0a3c49a574 100644 --- a/xml/generic-entities.ent +++ b/xml/generic-entities.ent @@ -227,7 +227,7 @@ use &deng;! --> - + @@ -265,6 +265,7 @@ use &deng;! --> bcache"> chrony"> chronyc"> +debuginfod"> From 732b69a2f521d07e6bb61953883fb02380092c48 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Ba=C5=BEant?= Date: Thu, 28 Apr 2022 08:35:54 +0200 Subject: [PATCH 2/2] Update xml/debuginfod.xml --- xml/debuginfod.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xml/debuginfod.xml b/xml/debuginfod.xml index 2ec8999a97..dc33fb1c9f 100644 --- a/xml/debuginfod.xml +++ b/xml/debuginfod.xml @@ -19,7 +19,7 @@ Developers often need to solve bugs in software packages. Debugging tools, for example GDB, use information contained in special files that are not available in the installed binary version of the package. It is available in - the source or debuginfo version of the package. + the debugsource or debuginfo version of the package. Installing packages with extended debugging information requires system administrator privileges and occupies a lot of disk space.