Bug 1322599 - debuginfo-install installs needless packages
debuginfo-install installs needless packages
Status: CLOSED ERRATA
Product: Fedora
Classification: Fedora
Component: dnf-plugins-core (Show other bugs)
26
Unspecified Linux
low Severity low
: ---
: ---
Assigned To: Jaroslav Rohel
Fedora Extras Quality Assurance
: Triaged
: 1265273 1294471 (view as bug list)
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2016-03-30 16:58 EDT by Jan Kratochvil
Modified: 2017-07-07 19:08 EDT (History)
14 users (show)

See Also:
Fixed In Version: dnf-plugins-core-2.1.2-2.fc26
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2017-07-07 19:08:01 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Jan Kratochvil 2016-03-30 16:58:15 EDT
Description of problem:
dnf debuginfo-install installs more *-debuginfo packages than asked for.
I have no idea why because rpm -q --requires even does not print anything for the *-debuginfo packages.

Version-Release number of selected component (if applicable):
dnf-plugins-core-0.1.19-1.fc24.noarch

How reproducible:
Tried once, probably always.

Steps to Reproduce:
dnf debuginfo-install plasma-workspace-5.5.5-7.fc24.x86_64

Actual results:
Install  202 Packages
Total download size: 1.0 G
Installed size: 4.2 G

Expected results:
Install  1 Package
Total download size: 31 M
Installed size: 122 M

Additional info:
dnf debuginfo-install glibc-2.23.1-5.fc24.x86_64 bzip2-libs-1.0.6-20.fc24.x86_64 dbus-libs-1.11.2-1.fc24.x86_64 expat-2.1.0-13.fc24.x86_64 freetype-2.6.3-2.fc24.x86_64 glib2-2.48.0-1.fc24.x86_64 graphite2-1.3.6-1.fc24.x86_64 harfbuzz-1.2.3-1.fc24.x86_64 keyutils-libs-1.5.9-8.fc24.x86_64 kf5-karchive-5.20.0-1.fc24.x86_64 kf5-kauth-5.20.0-1.fc24.x86_64 kf5-kcodecs-5.20.0-1.fc24.x86_64 kf5-kcompletion-5.20.0-1.fc24.x86_64 kf5-kconfig-core-5.20.0-1.fc24.x86_64 kf5-kconfig-gui-5.20.0-1.fc24.x86_64 kf5-kconfigwidgets-5.20.0-1.fc24.x86_64 kf5-kcoreaddons-5.20.0-1.fc24.x86_64 kf5-kdbusaddons-5.20.0-1.fc24.x86_64 kf5-kdeclarative-5.20.0-1.fc24.x86_64 kf5-kguiaddons-5.20.0-1.fc24.x86_64 kf5-ki18n-5.20.0-1.fc24.x86_64 kf5-kiconthemes-5.20.0-1.fc24.x86_64 kf5-kio-core-libs-5.20.0-1.fc24.x86_64 kf5-kio-widgets-libs-5.20.0-1.fc24.x86_64 kf5-kitemviews-5.20.0-1.fc24.x86_64 kf5-kjobwidgets-5.20.0-1.fc24.x86_64 kf5-kpackage-5.20.0-1.fc24.x86_64 kf5-kservice-5.20.0-1.fc24.x86_64 kf5-kwidgetsaddons-5.20.0-1.fc24.x86_64 kf5-kwindowsystem-5.20.0-1.fc24.x86_64 krb5-libs-1.14.1-3.fc24.x86_64 libX11-1.6.3-3.fc24.x86_64 libXau-1.0.8-6.fc24.x86_64 libXdamage-1.1.4-8.fc24.x86_64 libXext-1.3.3-4.fc24.x86_64 libXfixes-5.0.1-6.fc24.x86_64 libXrender-0.9.9-3.fc24.x86_64 libXxf86vm-1.1.4-3.fc24.x86_64 libacl-2.2.52-11.fc24.x86_64 libattr-2.4.47-16.fc24.x86_64 libcap-2.24-9.fc24.x86_64 libcom_err-1.42.13-4.fc24.x86_64 libdrm-2.4.67-3.fc24.x86_64 libffi-3.1-9.fc24.x86_64 libgcc-6.0.0-0.18.fc24.x86_64 libgcrypt-1.6.4-2.fc24.x86_64 libgpg-error-1.21-2.fc24.x86_64 libicu-56.1-3.fc24.x86_64 libmodman-2.0.1-12.fc24.x86_64 libpng-1.6.21-2.fc24.x86_64 libproxy-0.4.12-2.fc24.x86_64 libselinux-2.5-2.fc24.x86_64 libstdc++-6.0.0-0.18.fc24.x86_64 libxcb-1.11.1-2.fc24.x86_64 libxshmfence-1.2-3.fc24.x86_64 lz4-r131-2.fc24.x86_64 mesa-libGL-11.2.0-0.devel.12.24ea81a.fc24.x86_64 mesa-libglapi-11.2.0-0.devel.12.24ea81a.fc24.x86_64 openssl-libs-1.0.2g-3.fc24.x86_64 pcre-8.38-11.fc24.x86_64 qt5-qtbase-5.6.0-9.fc24.x86_64 qt5-qtbase-gui-5.6.0-9.fc24.x86_64 qt5-qtdeclarative-5.6.0-4.fc24.x86_64 qt5-qtsvg-5.6.0-3.fc24.x86_64 qt5-qtx11extras-5.6.0-3.fc24.x86_64 systemd-libs-229-7.fc24.x86_64 xcb-util-keysyms-0.4.0-3.fc24.x86_64 xz-libs-5.2.2-2.fc24.x86_64 zlib-1.2.8-10.fc24.x86_64
 = 69 packages
Install  108 Packages
Total download size: 734 M
Installed size: 2.9 G

vs. sufficient:

dnf --enablerepo='*debug*' install $(rpm -q --qf '%{sourcerpm}\n' glibc-2.23.1-5.fc24.x86_64 bzip2-libs-1.0.6-20.fc24.x86_64 dbus-libs-1.11.2-1.fc24.x86_64 expat-2.1.0-13.fc24.x86_64 freetype-2.6.3-2.fc24.x86_64 glib2-2.48.0-1.fc24.x86_64 graphite2-1.3.6-1.fc24.x86_64 harfbuzz-1.2.3-1.fc24.x86_64 keyutils-libs-1.5.9-8.fc24.x86_64 kf5-karchive-5.20.0-1.fc24.x86_64 kf5-kauth-5.20.0-1.fc24.x86_64 kf5-kcodecs-5.20.0-1.fc24.x86_64 kf5-kcompletion-5.20.0-1.fc24.x86_64 kf5-kconfig-core-5.20.0-1.fc24.x86_64 kf5-kconfig-gui-5.20.0-1.fc24.x86_64 kf5-kconfigwidgets-5.20.0-1.fc24.x86_64 kf5-kcoreaddons-5.20.0-1.fc24.x86_64 kf5-kdbusaddons-5.20.0-1.fc24.x86_64 kf5-kdeclarative-5.20.0-1.fc24.x86_64 kf5-kguiaddons-5.20.0-1.fc24.x86_64 kf5-ki18n-5.20.0-1.fc24.x86_64 kf5-kiconthemes-5.20.0-1.fc24.x86_64 kf5-kio-core-libs-5.20.0-1.fc24.x86_64 kf5-kio-widgets-libs-5.20.0-1.fc24.x86_64 kf5-kitemviews-5.20.0-1.fc24.x86_64 kf5-kjobwidgets-5.20.0-1.fc24.x86_64 kf5-kpackage-5.20.0-1.fc24.x86_64 kf5-kservice-5.20.0-1.fc24.x86_64 kf5-kwidgetsaddons-5.20.0-1.fc24.x86_64 kf5-kwindowsystem-5.20.0-1.fc24.x86_64 krb5-libs-1.14.1-3.fc24.x86_64 libX11-1.6.3-3.fc24.x86_64 libXau-1.0.8-6.fc24.x86_64 libXdamage-1.1.4-8.fc24.x86_64 libXext-1.3.3-4.fc24.x86_64 libXfixes-5.0.1-6.fc24.x86_64 libXrender-0.9.9-3.fc24.x86_64 libXxf86vm-1.1.4-3.fc24.x86_64 libacl-2.2.52-11.fc24.x86_64 libattr-2.4.47-16.fc24.x86_64 libcap-2.24-9.fc24.x86_64 libcom_err-1.42.13-4.fc24.x86_64 libdrm-2.4.67-3.fc24.x86_64 libffi-3.1-9.fc24.x86_64 libgcc-6.0.0-0.18.fc24.x86_64 libgcrypt-1.6.4-2.fc24.x86_64 libgpg-error-1.21-2.fc24.x86_64 libicu-56.1-3.fc24.x86_64 libmodman-2.0.1-12.fc24.x86_64 libpng-1.6.21-2.fc24.x86_64 libproxy-0.4.12-2.fc24.x86_64 libselinux-2.5-2.fc24.x86_64 libstdc++-6.0.0-0.18.fc24.x86_64 libxcb-1.11.1-2.fc24.x86_64 libxshmfence-1.2-3.fc24.x86_64 lz4-r131-2.fc24.x86_64 mesa-libGL-11.2.0-0.devel.12.24ea81a.fc24.x86_64 mesa-libglapi-11.2.0-0.devel.12.24ea81a.fc24.x86_64 openssl-libs-1.0.2g-3.fc24.x86_64 pcre-8.38-11.fc24.x86_64 qt5-qtbase-5.6.0-9.fc24.x86_64 qt5-qtbase-gui-5.6.0-9.fc24.x86_64 qt5-qtdeclarative-5.6.0-4.fc24.x86_64 qt5-qtsvg-5.6.0-3.fc24.x86_64 qt5-qtx11extras-5.6.0-3.fc24.x86_64 systemd-libs-229-7.fc24.x86_64 xcb-util-keysyms-0.4.0-3.fc24.x86_64 xz-libs-5.2.2-2.fc24.x86_64 zlib-1.2.8-10.fc24.x86_64|sed 's/\(-[^-]*-[^-]*\)\.src\.rpm$/-debuginfo\1.x86_64/'|sed -e 's/dbus-debuginfo-1.11.2-/dbus-debuginfo-1:1.11.2-/' -e 's/libpng-debuginfo-1.6.21-/libpng-debuginfo-2:1.6.21-/' -e 's/openssl-debuginfo-1.0.2g-/openssl-debuginfo-1:1.0.2g-/')
# Those sed -e at the end are due to:
#   https://bugzilla.redhat.com/show_bug.cgi?id=1286877 - Cannot specify package installation versions without including epoch using DNF
Install  66 Packages
Total download size: 680 M
Installed size: 2.8 G

debuginfo-install installed these needless packages:
Install  46 Packages
Total download size: 320 M
Installed size: 1.2 G

Sure it is not too serious problem.

I do not know if it behaves differently in different version, I have tried just this F-24 dnf version.
Comment 1 Igor Gnatenko 2016-04-04 04:36:59 EDT
Hi Jan,

In general debuginfo-install plugins works like:

1. Get all packages which you want to install debuginfo (in your case - plasma-workspace)
2. Get all depepndecies (including dependencies of dependencies)
3. Install debuginfo for all of them.

Probably we should introduce some flag which will install only what you requested. What do you think?

Regarding output of rpm -q --reques it's more about RPM, not DNF. It just don't have dependencies between debuginfo packages (in fact those are just +- source code).
Comment 2 Jan Kratochvil 2016-04-04 09:36:47 EDT
(In reply to Igor Gnatenko from comment #1)
> In general debuginfo-install plugins works like:
> 2. Get all depepndecies (including dependencies of dependencies)

OK, I did not know that.


> Probably we should introduce some flag which will install only what you
> requested. What do you think?

OK, yes, that looks as the best idea.  GDB can then suggest the DNF command with such a flag.
Comment 3 Igor Gnatenko 2016-04-04 09:51:49 EDT
(In reply to Jan Kratochvil from comment #2)
> (In reply to Igor Gnatenko from comment #1)
> > In general debuginfo-install plugins works like:
> > 2. Get all depepndecies (including dependencies of dependencies)
> 
> OK, I did not know that.
> 
> 
> > Probably we should introduce some flag which will install only what you
> > requested. What do you think?
> 
> OK, yes, that looks as the best idea.  GDB can then suggest the DNF command
> with such a flag.

Will add this flag.

Is there any ideas how gdb is generating that list?
Comment 4 Jan Kratochvil 2016-04-05 00:33:50 EDT
(In reply to Igor Gnatenko from comment #3)
> Is there any ideas how gdb is generating that list?

Yes, it was written by me and it is still a Fedora/RHEL-only patch so far.
http://pkgs.fedoraproject.org/cgit/rpms/gdb.git/tree/gdb-6.6-buildid-locate-rpm.patch

Missing separate debuginfos, use: dnf debuginfo-install ...
For each {main executable,shared library} absolute filename it does:
  rpm -qf THATNAME
and for those dat do not have "stripsuffix(%{sourcerpm})-debuginfo.%{arch}" installed it appends: %{name}-%{version}-%{release}.%{arch}
Comment 5 Jan Kratochvil 2016-04-05 00:49:35 EDT
(In reply to Jan Kratochvil from comment #4)
> For each {main executable,shared library} absolute filename it does:

Those shared libraries are iterated from those really loaded in the debuggee's memory.
Comment 6 Igor Gnatenko 2016-07-20 05:07:49 EDT
*** Bug 1265273 has been marked as a duplicate of this bug. ***
Comment 7 Igor Gnatenko 2016-11-30 04:46:39 EST
*** Bug 1294471 has been marked as a duplicate of this bug. ***
Comment 8 Dr. David Alan Gilbert 2017-01-26 06:29:34 EST
The flag as suggested in comment 1 to only install what was requested would be very useful.
For example, asking for the debuginfo for qemu-system-x86 gets 1.7GB download/7.5GB installed with dozens of packages, but when you're fighting a problem either in the core of qemu or in just one area 90% of that is wasted.

Dave
Comment 9 Igor Gnatenko 2017-01-26 06:32:23 EST
(In reply to Dr. David Alan Gilbert from comment #8)
> The flag as suggested in comment 1 to only install what was requested would
> be very useful.
> For example, asking for the debuginfo for qemu-system-x86 gets 1.7GB
> download/7.5GB installed with dozens of packages, but when you're fighting a
> problem either in the core of qemu or in just one area 90% of that is wasted.
yeah, I know...

Just don't have time to work on it.
Comment 10 Fedora End Of Life 2017-02-28 04:56:44 EST
This bug appears to have been reported against 'rawhide' during the Fedora 26 development cycle.
Changing version to '26'.
Comment 11 Jaroslav Rohel 2017-06-06 06:05:32 EDT
Change of behavior of command 'debuginfo-install' to install requested packages. Because old solution installs a lot of useless packages.
Gdb/whatsoever will tell you what to install.

PR https://github.com/rpm-software-management/dnf-plugins-core/pull/221
Comment 12 Fedora Update System 2017-07-01 09:44:10 EDT
dnf-plugins-core-2.1.2-1.fc26 has been submitted as an update to Fedora 26. https://bodhi.fedoraproject.org/updates/FEDORA-2017-9c8c906365
Comment 13 Fedora Update System 2017-07-01 16:55:36 EDT
dnf-plugins-core-2.1.2-1.fc26 has been pushed to the Fedora 26 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2017-9c8c906365
Comment 14 Fedora Update System 2017-07-02 05:45:30 EDT
dnf-plugins-core-2.1.2-2.fc26 has been submitted as an update to Fedora 26. https://bodhi.fedoraproject.org/updates/FEDORA-2017-9c8c906365
Comment 15 Fedora Update System 2017-07-02 16:23:13 EDT
dnf-plugins-core-2.1.2-2.fc26 has been pushed to the Fedora 26 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2017-9c8c906365
Comment 16 Fedora Update System 2017-07-07 19:08:01 EDT
dnf-plugins-core-2.1.2-2.fc26 has been pushed to the Fedora 26 stable repository. If problems still persist, please make note of it in this bug report.

Note You need to log in before you can comment on or make changes to this bug.