rPath Appliance Platform/Linux Service
From rPath Wiki
When developing appliances with rBuilder and rMake, the rPath Appliance Platform included in an appliance ensures that it is built with the rLS components that it needs. Even though it is streamlined to support the application stack, the appliance's underlying operating system, assembled with rLS components, is complete and dependable.
rLS Contents
rLS exists for rPath customers as group-rap-linux-service=rap.rpath.com@rpath:linux-1. Access to the rap.rpath.com repository is available only by entitlement. The Conary group group-rap-linux-service contains:
- group-rap-standard -- provides an appliance base for rBuilder users (equivalent of group-appliance-platform in rPath Linux); this is the only group that should be added to an appliance, and it is added automatically as part of using group-appliance as described in the next section (Use the rPath Appliance Platform in an Appliance)
- group-rap-packages -- components for dependency resolution; this group should not be added to an appliance as its packages are automatically added as needed
rLS contains some additional groups that serve as implementation details not intended for general use. Such groups hold libraries required for compatibility, debugging information for packages, and documentation for packages.
See LinuxServiceComponents for a complete listing of rLS components.
| To optimize the size of the appliance, the kernel in rLS is smaller than the kernel in rPath Linux. Drivers for obsolete hardware, or hardware otherwise not supported by rPath, are not included in the rLS kernel. |
Use the rPath Appliance Platform in an Appliance
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 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', 'raa.rpath.org@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:
- Remove any previous references to conary.rpath.com@rpl:1 and group-os=conary.rpath.com@rpl:1 in the search path.
- Remove any previous r.add or r.addCopy for group-core.

