summaryrefslogtreecommitdiffstats
path: root/zarb-ml/mageia-dev/20110108/002011.html
diff options
context:
space:
mode:
authorNicolas Vigier <boklm@mageia.org>2013-04-14 13:46:12 +0000
committerNicolas Vigier <boklm@mageia.org>2013-04-14 13:46:12 +0000
commit1be510f9529cb082f802408b472a77d074b394c0 (patch)
treeb175f9d5fcb107576dabc768e7bd04d4a3e491a0 /zarb-ml/mageia-dev/20110108/002011.html
parentfa5098cf210b23ab4f419913e28af7b1b07dafb2 (diff)
downloadarchives-1be510f9529cb082f802408b472a77d074b394c0.tar
archives-1be510f9529cb082f802408b472a77d074b394c0.tar.gz
archives-1be510f9529cb082f802408b472a77d074b394c0.tar.bz2
archives-1be510f9529cb082f802408b472a77d074b394c0.tar.xz
archives-1be510f9529cb082f802408b472a77d074b394c0.zip
Add zarb MLs html archivesHEADmaster
Diffstat (limited to 'zarb-ml/mageia-dev/20110108/002011.html')
-rw-r--r--zarb-ml/mageia-dev/20110108/002011.html230
1 files changed, 230 insertions, 0 deletions
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 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<HTML>
+ <HEAD>
+ <TITLE> [Mageia-dev] [Cooker] [RFC] Ruby packaging policy
+ </TITLE>
+ <LINK REL="Index" HREF="index.html" >
+ <LINK REL="made" HREF="mailto:mageia-dev%40mageia.org?Subject=Re%3A%20%5BMageia-dev%5D%20%5BCooker%5D%20%5BRFC%5D%20Ruby%20packaging%20policy&In-Reply-To=%3C20110108100217.GC3471%40shikamaru.fr%3E">
+ <META NAME="robots" CONTENT="index,nofollow">
+ <META http-equiv="Content-Type" content="text/html; charset=us-ascii">
+ <LINK REL="Previous" HREF="002009.html">
+ <LINK REL="Next" HREF="002010.html">
+ </HEAD>
+ <BODY BGCOLOR="#ffffff">
+ <H1>[Mageia-dev] [Cooker] [RFC] Ruby packaging policy</H1>
+ <B>Remy CLOUARD</B>
+ <A HREF="mailto:mageia-dev%40mageia.org?Subject=Re%3A%20%5BMageia-dev%5D%20%5BCooker%5D%20%5BRFC%5D%20Ruby%20packaging%20policy&In-Reply-To=%3C20110108100217.GC3471%40shikamaru.fr%3E"
+ TITLE="[Mageia-dev] [Cooker] [RFC] Ruby packaging policy">shikamaru at mandriva.org
+ </A><BR>
+ <I>Sat Jan 8 11:02:17 CET 2011</I>
+ <P><UL>
+ <LI>Previous message: <A HREF="002009.html">[Mageia-dev] [Cooker] [RFC] Ruby packaging policy
+</A></li>
+ <LI>Next message: <A HREF="002010.html">[Mageia-dev] Adding Java-Policy
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#2011">[ date ]</a>
+ <a href="thread.html#2011">[ thread ]</a>
+ <a href="subject.html#2011">[ subject ]</a>
+ <a href="author.html#2011">[ author ]</a>
+ </LI>
+ </UL>
+ <HR>
+<!--beginarticle-->
+<PRE>On Sat, Jan 08, 2011 at 05:07:55AM +0100, Per &#216;yvind Karlsen wrote:
+&gt;<i> 2011/1/7 Remy CLOUARD &lt;<A HREF="https://www.mageia.org/mailman/listinfo/mageia-dev">shikamaru at mandriva.org</A>&gt;:
+</I>&gt;<i> &gt; Hello there,
+</I>&gt;<i> &gt;
+</I>&gt;<i> &gt; It&#8217;s been quite some time since I started working on ruby modules, and
+</I>&gt;<i> &gt; I&#8217;ve been working on the policy too.
+</I>&gt;<i> \o/
+</I>First of all, thanks for your very complete answer. :)
+&gt;<i> &gt;
+</I>&gt;<i> &gt; You can find the page here:
+</I>&gt;<i> &gt; <A HREF="http://wiki.mandriva.com/en/Policies/Ruby">http://wiki.mandriva.com/en/Policies/Ruby</A>
+</I>&gt;<i> &gt;
+</I>&gt;<i> &gt; Now, there are some things that still need to be clarified.
+</I>&gt;<i> &gt;
+</I>&gt;<i> &gt; The most controversial part is the naming convention.
+</I>&gt;<i> &gt;
+</I>&gt;<i> &gt; Many ruby modules are packaged via gem, and fedora introduced a strange
+</I>&gt;<i> &gt; naming convention, calling their package rubygem-%{gemname}. This
+</I>&gt;<i> &gt; convention was soon followed by other rpm-based distro such as opensuse
+</I>&gt;<i> &gt; and momonga, and we also have some of them.
+</I>&gt;<i> I adopted the rubygem-* naming convention for ruby gems due to the
+</I>&gt;<i> different way of it being installed opposed to installing it as a
+</I>&gt;<i> ehr.. non-gem.. (ie. ruby-foo &amp; rubygem-foo would come with the same
+</I>&gt;<i> ruby module, but installed &amp; packaged differently), to provide a
+</I>&gt;<i> distinct namespace with less confusion (ie. there seems to be some
+</I>&gt;<i> conventions on naming ruby modules as ie. 'ruby-foo' for the pure ruby
+</I>&gt;<i> implementation of 'foo' which might've been written in C etc., always
+</I>&gt;<i> using the namespace 'rubygem' giving the resulting rubygem-ruby-foo &amp;
+</I>&gt;<i> rubygem-foo packages) and for the general ease on maintenace by
+</I>&gt;<i> adopting existing layouts already chosen by other distributions..
+</I>&gt;<i>
+</I>&gt;<i>
+</I>That does make sense as long as we keep both kinds of packaging. But I&#8217;m
+pretty sure there won&#8217;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.
+&gt;<i> &gt;
+</I>&gt;<i> &gt; I&#8217;m not against changing that convention, but this raises also other
+</I>&gt;<i> &gt; questions.
+</I>&gt;<i> &gt; 1) Do we also need to change the provides/requires ? ie
+</I>&gt;<i> No, whatever package filenames chosen, it's really a different topic
+</I>&gt;<i> than whatever
+</I>&gt;<i> provides/required that should be generated.
+</I>&gt;<i> Using rubygem() provides though (yet again) a distinct namespace for these
+</I>&gt;<i> dependencies automatically generated from the gem metadata, so to ensure these
+</I>&gt;<i> remaining canonical and without ambiguity, they shouldn't be changed.
+</I>&gt;<i> Notice that the dependency extractor used is the same one used for
+</I>&gt;<i> rpm5 upstream,
+</I>&gt;<i> so by making such changes you'd also end up breaking compatibility
+</I>&gt;<i> with it as well.
+</I>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&#8217;t change
+&gt;<i> &gt; Requires: ruby(%{gemname})
+</I>&gt;<i> &gt; instead of
+</I>&gt;<i> &gt; Requires: rubygem(%{gemname})
+</I>&gt;<i> &gt; 2) is there a way to make youri watch for rubygem-%{gemname} in case we
+</I>&gt;<i> &gt; opt for that change ? Or better, can youri watch for %{gemname} on
+</I>&gt;<i> &gt; rubygems.org ?
+</I>&gt;<i> provides/requires of ruby gems are already automatically generated to
+</I>&gt;<i> use rubygem(%{gemname}), so no need to add any explicit provides to
+</I>&gt;<i> packages and for non-gems where you'd need to add explicit requires on
+</I>&gt;<i> gems, you should add rubygem(%{gemname}).
+</I>I think you misunderstood what I said there, I was thinking about
+youri-check, see <A HREF="http://youri.zarb.org/demo/mandriva/">http://youri.zarb.org/demo/mandriva/</A>
+&gt;<i> &gt;
+</I>&gt;<i> &gt; Is it ok to add development dependencies as Suggests ? Shall we do a
+</I>&gt;<i> &gt; -devel subpackage that will pull these dependencies. The advantage of
+</I>&gt;<i> &gt; doing this is that automated installs will not add these dependencies
+</I>&gt;<i> &gt; where they aren&#8217;t needed, but this will cause spec files to be more
+</I>&gt;<i> &gt; complicated to maintain (unless we add proper support for this in
+</I>&gt;<i> &gt; gem2rpm)
+</I>&gt;<i> Currently it's trivial to add support for generating suggests on these
+</I>&gt;<i> automatically,
+</I>&gt;<i> but it's usually not really what's desired with the default behaviour
+</I>&gt;<i> (with urpmi) of installing
+</I>&gt;<i> suggests automatically.
+</I>&gt;<i> Adding support for gem2rpm for creating a meta subpackage would be
+</I>&gt;<i> trivial, but then you would
+</I>&gt;<i> have to manually maintain explicit provides/requires for these in the
+</I>&gt;<i> spec, in contrast to
+</I>&gt;<i> those automatically generated by rpm during build.
+</I>&gt;<i> A meta subpackage sounds fairly reasonable (given the current
+</I>&gt;<i> alternatives rpm provides,
+</I>&gt;<i> I'm not opposed to implementing something better), but should really be
+</I>&gt;<i> generated automatically in same fashion from the gem metadata during
+</I>&gt;<i> build, and not
+</I>&gt;<i> during initial package creation to be maintained manually afterwards,
+</I>&gt;<i> but there's no
+</I>&gt;<i> standard convention for automatically generating sub-packages in place
+</I>&gt;<i> to use yet.
+</I>&gt;<i> So if you want support for making use of this metadata in some
+</I>&gt;<i> sensible and easily maintanable
+</I>&gt;<i> way, some extra work will be required, as it would fall on rpm's
+</I>&gt;<i> responsibility to
+</I>&gt;<i> automatically do so and without extra mess to maintain in packages, I
+</I>&gt;<i> would advice to
+</I>&gt;<i> leave it out of packaging policies dictated for packagers to worry
+</I>&gt;<i> about, rather proposing
+</I>&gt;<i> it as a feature request for rpm.
+</I>Likewise, can also be discussed upstream so.
+&gt;<i> &gt;
+</I>&gt;<i> &gt; About files:
+</I>&gt;<i> &gt; shall we keep the gem in the cache directory ? I&#8217;m not sure this is
+</I>&gt;<i> &gt; really useful, up till now I added it, but it makes the package a bit
+</I>&gt;<i> &gt; bigger
+</I>&gt;<i> Nah, there's no use for it, that's why I implemented gem_helper.rb
+</I>&gt;<i> (which is what the %gem_build
+</I>&gt;<i> &amp; %gem_install macros are wrapped around) to drop it by default.
+</I>&gt;<i> Also notice that gem_helper.rb will also actually recreate the gem
+</I>&gt;<i> with all the files
+</I>&gt;<i> that's not of any use dropped, then install this gem.
+</I>&gt;<i> I *think* the behaviour should be pretty sane and generic enough to
+</I>&gt;<i> work with most gems
+</I>&gt;<i> (to my understanding of gem packaging at least;), although the code
+</I>&gt;<i> itself isn't all that pretty
+</I>&gt;<i> (some of the very first ruby code I wrote a year ago) and certainly
+</I>&gt;<i> wouldn't hurt from
+</I>&gt;<i> being given some care and cleaned up by someone with better ruby
+</I>&gt;<i> skills and nicer ruby dialect
+</I>&gt;<i> than mine.. ;)
+</I>&gt;<i> &gt;
+</I>&gt;<i> &gt; Shall we do a -doc subpackage for big packages ? I think it may be
+</I>&gt;<i> &gt; interesting for package that have a lot of documentation and that are
+</I>&gt;<i> &gt; part of an ecosystem (ie, gems required for other packages like
+</I>&gt;<i> &gt; gitorious)
+</I>&gt;<i> I certainly think -doc subpackages are of use, but from what to dictate any
+</I>&gt;<i> conditionals where and when to create such is something I'm not 100% on (I've
+</I>&gt;<i> added support to gem2rpm to do it for files specified as documentation by the
+</I>&gt;<i> gem metadata though), nor on *how* (should it be done by gem2rpm,
+</I>&gt;<i> or perhaps automatically during package build from the metadata, in
+</I>&gt;<i> similar fashion
+</I>&gt;<i> as proposed for -devel packages above?), I'm able to implement (or
+</I>&gt;<i> provide help in
+</I>&gt;<i> doing so) the request once the desired behaviour has been figured out though. ;)
+</I>&gt;<i> &gt;
+</I>&gt;<i> &gt; Normally %gem_* macros should take care of that, but we might have to
+</I>&gt;<i> &gt; make it evolve.
+</I>&gt;<i> I think either way one should anyways try to keep as much as possible out of the
+</I>&gt;<i> .spec files, leaving as much as possible up to macros, wrappers, dependency
+</I>&gt;<i> extractors etc. to take care of. It'll help reduce maintenance work on
+</I>&gt;<i> the individual
+</I>&gt;<i> packages and help improve compatibility with other distributions.
+</I>100% agree on this.
+&gt;<i> &gt;
+</I>&gt;<i> &gt; Do you see something I haven&#8217;t thought of ?
+</I>&gt;<i> &gt;
+</I>&gt;<i> &gt; I will provide an example spec in this policy in the following days, and
+</I>&gt;<i> &gt; will take care of making the necessary changes to the existing packages
+</I>&gt;<i> &gt; once we agree with the above points.
+</I>&gt;<i> Be sure to have it generated with gem2rpm, and try integrate the
+</I>&gt;<i> policy back into
+</I>&gt;<i> gem2rpm again, I've created a public repository for my fork at:
+</I>&gt;<i> <A HREF="http://gitorious.org/rpm5distro/gem2rpm5">http://gitorious.org/rpm5distro/gem2rpm5</A>
+</I>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)
+&gt;<i>
+</I>&gt;<i> (I might've added some additional confusion in trying to answer some of this,
+</I>&gt;<i> don't be afraid to ask on things where I don't make sense;)
+</I>&gt;<i> --
+</I>&gt;<i> Regards,
+</I>&gt;<i> Per &#216;yvind
+</I>-------------- next part --------------
+A non-text attachment was scrubbed...
+Name: not available
+Type: application/pgp-signature
+Size: 230 bytes
+Desc: not available
+URL: &lt;/pipermail/mageia-dev/attachments/20110108/d3a46434/attachment-0001.asc&gt;
+</PRE>
+
+
+
+
+
+<!--endarticle-->
+ <HR>
+ <P><UL>
+ <!--threads-->
+ <LI>Previous message: <A HREF="002009.html">[Mageia-dev] [Cooker] [RFC] Ruby packaging policy
+</A></li>
+ <LI>Next message: <A HREF="002010.html">[Mageia-dev] Adding Java-Policy
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#2011">[ date ]</a>
+ <a href="thread.html#2011">[ thread ]</a>
+ <a href="subject.html#2011">[ subject ]</a>
+ <a href="author.html#2011">[ author ]</a>
+ </LI>
+ </UL>
+
+<hr>
+<a href="https://www.mageia.org/mailman/listinfo/mageia-dev">More information about the Mageia-dev
+mailing list</a><br>
+</body></html>