On Sun, Apr 30, 2006 at 08:16:23PM -0700, [email protected] wrote:
} What you’re experiencing is the annoying habit of Debian to not
install
} half of every package you intend to use. By default it installs only
a
} bare ruby carved out of the main source, and then separates just about
} everything else you need to compile extensions. Since a huge number
of
} gems and software for ruby requires a compiling extensions, this means
you
} can’t use just about anything on the internet without installing a
billion
} other debian packages.
Gee, yeah, that’s terrible. I had a whole lot of trouble when I was
trying
to install… no, wait, everything worked pretty much perfectly. Hm. I
installed ruby, ri, and irb. And librmagick-ruby. And libdbd-pg-ruby.
And,
oddly, I never had a need to compile an extension through a gem install
since the packages already existed, precompiled.
} I’m sure there’s some information on the other 100,000,000,000 debian
} packages you’ll need in addition to ruby just to use ruby. Make sure
you
} remember to install the following as well:
}
} 1) letters-a-c, letter-d-e, etc. You need these to type.
} 2) tcpip-header-bytes-0-40, etc. Without this you’re missing tcp/ip.
Oh, yes, very clever. Ha ha. You are so witty.
} 3) gcc-headers, gcc-compiler, gcc-preprocessor, gcc-assembler,
} gcc-backend-c, gcc-backend-c++, gcc-documentat-page-1,
} gcc-documentation-page2 and lots of other gcc packages.
apt-get install build-essential
} 4) Then anything that says ruby in it, just in case.
apt-get install ruby1.8-dev
} And always remember, the people doing debian know a lot more about how
} ruby works than you’ll ever know, and I’m sure they are chock full of
} explanations (but not solutions) to nearly every complaint leveled at
} them. See, that’s what smart people do, they explain rather than
listen.
} I know because I’m smart and I love explaining things to people.
The most important aspect of Debian is consistent policy. That policy
allows hundreds of people to work independently on packaging software
without stepping on one another’s toes. A good part of the policy can
actually be checked automatically, which reduces the QA load for
packages.
One aspect of that policy is to separate out the part of an application
one
uses (e.g. executables and core libraries) from extensions (e.g.
rmagick)
and development headers (e.g. ruby1.8-dev). This provides flexibility in
system administration in that one can create a small-footprint system
that
provides all the functionality needed for a particular purpose.
Needing to compile anything under Debian is deliberately rare. Various
flavors of the kernel, a wide variety of flavors of programs (e.g.
vim-tiny, vim-ruby, vim-full, vimpart, etc.), and lots of program
extensions (e.g. librmagick-ruby, libdbd-pg-ruby) are all provided
precompiled. I don’t think I’ve needed to compile anything on my Debian
system for nearly three years other than code I wrote myself. This is a
Good Thing.
} Can anyone tell I’m incredibly annoyed at the state of the debian
} packages? Is there a way to get this fixed for good? Can we please
} always always install the gear needed to compile new
extensions
} and install any gem? That’d be super fresh for sure.
Yes, it’s pretty easy. Create that virtual package you want. Host it
somewhere as a Debian repository (you might even be able to host it on
alioth). Tell people about it.
} Hell, at least a damn message that says, “If you plan to do anything
with
} anything related to ruby ever then you probably want to install
[INSERT
} 200 PACKAGES HERE] as well.”
Talk to Fumitoshi Ukai, the maintainer of the Ruby packages for Debian.
Ask
him to put it in /usr/share/doc/ruby/README.Debian for the ruby package.
Maybe submit a Debian bug report on it. (You do know how to use
reportbug, don’t you?)
Pissing and moaning on the Ruby list is not going to change anything on
the
Debian side. Many years and a lot of effort has gone into converging on
good policy and channels for change. If you learn about them and follow
them, you have a much better chance of succeeding at your task, whether
that is compiling/installing extensions or changing how Ruby is
packaged.
} That’d be awesome. Thanks.
} Zed A. Shaw
[…]
–Greg