[ANN] rpkg - test release

Just uploaded:

http://www.allruby.com/rpkg/rpkg-test.tar.gz

From the README:

= How to use this

This is a test release. Some features are missing, other are fragile,
all are in ferment. I’m releasing it to bring rpkg development out of
the dark and give to those who wish some code to chew on. It mustn’t
be considered a dependable or mostly functional version.

Unpack the tarball. Put rapt' in your binary search path. Copy therpkg’ and archive' directories and thestringio.rb’ file into your
$RUBYLIB search path, preferably where you don’t need root privileges
to write.

This release does not touch your system directories and all testing is
done in rpkg/local' andrpkg/remote’; the former represents your
local filesystem, the latter everything that is accessed remotely
(tarballs, package mirrors, metadata etc.).

Please send reports, comments, patches, ideas to mmirra@libero.it.

= A sample session

This gives an overview of commands and options:

$ rapt -h

Search for a package:

$ rapt search database
dbi - Uniform database access interface

Show information about a package:

$ rapt show dbi
Package: dbi
Version: 0.0.18
Source: dbi
Architecture: all
Depends: mysql (>= 2.4.2)
Description: Uniform database access interface
Fetch:
 rpkg://ruby/pool/dbi_0.0.18_all.rpk (81116, 0567fd72b3763f4fb43de56faa841e77)

Show information about the source that generates a package:

$ rapt showsrc dot
Package: rdoc
Version: cvs
Binary: rdoc, markup, dot
Architecture: all
Fetch:
 rpkg://ruby/sources/rdoc-snap20021101.tar.gz (111132, 851fd6f6a25c4c3229a5ea534bbb185d)
 rpkg://ruby/pool/rdoc-cvs.mkr.tar.gz (1029, 8aadfdcb7e7bd4279c4d877f57a59971)

Install the package from source:

$ rapt install dbi
Binary packages needed: mysql dbi
Source packages needed: mysql dbi
checking for mysql_query() in -lmysqlclient... yes
checking for mysql.h... no
checking for mysql/mysql.h... yes
creating Makefile
gcc -fPIC -g -O2 -fPIC  -I. -I/usr/lib/ruby/1.6/i386-linux -I. -I/usr/include -DHAVE_MYSQL_MYSQL_H   -I/usr/local/include -c -o mysql.o mysql.c
gcc -shared  -L/usr/local/lib -L/usr/lib  -o mysql.so mysql.o -L. -lruby -lmysqlclient -lc
Installing mysql
entering config phase...
config done.
entering setup phase...
setting #! line to "#!/usr/bin/ruby"
[...]
Installing dbi

As you can see, mysql (which dbi depends on) is fetched, built and
installed first, and then dbi is installed.

Install another package, this time from prebuilt packages:

$ rapt --binary install rdoc
Binary packages needed: dot markup rdoc
Installing dot
Installing markup
Installing rdoc

Increase debug level to show something of what’s happening under the
hood:

$ rapt -d1 --binary install dot
Binary packages needed: dot
fetcher.rb:11:in `fetch' fetching rpkg://ruby/pool/dot_cvs_all.rpk to /home/bard/src/rpkg/local/tmp
fetcher.rb:42:in `fetch' resolving rpkg:// scheme, next log entry shows actual uri...
fetcher.rb:11:in `fetch' fetching file:///home/bard/lib/ruby/rpkg/remote/ruby/pool/dot_cvs_all.rpk to /home/bard/src/rpkg/local/tmp
package.rb:18:in `new' initializing a package object from /home/bard/src/rpkg/local/tmp/dot_cvs_all.rpk
package.rb:18:in `new' initializing a package object from /home/bard/src/rpkg/local/tmp/packages/dot
package.rb:58:in `install' Installing dot

Cd to $RUBYLIB/rpkg/local and see what has been installed, then run clean.sh to
clean directories again.

Cd to $RUBYLIB/rpkg/remote, rename sources to sources.localmirror, and
sources.remote to sources. (This file is the same as the former,
except that uptream tarballs are fetched from the original sites
instead of the rpkg:// mirror.)

Try to install from cvs:

$ rapt install rdoc
Binary packages needed: markup dot rdoc
Source packages needed: rdoc
cvs server: Updating rdoc
cvs server: Updating rdoc/contrib
cvs server: Updating rdoc/contrib/xslfo
[...]
cvs server: Updating rdoc/web/images
cvs server: Updating rdoc/web/rd
Installing rdoc
Installing markup
Installing dot

In article 20021101095337.GA28428@prism.localnet,

Just uploaded:

http://www.allruby.com/rpkg/rpkg-test.tar.gz

From the README:

= How to use this

This is a test release. Some features are missing, other are fragile,
all are in ferment. I’m releasing it to bring rpkg development out of
the dark and give to those who wish some code to chew on. It mustn’t
be considered a dependable or mostly functional version.

Unpack the tarball. Put rapt' in your binary search path. Copy the rpkg’ and archive' directories and the stringio.rb’ file into your
$RUBYLIB search path, preferably where you don’t need root privileges
to write.

This release does not touch your system directories and all testing is
done in rpkg/local' and rpkg/remote’; the former represents your
local filesystem, the latter everything that is accessed remotely
(tarballs, package mirrors, metadata etc.).

Please send reports, comments, patches, ideas to mmirra@libero.it.

= A sample session

This gives an overview of commands and options:

$ rapt -h

Search for a package:

$ rapt search database
dbi - Uniform database access interface

Show information about a package:

$ rapt show dbi
Package: dbi
Version: 0.0.18
Source: dbi
Architecture: all
Depends: mysql (>= 2.4.2)
Description: Uniform database access interface
Fetch:
rpkg://ruby/pool/dbi_0.0.18_all.rpk (81116,
0567fd72b3763f4fb43de56faa841e77)

Show information about the source that generates a package:

$ rapt showsrc dot
Package: rdoc
Version: cvs
Binary: rdoc, markup, dot
Architecture: all
Fetch:
rpkg://ruby/sources/rdoc-snap20021101.tar.gz (111132,
851fd6f6a25c4c3229a5ea534bbb185d)
rpkg://ruby/pool/rdoc-cvs.mkr.tar.gz (1029,
8aadfdcb7e7bd4279c4d877f57a59971)

Install the package from source:

$ rapt install dbi
Binary packages needed: mysql dbi
Source packages needed: mysql dbi
checking for mysql_query() in -lmysqlclient… yes
checking for mysql.h… no
checking for mysql/mysql.h… yes
creating Makefile
gcc -fPIC -g -O2 -fPIC -I. -I/usr/lib/ruby/1.6/i386-linux -I.
-I/usr/include -DHAVE_MYSQL_MYSQL_H -I/usr/local/include -c -o mysql.o
mysql.c
gcc -shared -L/usr/local/lib -L/usr/lib -o mysql.so mysql.o -L.
-lruby -lmysqlclient -lc
Installing mysql
entering config phase…
config done.
entering setup phase…
setting #! line to “#!/usr/bin/ruby”
[…]
Installing dbi

As you can see, mysql (which dbi depends on) is fetched, built and
installed first, and then dbi is installed.

Install another package, this time from prebuilt packages:

$ rapt --binary install rdoc
Binary packages needed: dot markup rdoc
Installing dot
Installing markup
Installing rdoc

Increase debug level to show something of what’s happening under the
hood:

$ rapt -d1 --binary install dot
Binary packages needed: dot
fetcher.rb:11:in fetch' fetching rpkg://ruby/pool/dot_cvs_all.rpk to /home/bard/src/rpkg/local/tmp fetcher.rb:42:in fetch’ resolving rpkg:// scheme, next log entry
shows actual uri…
fetcher.rb:11:in fetch' fetching file:///home/bard/lib/ruby/rpkg/remote/ruby/pool/dot_cvs_all.rpk to /home/bard/src/rpkg/local/tmp package.rb:18:in new’ initializing a package object from
/home/bard/src/rpkg/local/tmp/dot_cvs_all.rpk
package.rb:18:in new' initializing a package object from /home/bard/src/rpkg/local/tmp/packages/dot package.rb:58:in install’ Installing dot

Cd to $RUBYLIB/rpkg/local and see what has been installed, then run clean.sh to
clean directories again.

Cd to $RUBYLIB/rpkg/remote, rename sources to sources.localmirror, and
sources.remote to sources. (This file is the same as the former,
except that uptream tarballs are fetched from the original sites
instead of the rpkg:// mirror.)

Try to install from cvs:

$ rapt install rdoc
Binary packages needed: markup dot rdoc
Source packages needed: rdoc
cvs server: Updating rdoc
cvs server: Updating rdoc/contrib
cvs server: Updating rdoc/contrib/xslfo
[…]
cvs server: Updating rdoc/web/images
cvs server: Updating rdoc/web/rd
Installing rdoc
Installing markup
Installing dot

Massimiliano,

First off, Thanks for the code.

Second, there was a lot of talk at RubyConf about package management and
the RAA. I’m too tired right now to give a complete report, but rpkg came
up in some discussions as a possible candidate. It was a hot topic.

There will also be some news the RAA and mirroring soon (I hope) but I’ll
let someone else announced that.

Phil

···

Massimiliano Mirra list@chromatic-harp.com wrote: