Re: Installing Arusha on a new site (long, but dull)

Jonathan Hogg <[email protected]> Fri, 27 Sep 2002 11:53:26 +0100
Newsgroups gmane.comp.sysutils.ark.devel
Organization One Good Idea Ltd.
Message-ID <B9B9F736.12032%[email protected]>
On 27/9/2002 11:08, Will Partain wrote:

> Given current chat on ark-dev, this may need to change to
> 
> ./arkcmd package reveal --verbose ark-bootstrap
> 
> but let's wait and see...

I just had a thought. I don't know if it means anything yet, but I thought
I'd bash it down in email before it leaves my head.

Perhaps bootstrapping should be a property of a host rather than a package.
My thought was that the available resources have to be host based, hence all
the host:CC kind of resources, so perhaps the specification of bootstrapping
should be host based.

The idea of having a bootstrap package is a good one, but is it the sort of
thing you'd want to reveal globally? For instance, perhaps you don't want to
have all the software development stuff revealed globally. It might only
make sense to have that on the build host(s).

The current host:CC-dependency magic sort of does that for us, but in a
pretty hairy kind of way. Perhaps instead you could specify in a host file
(or more likely in the prototype) what counts as the basic level of
functionality that should be present on this machine. Then one might
execute:

    % ark host bootstrap new-machine-1

I like the idea of this as it keeps things together. For instance, I can
imagine a buildhost prototype looking something like:

    <GZIP-BOOT>/usr/local/bin/gzip</GZIP-BOOT>
    <TAR-BOOT>/usr/bin/tar</TAR-BOOT>
    <LD-BOOT>/usr/bin/ld</LD-BOOT>
    <CC-BOOT>/usr/bin/cc</CC-BOOT>

    <GZIP>/our/bin/gzip</GZIP>
    <TAR>/our/bin/tar</TAR>
    <LD>/our/bin/ld</LD>
    <CC>/our/bin/gcc</CC>

    <bootstrap-packages><list>
        <item>ark-prereq-utils</item>
        <item>arkbase</item>
        <item>gzip</item>
        <item>gnu-tar</item>
        <item>binutils</item>
        <item>gcc</item>
    </list></bootstrap-packages>

    <bootstrap><code lang="python">
        OK = sidaiHostBootstrap()
    </code></bootstrap>

The sidaiHostBootstrap would effectively just iterate through
self.bootstrap_packages() and do a package.reveal() on each one in the
current host context.

Hmmmm...

Jonathan

-- 
jonathan hogg, one good idea ltd, 131 queen margaret dr., glasgow g20 8pd
http://www.onegoodidea.com/ tel:+44-(0)7976-614338 fax:+44-(0)7970-537451