Fedora Account System
Red Hat Associate
Red Hat Customer
From Bugzilla Helper: User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.7) Gecko/20060913 Fedora/1.5.0.7-1.fc5 Firefox/1.5.0.7 pango-text Description of problem: With the updates and core-debuginfo repositories enabled, I can install glibc-2.4-11 AND glibc-debuginfo-2.4-4 at the same time. Version-Release number of selected component (if applicable): yum-2.6.1-0.fc5 How reproducible: Always Steps to Reproduce: 1. Enable core-debuginfo respository 2. Enable updates repository 3. Install glibc and glibc-debuginfo Actual Results: Both were installed. Expected Results: glibc-debuginfo should not have been installed. Additional info:
There isn't a package dep between the -debuginfo and the main package to do any sort of forcing like this. And that dep is _intentionally_ not present to avoid breaking things for the (very common) case where people just enable -debuginfo when they want to install a specific -debuginfo package.
There's two needs here: - if a newer glibc is installed, the old clashing debuginfo is either upgraded or removed (I believe the latter is done) - if a user attempts to install the wrong debuginfo a clash is detecthed Ensuring the correct debuginfo for a library is critically important for many utilities as often problems, such as what prompted this bug report, are traced back to wrong info installed. The questions here, I think, are: - what should this be against? yum, rpm, glibc, ... - is there something like: Conflicts glibc > version?
(In reply to comment #1) > And that dep is _intentionally_ not present to avoid breaking things for the > (very common) case where people just enable -debuginfo when they want to install > a specific -debuginfo package. I'm afraid I really do not understand this. As debug info absolutely must match the binaries, I believe the generated -debuginfo package shoud "Require: base-pkg = the-version", like what is customary for -devel packages. To adapt to the above scenario, yum might treat the *-debuginfo rpms specially. For example, if no updated *-debuginfo rpm is available, yum could remove all conflicting *-debuginfo packages (should be controllable by a config file option).
Actually, if you have an old -debuginfo installed and update a package, the old -debuginfo package stays. Doing anything else requires that -debuginfo access *ALWAYS* be enabled. Which isn't the case due to the (sizable) increase in the amount of metadata that then has to be downloaded. Adding conflicts or requires to the debuginfo packages is just going to make things more fragile for people and thus less useful. Realistically, we need for the tools that _use_ debuginfo to be doing the request of the install -- then an explicit version can be requested based on what owns the file in question. And that could be implemented as a pretty simple yum-util if you wanted -- basically, 'yum-get-debuginfo /path/to/sharedobject'. The utility would need to * Map /path/to/sharedobject to a binary package * Do the transform of foo-libs -> foo-debuginfo (use src.rpm name + -debuginfo) * Get version of foo-libs. * Install foo-debuginfo-version-release
(In reply to comment #3) > (In reply to comment #1) > > And that dep is _intentionally_ not present to avoid breaking things for the > > (very common) case where people just enable -debuginfo when they want to install > > a specific -debuginfo package. > > I'm afraid I really do not understand this. As debug info absolutely must match > the binaries, I believe the generated -debuginfo package shoud "Require: > base-pkg = the-version", like what is customary for -devel packages. Doing this breaks things for every user and is _not_ acceptable. Not having the requires was the only way that we could reliably handle -debuginfo with the caveat of the packages not always being available. > To adapt to the above scenario, yum might treat the *-debuginfo rpms specially. > For example, if no updated *-debuginfo rpm is available, yum could remove all > conflicting *-debuginfo packages (should be controllable by a config file option). No. Special casing debuginfo packages across the entire body of tools which deal with package management is insanity.
In other words, because of the limitation of the current Fedora package management tools, it cannot be ensured that *-debuginfo and base package versions match.
This is exactly what the design of the debuginfo packages was. And the fundamental bits around that (not requiring everyone to install them, not requiring everyone to have access to them) haven't changed. And even if it did, it wouldn't be something that would change in yum.
(In reply to comment #7) > This is exactly what the design of the debuginfo packages was. And the > fundamental bits around that (not requiring everyone to install them, not > requiring everyone to have access to them) haven't changed. The above bits sound right. But I think that one bit should be added: - a *-debuginfo package cannot be installed without the corresponding base package I do not think this bit conflicts with the above. > it wouldn't be something that would change in yum. What is the right component? redhat-rpm-config?
(In reply to comment #8) > (In reply to comment #7) > > This is exactly what the design of the debuginfo packages was. And the > > fundamental bits around that (not requiring everyone to install them, not > > requiring everyone to have access to them) haven't changed. > > The above bits sound right. > > But I think that one bit should be added: > - a *-debuginfo package cannot be installed without the corresponding base package This isn't the case, though -- think about a package with a lot of subpackages. The -debuginfo corresponds to _all_ of those bits. There may not even be a "base" package (yes, such packages exist). Why should I have to install, eg, all of the OOo subcomponents just to debug writer? > I do not think this bit conflicts with the above. Having the requires would lead to people being in a situation where they can't do an update due to a "stale" debuginfo package. And that's pretty clearly not acceptable.
This is a duplicate of redhat-rpm-config's Bug 151598.