Possible solutions to improve rubygems for intrepid
Stephan Hermann
sh at sourcecode.de
Tue Sep 16 14:19:29 BST 2008
Moins,
On Tue, 2008-09-16 at 09:42 +0200, Lucas Nussbaum wrote:
> On 15/09/08 at 21:51 -0400, Mathias Gug wrote:
> > Hi,
> >
> > Here is a summary of the different solutions that have been discussed to
> > fix bug 145267 [1] aka binaries installed by gems via the gem command
> > are not on the PATH:
> >
> > 1. Provide binaries in /usr/local/bin:
> >
> > a. Via symlinks from /var/lib/gems/1.X/bin/: uses postinst hooks and
> > update-alternatives. This is what the reverted upload implemented [2].
> >
> > b. Put binaries directly in /usr/local/bin instead of
> > /var/lib/gems/1.X/bin/. This solution has been suggested by Lucas [3].
> >
> > Issues:
> >
> > * installed binaries could be overwritten by other installation
> > systems and breaking binaries installed by the gem command. The gem
> > sub-system would be less robust due to its links in /usr/local/bin/.
>
> This is not different than manually installed software (using
> ./configure ; make ; make install), so it's unlikely to be a surprise
> for the user.
>
> Note that 1.a requires upgrading rubygems to a VCS snapshot (so hooks
> can be used), while 1.b is a one-liner away.
Both ideas have one problem:
User 1 just does "gem install ..." and somehow all the stuff lands
somewhere in the general $PATH (/usr/local/bin/ or via alternatives).
User 1 just runs something from real ubuntu packages and this software
fails, because of different versions of dependend software
in /usr/local/bin or specified in alternatives.
User 1 just runs something from real ubuntu packages and this software
fails, because of different lib versions of dependend software.
User 1 writes bug reports to Launchpad, because he/she thinks it's
ubuntus problem, but in reallife it's a gem package which disturbed
his/her system.
Having the gem installation path somewhere far away from the standard
PATHs (speak: $PATH) is a better approach and the responsible admin or
the developer can symlink, move it, copy it somewhere where it fits for
his/her system.
Regards,
\sh
--
Stephan '\sh' Hermann | OSS Developer & Systemadministrator
JID: sh at linux-server.org | http://www.sourcecode.de/
GPG ID: 0xC098EFA8 | http://leonov.tv/
3D8B 5138 0852 DA7A B83F DCCB C189 E733 C098 EFA8
More information about the ubuntu-devel
mailing list