Re: [Mageia-dev] [RFC] Ruby packaging policy
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
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