Every Rubyist is aware of Minero Aoki's ever useful setup.rb script. It's how most of us used to install our ruby programs before RubyGems came along. And it's still mighty useful in certain scenarios, not the least of which is the job of the distribution package managers. Setup converts setup.rb into a stand-alone application. No longer will you need distribute setup.rb with you Ruby packages. Just instruct your users to use Setup.
There a couple very important difference between the old 3.4.1 verison of the setup.rb script and version 4.0.0 of the independent application.
The directory convention 'conf' has been change to 'etc'.
Multi-package project layouts are no longer supported.
The easy way to install is via RubyGems.
$ gem install setup
To install Setup manually you need to “boot-strap” it. This is done for you, by running the following:
$ ruby setup.rb
To use setup.rb, a project must conform to the setup.rb standard layout.
Please see the documentation in doc/book. Note that the documentation is slightly out of sync with the latest release.
Usage is as simple as:
$ setup.rb config $ setup.rb setup $ setup.rb install
$ setup.rb all
If you later decide you want to remove the program.
$ setup.rb uninstall
Note that uninstall is made possible by the '.cache/setup/installedfiles' file that is generated by the install process. If that file is deleted than you will not be able to uninstall. (You can get around this be reinstalling first though).
You can clean up any setup products with:
$ setup.rb clean
And restore the package to it's pristine state with:
$ setup.rb distclean
Not that this last command will remove the .cache/setup/installedfiles file!
Maybe protect 'installedfiles' from removal, even on distclean.
Separate compiling code into separate class.
COPYRIGHT & LICENSE
Copyright © 2002,2005 Minero Aoki
Copyright © 2008,2009 Thomas Sawyer
GNU LGPL, Lesser General Public License version 2.1.
For details of LGPL, see the file “COPYING”.
7trans email@example.com http://tigerops.org Minero Aoki firstname.lastname@example.org http://i.loveruby.net