Re: [Mageia-dev] [RFC] Ruby packaging policy

2011-01-19 Thread Remy CLOUARD
On Mon, Jan 10, 2011 at 01:49:30AM +0100, Michael Scherer wrote:
 Le vendredi 07 janvier 2011 à 23:45 +0100, Remy CLOUARD a écrit :
  You can find the page here:
  http://wiki.mandriva.com/en/Policies/Ruby
[...]
 This cause problem since we do have rpm present twice ( without people
 noticing, as I dicovered when trying to use gitorious ). More ever, this
 is confusing for packagers. There is also potential breakage if someone
 start to do tarball, then gems, etc etc. 
 
 I have already expressed my opinion on the subject, and still maintain
 it :
 
 ruby rpm should be ruby-*.
 
Ok, so I assume ruby rpm should be packaged as a gem or as a regular
package, but not both (sounds sensible anyway)

[...]

Now, I’ve made an erb template to match what we discussed up till now.

You can see the result here
http://wiki.mandriva.com/en/Ruby_packaging_policy#Samples

A few comments about this spec:
- devel package is generated to pull the development dependencies, maybe
  it could be created also whenever there are additional files that are
  not in the require_paths node of the YAML specification.


There are several things that need to be fixed:
- in gem2rpm, version requirements should translate the ~ operator
  (it means = X.Y and  Z)
- in rubygems.rb, files that are not in require_paths are deleted. So we
  have to support test_files so that they can be included in the devel
  packages

Regarding the specification, I would like to generalize tests, but that
will not be an easy task, because of circular dependencies, don’t know
how to circumvent the issue, because even if I first do the import
without the check for the bootstrap, It’s likely that the problem will
arise when upgrading the package, requiring to disable the test first
and then activate it again…

Regards,
-- 
Rémy CLOUARD
() ascii ribbon campaign - against html e-mail
/\ www.asciiribbon.org - against proprietary attachments


pgpys5NQlChAb.pgp
Description: PGP signature


Re: [Mageia-dev] [RFC] Ruby packaging policy

2011-01-09 Thread Michael Scherer
Le vendredi 07 janvier 2011 à 23:45 +0100, Remy CLOUARD a écrit :
 Hello there,
 
 It’s been quite some time since I started working on ruby modules, and
 I’ve been working on the policy too.
 
 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.

This cause problem since we do have rpm present twice ( without people
noticing, as I dicovered when trying to use gitorious ). More ever, this
is confusing for packagers. There is also potential breakage if someone
start to do tarball, then gems, etc etc. 

I have already expressed my opinion on the subject, and still maintain
it :

ruby rpm should be ruby-*.

Several people ( Pascal Terjan
http://lists.mandriva.com/cooker/2010-11/msg00063.php , Guillaume
Rousse ) also raised concern about this when this discovered after being
pushed 1 year ago without discussion
( http://lists.mandriva.com/cooker/2010-03/msg00401.php ) . 

Python does also have egg, and they play nice with rpm ( ie, we ship
file that make egg think our python module are installed as egg ).
Cpan also provides archives ( but that unused )


 I’m not against changing that convention, but this raises also other
 questions.
 1) Do we also need to change the provides/requires ? ie
 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 ?

yes. Just need a patch :)

 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

Well, what is the goal of keeping the source in two location ?

 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)

That's not specific to ruby. Again, we should follow existing
conventions.

-- 
Michael Scherer