Bug 1226404 - 15.6: file conflicts in ruby2.5-rubygem-bcrypt_pbkdf
Summary: 15.6: file conflicts in ruby2.5-rubygem-bcrypt_pbkdf
Status: IN_PROGRESS
Alias: None
Product: openSUSE Backports
Classification: openSUSE
Component: Packages (show other bugs)
Version: SLE-15-SP5
Hardware: Other Other
: P5 - None : Normal
Target Milestone: ---
Assignee: Dan Čermák
QA Contact: E-Mail List
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-06-16 17:34 UTC by Martin Wilck
Modified: 2024-06-18 09:51 UTC (History)
1 user (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Martin Wilck 2024-06-16 17:34:53 UTC
On Leap 15.5

zypper --releasever 15.6 dup


File /usr/lib64/ruby/gems/2.5.0/extensions/x86_64-linux/2.5.0/bcrypt_pbkdf-1.1.0/bcrypt_pbkdf_ext.so
  from install of
     ruby2.5-rubygem-bcrypt_pbkdf-1.1-1.1.0-bp156.3.3.x86_64 (repo-oss)
  conflicts with file from install of
     ruby2.5-rubygem-bcrypt_pbkdf-1.1.0-bp156.3.3.x86_64 (repo-oss)
Comment 1 Andreas Stieger 2024-06-16 18:58:01 UTC
$ zypper in --dry-run --download-only ruby2.5-rubygem-bcrypt_pbkdf ruby2.5-rubygem-bcrypt_pbkdf-1.1
Loading repository data...
Reading installed packages...
Resolving package dependencies...

The following 2 NEW packages are going to be installed:
  ruby2.5-rubygem-bcrypt_pbkdf ruby2.5-rubygem-bcrypt_pbkdf-1.1

2 new packages to install.
Overall download size: 0 B. Already cached: 128.7 KiB. Download only.

Backend:  classic_rpmtrans --dry-run --download-only
Continue? [y/n/v/...? shows all options] (y): y
In cache ruby2.5-rubygem-bcrypt_pbkdf-1.1-1.1.0-bp156.3.3.x86_64.rpm                                (1/2),  64.3 KiB
In cache ruby2.5-rubygem-bcrypt_pbkdf-1.1.0-bp156.3.3.x86_64.rpm                                    (2/2),  64.3 KiB    
Checking for file conflicts: ....................................................................................[error]
Detected 1 file conflict:

File /usr/lib64/ruby/gems/2.5.0/extensions/x86_64-linux/2.5.0/bcrypt_pbkdf-1.1.0/bcrypt_pbkdf_ext.so
  from install of
     ruby2.5-rubygem-bcrypt_pbkdf-1.1-1.1.0-bp156.3.3.x86_64 (Main Repository)
  conflicts with file from install of
     ruby2.5-rubygem-bcrypt_pbkdf-1.1.0-bp156.3.3.x86_64 (Main Repository)

File conflicts happen when two packages attempt to install files with the same name but different contents. If you continue, conflicting files will be replaced losing the previous content.
Continue? [yes/no] (no):


openSUSE:Backports:SLE-15-SP5:Update/rubygem-bcrypt_pbkdf
openSUSE:Backports:SLE-15-SP6:Update/rubygem-bcrypt_pbkdf
[...]
openSUSE:Backports:SLE-15-SP5:Update/rubygem-bcrypt_pbkdf-1.1
openSUSE:Backports:SLE-15-SP6:Update/rubygem-bcrypt_pbkdf-1.1

In general our packaging policies ask for an rpm conflict between packages with overlapping files. But there may be a duplication of packages here?
Comment 2 Martin Wilck 2024-06-17 20:43:06 UTC
I had the same thought. IIRC I even deleted one of them but got the same file conflict again during the update (not to mention that I certainly voluntarily installed either of these packages, not sure what pulled them in).
Comment 3 Nathan Cutler 2024-06-18 07:35:34 UTC
There are three packages (at least) with the same problem:

ruby2.5-rubygem-bcrypt_pbkdf               | 1.1.0-bp156.3.3  | x86_64 | SUSE-PackageHub-15-SP6Backports-Pool
ruby2.5-rubygem-bcrypt_pbkdf-1.1           | 1.1.0-bp156.3.3  | x86_64 | SUSE-PackageHub-15-SP6Backports-Pool
ruby2.5-rubygem-bcrypt_pbkdf-doc           | 1.1.0-bp156.3.3  | x86_64 | SUSE-PackageHub-15-SP6Backports-Pool
ruby2.5-rubygem-bcrypt_pbkdf-doc-1.1       | 1.1.0-bp156.3.3  | x86_64 | SUSE-PackageHub-15-SP6Backports-Pool
ruby2.5-rubygem-bcrypt_pbkdf-testsuite     | 1.1.0-bp156.3.3  | x86_64 | SUSE-PackageHub-15-SP6Backports-Pool
ruby2.5-rubygem-bcrypt_pbkdf-testsuite-1.1 | 1.1.0-bp156.3.3  | x86_64 | SUSE-PackageHub-15-SP6Backports-Pool
Comment 4 Nathan Cutler 2024-06-18 07:38:01 UTC
> not sure what pulled them in

We will try to figure out what they are dependencies of, but in the meantime you can always try:

rpm --query --whatrequires ruby2.5-rubygem-bcrypt_pbkdf
rpm --query --whatrequires ruby2.5-rubygem-bcrypt_pbkdf-1.1
Comment 5 Nathan Cutler 2024-06-18 07:50:33 UTC
There are two different source RPMs in play here:

These three binaries are built from rubygem-bcrypt_pbkdf-1.1.0-bp156.3.3.src:
ruby2.5-rubygem-bcrypt_pbkdf
ruby2.5-rubygem-bcrypt_pbkdf-doc
ruby2.5-rubygem-bcrypt_pbkdf-testsuite

And these three are built from a different source RPM, rubygem-bcrypt_pbkdf-1.1-1.1.0-bp156.3.3.src:
ruby2.5-rubygem-bcrypt_pbkdf-1.1
ruby2.5-rubygem-bcrypt_pbkdf-doc-1.1
ruby2.5-rubygem-bcrypt_pbkdf-testsuite-1.1
Comment 7 Nathan Cutler 2024-06-18 09:07:59 UTC
We discussed this at the weekly Package Hub meeting, and we came up with the following analysis describing:

* when and how the bug happened
* a proposed solution
* the obstacle currently preventing us from implementing the proposed solution

Read it here:
https://gitlab.suse.de/-/snippets/2201
Comment 8 Nathan Cutler 2024-06-18 09:51:42 UTC
Being fixed by updating rubygem-bcrypt_pbkdf to 1.1.1:

https://build.opensuse.org/request/show/1181451 (SLE-15-SP5)
https://build.opensuse.org/request/show/1181453 (SLE-15-SP6)

(The problem occurs only because the two source containers contain code of the same version.)

Thanks, Marcus!