Personal tools
     DOCUMENTATION

rBuilder:Linux Service

From rPath Wiki

Jump to: navigation, search
rBuilder --> rPath Appliance Platform Linux Service

The rPath Appliance Platform Linux Service (rLS) is a set of software components that form the base for creating appliances. rPath customers use rLS for appliances to bring in just enough operating system (JeOS) needed for an appliance. See the Linux Service page for more information about what makes up the rLS.

When developing appliances with rMake and rBuilder, include the rPath Appliance Platform in an appliance. The appliance platform can be used from rPath Linux (for free) or from rLS (by entitlement to customers).

To use the rPath Appliance Platform from rPath Linux: Load the superclass group-appliance from conary.rpath.com@rpl:1 and add the appliance platform in the recipe with addAppliancePlatform. The rPath Linux label conary.path.com@rpl:1 must also be in the setSearchPath. The following is an example showing these features:

loadSuperClass('group-appliance=conary.rpath.com@rpl:1')
class GroupExample(ApplianceGroupRecipe):
    name = 'group-example'
    version = '2.0'
 
    def setup(r):
        r.setSearchPath('example.rpath.org@corp:example-2-devel', 
            'products.rpath.com@rpath:raa-2',
            'conary.rpath.com@rpl:1')
        r.addAppliancePlatform()

To use the rPath Appliance Platform from rLS: the steps should be the same as when based on rPath Linux, but the superclass and setSearchPath should use group-rap-packages=rap.rpath.com@rpath:linux-1 instead of conary.rpath.com@rpl:1. The following is the example recipe changed to use the appliance platform from rLS instead of rPath Linux:

loadSuperClass('group-appliance=rap.rpath.com@rpath:linux-1')
class GroupExample(ApplianceGroupRecipe):
    name = 'group-example'
    version = '2.0'
 
    def setup(r):
        r.setSearchPath('example.rpath.org@corp:example-2-devel', 
            'products.rpath.com@rpath:raa-2',
            'group-rap-packages=rap.rpath.com@rpath:linux-1')
        r.addAppliancePlatform()

When modifying recipes based on rPath Linux that are not already using the rPath Appliance Platform, rework the recipe to match the descriptions in the previous examples. Also, be sure to do the following:

  1. Remove any previous references to conary.rpath.com@rpl:1 and group-os=conary.rpath.com@rpl:1 in the search path.
  2. Remove any previous r.add or r.addCopy for group-core.
   If the appliance was previously using packages from rPath Linux that do not exist in rLS, developers may continue using the package from rPath Linux. This additional step will require adding group-os=conary.rpath.com@rpl:1 after group-rap-packages=rap.rpath.com@rpath:linux-1 in the setSearchPath arguments. However, note that only packages in rLS qualify for rPath customer support for rLS appliances.