From: Austin Ziegler Date: 2002-11-09T08:28:45+09:00 Subject: Re: CPAN Style installer On Sat, 9 Nov 2002 08:13:42 +0900, Yohanes Santoso wrote: > Austin Ziegler writes: >> On Sat, 9 Nov 2002 07:24:10 +0900, Yohanes Santoso wrote: >>> why the lucky stiff writes: >>>> I wonder. Is it fair to simply install these directly in >>>> $prefix/lib/ruby/site_ruby/$version? (aka >>>> Config::CONFIG['sitelibdir']) >>> I have a suggestion: why not install each package to its own >>> directory, then foreach file in the package, make a link to >>> $prefix/lib/ruby/site_ruby/$version/. >> Doesn't work with Windows. > Well, the rational is this: [snip] I understand, but I still don't think it's a useful thing. Better to allow: install --as-user This would install into $HOME rather than lib/ruby/site_ruby; it makes it possible to have a "user-site" separate from the host site. > Without putting each package in its own directory, removing old > files from a package involves a fair amount of hunting and guess > work. Shouldn't. Package installers should know exactly where they install things. >> IMO, it is fair to install them in the appropriate place. > The question is not whether it's fair or not. After all lots of > systems already stuff everything in one place (witness /usr/bin). The > question is whether we allow cruft/bad practice to continue or not. I personally don't think it's bad practice. > The good thing from a packager like Debian's is it allows you to > find out all the files of a package ('dpkg -L perl' would list all > files from the perl package) and allows thorough uninstall. The > bad thing is it requires the package builder to > manually/semi-automatically identify all files. ALL packagers should know what was installed and where; if they don't, then there's a problem (even RPM knows this stuff). Windows' problem with this lies primarily with the fact that there's no single installer location (install logs are installed with the application). > So, instead, the easiest way is to stuff a package in its own > directory. The advantage is you can have two version of the same > package installed which sometimes comes in handy. To use a particular > version, just link it in (see GNU stow > http://www.gnu.org/software/stow/stow.html). Frankly, I think stow is a dumb idea. > I'm not too sure about windows, but I think if you use libcygwin, > you can do file linking. Alternatively, ruby's include path could > be appended with the appropriate package directory for each > installed package. cygwin isn't an option for standard use -- libcygwin isn't a useful solution for me. Further, appending a directory to package to the include may either be invalid (I'm not sure whether or not it is in the environment and what the size limit is, anymore) or approaching silly (removing the advantages of having a lib directory). If Ruby required cygwin to use at this point, I wouldn't be using it. -austin -- Austin Ziegler, austin@halostatue.ca on 2002.11.08 at 18.21.08