I am forwarding response from Alex.
-------- Pu*vodní zpráva --------
Pr(edme(t: Re: Provides: rubygem(name) automation
Datum: Wed, 27 Apr 2011 12:14:15 +0300
Od: Alexander Kurtakov <akurtako(a)redhat.com>
Spolec(nost: Red Hat Inc.
Komu: Vít Ondruch <vondruch(a)redhat.com>
Kopie: ruby-sig(a)lists.fedoraproject.org
On 12:07:29 PM Wednesday, April 27, 2011 Vít Ondruch wrote:
> Dne 26.4.2011 23:55, Mo Morsi napsal(a):
> > On 04/21/2011 05:29 AM, Vít Ondruch wrote:
> >> Hello everybody,
> >>
> >> Today I was contacted by Aleksandar Kurtakov and he proposed, that he
> >> would help us to autogenerate the RPM provides. This functionality is
> >> allowed by RPM 4.9 [1], it means for F15+. This would help Aleksandar
> >> for better RubyGem integration into rpmstubby [2] and at the end into
> >> Eclipse Fedora Packager [3].
> >>
> >> Basically we would need to place rubygem.attr (see [4] for maven
> >> example) file into /usr/lib/rpm/fileattr and script which would generate
> >> the provides (see [5] for maven example). Since this files are required
> >> during build, they should be probably part of rubygems package, although
> >> it has some cavities.
> >>
> >> In theory, this approach could also be used to generate Requires and
> >> BuildRequires from gem spec file.
> >>
> >>
> >> Any thought are highly appreciate.
> >>
> >>
> >> Vit
> >
> > Looked this over and I like the direction this is going, bringing more
> > automated dependency checking and analysis into RPM is a good idea, and
> > in conjunction with some additional Fedora policies (this is acceptable
> > to start integrating into Fedora correct?), it seems that alot of
> > developer effort would be alleviated.
> >
> >
> > The biggest concern that I have at this point is the dependency version
> > analysis, especially with the Ruby packages.
> >
> > For gems we can parse version information out of the gemspec, for
> > bundler we can parse it out of the Gemfile, but we'll probably run into
> > some cases which this will not be enough, whether the dependencies are
> > not (or cannot) be fully represented or where there is no dependency
> > list per-se (in which case we might be able to get away with parsing the
> > 'require's, there is a few ideas on how to do this here [1]).
> >
> >
> > One additional question I had is how easy it would be to override the
> > dependency generator. Lets say there is a mistake in the generator or a
> > use case that it does not work for and/or generated incorrect
> > dependencies for, will ruby packagers have to wait until that is
> > resolved to submit their packages. Will explicit dependencies in the
> > spec override the dependency checker?
* You can disable the dependency generator entirely. See
http://rpm.org/wiki/PackagerDocs/DependencyGenerator
* You can add additional provides manually and let the automatically generated
provides just stay as is. It's not a problem if your manual provide is the
same as the automatically generated one.
You would not have to wait because everything you put in the spec file manually
will simply be there no matter what the dependency generator has done.
>
> In my understanding, there will be always both dependencies listed. One
> set of dependencies will be generated automatically by some dependency
> generator and there will second set of dependencies entered explicitly
> in .spec file.
That's not exactly true. Ideally after reaching critical mass with automated
provides/requires generated you will not need to add anything manually in most
cases unless there is some obscure case.
P.S. I'm not subscribed so the moderator should approve it or someone resend.
Hope that helps,
Alex
>
> > -Mo
> >
> > [1]
> > http://rubyforge.org/pipermail/gem2rpm-devel/2010-September/000008.html
> > _______________________________________________
> > ruby-sig mailing list
> > ruby-sig(a)lists.fedoraproject.org
> > https://admin.fedoraproject.org/mailman/listinfo/ruby-sig
Hi all,
I am new to ruby package reviewing and to ruby also. I already
got some help from vondruch on rubygem packaging but I also saw some
problems which are not addressed in
http://fedoraproject.org/wiki/Packaging:Ruby#Ruby_Gems
1) I think we need some sample rubygem spec file (which can also
include -doc subpackage)
2) I see most of rubygem packages also create -doc, but I can't find
which files should go this subpackage. I see most gem archive contains
files like README, LICENSE, Rakefile, CHANGES and directories like
tests, examples. I think it should be written on packaging page about
which package should own these files.
3) packaging page says %files should look like
%{gemdir}/gems/%{gemname}-%{version}/
%{gemdir}/cache/%{gemname}-%{version}.gem
%{gemdir}/specifications/%{gemname}-%{version}.gemspec
but most of latest submitted/accepted packages have
%dir %{geminstdir}
%{geminstdir}
4) I don't understand reason behind marking doc files as %doc whereas
I see they are not actually installed under /usr/share/doc. What I
come to know only is that one can search for documentation files using
RPM
5) gem install command is used with --rdoc in spec in latest submissions.
6) If its good practice to have %check in rubygem specs then we should
have it mentioned in packaging page.
7) Is there a case where rubygem package need to used %global macros
ruby_sitelib or ruby_sitearch? If not then we can remove those %global
lines from spec file right?
8) also saw some rubygem packages in fedora which don't have BR:ruby
9) another thing can be added to packaging page that for few rubygem
packages rpmlint is not silent with warning for generated doc as W:
unexpanded-macro and this can be ignored.
Thanks & Regards,
Parag.