Bug 1412841

Summary: Base Runtime FTBFS: rubygem-hpricot-0:0.8.6-12.fc24 unnecessary dependency
Product: [Fedora] Fedora Reporter: Merlin Mathesius <mmathesi>
Component: rubygem-hpricotAssignee: Petr Šabata <psabata>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 25CC: greg.hellings, ktdreyer, mtasaka, psabata, sgallagh, valtri, vanmeeuwen+fedora, vondruch
Target Milestone: ---Keywords: Reopened
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: rubygem-hpricot-0.8.6-16.fc26 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-02-06 07:06:35 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: 1400162    
Deadline: 2017-01-26   
Attachments:
Description Flags
patch to remove obsolete dependencies
none
patch to remove unnecessary dependency
none
Conditionalize the use of ragel none

Description Merlin Mathesius 2017-01-12 23:07:01 UTC
Created attachment 1240138 [details]
patch to remove obsolete dependencies

Version-Release number of selected component:
rubygem-tilt-0:2.0.4-1.fc25

Description of problem:
When attempting to rebuild portions of the frozen package set of Fedora 25 for the Base Runtime project, it was discovered that the package ragel failed to build from source. Some work was done to address that problem (https://bugzilla.redhat.com/show_bug.cgi?id=1382861), but it still fails to build from source for all necessary architectures--with no fix in sight.

What do the ragel problems have to do with rubygem-tilt, you ask?

rubygem-tilt has a build time dependency upon /usr/bin/ronn--which is provided by package rubygem-ronn. rubygem-ronn, in turn, has a dependency upon the rubygem-hpricot package, which has a build time dependency upon the ragel package. Additionally, rubygem-tilt is the only package that is part of Base Runtime that depends upon rubygem-ronn, and thus rubygem-hpricot and ragel as well. As a result, the Base Runtime module cannot be fully rebuilt from source.

Also, the upstream sources for both rubygem-ronn and rubygem-hpricot are no longer maintained, so it would be good to get rid of the obsolete dependency chain.

Fortunately, the only need rubygem-tilt has for ronn is to convert the small tilt man page from the "ronn" dialect of Markdown to "roff" format during build time. Thus, the problem can be easily remedied by including a pre-generated man page with the rubygem-tilt package. Attached is a patch to do just that.

Please apply the patch or respond with a reason it should not be applied within two weeks. After that time, a provenpackager will go ahead and apply it.

Comment 1 Vít Ondruch 2017-01-16 16:53:50 UTC
I think much better idea is dropping the Ragel dependency from hpricot, since it is currently (for 9 years already, if I read the changelog correctly) not used, if I am not mistaken.

It could be used to regenerate the .c sources, but it is not mandated [1] nor it is currently done.



[1] https://fedoraproject.org/wiki/Packaging:Guidelines#Use_of_pregenerated_code

Comment 2 Merlin Mathesius 2017-01-16 20:14:52 UTC
Created attachment 1241397 [details]
patch to remove unnecessary dependency

Patch to eliminate unnecessary rubygem-hpricot build-time dependency on ragel.

Comment 3 Merlin Mathesius 2017-01-16 20:20:50 UTC
Eliminating the unnecessary rubygem-hpricot build-time dependency on ragel is indeed the better idea. Thank you for pointing that out.

A patch for correcting rubygem-hpricot is attached.

Comment 4 Vít Ondruch 2017-01-17 07:48:33 UTC
I guess that neither the rake dependency is required ...

Comment 5 Petr Šabata 2017-01-25 12:53:00 UTC
Mamoru,

I see you've updated the Rawhide SPEC to use Ragel again.  Would you mind making the whole thing optional and disabled by default, for example using a bcond macro?

As Merlin mentioned in the original comment, there are some issues with Ragel (or more precisely, its dependency chain) on certain architectures.  We'd prefer not having to deal with it, at least not right now.

Comment 6 Petr Šabata 2017-01-25 13:03:36 UTC
Created attachment 1244260 [details]
Conditionalize the use of ragel

Should be applied on top of 3f6e0dd190b314f875d7024938b66a762e34eba1.

Comment 7 Petr Šabata 2017-01-27 11:50:39 UTC
I'm going to apply the patch.  Mamoru, if you strongly feel we should regenerate the sources by default, despite the issues with the build dependency chain, let's discuss it here.

Comment 8 Mamoru TASAKA 2017-01-27 12:22:56 UTC
Well, I am going to revert this for now, please make your effort to make colm build pass first, thank you.

Comment 9 Petr Šabata 2017-01-28 09:57:47 UTC
Fair enough.  But since you made the dependency necessary again, what's the point in keeping this report open?  There are no issues here.

Comment 10 Mamoru TASAKA 2017-01-31 07:28:06 UTC
So I tried debugging colm issue for about 2 weeks but still no luck (valgrind shows nothing, imvoking from gdb directory does not crash... I suspect this is memory initialization issue, however still I cannot figure out), so for now I gave up. I hope someone who knows better than me would see what is happening on bug 1402582 (as ragel is anyway BR for many packages)..........

* Tue Jan 31 2017 Mamoru TASAKA <mtasaka> - 0.8.6-16
- Bump release
- Kill ragel BR for now due to armv7hl difficulty (ref: bug 1402582)

By the way, rawhide fix only is okay? F-25 backport is also required?

Comment 11 Petr Šabata 2017-01-31 16:03:44 UTC
(In reply to Mamoru TASAKA from comment #10)
> By the way, rawhide fix only is okay? F-25 backport is also required?

Rawhide is sufficient.

Comment 12 Mamoru TASAKA 2017-02-06 07:06:35 UTC
(In reply to Petr Šabata from comment #11)
> (In reply to Mamoru TASAKA from comment #10)
> > By the way, rawhide fix only is okay? F-25 backport is also required?
> 
> Rawhide is sufficient.

Okay, once closing.