I am back with some updates. You can see the latest version here:
I have incorporated most of the feedback, except the %check section and
I'm still not sure how to pull it into the buildroot. On top of that, I
have added the RPM dependency generator.
One caveat is that manually installing some gem via `gem install`, it
uses the fedora-darkfish generator. Not sure how big concern this is. I
am probably fine with that given that 1) the generator is assumed to be
installed just during build 2) the RDoc documentation is not generated
by default 3) less duplication might be considered advantage for local
documentation.
Vít
Dne 24. 11. 22 v 15:46 Jarek Prokop napsal(a):
On 11/24/22 14:20, Vít Ondruch wrote:
>
> Dne 24. 11. 22 v 13:12 Jarek Prokop napsal(a):
>> nit regarding the spec license, "GPL-2.0" is not valid SPDX
>> (according to license-validate at least), however, there is
>> "GPL-2.0-only" or "GPL-2.0-or-later".
>>
>
> I think that it used to be valid identifier at some point in time.
> This should be fixed in rubygem-rdoc then:
>
>
https://src.fedoraproject.org/rpms/rubygem-rdoc/c/5e165eed4822757b49dd3b1...
>
>
> but mainly upstream:
>
>
https://github.com/ruby/rdoc/issues/924
>
Right
>
>
>> On 11/23/22 17:47, Vít Ondruch wrote:
>>
>> FedoraRDoc.generation_hook - the `specs` could be modified to
>> include additional `rdoc_options`
>>
>
> Eh, have I left the message ^^ there? :)
It seems so
https://fedorapeople.org/cgit/vondruch/public_git/darkfish.git/tree/rubyg...
:)
>
>> This succeeds with only generating rdoc, ignoring ri format:
>> ~~~
>> $ gem uninstall chronic; gem install ./chronic-0.10.2.gem
>> --document=rdoc --local
>> Successfully uninstalled chronic-0.10.2
>> Successfully installed chronic-0.10.2
>> FedoraRDoc.generation_hook - the `specs` could be modified to
>> include additional `rdoc_options`
>> Parsing documentation for chronic-0.10.2
>> Installing fedora::darkfish documentation for chronic-0.10.2
>> Done installing documentation for chronic after 1 seconds
>> 1 gem installed
>> ~~~
>>
>
> Good catch. I was testing plain `--document=rdoc`.
>
> Hm, there should be probably done some early matching, if the
> `fedora::` prefixed generator is there. Otherwise just move on with
> whatever was specified.
>
Something along those lines. Maybe this:
~~~
|generator = "fedora::#{generator}" if generator == "rdoc"|
~~~
>
>> In regards to tests (%check):
>> What we want to test is: We can generate the documentation in
>> context of Fedora (IOW, `gem install` passes with `--document=rdoc,ri`)
>> and then validate that anything that is an image, or JS file that is
>> not "search_index.js" is symlinked to the template and that there
>> are no fonts present,
>> as those are the places where we differ from the tested upstream
>> behavior.
>>
>> This would help us catch any major regression that I can think of,
>> at build time, hopefully being a step ahead of accidentally breaking
>> rubygem builds.
>>
>
> I have not spend too much time thinking about %check section yet, but
> something along these lines seems reasonable.
>
>> RDoc generators could have rubygem-rdoc-generator-* if we would want
>> to mandate prefixes, but that would come with new packaging
>> guidelines, etc...
>> This iteration does not have rubygem-* prefix as it is not a gem, so
>> I would say, this is the odd case :).
>>
>
> Lets leave future problems for future us. So far, there is no other
> RDoc generator and I don't see any other generator coming any time
> soon, so lets ignore the `rubygem-` prefix for now. This still might
> end up as a gem after all :)
Agreed.
>
>
>>> PTAL and let me know what do you think about this approach. Thx
>>>
>> I'd say we are on the right path with this.
>>
>
> Thx. Next thing to consider is how to enforce the dependency on the
> -assets. There should probably be included some generator, otherwise
> we would need to update gem2rpm as well as every gem.
I vote for a generator.
>
> Also, the other question is how to pull this into the build root.
> Should this be pulled in by rubygems-devel? Shouldn't it even be part
> of rubygems-devel?
To this point:
https://src.fedoraproject.org/rpms/ruby/blob/rawhide/f/ruby.spec#_319
Line 324: `# Needed for RDoc documentation format generation.`
So perhaps we want it as part of the rubygems-devel. Theoretically, we
can sweep it under the rug
and add a conditional depending on some RPM build specific env
variable in the RubyGems plugin.
> Or shouldn't this be opt-in, where one needs to specify this explicitly?
> Maybe just from the beginning unless we are sure this does not cause
> more troubles then it solves?
>
I think we could provide some macro options, but I'd make them opt-out
for gems where it does indeed cause troubles?
Or in gems where one wouldn't want documentation.
Something like `%gem_document_options` containing `rdoc,ri` and then
we can do `gem install ... --document=%{gem_document_options}` . I
think packager should then be able to `%define gem_document_options
%{nil}`, which disables documentation as
`gem install --document=` does nothing but create the gem's doc
directory documentation-wise.
Just throwing ideas right now.
Jarek
>
>
> Vít
>
_______________________________________________
ruby-sig mailing list --ruby-sig(a)lists.fedoraproject.org
To unsubscribe send an email toruby-sig-leave(a)lists.fedoraproject.org
Fedora Code of
Conduct:https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List
Guidelines:https://fedoraproject.org/wiki/Mailing_list_guidelines
List
Archives:https://lists.fedoraproject.org/archives/list/ruby-sig@lists.fed...
Do not reply to spam, report it:https://pagure.io/fedora-infrastructure/new_issue