[#68415] eval'ing a config file — Ian Macdonald <ian@...>

Hi,

19 messages 2003/04/01

[#68421] sharing objects between tests (revisited?) — Paul Brannan <pbrannan@...>

I don't know if I've asked this on this list before or only on irc (I

13 messages 2003/04/01

[#68436] April Fools. — Daniel Carrera <dcarrera@...>

Hey guys and gals,

24 messages 2003/04/01

[#68449] Newbie question:read file speed — "Greg Brondo" <greg@...>

Why is ruby (on windows) so much slower at reading lines in a file (as

36 messages 2003/04/01

[#68527] Any Hardware/EDA engineers out there? — ptkwt@...1.aracnet.com (Phil Tomson)

12 messages 2003/04/03

[#68605] keeping track of non-exported global variables — "Simon Strandgaard" <0bz63fz3m1qt3001@...>

problem:

12 messages 2003/04/04

[#68623] To inherit or to include? That is the question. — Jim Freeze <jim@...>

Hi

11 messages 2003/04/04

[#68707] Call for standardised package installation procedure — google@... (Tom Payne)

I'm helping maintain Ruby and Ruby packages in Gentoo Linux.

57 messages 2003/04/06
[#68712] Re: Call for standardised package installation procedure — "James Britt" <james@...> 2003/04/06

> It would make my job a lot easier if just one were chosen, and perhaps

[#68729] Re: Call for standardised package installation procedure — "Hal E. Fulton" <hal9000@...> 2003/04/06

----- Original Message -----

[#68738] Re: Call for standardised package installation procedure — google@... (Tom Payne) 2003/04/07

John Johnson <jj5412@earthlink.net> wrote in message news:<1049655145.1847.10.camel@hppav.home.net>...

[#68779] Re: Call for standardised package installation procedure — Austin Ziegler <austin@...> 2003/04/07

On Mon, 7 Apr 2003 16:47:20 +0900, Tom Payne wrote:

[#68781] Re: Call for standardised package installation procedure — Mauricio Fern疣dez <batsman.geo@...> 2003/04/07

On Tue, Apr 08, 2003 at 02:34:26AM +0900, Austin Ziegler wrote:

[#68826] Re: Call for standardised package installation procedure — Gavin Sinclair <gsinclair@...> 2003/04/08

On Tuesday, April 8, 2003, 3:42:49 AM, Mauricio wrote:

[#68803] Having trouble getting iconv-0.5 working on OS X — Sam Roberts <sroberts@...>

I do a make, install, and then:

10 messages 2003/04/08
[#68806] Re: Having trouble getting iconv-0.5 working on OS X — Nobuyoshi Nakada <nobu.nokada@...> 2003/04/08

Hi,

[#68811] Array Sutraction — Jim Freeze <jim@...>

Ok, this has been discussed at length previously,

25 messages 2003/04/08
[#68820] Re: Array Sutraction — "Robert Klemme" <bob.news@...> 2003/04/08

[#68828] Re: Array Sutraction — Michael Campbell <michael_s_campbell@...> 2003/04/08

>

[#68843] Ruby for graphics — "Your Name Here" <jim@...>

I just learned of Ruby, and was wondering if its a good lang for

17 messages 2003/04/08
[#68844] Re: [Q] Ruby for graphics — Michael Campbell <michael_s_campbell@...> 2003/04/08

--- Your Name Here <jim@fivek.com> wrote:

[#68908] The "!" and "?" characters. — Daniel Carrera <dcarrera@...>

One of the things I like about Ruby is that it can use ! and ? in method

22 messages 2003/04/08

[#68929] embedding ruby — emilie3012@... (Steve Hart)

Please forgive the following if answers appear elsewhere but I have

13 messages 2003/04/09

[#68943] unknown node type 0 — Francois GORET <fg@...>

Hello,

12 messages 2003/04/09

[#68996] ANN: ri v1.8 — Dave Thomas <dave@...>

I'm releasing a very preliminary version of 'ri' for Ruby 1.8. This

21 messages 2003/04/09

[#69025] tutorial on embedding ruby (review) — "Simon Strandgaard" <0bz63fz3m1qt3001@...>

What do you think about it ?

30 messages 2003/04/09

[#69054] PRIVATE AND CONFIDENTIAL — "Mr. John Eze" <mr_musa3@...>

16 messages 2003/04/10
[#69066] Re: PRIVATE AND CONFIDENTIAL — Peter Hickman <peter@...> 2003/04/10

As an aside not only would the origonal spam be removed by your rules,

[#69096] Need IO Optimization help — Jim Freeze <jim@...>

Hello:

69 messages 2003/04/10
[#69197] Re: Need IO Optimization help — ptkwt@...1.aracnet.com (Phil Tomson) 2003/04/11

In article <20030411115918.A35958@linnet.org>,

[#69239] Does dynamic typing make it easier to place an object in a container? — Mark Wilson <mwilson13@...> 2003/04/12

The following is from

[#69240] Re: Does dynamic typing make it easier to place an object in a container? — Joel VanderWerf <vjoel@...> 2003/04/12

Mark Wilson wrote:

[#69245] Re: Does dynamic typing make it easier to place an object in a container? — Ryan Pavlik <rpav@...> 2003/04/12

On Sat, 12 Apr 2003 13:40:07 +0900

[#69581] Re: Need IO Optimization help — David King Landrith <dave@...> 2003/04/17

In my experience, the fastest way to access files (by far) is mmap.

[#69583] Re: Need IO Optimization help — Jim Freeze <jim@...> 2003/04/17

On Thursday, 17 April 2003 at 19:29:16 +0900, David King Landrith wrote:

[#69591] Re: Need IO Optimization help — David King Landrith <dave@...> 2003/04/17

On Thursday, April 17, 2003, at 06:45 AM, Jim Freeze wrote:

[#69593] Re: Need IO Optimization help — Jim Freeze <jim@...> 2003/04/17

On Thursday, 17 April 2003 at 22:11:55 +0900, David King Landrith wrote:

[#69179] Two questions — "Steve Adams" <adamss@...>

What restrictions does the Ruby license place on the construction and sale

14 messages 2003/04/11

[#69194] splat question — "Chris Pine" <nemo@...>

(This question assumes that the unary `*' (used in arrays and such) is

13 messages 2003/04/11

[#69214] class documentation — "Bermejo, Rodrigo" <rodrigo.bermejo@...>

Hi all;

13 messages 2003/04/11

[#69271] Controlling an interactive program from Ruby — Daniel Carrera <dcarrera@...>

Hi,

12 messages 2003/04/13

[#69280] ruby_script() — "Simon Strandgaard" <0bz63fz3m1qt3001@...>

I am wondering what exactly ruby_script() is doing ?

15 messages 2003/04/13

[#69357] A class, that knows about it's instances + Sets — KONTRA Gergely <kgergely@...>

Hi!

11 messages 2003/04/14

[#69413] rb_class_new_instance behaves strange — "Simon Strandgaard" <0bz63fz3m1qt3001@...>

My code is behaving different, when im doing this change:

23 messages 2003/04/15

[#69424] Urgent Assistance — "Victor Aloma" <victorloma@...>

12 messages 2003/04/15

[#69439] ANN: Debian packages of FreeRIDE, FOX, FXRuby, Ripper, FXScintilla, etc — Mauricio Fern疣dez <batsman.geo@...>

9 messages 2003/04/15

[#69470] regular expressions — "Chris Pine" <nemo@...>

When I first learned regular expressions, they were no problem. It was in a

27 messages 2003/04/15

[#69518] Roundoff problem with Float and Marshal — cilibrar@... (Rudi Cilibrasi)

The following small test program:

29 messages 2003/04/16

[#69536] Reg. Expressios with "\n" — Daniel Carrera <dcarrera@...>

Hello,

14 messages 2003/04/16

[#69585] extension - redirect a block — student_vienna@... (daniel)

hello,

11 messages 2003/04/17

[#69595] ANN: ri 1.8b — Dave Thomas <dave@...>

I've updated ri:

14 messages 2003/04/17

[#69645] avoiding the module name — "Simon Strandgaard" <0bz63fz3m1qt3001@...>

11 messages 2003/04/17

[#69700] Biased weighted random? — "Hal E. Fulton" <hal9000@...>

Hi, all...

51 messages 2003/04/18

[#69762] Multi-Lingual Ruby — Jim Weirich <jweirich@...>

I was following a Java VS Perl discussion on a web board that I read.

12 messages 2003/04/20

[#69806] ASCII class inheritance tree generator — Simon Vandemoortele <deliriousNOSPAM@...>

I thought I might share this little piece of code that generates a

10 messages 2003/04/21

[#69830] Ruby in a university course — "Chad Fowler" <chadfowler@...>

Maybe this has already been covered here, but I found it interesting =

14 messages 2003/04/21

[#69931] Ruby.shop — "Hal E. Fulton" <hal9000@...>

Hello, all.

28 messages 2003/04/23

[#69956] grep and regular expressions in ruby — "Krishna Dole" <kpd@...>

I'm quite taken with ruby, but recently I ran into trouble using grep. I

15 messages 2003/04/23

[#69969] Subject: Re: [ANN] Ruby.shop — Jim Weirich <jweirich@...>

On Wed, 2003-04-23 at 18:16, Hal E. Fulton wrote:

18 messages 2003/04/24

[#70015] How to call an object instance's method? — Rene Tschirley <pooh@...>

Dear Ruby Experts,

28 messages 2003/04/24
[#70016] Re: How to call an object instance's method? — "Robert Klemme" <bob.news@...> 2003/04/24

[#70019] Re: How to call an object instance's method? — Rene Tschirley <pooh@...> 2003/04/24

Robert Klemme wrote:

[#70072] Re: How to call an object instance's method? — "Chris Pine" <nemo@...> 2003/04/24

----- Original Message -----

[#70017] MathN — Dave Thomas <dave@...>

I'm trying to get to grips with the 'mathn' library. I can see what it

12 messages 2003/04/24

[#70034] block.call vs. yield — "Orion Hunter" <orion2480@...>

I noticed that the use of block/yield differs slightly when a "break" is

44 messages 2003/04/24
[#70046] Re: block.call vs. yield — matz@... (Yukihiro Matsumoto) 2003/04/24

Hi,

[#70087] Re: block.call vs. yield — matz@... (Yukihiro Matsumoto) 2003/04/25

Hi,

[#70113] Re: block.call vs. yield — dblack@... 2003/04/25

Hi --

[#70182] Re: block.call vs. yield — "Hal E. Fulton" <hal9000@...> 2003/04/26

----- Original Message -----

[#70189] Re: block.call vs. yield — dblack@... 2003/04/26

Hi --

[#70039] Accessing Ruby class from C extention — ptkwt@...1.aracnet.com (Phil Tomson)

I know it's possible to write Ruby in C but is it possible to instantiate

16 messages 2003/04/24

[#70064] Hashes and Enumerable#each_with_index — Ryan Pavlik <rpav@...>

OK, looking at the archives I know this was discussed a few years ago,

16 messages 2003/04/24

[#70265] Generating a DLL file? — "Rich" <rich@...>

Let's start with:=20

22 messages 2003/04/27
[#70277] Re: Generating a DLL file? — "Rich" <rich@...> 2003/04/28

I don't know C - or C++... and I'd rather not learn.

[#70280] Re: Generating a DLL file? — Michael Campbell <michael_s_campbell@...> 2003/04/28

--- Rich <rich@lithinos.com> wrote:

[#70268] c++/ruby debugging advices — "Simon Strandgaard" <0bz63fz3m1qt3001@...>

Im embedding ruby into c++ and im having a segfault problem which

11 messages 2003/04/27

[#70422] Pass-by reference VS encapsulation ? — Simon Vandemoortele <deliriousREMOVEUPPERCASETEXTTOREPLY@...>

34 messages 2003/04/30

Re: Call for standardised package installation procedure

From: Mauricio Fern疣dez <batsman.geo@...>
Date: 2003-04-08 15:59:03 UTC
List: ruby-talk #68849
On Tue, Apr 08, 2003 at 10:11:28PM +0900, Gavin Sinclair wrote:
> Well, *I* prefer my OS to stick to managing hardware, processes, etc.
> That's what it's for.  SuSE, RedHat, Debian users are all using the
> same OS; they just run different applications.

I was thinking in terms of the extensive definition of OS, as not only the
kernel but also the basic tools such as package management.
Anyway, even with the definition OS == kernel, your statement doesn't
hold :-) as Debian is well on the way to running on GNU Hurd (and
later on NetBSD and FreeBSD; there were even talks about making Debian
GNU/Win32...)
 
> Some people who are unduly smug about their choice of OS (certainly
> no-one in mind from this group) would do well to remember this.
  ======

Fortunately enough as I would be the first one to blame ;-)

> Back on track, though: I see very little benefit in using generic
> lib/app management tools, as good as they are, to manage Ruby
> libraries.  Ruby libraries are very nuanced things, and benefit from
> the in-depth knowledge that Ruby has about itself and its
> configuration.  Then there's the practical problem of all the
> different installers for different distros etc.  People brush this
> aside, but it's insurmountable, IMO.

That why I think the solution is leveraging the tools available on each
platform but having Ruby drive the whole thing.

Here's one example of why I believe this to be possible. I shall
describe how I'd make it work with Debian, as it is what I know and use,
but similar things should be feasible in other systems (that's indeed
the point).

I first have to give a broad overview of how .debs are made, to later
show where we could fit Ruby. WARNING this is a bit long, skip to the
end if you don't care too much about this :)

Take for instance my .deb package of ripper-0.0.5. The tools used to
create the binary depend on having (1) some metadata and (2) a script that is
used to install everything to a temporary destination which represents
the root of the final system (a tarball is then done).

The most important part of (1) looks like this:

Source: ripper
Section: libs
Priority: optional
Maintainer: Mauricio Fern疣dez <batsman.geo@yahoo.com>
Build-Depends: debhelper, ruby, ruby1.7, ruby-dev, ruby1.7-dev
Standards-Version: 3.5.8

Package: libripper-ruby
Architecture: any
Depends: ruby (<< 1.7), ${shlibs:Depends}
Description: Event-driven parsing of Ruby source code
 ripper is to Ruby source code what SAX is to XML.

Notice the "$(shlibs:Depends)" thing: this means that the actual
dependency will be calculated on package creation. 

As for (2), it is a Makefile with only a handful of targets (summarizing):
 * configure
 * binary
 * install
Note there's no uninstall: the OS (as in Debian, the Universal OS :-)
will take care of that.

The rules are used to install the package to a temp dir. Then the
metadata template is filled in and everything is put into an archive.
 
Now comes at last the interesting part:
take, say, the binary-indep target (binary depends on this):

binary-indep: build install
        dh_testdir -A
        dh_testroot -A
        dh_installdocs -A
        dh_installexamples -A sample/*
        dh_installchangelogs -A ChangeLog
        dh_link -A
        dh_strip -A
        dh_compress -A
        dh_fixperms -A
        dh_installdeb -A
        dh_shlibdeps -A
        dh_gencontrol -A
        dh_md5sums -A
        dh_builddeb -A

Notice all the actual operations are done through a set of tools
provided by the system.

Now imagine the following:
 * all the info is put in some standard place
 * instead of make, we use rake
 * things like dh_installexamples become cran_installexamples
 * all these "tools" are actually method calls 

Some Ruby:

sys = CRAN::current_system
task :build-indep => [:build, :install] do
  sys.installdocs
  sys.installexamples
  sys.installchangelogs
  ....
  sys.finish
end

CRAN::current_system would be an object that knows about the appropriate
procedures for the system the package is created on. But this doesn't
mean that it actually performs them, but rather that it knows what
tools are to be used. It would then, in the case of Debian, create all
the metadata and the script to make the package.

Some methods of CRAN::current_system would simply generate code for the
system's package creator; some could make more complicated things such
as finding the dependencies or correcting #!/path/to/ruby, etc...

To sum up, what I am thinking of looks like this:


(you might prefer to look at this diagram upside-down)

         Ruby Developer Side
    -------------------------------------------------------------
   |                  Ruby Meta Packaging system                 |
   |                                                             |
    -------------------------------------------------------------   <--- magic 
   |        |          |           |           |                 |     happens
   |        |          |           |           |  Ruby package   |     here
   | APT    |  urpmi   | the equiv.|  ports    |  management     |
   |        |          |  to APT   |           |  system for     |
   |        |          | on RH     |           |  platforms      |
   |        |          |  (NOT RPM)|           |  without        |
   |        |          |           |           |  high-level     |
   |        |          |           |           |   tools         |
   |        |          |           |           |                 |
   --------------------------------------------------------------
        End User side                                ^
                                                     |
                                                 means implementing
                                             APT-like functionality from
                                             scratch. rpkg would fit here 

Ruby sitting on the system-dependent toolchain, generating whatever is
needed to feed it.

Of course, all the magic is in the translator from the meta-package to
the data needed by the system tools. But it would fortunately have to be
done *only once*; e.g., no Ruby developer should have to worry about
whether the appropriate place to put documentation in is
/usr/share/doc/thepackage, /usr/doc/thepackage or
c:\ruby\docs\thepackage, he'd only write sys.installdocs *(files), and
CRAN::current_system (to continue the previous example) would know how
to either
 * do it directly
 * map it into some command for the system tools (such as "dh_installdocs -A")
   this can include more complicated things, but it always takes
   advantage of whatever the system has to offer (in win32 not that much 
   unless it's a cygwin build...)
 

> apt-get and the like should be nothing more than models for what needs
> to be achieved for Ruby library management.  I'm happy to be proven

Thet are very good models, indeed, but (IMHO always) it would be great to take
advantage of all the effort put in them. Playing nice would allow us to
 * have something working faster 
 * not have to take care of dependencies as this is done by
   APT/portage/etc
 * achieve better integration w/ the OS: nothing knows better the
   system's policies as its package management tools

> wrong, though.  Is there are precedent?  Some Perlers love the CPAN
> shell, others hate it, but does anyone use apt-get to install their
> Perl modules?

In a way yes: indirectly, when installing something (w/ APT) that required a
Perl module. I am no Perler, though :)
 
I have used APT to install Ruby modules, and sometimes go as far as
creating the .deb files only because I want deity to take care of
everything in the future. 
Example: freeride depends on ruby1.7 (imagine for some reason it won't
work with ruby 1.8), so I won't lose it by accident if I try 6 months
later to install ruby1.8 and that requires deleting first ruby1.7,
as I'll get a warning. I moreover get the "uninstall" thing for free.

Here's the list of Ruby libs I have installed using APT (the most
convenient and safest way, *always*, for me on *my system*) on this
machine (not my main one, that machine has more):

libdbm-ruby
libdbm-ruby1.7
liberuby
libfox-ruby
libfox-ruby1.7
libgd-ruby
libgtk-ruby
libmutexm-ruby
liboptparse-ruby
libpty-ruby
libpty-ruby1.7
librd-ruby
libreadline-ruby
libreadline-ruby1.7
librexml-ruby
libripper-ruby1.7
libruby
libruby1.7
libstrscan-ruby
libuconv-ruby
libxml-parser-ruby
libzlib-ruby

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

We come to bury DOS, not to praise it.
	-- Paul Vojta, vojta@math.berkeley.edu


In This Thread