In article c231sv$1o0bs3$1@ID-147067.news.uni-berlin.de,
damned! I had the same idea. but I would choose FreeBSD as underlying
system. a ports-tool (portupgrade) already is in ruby.
Why not go ahead with that idea? Couldn’t you use the rubyx script to
just as easily build a FreeBSD system (might need some modifications of
course, but you could probably save a lot of the work that would be
required to do it from scratch). I like this idea because, as you say,
portupgrade is already in ruby (and I like the BSD ports system). It
would be really cool if the rubyx script could completely build a *nix
OS/system including your choice of kernal (be it Linux, or *BSD (even
including Darwin)). That would be the ultimate in flexibility.
Well, I’m not familiar with the BSD kernel build process, but there is no
fundamental reason that the bsd kernel should not be just another package as
far as rubyx is concerned. That is all that happens with the linux kernel.
Same goes for the Hurd, really.
Here is the (edited) linux Package object, for example
class Pkg_Linux < Package
def source() return prefix('linux-'+vlabel); end
def initialize()
patches={‘patch1’=>‘’,‘patch2’=>‘’,‘patch3’=>‘’,‘patch4’=>‘’,‘patch5’=>‘’}
super(nil,‘The linux kernel’,‘2.4.25’,
{
‘2.4.25’=>{‘files’=>[[‘linux-2.4.24’,‘linux-2.4.24-25.patch’]],
‘config’=>(path(RUBYXDIR,‘linux-2.4.25.config’).flines.join)}.update(patches),
'2.6.3'=>{'files'=>[['linux-2.6.1','linux-2.6.1-3.patch']],
'config'=>(path(RUBYXDIR,'linux-2.6.3.config').flines.join)}.update(patches),
})
join('Base')
dependancy(BUILD_TOOLS,'coreutils','bash','modutils','module-init-tools')
end
def build()
prefix.cd
unpack().mv(‘linux-’+vlabel)
bash(‘chmod -R u+w linux-’+vlabel)
(‘linux-’+vlabel).cd
%w{ patch1 patch2 patch3 patch4 patch5 }.each { |p|
popen(“patch -p1”,@selected[p]) if @selected[p] != ‘’}
bash “make mrproper”
‘.config’.fwrite(@selected[‘config’])
bash “cat .config”
depmod = “/sbin/#{vlabel[2,1]==‘4’ ? ‘mu’ : ‘mit’}/depmod”
# Fixup problem with gcc install dirs and use of -nostdinc and
-iwithprefix by defining GCC_EXEC_PREFIX
ENV[‘GCC_EXEC_PREFIX’]=$gcc.libdir(‘gcc-lib’)+‘/’
bash “env”
bash “yes "" | make ARCH=#{$host.generic} oldconfig”
bash “make ARCH=#{$host.generic} -j#{$mj} dep” if
vlabel[2,1]==‘4’
bash “make ARCH=#{$host.generic} -j#{$mj} bzImage”
bash “make ARCH=#{$host.generic} -j#{$mj} modules”
bash “make ARCH=#{$host.generic} INSTALL_MOD_PATH=#{prefix}
DEPMOD=#{depmod} modules_install”,ASROOT
prefix(‘kernel’).mkdir
path(‘arch’,
$host.generic,‘boot/bzImage’).cp(prefix(‘kernel/bzImage’))
etcdir(‘modules.conf’).ftouch()
standardRootOwnership()
end
end; $linux = Pkg_Linux.new()
question: could the ruby-based init system be used with *BSD as well?
Don’t see why not
Is there a ruby-command-shell or are you proposing irb be used?
I don’t think irb is a viable bash replacement. An rshell would be an
interesting project though. I’m suprised nobody has had a go yet…
···
On Wednesday 03 Mar 2004 09:44, Phil Tomson wrote:
Benny linux@marcrenearns.de wrote: