Ruby developers: help push RPKG development and usage forward! (it is like CPAN.pm, only Ruby)

A big complaint from people looking into Ruby is that they don’t see
anything along the lines of Perl’s CPAN. Well, that is a problem that
can easily be fixed, given that work has already started with RPKG, a
Ruby packaging system based on Debian’s.

Check it out:

http://www.allruby.com/rpkg/

My question is: how come very few developers release their software
in RPKG format? Only a handfull of packages can be found (
http://www.allruby.com/rpkg/descriptions/dists/unstable/main/binary-i386-linux/index.html
), but the instructions for package construction are pretty simple (
http://www.allruby.com/rpkg/usage.html ). The project needs people to
help with debugging/development on platforms other than Linux,
although it looks like the code is pretty portable and has few
dependencies.

C’mon! Let’s get this hurdle out of the way of Ruby’s acceptance
into the mainstream!

Marcus

P.S. – I am not involved with RPKG development at all, but I think
the project needs some advertising to overcome the huge inertia
associated with the Ruby community :slight_smile: I promisse to try to create some
RPKG packages for some of the modules out there … but C’mon people,
let’s get behind RPKG, and maybe we can create CRAN, and Ruby will be
one step closer to being as popular as it deserves.

Intro: sorry for the long post, I wanted to speak, hope you won’t mind
too much.

Hello,

to follow-up ruby-talk[47974], may i suggest that current rpkg be
included in the 1.X installers Andy is building ?

As far as i’m concerned, i would love to use rpkg if it was working on my
win32 ruby without a hassle. But AFAIK, rpkg depends on zlib which is
not straightforward to get(/build) under win32 platforms hence my suggestion.

I think there is quite a problem around these portability issues. Core
ruby runs very well on win32 but most of the extensions, you have to
build yourself. Even if this is not a problem to real windows coders,
this can be quite a pain for people who want to give a try to ruby and
say xmlparser on a win32 box. Some extensions, due to their complexity
are even almost unbuildable on win32 boxes. And the problem is not ruby
related but rather “library” related.

Using more often rpkg would allow us to have binary packages (which rpkg
supports, if i remember well) and only a few people will have to worry
about building this library to get ruby working.

What do people think about that ? Maybe i’m too naive about this, but
this is something that is also a problem in perl even if the perl/win32
(activestate i guess) is less likely to be used by real perl hackers
whereas ruby/win32 is the best choice for the windows platforms. If Ruby
could narrow this gap, this could probably be a very good thing for the
community.

···

On Tue, Aug 27, 2002, M S wrote:

The project needs people to
help with debugging/development on platforms other than Linux,
although it looks like the code is pretty portable and has few
dependencies.

And Matz, thanks again, coding has become a pleasure for me :slight_smile:

Pierre Baillet
Our bodies are given life from the midst of nothingness. Existing where there
is nothing is the meaning of the phrase, “form is emptiness.” That all things
are provided for by nothingness is the meaning of the phrase, “Emptiness is
form.” One should not think that these are two separate things.
Ghost Dog - The Way of the Samouraï

M S wrote:

A big complaint from people looking into Ruby is that they don’t see
anything along the lines of Perl’s CPAN. Well, that is a problem that
can easily be fixed, given that work has already started with RPKG, a
Ruby packaging system based on Debian’s.

One question: I hope this is not going to require any external tools
except for Ruby. I have problem CPANning some Perl modules because I
don’t have a proper building environment.

···


Giuseppe “Oblomov” Bilotta

Axiom I of the Giuseppe Bilotta
theory of IT:
Anything is better than MS

  My question is: how come very few developers release their software
in RPKG format?

Just to give you an example, bdb is tested against these libraries of
Berkeley DB

pigeon% ls -d db[2-4]*
db2.4.14/ db3.0.55/ db3.1.17/ db3.2.9/ db4.0.14/
db2.7.7/ db3.1.14/ db3.1.5/ db3.3.11/ db4.1.16/
pigeon%

You really want that I put a binary version for *all* these versions of
Berkeley DB and this for linux, *bsd, solaris, windows, ... ?

Guy Decoux

How do rpkg and rubynet (previously RAA.succ) relate?
[http://rubynet.sourceforge.net/]

Chris
http://clabs.org

Hi,

···

At Tue, 27 Aug 2002 12:41:18 +0900, M S wrote:

), but the instructions for package construction are pretty simple (
http://www.allruby.com/rpkg/usage.html ). The project needs people to
help with debugging/development on platforms other than Linux,
although it looks like the code is pretty portable and has few
dependencies.

http://www.allruby.com/rpkg/usage.html.ja has content type
text/plain, not text/html.


Nobu Nakada

Actually, it would be nice to have them online, but not necessarily
human browsable. If we could have rpkg establish a context for the
libraries available (kind of like mkmf does)…maybe using Ruby/DL in
1.7.x instead of compilers, then we could enable using this context to
download appropriate binary builds.

So, if one could describe the .dll/.so files that were needed by having
a block of code that tries to load the .so/.dll files (using Ruby/DL)
and then do some library specific thing to check versions, then report
this back this should be able to be done.

Thoughts?

-Rich Kilmer

···

-----Original Message-----
From: ts [mailto:decoux@moulon.inra.fr]
Sent: Tuesday, August 27, 2002 5:48 AM
To: ruby-talk ML
Cc: ruby-talk@ruby-lang.org
Subject: Re: Ruby developers: help push RPKG development and
usage forward!! (it is like CPAN.pm, only Ruby)

My question is: how come very few developers release
their software
in RPKG format?

Just to give you an example, bdb is tested against these
libraries of Berkeley DB

pigeon% ls -d db[2-4]*
db2.4.14/ db3.0.55/ db3.1.17/ db3.2.9/ db4.0.14/
db2.7.7/ db3.1.14/ db3.1.5/ db3.3.11/ db4.1.16/
pigeon%

You really want that I put a binary version for all these
versions of Berkeley DB and this for linux, *bsd, solaris,
windows, … ?

Guy Decoux

I’ve renamed it to usage.ja.html, this should fix it.

Thanks,

Massimiliano

···

On Wed, Aug 28, 2002 at 12:01:33AM +0900, nobu.nokada@softhome.net wrote:

http://www.allruby.com/rpkg/usage.html.ja has content type
text/plain, not text/html.

As far as i’m concerned, i would love to use rpkg if it was working on my
win32 ruby without a hassle. But AFAIK, rpkg depends on zlib which is
not straightforward to get(/build) under win32 platforms hence my
suggestion.

I used zlib as, I gathered, it was going to end up in the next
standard distribution. Can someone just make a precompiled .dll
available before then? The alternative was requiring the user to
install a gzip executable.

I’m all for portability and for rpkg to be as self contained as
possible. For the implementation of rpkg that can be currently
downloaded, I’ve gone as far writing an Ar archive format reader in
ruby and Thomas Hurst wrote a Tar archive reader. The short version
of the story is, I’m on your side guys. :slight_smile:

Using more often rpkg would allow us to have binary packages (which rpkg
supports, if i remember well) and only a few people will have to worry
about building this library to get ruby working.

Yes. That’s one of the reasons I started writing rpkg in the first
place.

Massimiliano

···

On Tue, Aug 27, 2002 at 05:12:22PM +0900, Pierre Baillet wrote:

Aren’t dbx.y.a and dbx.y.b compatible binary-wise?
Is it worth supporting db2.* and db3.* when db4* is out?
I acknowledge it is too much work, anyway, so…

We need something like the Debian autobuilders, but I think it is not
feasible, for we can’t encompass all the dependencies: we’d end up
creating a gigantic cross-platform distribution (like Debian) around
Ruby. Essentially duplicating Debian, with Ruby taking the place of the
kernel as the central element.

It would definitely rock, though :slight_smile:

What would come then, Ruby-machines à la Lisp?

···

On Tue, Aug 27, 2002 at 06:47:30PM +0900, ts wrote:

My question is: how come very few developers release their software
in RPKG format?

Just to give you an example, bdb is tested against these libraries of
Berkeley DB

pigeon% ls -d db[2-4]*
db2.4.14/ db3.0.55/ db3.1.17/ db3.2.9/ db4.0.14/
db2.7.7/ db3.1.14/ db3.1.5/ db3.3.11/ db4.1.16/
pigeon%

You really want that I put a binary version for all these versions of
Berkeley DB and this for linux, *bsd, solaris, windows, … ?


_ _

__ __ | | ___ _ __ ___ __ _ _ __
’_ \ / | __/ __| '_ _ \ / ` | ’ \
) | (| | |
__ \ | | | | | (| | | | |
.__/ _,
|_|/| || ||_,|| |_|
Running Debian GNU/Linux Sid (unstable)
batsman dot geo at yahoo dot com

*** PUBLIC flooding detected from erikyyy
THAT’s an erik, pholx… :wink:
– Seen on #LinuxGER

I’m joining the thread here because I cannot find the initial part in
my mailbox (I read it on ruby-talk.org though).

I’m rpkg author. I’m rewriting it from scratch, including many sweet
things based on advice from Sean Russel and others.

Right now you can do something like this:

rpkg pack --meta http://site.com/foo-0.1.src.dsc

The .dsc file looks roughly like this (non relevant parts omitted):

Package: foo
Version: 0.1
Files:
a9s5b2erf024eht9323 cvs://cvs.somewhere.com/foo#Release_0_1
fm1313n90404hngh043 rpkg://build/foo-0.1.mkr.tar.gz

Sources will be downloaded as well as maker scripts. Maker scripts
will be executed, things will be compiled if they need be, and one or
more distribution policy compliant packages (.rpk) will be built.
Compiled .rpk’s can then be redistributed. A maker script can be in
any language and for me rarely has gone beyond a dozen lines of bash
script.

So far, you can get stuff from cvs://, http://, file:// (i.e. the
local filesystem), rpkg:// (any of the rpkg mirrors specified in a
config file). Planned rsync and ftp.

It’s easy to see how maker scripts being separated from upstream
tarballs calls for a very fast and easy growth of the number of
available packages.

What remains has to do with database management and dependency
handling. Its coming to light is constrained by my available time,
which right now is little. Anybody would like to help? I’ll make the
new rpkg available if anyone is interested.

Massimiliano

Not really a thought, but… what is Ruby/DL?

Feel free to RTFM me to the appropriate place. :slight_smile:

Massimiliano

···

On Tue, Aug 27, 2002 at 09:39:32PM +0900, Rich Kilmer wrote:

So, if one could describe the .dll/.so files that were needed by having
a block of code that tries to load the .so/.dll files (using
Ruby/DL)

Thoughts?

[Resending this as it showed up on ruby-talk.org but neither on the
newsgroup nor on the list. Apologies if this is a duplicate for you.]

I’m joining the thread here because I cannot find the initial part in
my mailbox (I read it on ruby-talk.org though).

I’m rpkg author. I’m rewriting it from scratch, including many sweet
things based on advice from Sean Russel and others.

Right now you can do something like this:

rpkg pack --meta http://site.com/foo-0.1.src.dsc

The .dsc file looks roughly like this (non relevant parts omitted):

Package: foo
Version: 0.1
Files:
a9s5b2erf024eht9323 cvs://cvs.somewhere.com/foo#Release_0_1
fm1313n90404hngh043 rpkg://build/foo-0.1.mkr.tar.gz

Sources will be downloaded as well as maker scripts. Maker scripts
will be executed, things will be compiled if they need be, and one or
more distribution policy compliant packages (.rpk) will be built.
Compiled .rpk’s can then be redistributed. A maker script can be in
any language and for me rarely has gone beyond a dozen lines of bash
script.

So far, you can get stuff from cvs://, http://, file:// (i.e. the
local filesystem), rpkg:// (any of the rpkg mirrors specified in a
config file). Planned rsync and ftp.

It’s easy to see how maker scripts being separated from upstream
tarballs calls for a very fast and easy growth of the number of
available packages.

What remains has to do with database management and dependency
handling. Its coming to light is constrained by my available time,
which right now is little. Anybody would like to help? I’ll make
the
new rpkg available if anyone is interested.

Massimiliano

sigh if we all just used debian we wouldn’t even need worry about it.

~transami

···

On Tue, 2002-08-27 at 19:12, Mauricio Fernández wrote:

We need something like the Debian autobuilders, but I think it is not
feasible, for we can’t encompass all the dependencies: we’d end up
creating a gigantic cross-platform distribution (like Debian) around
Ruby. Essentially duplicating Debian, with Ruby taking the place of the
kernel as the central element.

Andy just updated the Win32 installer and it includes zlib

http://www.pragmaticprogrammer.com/ruby/downloads/ruby-install.html

-rich

···

-----Original Message-----
From: Massimiliano Mirra [mailto:list@NOSPAMchromatic-harp.com]
Sent: Tuesday, August 27, 2002 4:20 PM
To: ruby-talk ML
Subject: Re: [long]Re: Ruby developers: help push RPKG
development and usage forward!! (it is like CPAN.pm, only Ruby)

On Tue, Aug 27, 2002 at 05:12:22PM +0900, Pierre Baillet wrote:

As far as i’m concerned, i would love to use rpkg if it was
working on
my win32 ruby without a hassle. But AFAIK, rpkg depends on
zlib which
is not straightforward to get(/build) under win32 platforms
hence my
suggestion.

I used zlib as, I gathered, it was going to end up in the
next standard distribution. Can someone just make a
precompiled .dll available before then? The alternative was
requiring the user to install a gzip executable.

Is it worth supporting db2.* and db3.* when db4* is out?

The format for the database can change. See

    http://www.sleepycat.com/update/index.html

and look at "format upgrade"

I acknowledge it is too much work, anyway, so...

If you have not understood. I don't access to *all* of these OS : linux,
*bsd, solaris, windows, etc. How do you want than I maintain binaries
versions ?

We need something like the Debian autobuilders, but I think it is not
feasible, for we can't encompass all the dependencies: we'd end up

About debian, see

   http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=154727&repeatmerged=yes

[Mon Jul 29 16:39:32 2002] [error] mod_ruby: error in ruby
/tmp/make_search.rhtml.17291.0:15:in `require': (NotImplementedError)
BDB needs compatible versions of libdb & db.h
        you have db.h version 3.2.9 and libdb version 2.7.7

Guy Decoux

http://kt-www.jaist.ac.jp/~ttate/ruby/ruby-dl.html

Example of calling message_box on win32:

require ‘dl’

User32 = DL.dlopen(“user32”)
Kernel32 = DL.dlopen(“kernel32”)

MB_OK = 0
MB_OKCANCEL = 1

message_box = User32[‘MessageBoxA’, ‘ILSSI’]
r,rs = message_box.call(0, ‘ok?’, ‘error’, MB_OKCANCEL)

case r
when 1
print(“OK!\n”)
when 2
print(“Cancel!\n”)
end

END

Notice…pure Ruby…no C…dynamically loading and calling .dlls.

Cool eh?

And it is part of Ruby 1.7.2 (in CVS).

-Rich Kilmer

···

-----Original Message-----
From: Massimiliano Mirra [mailto:list@NOSPAMchromatic-harp.com]
Sent: Tuesday, August 27, 2002 4:20 PM
To: ruby-talk ML
Subject: Re: Ruby developers: help push RPKG development and
usage forward!! (it is like CPAN.pm, only Ruby)

On Tue, Aug 27, 2002 at 09:39:32PM +0900, Rich Kilmer wrote:

So, if one could describe the .dll/.so files that were needed by
having a block of code that tries to load the .so/.dll files (using
Ruby/DL)

Thoughts?

Not really a thought, but… what is Ruby/DL?

Feel free to RTFM me to the appropriate place. :slight_smile:

Massimiliano

You don’t have to. Somebody on one of those platforms will build a
binary for himself, and will just upload the built thing and others
will be able to download it.

Compile once, run anywhere, though I don’t think they meant it that
way. :wink:

Massimiliano

···

On Wed, Aug 28, 2002 at 05:51:41PM +0900, ts wrote:

I acknowledge it is too much work, anyway, so…

If you have not understood. I don’t access to all of these OS : linux,
*bsd, solaris, windows, etc. How do you want than I maintain binaries
versions ?

Massimiliano Mirra wrote:

Sources will be downloaded as well as maker scripts. Maker scripts
will be executed, things will be compiled if they need be, and one or
more distribution policy compliant packages (.rpk) will be built.
Compiled .rpk’s can then be redistributed. A maker script can be in
any language and for me rarely has gone beyond a dozen lines of bash
script.

Can we please give a hand to us Windows (l)users and use as much as
possible Ruby itself as a maker script?

···


Giuseppe “Oblomov” Bilotta

Axiom I of the Giuseppe Bilotta
theory of IT:
Anything is better than MS

i think i want to try it now. can i install 1.7.2 along side 1.6.7? or
is it stable enough now that i should just dump the old version?
(running debian linux woody by the way)

thanks,
tom

···

On Tue, 2002-08-27 at 19:32, Rich Kilmer wrote:

Notice…pure Ruby…no C…dynamically loading and calling .dlls.

Cool eh?

And it is part of Ruby 1.7.2 (in CVS).

-Rich Kilmer