Bug 1098989 - libgdbm4 conflicts with gdbm-lang
libgdbm4 conflicts with gdbm-lang
Status: RESOLVED INVALID
Classification: openSUSE
Product: openSUSE Tumbleweed
Classification: openSUSE
Component: libzypp
Current
x86-64 Linux
: P5 - None : Normal (vote)
: ---
Assigned To: E-mail List
E-mail List
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2018-06-25 11:26 UTC by Olaf Hering
Modified: 2018-06-26 11:22 UTC (History)
0 users

See Also:
Found By: ---
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments
zypper.solverTestCase.bug1098989.tar.xz (6.72 MB, application/x-xz)
2018-06-26 07:44 UTC, Olaf Hering
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Olaf Hering 2018-06-25 11:26:56 UTC
Tumbleweed  20180501-0 -> 20180623-0  x86_64

File /usr/share/locale/de/LC_MESSAGES/gdbm.mo
  from install of
     gdbm-lang-1.14.1-1.5.noarch (oss)
  conflicts with file from package
     libgdbm4-1.12-1.31.x86_64 (@System)

Likely some global Obsolets: missing.
Comment 1 Olaf Hering 2018-06-25 12:27:58 UTC
root@esprimo:~ #  rpm -e --test libgdbm4
error: Failed dependencies:
        libgdbm.so.4()(64bit) is needed by (installed) ruby2.2-stdlib-2.2.8-2.8.x86_64
        libgdbm_compat.so.4()(64bit) is needed by (installed) ruby2.2-stdlib-2.2.8-2.8.x86_64
        libgdbm_compat.so.4()(64bit) is needed by (installed) python3-dbm-3.6.5-3.3.x86_64
        libgdbm_compat.so.4()(64bit) is needed by (installed) ruby2.5-stdlib-2.5.0-4.3.x86_64
        libgdbm_compat.so.4()(64bit) is needed by (installed) ruby2.4-stdlib-2.4.3-24.67.x86_64
        libgdbm_compat.so.4()(64bit) is needed by (installed) perl-5.26.2-1.4.x86_64
Comment 2 Dominique Leuenberger 2018-06-25 16:08:27 UTC
libgdbm4 is weak-obsoleted by the product:

> rpm -q --provides openSUSE-release | grep libgdbm4
weakremover(libgdbm4)
weakremover(libgdbm4-32bit)

Hence, if you have no incompatible repos enabled, this upgrade works as expected

i.e.
error: Failed dependencies:
        libgdbm.so.4()(64bit) is needed by (installed) ruby2.2-stdlib-2.2.8-2.8.x86_64

Ruby 2.2 has long been removed from Tumbleweed

The remaining issues starting with
   libgdbm_compat.so.4()(64bit) 

are non-issues, as libgdbm-compat.so.4 is now provided by libgdbm_compat4

(even ruby2.2-stdlib is marked for weak-removal, so you have apparently something dependnig on it which blocks zypper dup from doing its work)

=> nothing wrong with the product as far as I can see so far
Comment 3 Olaf Hering 2018-06-26 07:20:58 UTC
Something is not working correctly with the gdbm4 transition.

# zypper rm libgdbm4
...
1570 packages to remove.
After the operation, 1.9 GiB will be freed.

So that can not be used.

# zypper rm -u ruby2.2
The following 3 packages are going to be REMOVED:
  libruby2_2-2_2 ruby2.2 ruby2.2-stdlib

Each one is in the weakremover list, but it does not get removed.
Hence, not fixed.
Comment 4 Olaf Hering 2018-06-26 07:44:30 UTC
Created attachment 775264 [details]
zypper.solverTestCase.bug1098989.tar.xz

Maybe this helps to understand why libgdbm4 and ruby is not removed.
Comment 5 Dominique Leuenberger 2018-06-26 07:53:06 UTC
Passing on to libzypp

zypper dup should take care of the proper upgrade path to be working here

The things the 'are in the way' are set as weak-removers.

(Olaf: just to be sure: you DO use zypper dup, right?)
Comment 6 Olaf Hering 2018-06-26 08:11:49 UTC
Once the ruby and ruby-extensions repos are disabled libgdbm4 gets removed.

It looks like weakremover works only if a package really disappeared from all enabled repos, not when the last user of it disappeared.
Comment 7 Michael Andres 2018-06-26 11:22:39 UTC
(In reply to Olaf Hering from comment #6)
> It looks like weakremover works only if a package really disappeared from
> all enabled repos.

Right. It drops packages if they are orphaned (unneeded and no longer offered by any repo).