# \[ANN\] rpkg - test release

**URL:** <https://rubytalk.org/t/ann-rpkg-test-release/2603>\
**Category:** ruby-talk\
**Created:** [1 November 2002 09:53 UTC](https://rubytalk.org/t/ann-rpkg-test-release/2603 "2002-11-01T09:53:43Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Massimiliano\_Mirra2](https://avatars.discourse-cdn.com/v4/letter/m/e274bd/32.png) [@Massimiliano\_Mirra2](https://rubytalk.org/u/Massimiliano_Mirra2)\
**Post date:** [1 November 2002 09:53 UTC](https://rubytalk.org/t/ann-rpkg-test-release/2603/1 "2002-11-01T09:53:43Z")

</div>

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](mailto: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](http://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
```

---

<div class="post-metadata">

**Author:** ![Ptkwt1](https://avatars.discourse-cdn.com/v4/letter/p/85e7bf/32.png) [@Ptkwt1](https://rubytalk.org/u/Ptkwt1)\
**Post date:** [4 November 2002 03:39 UTC](https://rubytalk.org/t/ann-rpkg-test-release/2603/2 "2002-11-04T03:39:30Z")

</div>

In article [20021101095337.GA28428@prism.localnet](mailto:20021101095337.GA28428@prism.localnet),

> Just uploaded:
> 
> [http://www.allruby.com/rpkg/rpkg-test.tar.gz](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](mailto:list@chromatic-harp.com) wrote:
