From 1be510f9529cb082f802408b472a77d074b394c0 Mon Sep 17 00:00:00 2001 From: Nicolas Vigier Date: Sun, 14 Apr 2013 13:46:12 +0000 Subject: Add zarb MLs html archives --- zarb-ml/mageia-dev/20110108/002011.html | 230 ++++++++++++++++++++++++++++++++ 1 file changed, 230 insertions(+) create mode 100644 zarb-ml/mageia-dev/20110108/002011.html (limited to 'zarb-ml/mageia-dev/20110108/002011.html') diff --git a/zarb-ml/mageia-dev/20110108/002011.html b/zarb-ml/mageia-dev/20110108/002011.html new file mode 100644 index 000000000..a7b0c0d3e --- /dev/null +++ b/zarb-ml/mageia-dev/20110108/002011.html @@ -0,0 +1,230 @@ + + + + [Mageia-dev] [Cooker] [RFC] Ruby packaging policy + + + + + + + + + +

[Mageia-dev] [Cooker] [RFC] Ruby packaging policy

+ Remy CLOUARD + shikamaru at mandriva.org +
+ Sat Jan 8 11:02:17 CET 2011 +

+
+ +
On Sat, Jan 08, 2011 at 05:07:55AM +0100, Per Øyvind Karlsen wrote:
+> 2011/1/7 Remy CLOUARD <shikamaru at mandriva.org>:
+> > Hello there,
+> >
+> > It’s been quite some time since I started working on ruby modules, and
+> > I’ve been working on the policy too.
+> \o/
+First of all, thanks for your very complete answer. :)
+> >
+> > You can find the page here:
+> > http://wiki.mandriva.com/en/Policies/Ruby
+> >
+> > Now, there are some things that still need to be clarified.
+> >
+> > The most controversial part is the naming convention.
+> >
+> > Many ruby modules are packaged via gem, and fedora introduced a strange
+> > naming convention, calling their package rubygem-%{gemname}. This
+> > convention was soon followed by other rpm-based distro such as opensuse
+> > and momonga, and we also have some of them.
+> I adopted the rubygem-* naming convention for ruby gems due to the
+> different way of it being installed opposed to installing it as a
+> ehr.. non-gem.. (ie. ruby-foo & rubygem-foo would come with the same
+> ruby module, but installed & packaged differently), to provide a
+> distinct namespace with less confusion (ie. there seems to be some
+> conventions on naming ruby modules as ie. 'ruby-foo' for the pure ruby
+> implementation of 'foo' which might've been written in C etc., always
+> using the namespace 'rubygem' giving the resulting rubygem-ruby-foo &
+> rubygem-foo packages) and for the general ease on maintenace by
+> adopting existing layouts already chosen by other distributions..
+> 
+> 
+That does make sense as long as we keep both kinds of packaging. But I’m
+pretty sure there won’t be many breakages by switching to one kind of
+packaging to another, thus it would make sense to have every ruby-foo
+package use the gem system, and then, we could choose one or the other
+naming scheme.
+> >
+> > I’m not against changing that convention, but this raises also other
+> > questions.
+> > 1) Do we also need to change the provides/requires ? ie
+> No, whatever package filenames chosen, it's really a different topic
+> than whatever
+> provides/required that should be generated.
+> Using rubygem() provides though (yet again) a distinct namespace for these
+> dependencies automatically generated from the gem metadata, so to ensure these
+> remaining canonical and without ambiguity, they shouldn't be changed.
+> Notice that the dependency extractor used is the same one used for
+> rpm5 upstream,
+> so by making such changes you'd also end up breaking compatibility
+> with it as well.
+Well, nothing prevents us from suggesting that change upstream, I think
+these changes might be discussed upstream too, but I agree that this
+change will only bring little benefit, so I think this won’t change
+> > Requires: ruby(%{gemname})
+> > instead of
+> > Requires: rubygem(%{gemname})
+> > 2) is there a way to make youri watch for rubygem-%{gemname} in case we
+> > opt for that change ? Or better, can youri watch for %{gemname} on
+> > rubygems.org ?
+> provides/requires of ruby gems are already automatically generated to
+> use rubygem(%{gemname}), so no need to add any explicit provides to
+> packages and for non-gems where you'd need to add explicit requires on
+> gems, you should add rubygem(%{gemname}).
+I think you misunderstood what I said there, I was thinking about
+youri-check, see http://youri.zarb.org/demo/mandriva/
+> >
+> > Is it ok to add development dependencies as Suggests ? Shall we do a
+> > -devel subpackage that will pull these dependencies. The advantage of
+> > doing this is that automated installs will not add these dependencies
+> > where they aren’t needed, but this will cause spec files to be more
+> > complicated to maintain (unless we add proper support for this in
+> > gem2rpm)
+> Currently it's trivial to add support for generating suggests on these
+> automatically,
+> but it's usually not really what's desired with the default behaviour
+> (with urpmi) of installing
+> suggests automatically.
+> Adding support for gem2rpm for creating a meta subpackage would be
+> trivial, but then you would
+> have to manually maintain explicit provides/requires for these in the
+> spec, in contrast to
+> those automatically generated by rpm during build.
+> A meta subpackage sounds fairly reasonable (given the current
+> alternatives rpm provides,
+> I'm not opposed to implementing something better), but should really be
+> generated automatically in same fashion from the gem metadata during
+> build, and not
+> during initial package creation to be maintained manually afterwards,
+> but there's no
+> standard convention for automatically generating sub-packages in place
+> to use yet.
+> So if you want support for making use of this metadata in some
+> sensible and easily maintanable
+> way, some extra work will be required, as it would fall on rpm's
+> responsibility to
+> automatically do so and without extra mess to maintain in packages, I
+> would advice to
+> leave it out of packaging policies dictated for packagers to worry
+> about, rather proposing
+> it as a feature request for rpm.
+Likewise, can also be discussed upstream so.
+> >
+> > About files:
+> > shall we keep the gem in the cache directory ? I’m not sure this is
+> > really useful, up till now I added it, but it makes the package a bit
+> > bigger
+> Nah, there's no use for it, that's why I implemented gem_helper.rb
+> (which is what the %gem_build
+> & %gem_install macros are wrapped around) to drop it by default.
+> Also notice that gem_helper.rb will also actually recreate the gem
+> with all the files
+> that's not of any use dropped, then install this gem.
+> I *think* the behaviour should be pretty sane and generic enough to
+> work with most gems
+> (to my understanding of gem packaging at least;), although the code
+> itself isn't all that pretty
+> (some of the very first ruby code I wrote a year ago) and certainly
+> wouldn't hurt from
+> being given some care and cleaned up by someone with better ruby
+> skills and nicer ruby dialect
+> than mine.. ;)
+> >
+> > Shall we do a -doc subpackage for big packages ? I think it may be
+> > interesting for package that have a lot of documentation and that are
+> > part of an ecosystem (ie, gems required for other packages like
+> > gitorious)
+> I certainly think -doc subpackages are of use, but from what to dictate any
+> conditionals where and when to create such is something I'm not 100% on (I've
+> added support to gem2rpm to do it for files specified as documentation by the
+> gem metadata though), nor on *how* (should it be done by gem2rpm,
+> or perhaps automatically during package build from the metadata, in
+> similar fashion
+> as proposed for -devel packages above?), I'm able to implement (or
+> provide help in
+> doing so) the request once the desired behaviour has been figured out though. ;)
+> >
+> > Normally %gem_* macros should take care of that, but we might have to
+> > make it evolve.
+> I think either way one should anyways try to keep as much as possible out of the
+> .spec files, leaving as much as possible up to macros, wrappers, dependency
+> extractors etc. to take care of. It'll help reduce maintenance work on
+> the individual
+> packages and help improve compatibility with other distributions.
+100% agree on this.
+> >
+> > Do you see something I haven’t thought of ?
+> >
+> > I will provide an example spec in this policy in the following days, and
+> > will take care of making the necessary changes to the existing packages
+> > once we agree with the above points.
+> Be sure to have it generated with gem2rpm, and try integrate the
+> policy back into
+> gem2rpm again, I've created a public repository for my fork at:
+> http://gitorious.org/rpm5distro/gem2rpm5
+Thanks for the URL, actually I started modifying the erb template in
+gem2rpm, but will clone this and make pull request on this one then :)
+(and package it as well)
+> 
+> (I might've added some additional confusion in trying to answer some of this,
+> don't be afraid to ask on things where I don't make sense;)
+> --
+> Regards,
+> Per Øyvind
+-------------- next part --------------
+A non-text attachment was scrubbed...
+Name: not available
+Type: application/pgp-signature
+Size: 230 bytes
+Desc: not available
+URL: </pipermail/mageia-dev/attachments/20110108/d3a46434/attachment-0001.asc>
+
+ + + + + + +
+

+ +
+More information about the Mageia-dev +mailing list
+ -- cgit v1.2.1