Bug 927471

Summary: %%gem_extdir_mri wrong on F-18 and below
Product: [Fedora] Fedora Reporter: Mamoru TASAKA <mtasaka>
Component: rubygemsAssignee: Mamoru TASAKA <mtasaka>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: urgent Docs Contact:
Priority: urgent    
Version: 18CC: dpierce, mastahnke, mtasaka, vanmeeuwen+fedora, vondruch
Target Milestone: ---Keywords: Reopened
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-05-29 02:55:40 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 927378    

Description Mamoru TASAKA 2013-03-26 02:16:44 UTC
Description of problem:
Ah....... %%gem_extdir_mri should be %%{_libdir}/gems/exts/%%{gem_name}-%%{version} on F-18 and below, not  %%{_libdir}/gems/ruby/%%{gem_name}-%%{version}

Version-Release number of selected component (if applicable):
rubygems-1.8.25-5.fc18

Additional info:
Affects:
$ repoquery --disablerepo=\* --enablerepo=updates-testing --enablerepo=updates --whatprovides '/usr/lib/gems/ruby/*'
Skipping unreadable repository '///etc/yum.repos.d/LOCAL.repo'
rubygem-rsvg2-0:1.2.3-1.fc18.i686
rubygem-atk-0:1.2.3-1.fc18.i686
rubygem-goocanvas-0:1.2.3-1.fc18.i686
rubygem-glib2-0:1.2.3-1.fc18.i686
rubygem-gtksourceview2-0:1.2.3-1.fc18.i686
rubygem-gstreamer-0:1.2.3-1.fc18.i686
rubygem-vte-0:1.2.3-1.fc18.i686
rubygem-gdk_pixbuf2-0:1.2.3-1.fc18.i686
rubygem-poppler-0:1.2.3-1.fc18.i686
rubygem-qpid_proton-0:0.4-2.1.fc18.i686
rubygem-pango-0:1.2.3-1.fc18.i686
rubygem-gtk2-0:1.2.3-1.fc18.i686
rubygem-gobject-introspection-0:1.2.3-1.fc18.i686
rubygem-cairo-0:1.12.4-1.fc18.i686
rubygem-gio2-0:1.2.3-1.fc18.i686

]$ repoquery --disablerepo=\* --releasever=17 --enablerepo=updates-testing --enablerepo=updates --whatprovides '/usr/lib/gems/ruby/*'
Skipping unreadable repository '///etc/yum.repos.d/LOCAL.repo'
rubygem-rsvg2-0:1.2.3-1.fc17.i686
rubygem-goocanvas-0:1.2.3-1.fc17.i686
rubygem-qpid_messaging-0:0.20.2-1.fc17.i686
rubygem-poppler-0:1.2.3-1.fc17.i686
rubygem-pango-0:1.2.3-1.fc17.i686
rubygem-gio2-0:1.2.3-1.fc17.i686
rubygem-gdk_pixbuf2-0:1.2.3-1.fc17.i686
rubygem-gstreamer-0:1.2.3-1.fc17.i686
rubygem-atk-0:1.2.3-1.fc17.i686
rubygem-gtksourceview2-0:1.2.3-1.fc17.i686
rubygem-qpid_proton-0:0.4-2.1.fc17.i686
rubygem-glib2-0:1.2.3-1.fc17.i686
rubygem-gtk2-0:1.2.3-1.fc17.i686
rubygem-gobject-introspection-0:1.2.3-1.fc17.i686
rubygem-vte-0:1.2.3-1.fc17.i686
rubygem-cairo-0:1.12.4-1.fc17.i686

Comment 1 Fedora Update System 2013-03-26 06:37:43 UTC
rubygems-1.8.25-6.fc18 has been submitted as an update for Fedora 18.
https://admin.fedoraproject.org/updates/FEDORA-2013-4208/rubygems-1.8.25-6.fc18

Comment 2 Fedora Update System 2013-03-26 06:38:16 UTC
rubygems-1.8.25-6.fc17 has been submitted as an update for Fedora 17.
https://admin.fedoraproject.org/updates/FEDORA-2013-4161/rubygems-1.8.25-6.fc17

Comment 3 Fedora Update System 2013-03-26 07:24:41 UTC
rubygem-qpid_proton-0.4-2.1.fc18.1 has been submitted as an update for Fedora 18.
https://admin.fedoraproject.org/updates/rubygem-qpid_proton-0.4-2.1.fc18.1

Comment 4 Fedora Update System 2013-03-26 07:25:21 UTC
rubygem-qpid_proton-0.4-2.1.fc17.1 has been submitted as an update for Fedora 17.
https://admin.fedoraproject.org/updates/rubygem-qpid_proton-0.4-2.1.fc17.1

Comment 5 Fedora Update System 2013-03-26 07:33:35 UTC
rubygem-qpid_messaging-0.20.2-1.fc17.1 has been submitted as an update for Fedora 17.
https://admin.fedoraproject.org/updates/rubygem-qpid_messaging-0.20.2-1.fc17.1

Comment 6 Mamoru TASAKA 2013-03-26 08:54:00 UTC
Packages in updates/updates-testing with broken C native extension paths are all rebuilt.

Comment 7 Fedora Update System 2013-03-27 00:49:45 UTC
Package rubygems-1.8.25-6.fc17:
* should fix your issue,
* was pushed to the Fedora 17 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing rubygems-1.8.25-6.fc17'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2013-4161/rubygems-1.8.25-6.fc17
then log in and leave karma (feedback).

Comment 8 Fedora Update System 2013-04-01 18:02:58 UTC
rubygem-qpid_proton-0.4-2.2.fc18 has been submitted as an update for Fedora 18.
https://admin.fedoraproject.org/updates/rubygem-qpid_proton-0.4-2.2.fc18

Comment 9 Fedora Update System 2013-04-01 18:33:51 UTC
rubygem-qpid_proton-0.4-2.2.fc17 has been submitted as an update for Fedora 17.
https://admin.fedoraproject.org/updates/rubygem-qpid_proton-0.4-2.2.fc17

Comment 10 Fedora Update System 2013-04-04 23:50:52 UTC
rubygems-1.8.25-6.fc17 has been pushed to the Fedora 17 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 11 Fedora Update System 2013-04-04 23:52:52 UTC
rubygem-qpid_messaging-0.20.2-1.fc17.1 has been pushed to the Fedora 17 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 12 Fedora Update System 2013-04-04 23:55:27 UTC
rubygems-1.8.25-6.fc18 has been pushed to the Fedora 18 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 13 Fedora Update System 2013-04-11 10:04:11 UTC
rubygem-qpid_proton-0.4-2.2.fc17 has been pushed to the Fedora 17 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 14 Fedora Update System 2013-04-11 10:09:19 UTC
rubygem-qpid_proton-0.4-2.2.fc18 has been pushed to the Fedora 18 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 15 Darryl L. Pierce 2013-05-28 14:57:30 UTC
For at least rubygem-qpid_messaging this update didn't fix the problem entirely. The specfile still needs to create the directory %{buildroot}%{gem_extdir_mri}/lib, otherwise the native library that was built does not get installed as a part of the RPM. The RPM finishes building but is broken as a result.

The other RPMs need to be checked as well to ensure that the RPM created works correctly. I've already fixed rubygem-qpid_messaging and rubygem-qpid_proton and will push updates on them shortly. The rest should be checked by either the package owner(s) or the BZ assignee.

Comment 16 Mamoru TASAKA 2013-05-29 02:55:40 UTC
(In reply to Darryl L. Pierce from comment #15)
> For at least rubygem-qpid_messaging this update didn't fix the problem
> entirely. The specfile still needs to create the directory
> %{buildroot}%{gem_extdir_mri}/lib, otherwise the native library that was
> built does not get installed as a part of the RPM. The RPM finishes building
> but is broken as a result.

This bug ticket is for %%gem_extdir_mri macro wrongly written in rubygems.spec,
and when %%gem_extdir_mri is used like
mv foo.so %buildroot%%gem_extdir_mri/lib , foo.so was installed into wrong
directory. If rubygem-qpid_messaging needs to create %buildroot%%gem_extdir_mri/lib beforehand, it is different issue.

Comment 17 Mamoru TASAKA 2013-05-29 02:57:14 UTC
(In reply to Mamoru TASAKA from comment #16)
> (In reply to Darryl L. Pierce from comment #15)
> > For at least rubygem-qpid_messaging this update didn't fix the problem
> > entirely. The specfile still needs to create the directory
> > %{buildroot}%{gem_extdir_mri}/lib, otherwise the native library that was
> > built does not get installed as a part of the RPM. The RPM finishes building
> > but is broken as a result.
> 
> This bug ticket is for %%gem_extdir_mri macro wrongly written in
> rubygems.spec,
> and when %%gem_extdir_mri is used like
> mv foo.so %buildroot%%gem_extdir_mri/lib , foo.so was installed into wrong
> directory. If rubygem-qpid_messaging needs to create
> %buildroot%%gem_extdir_mri/lib beforehand, it is different issue.

Note that usually gems creating native C extension have to create
%buildroot%%gem_extdir_mri/lib manually (as written in ruby packaging
guideline).