>
> I know several people were waiting for this to enter RPA so I
> tried to repackage the gem. I have to thank you for following
> (maybe unknowingly) most of the good practices described in
> http://rpa-base.rubyforge.org/wiki/wiki.cgi?GoodPractices ; this made
> repackaging your gem easier.
>
So, Mauricio, this is a repackage to RPA of a gem? Any
rubygems-related issues in the process?
As I said above, the process was relatively easy because Gavin followed
many of the good practices documented in rpa-base's wiki. This doesn't
mean that the conversion was automatic (or could be automated for the
matter), though. There were dependencies on RubyGems I had to remove,
and the documentation was generated with a custom script so I had to
adapt it; I also had to discover the "build dependencies" (I found them
in the documentation later) and fix some issues...
Did the fact that there was already some metadata present help you at all?
Honestly, not really. The only piece of metadata I reused was
'Debugging utilities: breakpoints, debugging, and tracing.'. Since that
is not an acceptable description in RPA, I had to look for a better one
elsewhere. As far as I'm concerned, the rest of the metadata (with
the exception of the author, dep, email and homepage) consists only of
implementation details of RubyGems and is hence useless to me:
s.description = s.summary
s.files = FileList['[A-Z]*', '{etc,examples,lib,test}/**/*'].to_a
s.require_path = 'lib'
s.autorequire = nil
s.has_rdoc = true
s.extra_rdoc_files = FileList['*.txt'].to_a
s.rdoc_options << '--main' << 'README.txt' << '--title' << 'dev-utils API Documentation'
s.test_files =
do not bring me that much useful information.
Moreover, it lacks information about the "build dependencies" (required
to generate the documentation).
I'm still interested in the possibility to script rubygems -> rpa-base
conversion and would like to hear your stories.
The conversion of dev-utils was relatively easy, and yet impossible to
automate. I had to read and understand the Rakefile and adapt
documentation generation. Plus remove the dependency on RubyGems and
correct the associated problems ("shadow requires").
I would *really* love to see you come up with a script able to
do what I did manually, but it would have to read and understand
Rakefiles/documentation/etc so it's probably as hard a problem as you
can get.
I'd like to remind you once again that the conversion involves much
more than a simple change in the package format. In general, systems
with a package manager have some associated policies, which determine
the quality of packages in that context --- besides being just "legal"
as far as the format it concerned. In the case of RubyGems, you have
decided to keep it "policy free", which means that you just cannot target
systems with a policy automatically, at least with the current metadata[1]:
such a script would really have to be "intelligent" (say, comparable
to a FreeBSD developer
to create policy-compliant packages/ports for
other systems.
[1] if you managed to find a way to define the whole "gem build" process
in the gemspec and hence REMOVE altogether the reliance on external
processes, plus mark all files "semantically" (e.g.: example, test,
documentation, configuration, shared data) AND standardize the build
scripts, it could become possible. Note that the latter is essentially at
least as hard as (and actually more difficult than) post-install scripts;
so far, the only working design that could solve the latter completely is
http://rubyforge.org/pipermail/rubygems-developers/2004-October/001081.html
as far as I know.
路路路
On Mon, Oct 11, 2004 at 09:45:30AM +0900, Chad Fowler wrote:
On Mon, 11 Oct 2004 08:19:57 +0900, Mauricio Fern谩ndez > <batsman.geo@yahoo.com> wrote:
--
Running Debian GNU/Linux Sid (unstable)
batsman dot geo at yahoo dot com