From: Tom Clarke Date: 2002-11-09T08:21:18+09:00 Subject: Re: CPAN Style installer Could this maybe done without using sym-links. I notice that a convension is emerging to package files in a directory named after the package name. E.g.: site-ruby/1.6/mypackage.rb site-ruby/1.6/mypackage/supportlib1.rb site-ruby/1.6/mypackage/supportlib2.rb site-ruby/1.6/mypackage/supportlib3.rb What if something like a index.html was allowed so that: site-ruby/1.6/mypackage/index.rb was allowed? If it was, a smart installer could automatically put badly behaving libraries in a sub dir. Would this work? -Tom On Sat, 9 Nov 2002, 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: if you ever want to manually scrap a > package and update it, just delete a directory. Why would you want to > update it manually? Because sometimes, you really need the latest > package (which may not be compatible with the previous version and > requires thoroughly scrapping the old ones), but the package in > raa-suc (or whatever) is a bit outdated. > > Without putting each package in its own directory, removing old files > from a package involves a fair amount of hunting and guess work. > > > 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. > > 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. > > 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). > > 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. > > Just my 2c. > YS. > > >