Bug 1330830

Summary: mkvtoolnix-9.0.1 spec has possible undeclared builddep rubygem-log4r?
Product: [Fedora] Fedora Reporter: "FeRD" (Frank Dana) <ferdnyc>
Component: mkvtoolnixAssignee: Dominik 'Rathann' Mierzejewski <dominik>
Status: CLOSED WONTFIX QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 22CC: dominik, itamar, kwizart, martin.sourada
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-04-27 08:16:10 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:

Description "FeRD" (Frank Dana) 2016-04-27 06:06:59 UTC
I recently built mkvtoolnix rpms from the mkvtoolnix.spec in mkvtoolnix-9.0.1-1.fc23.src.rpm. (Building under F22, actualy -- not F23 -- but using the newer 9.0.1 source rpm.)

In doing so, I discovered that without the proper log4r gem installed, the first call to drake will fail spectacularly:

+ drake -j4 V=1
/usr/share/rubygems/rubygems/stub_specification.rb:75:in `initialize': No such file or directory @ rb_sysopen - /usr/share/gems/specifications/log4r-1.1.10.gemspec (Errno::ENOENT)
	from /usr/share/rubygems/rubygems/stub_specification.rb:75:in `open'
	from /usr/share/rubygems/rubygems/stub_specification.rb:75:in `data'
	from /usr/share/rubygems/rubygems/stub_specification.rb:178:in `valid?'
	from /usr/share/rubygems/rubygems/specification.rb:731:in `block in each_stub'
	from /usr/share/rubygems/rubygems/specification.rb:723:in `block (2 levels) in each_gemspec'
	from /usr/share/rubygems/rubygems/specification.rb:722:in `each'
	from /usr/share/rubygems/rubygems/specification.rb:722:in `block in each_gemspec'
	from /usr/share/rubygems/rubygems/specification.rb:721:in `each'
	from /usr/share/rubygems/rubygems/specification.rb:721:in `each_gemspec'
	from /usr/share/rubygems/rubygems/specification.rb:729:in `each_stub'
	from /usr/share/rubygems/rubygems/specification.rb:748:in `stubs'
	from /usr/share/rubygems/rubygems/specification.rb:936:in `find_inactive_by_path'
	from /usr/share/rubygems/rubygems.rb:187:in `try_activate'
	from /usr/share/rubygems/rubygems/core_ext/kernel_require.rb:126:in `rescue in require'
	from /usr/share/rubygems/rubygems/core_ext/kernel_require.rb:39:in `require'
	from <internal:abrt_prelude>:2:in `<compiled>'
error: Bad exit status from /var/tmp/rpm-tmp.8jzN0o (%build)


Adding a "BuildRequires: rubygem-log4r" to mkvtoolnix.spec eliminated the build error and enabled creation of the mkvtoolnix 9.0.1 rpms. rubygem-log4r was not implicitly pulled in by any of the stated BuildRequires, at least under F22.


I see that the build logs* for mkvtoolnix-9.0.1-1.fc23.x86_64.rpm do not show the same error, even though rubygem-log4r is not installed.

This is consistent with my own testing; on my F23 machine, I was able to build mkvtoolnix-9.0.1 from source rpm using the provided spec as-is, without having to install rubygem-log4r. So perhaps the real problem here is F22's rubygem-drake not requiring rubygem-log4r, when it appears to (sometimes?) need it?

*see: https://kojipkgs.fedoraproject.org//packages/mkvtoolnix/9.0.1/1.fc23/data/logs/x86_64/

Comment 1 Dominik 'Rathann' Mierzejewski 2016-04-27 08:16:10 UTC
Thanks for the report, but I have no plans to update mkvtoolnix in F22 past 8.3.0 as that would involve significant changes to user experience. Upstream stopped supporting the old GUI (wxGTK-based) in 8.4.0 and switched to Qt5.

Should the above happen on F23+ (there's a new mkvtoolnix version released by upstream already), I'll fix it, but the current F22 package is not broken, so I don't see anything to fix here. You're welcome to provide a copr with newer mkvtoolnix for F22 and your fix, of course.