[#5737] returning strings from methods/instance_methods — TRANS <transfire@...>

I was just wondering why with #methods and #instance_methods, it was

11 messages 2005/09/08

[#5796] proposed attr writer patch — Daniel Berger <Daniel.Berger@...>

Hi all,

18 messages 2005/09/16

[#5798] Makefile error in OpenSLL extension (on Windows) — noreply@...

Bugs item #2472, was opened at 2005-09-16 18:56

11 messages 2005/09/17
[#5800] Re: [ ruby-Bugs-2472 ] Makefile error in OpenSLL extension (on Windows) — nobu.nokada@... 2005/09/17

Hi,

[#5851] Re: RubyGems in Ruby HEAD — Paul van Tilburg <paul@...>

Hi all,

34 messages 2005/09/21
[#5867] Re: RubyGems in Ruby HEAD — mathew <meta@...> 2005/09/21

Paul van Tilburg wrote:

[#5870] Re: RubyGems in Ruby HEAD — Marc Dequènes (Duck) <Duck@...> 2005/09/21

[#5920] Re: RubyGems in Ruby HEAD — mathew <meta@...> 2005/09/22

Marc Dequ竪nes (Duck) wrote:

[#5926] Re: RubyGems in Ruby HEAD — Pascal Terjan <pterjan@...> 2005/09/23

On 9/22/05, mathew <meta@pobox.com> wrote:

[#5931] Re: RubyGems in Ruby HEAD — Austin Ziegler <halostatue@...> 2005/09/23

On 9/23/05, Pascal Terjan <pterjan@gmail.com> wrote:

[#5898] Delegate and Forwardable Documentation — James Edward Gray II <james@...>

I've tried to send these files through a couple of times now with

17 messages 2005/09/22
[#5911] Re: Delegate and Forwardable Documentation — James Edward Gray II <james@...> 2005/09/22

On Sep 22, 2005, at 9:02 AM, James Edward Gray II wrote:

[#5924] Re: Delegate and Forwardable Documentation — James Edward Gray II <james@...> 2005/09/23

On Sep 22, 2005, at 11:53 AM, James Edward Gray II wrote:

[#5941] Re: Delegate and Forwardable Documentation — Yukihiro Matsumoto <matz@...> 2005/09/23

Hi,

[#5942] Re: Delegate and Forwardable Documentation — James Edward Gray II <james@...> 2005/09/23

On Sep 23, 2005, at 10:54 AM, Yukihiro Matsumoto wrote:

[#5947] Re: Delegate and Forwardable Documentation — Yukihiro Matsumoto <matz@...> 2005/09/23

Hi,

[#5921] Mutually dependent libs double loading. — TRANS <transfire@...>

I'm on Ruby 1.8.2.

14 messages 2005/09/23
[#5923] Re: Mutually dependent libs double loading. — Florian Gro<florgro@...> 2005/09/23

TRANS wrote:

[#5985] Finally an answer to my RubyGems question and some small suggestions — TRANS <transfire@...>

I appreciate those that attempted to offer me some info on this issue.

9 messages 2005/09/26

[#6001] Require Namepaces and RubyGems' effect on LoadPath problem — TRANS <transfire@...>

I've added namespaces to require. Works like this:

94 messages 2005/09/26
[#6002] Re: Require Namepaces and RubyGems' effect on LoadPath problem — Austin Ziegler <halostatue@...> 2005/09/26

On 9/26/05, TRANS <transfire@gmail.com> wrote:

[#6003] Re: Require Namepaces and RubyGems' effect on LoadPath problem — TRANS <transfire@...> 2005/09/26

On 9/26/05, Austin Ziegler <halostatue@gmail.com> wrote:

[#6005] Re: Require Namepaces and RubyGems' effect on LoadPath problem — Austin Ziegler <halostatue@...> 2005/09/26

On 9/26/05, TRANS <transfire@gmail.com> wrote:

[#6007] gems is a language change, not a pkging system (Re: Require Namepaces and RubyGems' effect on LoadPath problem) — Sam Roberts <sroberts@...> 2005/09/26

Quoting halostatue@gmail.com, on Tue, Sep 27, 2005 at 06:02:07AM +0900:

[#6013] Re: gems is a language change, not a pkging system (Re: Require Namepaces and RubyGems' effect on LoadPath problem) — Austin Ziegler <halostatue@...> 2005/09/27

On 9/26/05, Sam Roberts <sroberts@uniserve.com> wrote:

[#6014] Re: gems is a language change, not a pkging system — Sam Roberts <sroberts@...> 2005/09/27

Quoting halostatue@gmail.com, on Tue, Sep 27, 2005 at 10:29:17AM +0900:

[#6015] Re: gems is a language change, not a pkging system — James Edward Gray II <james@...> 2005/09/27

On Sep 26, 2005, at 8:54 PM, Sam Roberts wrote:

[#6016] Re: gems is a language change, not a pkging system — Sam Roberts <sroberts@...> 2005/09/27

Quoting james@grayproductions.net, on Tue, Sep 27, 2005 at 11:06:01AM +0900:

[#6018] Re: gems is a language change, not a pkging system — Austin Ziegler <halostatue@...> 2005/09/27

On 9/26/05, Sam Roberts <sroberts@uniserve.com> wrote:

[#6019] Re: gems is a language change, not a pkging system — Sam Roberts <sroberts@...> 2005/09/27

Quoting halostatue@gmail.com, on Tue, Sep 27, 2005 at 11:49:14AM +0900:

[#6024] Re: gems is a language change, not a pkging system — Austin Ziegler <halostatue@...> 2005/09/27

On 9/27/05, Sam Roberts <sroberts@uniserve.com> wrote:

[#6025] Re: gems is a language change, not a pkging system — Ralph Amissah <ralph.amissah@...> 2005/09/27

> Right now, they're watching people who have pretty much sat on the side

[#6026] Re: gems is a language change, not a pkging system — Austin Ziegler <halostatue@...> 2005/09/27

On 9/27/05, Ralph Amissah <ralph.amissah@gmail.com> wrote:

[#6043] Re: gems is a language change, not a pkging system — Ralph Amissah <ralph.amissah@...> 2005/09/28

I'll greatly weaken my post, and give everyone the opportunity to head me

[#6044] Re: gems is a language change, not a pkging system — Hugh Sasse <hgs@...> 2005/09/28

On Wed, 28 Sep 2005, Ralph Amissah wrote:

[#6073] Re: gems is a language change, not a pkging system — Mauricio Fern疣dez <mfp@...> 2005/09/28

Hello,

[#6074] Re: gems is a language change, not a pkging system — Jim Weirich <jim@...> 2005/09/29

On Wednesday 28 September 2005 07:35 pm, Mauricio Fern疣dez wrote:

[#6017] Re: gems is a language change, not a pkging system — Austin Ziegler <halostatue@...> 2005/09/27

On 9/26/05, Sam Roberts <sroberts@uniserve.com> wrote:

[#6046] Re: gems is a language change, not a pkging system — "Sean E. Russell" <ser@...> 2005/09/28

On Monday 26 September 2005 22:41, Austin Ziegler wrote:

[#6050] Re: gems is a language change, not a pkging system — Hugh Sasse <hgs@...> 2005/09/28

On Wed, 28 Sep 2005, Sean E. Russell wrote:

[#6207] Re: gems is a language change, not a pkging system — "Sean E. Russell" <ser@...> 2005/10/10

On Wednesday 28 September 2005 08:54, Hugh Sasse wrote:

[#6045] Re: gems is a language change, not a pkging system (Re: Require Namepaces and RubyGems' effect on LoadPath problem) — "Sean E. Russell" <ser@...> 2005/09/28

On Monday 26 September 2005 21:29, Austin Ziegler wrote:

[#6048] Re: gems is a language change, not a pkging system (Re: Require Namepaces and RubyGems' effect on LoadPath problem) — Austin Ziegler <halostatue@...> 2005/09/28

On 9/28/05, Sean E. Russell <ser@germane-software.com> wrote:

[#6059] Re: gems is a language change, not a pkging system (Re: Require Namepaces and RubyGems' effect on LoadPath problem) — Dominique Brezinski <dominique.brezinski@...> 2005/09/28

On 9/28/05, Austin Ziegler <halostatue@gmail.com> wrote:

[#6061] Re: gems is a language change, not a pkging system (Re: Require Namepaces and RubyGems' effect on LoadPath problem) — Austin Ziegler <halostatue@...> 2005/09/28

On 9/28/05, Dominique Brezinski <dominique.brezinski@gmail.com> wrote:

[#6062] Re: gems is a language change, not a pkging system (Re: Require Namepaces and RubyGems' effect on LoadPath problem) — Dominique Brezinski <dominique.brezinski@...> 2005/09/28

For what it is worth, I live life behind an authenticated proxy, so I

[#6099] Re: gems is a language change, not a pkging system (Re: Require Namepaces and RubyGems' effect on LoadPath problem) — "Sean E. Russell" <ser@...> 2005/09/30

On Wednesday 28 September 2005 08:43, Austin Ziegler wrote:

[#6009] Re: ruby 1.8.3 (2005-09-21) [i486-linux] sisu segfault — Ralph Amissah <ralph.amissah@...>

(i) correction, segfault is with official ruby 1.8.3 (2005-09-21), not

21 messages 2005/09/27
[#6010] Fwd: ruby 1.8.3 (2005-09-21) [i486-linux] sisu segfault — Ralph Amissah <ralph.amissah@...> 2005/09/27

[sorry for duplicate post]

[#6079] Re: Fwd: ruby 1.8.3 (2005-09-21) [i486-linux] sisu segfault — ts <decoux@...> 2005/09/29

>>>>> "R" == Ralph Amissah <ralph.amissah@gmail.com> writes:

[#6081] Re: Fwd: ruby 1.8.3 (2005-09-21) [i486-linux] sisu segfault — ts <decoux@...> 2005/09/29

>>>>> "t" == ts <decoux@moulon.inra.fr> writes:

[#6082] Re: Fwd: ruby 1.8.3 (2005-09-21) [i486-linux] sisu segfault — Tanaka Akira <akr@...17n.org> 2005/09/29

In article <200509291419.j8TEJYid015419@moulon.inra.fr>,

Re: RubyGems in Ruby HEAD

From: Austin Ziegler <halostatue@...>
Date: 2005-09-23 15:50:42 UTC
List: ruby-core #5939
On 9/23/05, Pascal Terjan <pterjan@gmail.com> wrote:
> On 9/23/05, Austin Ziegler <halostatue@gmail.com> wrote:
>> Okay. All of those can be solved by wrapping .gems in RPM packages if
>> there's a feedback hook (see #15 on the TODO list that I provided).
>> This includes database synchronization.
> Sorry but I subscribed only yesterday and I can't find this list in
> the archives. Where could I find it ?

http://www.ruby-talk.org/cgi-bin/scat.rb/ruby/ruby-core/5882

That's my list. There are references to other lists on that thread, but
I can't seem to find Why's original list and Chad's update to that list.
Mine is orthogonal in many ways to their lists. (Mine is more focused,
as well, on #3 of Why's list, IIRC.)

>>> A one-direction solution is what PHP's pear does : provide a
>>> "register" command to tell the pear system that we have installed
>>> the soft without using it. Then pear knows that the lib is there,
>>> the version, the provided files, ... and if people want to install
>>> additionnal stuff using pear the dependencies will be met. The issue
>>> in in the other direction, when people install with pear something
>>> which is needed by a rpm...
>> I would be opposed to a "register" command in RubyGems. The better
>> solution would be for repackagers to *use* RubyGems internally for
>> Ruby .gem packages and acknowledge that it was installed that way.
>> You've got custom install/uninstall scripts available, so why not use
>> them?
> The tests I did did not allow me to do what is required for a clean
> rpm package but I did not follow gem developpment for quite a long
> time

What I'm talking about would be a matter of something that could be
added moving forward.

> What I would need :
> - test the requirements on the real system

This is the responsibility of the "superior" packaging system (e.g.,
RPM, Debian, Ports, Portage, etc.). IMO.

> - maybe configure the files for the system without changing anything
>   on it
> - install to an empty destdir without running configuration scripts

Please elaborate on this. I'm not sure that this is actually something
that is necessary on a RubyGems system, since each gem is confined to a
directory structure that is independent of the main structure. Much ado
has been made in the past about doing transactional installs, but the
very structure of RubyGems (with one exception) is such that everything
is in its own directory and is therefore essentially a transaction in
and of itself. That one exception is the installation of binary stubs
(e.g., ldiff on Diff::LCS), and I *think* that those are being installed
in such a way as to not include version numbers any longer (they assume
the use of the latest version unless a --version parameter is provided).

> - have a command to run configure/deconfigure/register/... hooks so
>   rpm can run them at install time on the client

RubyGems *already has this*. There's a missing callback component, and
the list of enhancements that I've suggested will make it far friendlier
to *all* repackagers, but it already has it. Consider a mythical
foo-1.0 package that is only available as a Gem. Now, you want to
provide foo-1.0 as an RPM on your system. If foo-1.0 is pure Ruby (which
is most of them), then absolutely *all* you need to do is package
foo-1.0.gem inside of your foo-1.0-1.rpm that then calls:

  gem install ./foo-1.0.gem
    or
  gem uninstall foo-1.0

One of the suggestions I made (#14?) included the ability to lock
installs with a secret key known only to the packaging system:

  gem install ./foo-1.0.gem --packager-lock <signature>
  gem uninstall ./foo-1.0.gem --packager-unlock <signature>

Or something like that. Even that could be avoided if there's a system
specific callback in RubyGems. The packagers for Ruby and/or RubyGems
would create callback scripts, say:

  register-install.rb
  register-uninstall.rb

These scripts would perhaps intercept the RubyGems commands submitted by
the user and invoke the appropriate RPM commands on Mandriva.

RubyGems remains neutral, RPM uses RubyGems, and the user can safely use
either one without even thinking about it. The scenario is only slightly
more complex when it's a gem that contains a compiled extension, but
I'll discuss that below.

The gem database, so far as I can tell, is actually the directory of
gemspecs that are installed on the system.

> This is needed to have the rpm containing the installed files (and
> config script) and not the gem itself.

And what I'm saying is that the RPM shouldn't contain the installed
files; it should contain the .gem itself. IMO, RubyGems should not
suppport any other configuration.

> There are various reasons to do that : being able to search for a
> missing file in the repository db, being able to check integrity of
> installed files, being sure that uninstall removes (almost)
> everything, not needing to store the .gem on the system while it is
> not needed anymore after installation, ...

I think that RubyGems has a lot of that support already, and RubyGems
*will* remove *everything* related to the gem on uninstall, so far as I
can tell.

>>>> Why not? Many Ruby libraries have no non-Ruby code, so there's no
>>>> difference between a 'binary' and a 'source' version of them. Plus,
>>>> surely it's possible to mark that (say) openssl-ruby depends on
>>>> having a C compiler and openssl-dev?  If necessary for policy
>>>> reasons, mark it as a 'source' rather than a 'binary' package.
>>> And then people will install a compiler on their server to ease
>>> exploits ? or remove the compiler after each install ?
>> Sorry, but that's a red herring as RubyGems already supports
>> precompiled binary gems.
> They need to be available for the given distro (with the right lib
> versions, ...)

This is why I have on my list "a dead simple way of packaging binary
gems". In this way, repackagers could continue to use the infrastructure
of RubyGems and provide precompiled gems for their platforms. The
developer wouldn't need to; the repackager could, if they don't want
general users building the code.

-austin
--
Austin Ziegler * halostatue@gmail.com
               * Alternate: austin@halostatue.ca


In This Thread