Hide Forgot
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.
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
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
That is why RPM has conditionals: http://fedoraproject.org/wiki/PackageMaintainers/CreatingPackageHowTo#Miscellaneous_hints
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.
Mamoru, could you please retire rubygem-sqlite3-ruby for F15 and rawhide?
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.
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.
(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.