From: Andrew Walrond Date: 2003-06-12T04:45:29+09:00 Subject: Re: Rubyx (provisionally named) linux distro. Made by and run by Ruby Phil Tomson wrote: > In article <3EE6D9E4.9020105@walrond.org>, > Andrew Walrond wrote: > >>I have developed a little script which creates a simple linux distro > >>from source. While not complete by any means, it does work and has some > >>nice features, such as a modern ruby based init system. > > > This sounds very cool. It is ;) >> >>Features of Rubyx: >> simplified (modern) directory structure > > > ....not sure what you mean here. Well; The basic file structure has been rationalised, and each package exists in its own directory; pkg/bash, pkg/glibc etc so its real easy to see what file belongs to which package. Turns one big amorphous blob of files into easily understandable and manageable chunks. Hard links back into bin etc make everything work as expected. >> new ruby based init script >> Downloads and build all packages from source > > kind of like gentoo? Does it deal with dependencies? Yes. I used to use gentoo ;) Yes, dependancies are dealt with. If you install a new package (eg xfree86) which an already package can use the facilities of (eg xemacs), it will automatically be rebuilt. etc etc etc It will even automatically rebuild packages containing kernel modules if you install a new kernel. Similarly, on uninstall, it removes anything dependant on the uninstalled package, and rebuilds stuff that was using it but can do without it now its gone. And so on All in a handful of lines of ruby :) Oh, and the builds are all done in parallel; A big win if you have multiple or hyperthreaded cpus. I can do a complete bootstrap of a system (from nothing) in 43minutes. YMMV ;) >> Choose your preferred version of kernel, glibc, binutils, gcc > > This sounds nice too. > >> Supports NPTL in glibc >> powerful install and uninstall facilities >> > So is it sort of like Gentoo, but based on Ruby instead of Python? Well, I've gone from RedHat, to Gentoo, to Rubyx on all my servers, but still have to sort out kde/gnome etc before I move my desktop over. Won't be long though. More for the expert than gentoo though; If you regularly play with custom kernels, custom glibc and nptl, latest gcc etc, then this is a very nice tool. Its also easy to recreate known-good configurations. To build a distro, you just do something like rubyx --root mydistrodir --krep linux-2.4 --ktag v2.4.21-rc7 --glibc HEAD --arch pentium4 --distro net disk Here is the help output Rubyx v0.9 --help I guess you know about this ENVIRONMENT: --krep List or set kernel repository --ktag List or set kernel version tag --glibc List or set glibc version tag --tlib List or set thread library --gcc List or set gcc version tag --lang ada,c,c++,f77, java,objc Set required gcc compilers --binu List or set binutils version tag --arch List or set host architecture --c options Set the required C option flags --c++ options Set the required C++ option flags --dj jobs Set maximum parallel downloads --dt jobs Set maximum download tries --mj jobs Set maximum parallel make threads QUERY: --config Show build settings --group List matching groups --package List matching packages COMMANDS: --download grp|pkg ... Download selected packages/groups --install grp|pkg ... Build and install packages --uninstall grp|pkg ... Uninstall packages --relink grp|pkg ... Relink all installed packages --distro Build a complete distro --root path Change root of build --chroot path Chroot into distro, optional command --backup filename Backup configuration files MODIFIERS: --check Do 'make check' or equivalents --strip Strip binaries --force Force rebuild/reinstall --pretend To see what would happen... --verbose Display more information Elapsed time: 0h 0m 0s Andrew