Bug 707741

Summary: Package rubygem-sqlite3-ruby is obsoleted by rubygem-sqlite3 but does not provide it
Product: [Fedora] Fedora Reporter: d. johnson <drjohnson1>
Component: rubygem-sqlite3-rubyAssignee: Mamoru TASAKA <mtasaka>
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 15CC: mastahnke, vanmeeuwen+fedora, vondruch
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-05-29 06:19:07 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description d. johnson 2011-05-25 19:50:56 UTC
Description of problem:

The name of this package changed from rubygem-sqlite3-ruby to rubygem-sqlite3 but the spec file does not obsolete/provide rubygem(sqlite3-ruby).

Version-Release number of selected component (if applicable):

rubygem-sqlite3-ruby-1.2.4-6.fc15.src.rpm
rubygem-sqlite3-1.3.3-3.fc15.src.rpm

How reproducible:

Every time.

Steps to Reproduce:
1. Try to install a package built for both EL5 and F15.
2. ...
3. Profit.
  
Actual results:

Example:

--> Processing Dependency: rubygem(sqlite3-ruby) for package: foreman-0.2-rc1.fc14.1.noarch
Package rubygem-sqlite3-ruby is obsoleted by rubygem-sqlite3, but obsoleting package does not provide for requirements
---> Package ruby-irb.noarch 0:1.8.7.334-1.fc15 will be installed
--> Finished Dependency Resolution
Error: Package: foreman-0.2-rc1.fc14.1.noarch (/foreman-0.2-rc1.fc14.1.noarch)
           Requires: rubygem(sqlite3-ruby)
           Available: rubygem-sqlite3-ruby-1.2.4-6.fc15.x86_64 (fedora)
               rubygem(sqlite3-ruby) = 1.2.4-6.fc15


Expected results:

Proper dep should pull in automatically.

Additional info:

Package does work after changing the spec to provide the older name.

Comment 1 Vít Ondruch 2011-05-26 06:50:11 UTC
Thank you for your report and sorry for inconvenience.

The change was made to follow the upstream naming. Also all Fedora packages were updated to follow this change (to be correct, not all the BuildRequires were fixed yet unfortunately). However, I would prefer to keep the package without the explicit provide, since the part of rename was also version bump from 1.2 to 1.3 and it involves quite some changes which impacts compatibility [1].

So if I may suggest, please update your package with new requires. Also, what is the reason you are using custom packaged foreman instead of importing it into Fedora?


[1] http://fedoraproject.org/wiki/PackageNamingGuidelines#Renaming.2Freplacing_existing_packages

Comment 2 d. johnson 2011-05-26 14:57:05 UTC
The issue is that f13/14 and rhel4/5/6 all have the old name, and only f15 has the newer name (+version).  Packaging for this would mean having two different spec files with the only difference of a Requires: header.



-- 
Fedora Bugzappers volunteer triage team
https://fedoraproject.org/wiki/BugZappers

Comment 3 Vít Ondruch 2011-05-27 08:57:29 UTC
That is why RPM has conditionals: http://fedoraproject.org/wiki/PackageMaintainers/CreatingPackageHowTo#Miscellaneous_hints

Comment 4 d. johnson 2011-05-27 13:25:06 UTC
Yes, but you are missing the problem.

Both names are available in f15.  Installing the old name produces the above error.  The fix in this case is to provide/obsolete the old name in the new package.

You would be correct if the old name was not in the repo.

Comment 5 Vít Ondruch 2011-05-27 14:03:09 UTC
Mamoru, could you please retire rubygem-sqlite3-ruby for F15 and rawhide?

Comment 6 Mamoru TASAKA 2011-05-27 15:06:52 UTC
I will take a look at this at the weekend.

By the way I think I won't make rubygem-sqlite3-ruby retire on F-15 as F-15 is already released.

Comment 7 Mamoru TASAKA 2011-05-29 06:19:07 UTC
Oh...
on F-15:

[root@localhost ~]# repoquery --whatrequires --alldeps 'ruby-sqlite3'
ruby-sqlite3-0:1.3.3-3.fc15.i686
[root@localhost ~]# repoquery --whatrequires --alldeps 'rubygem-sqlite3-ruby'
rubygem-sqlite3-ruby-0:1.2.4-6.fc15.i686
ruby-sqlite3-0:1.2.4-6.fc15.i686


So this bug does not exist on F-15. Also as Vít already commented, it is intentional that new rubygem-sqlite3 does not provide rubygem(sqlite3-ruby) as actually it should not.

If you are creatingforeman srpm by yourself, you must adjust Requires according to the branch (this type of adjustment occurs not only on ruby related packages). Closing as NOTABUG.

Comment 8 Mamoru TASAKA 2011-05-29 06:28:29 UTC
(In reply to comment #2)
> The issue is that f13/14 and rhel4/5/6 all have the old name, and only f15 has
> the newer name (+version).  Packaging for this would mean having two different
> spec files with the only difference of a Requires: header.

This is normal. This type of changes happens not only on ruby related packages.