@@ -0,0 +1,1567 @@
+#%0A# Copyright (c) 2006 rPath, Inc.%0A#%0A# This program is distributed under the terms of the Common Public License,%0A# version 1.0. A copy of this license should have been distributed with this%0A# source file in a file called LICENSE. If it is not present, the license%0A# is always available at http://www.opensource.org/licenses/cpl.php.%0A#%0A# This program is distributed in the hope that it will be useful, but%0A# without any warranty; without even the implied warranty of merchantability%0A# or fitness for a particular purpose. See the Common Public License for%0A# full details.%0A#%0Afrom rmake.lib.apiutils import thaw, freeze, register%0Afrom rmake.lib import apiutils%0A%0Aclass Node(object):%0A    def __init__(self, name, hostname, slots, flavors, active, chroots=%5B%5D):%0A        self.name = name%0A        self.hostname = hostname%0A        self.slots = slots%0A        self.flavors = flavors%0A        self.active = active%0A        self.chroots = chroots%0A%0A    @staticmethod%0A    def __freeze__(self):%0A        return dict(hostname=self.hostname, %0A                    flavors=%5B freeze('flavor', x) for x in self.flavors %5D,%0A                    name=self.name,  active=self.active, slots=self.slots,%0A                    chroots=%5B freeze('Chroot', x) for x in self.chroots%5D)%0A%0A    @classmethod%0A    def __thaw__(class_, d):%0A        self = class_(**d)%0A        self.chroots = %5B thaw('Chroot', x) for x in self.chroots %5D%0A        self.flavors = %5B thaw('flavor', x) for x in self.flavors %5D%0A        return self%0A%0A    def addChroot(self, chroot):%0A        self.chroots.append(chroot)%0Aapiutils.register(Node)%0A

Add concept of a node - in the single-process version of rMake, the only node will be the local host.