Mailinglist Archive: opensuse-bugs (4068 mails)

< Previous Next >
[Bug 658212] Need a way to garbage collect old -debuginfo packages

https://bugzilla.novell.com/show_bug.cgi?id=658212

https://bugzilla.novell.com/show_bug.cgi?id=658212#c6


--- Comment #6 from Richard Guenther <rguenther@xxxxxxxxxx> 2011-08-26 09:39:51
UTC ---
(In reply to comment #5)
(In reply to comment #4)
From bnc#707731 some more thoughts:
I don't think the above can be achieved using rpm dependencies in any way.
Thus the only reasonable thing is to provide a link from %name-debuginfo
to %name to relate them and have the solver and/or the package install
frontend do the above magic manually.

And that's exactly why we need a 'Requires: %name = %version-%release'.

No, we don't. A 'Requires: %name = %version-%release' does not merely
link the packages but constitutes a bogus fact that the %name-debuginfo
package requires %name in any form which it does not! I can perfectly
well install _only_ a debuginfo package and inspect its contents, or
use it from gdb when inspecting a core file.

Thus, a requires is _wrong_. You could maybe say that it conflicts
with %name != %version-%release but even that would be wrong in the
core file case (where I want to be able to install a specific -debuginfo
package, which is even suggested by gdb(!), without eventually needing
to downgrade/upgrade my systems library packages).

'zypper (d)up' and 'yast2 --install' already ask what do with the
non-fulfilled
dependency (see my comment in bnc#707731):

Example with https://build.opensuse.org/request/show/79821 applied:
Basis: envytools-20110825.0522-1.1 and envytools-debuginfo-20110825.0522-1.1
are installed

#envytools-20110825.0522-1.2.x86_64.rpm is not in the path
zypper in ./envytools-debuginfo -20110825.0522-1.2.x86_64.rpm
Loading repository data...
Reading installed packages...
Resolving package dependencies...

Problem: nothing provides envytools = 20110825.0522-1.2 needed by
envytools-debuginfo-20110825.0522-1.2.x86_64
Solution 1: do not install envytools-debuginfo-20110825.0522-1.2.x86_64
Solution 2: break envytools-debuginfo by ignoring some of its dependencies


#envytools-debuginfo-20110825.0522-1.2.x86_64.rpm is in the path
zypper in ./envytools-20110825. 0522-1.2.x86_64.rpm
Loading repository data...
Reading installed packages...
Resolving package dependencies...

The following packages are going to be upgraded:
envytools envytools-debuginfo


#envytools-debugino-20110825-0522-1.2.x86_64.rpm is in the path
zypper in ./envytools-20110825.0522-1.1.x86_64.rpm
Loading repository data...
Reading installed packages...
The selected package 'envytools-20110825.0522-1.1.x86_64' from repository
'Plain RPM files cache' has lower version than the installed one. Use 'zypper
install --fo rce envytools-20110825.0522-1.1.x86_64' to force installation of
the package.
Resolving package dependencies...

Nothing to do.


#envytools-debuginfo-20110825.0522-1.1.x86_64.rpm is not in the path
zypper in --force ./envytools-20110825.0522-1.1.x86_64.rpm
Loading repository data...
Reading installed packages...
Forcing installation of 'envytools-20110825.0522-1.1.x86_64' from repository
'Plain RPM files cache'.
Resolving package dependencies...

Problem: envytools-debuginfo-20110825.0522-1.2.x86_64 requires envytools =
20110825.0522-1.2, but this requirement cannot be provided
Solution 1: deinstallation of envytools-debuginfo-20110825.0522-1.2.x86_64
Solution 2: do not install envytools-20110825.0522-1.1.x86_64
Solution 3: break envytools-debuginfo by ignoring some of its dependencies


So I cannot understand your worries - openSUSE's frontends can handle such
things.

"handle" by asking the user. But then there is no way to make my above
use-cases work with that requirement encoded in the package.

So, no, I think adding a requires is a step in the completely wrong
direction. Btw, see the initial description on how existing tools
can link %name and %name-debuginfo (if not simply looking at the
package name only). I think this -debuginfo stuff is purely a frontend
issue, apart from maybe providing a more reliable link from %name-debuginfo
to %name (you can add a Provides: debuginfo(pkg) = %name or similar).

--
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.

< Previous Next >