Personal tools
     DOCUMENTATION

rPath Linux:rPath Linux 2

From rPath Wiki

(Redirected from rPathLinux:rPath Linux 2)
Jump to: navigation, search
rPath Linux --> rPath Linux 2

Contents

rPath Linux 2 is the second major release of rPath Linux. This page outlines the key features driving the release and distinguishing it from previous releases.

Appliance Focus

rPath Linux 2 begins the distributions focus on appliance development. This means that the rPL group structure is optimized for creating custom distributions and for building appliances based on the rPath Appliance Platform.

The rPath Appliance Platform Linux Service (rLS) is a subset of rPL that consists of the rPL components that rPath supports for its customers. See rLS documentation for more information on the appliance-focused use of rPL components.

See also: Conary News blog post about rPL's new focus

Base for Custom Distributions

Though rPath Linux 2 is not a desktop distribution as its predecessor, because of its new group structure, it is better structured to serve as a base for building desktop distributions based on Conary. Foresight Linux is an example of a desktop distribution that is currently based on rPath Linux 2.

Features Carried Forth from rPL 1

The following features remain from the prior major version of rPL:

Conary

rPath Linux still uses Conary for packaging and filesystem management, contributing its features for overall system maintenance.

Prompt Updates and Kernel Releases

rPath Linux continues to provide prompt updates to address known bugs and security fixes. Also, rPL will occasionally release an updated kernel package with the latest stable upstream kernel for support of the latest hardware. Appliance developers and distribution builders always have the option to lock in a specific version of the kernel package or to build on or install the latest available version.

Significant Software Changes

The following changes have been made to the software available in rPL:

Major System Software Versions

Some of the most widely used software in rPL have been promoted to new major versions:

  • Toolchain follows a stable, maintained upstream
  • glibc 2.5
  • Core portions of GNOME 2.20.x required for building the anaconda installer
  • xorg 7.3, installed in system directories
  • Apache httpd 2.2.x
  • Recent Anaconda installer
  • General updates to recent stable versions of packages

Python Version

A major exception to the major version update includes Python. rPath Linux 2 continues to use Python 2.4 for the following reasons:

  • To be compatible with other users of mod_python that use Python 2.4
  • To use rPL's enhanced Python dependencies to list runtime major version, providing rPL 2 as a major release with this modification prior to updating to Python 2.5.
  • Updating other Python-using packages will be generally constrained
  • Minor incompatibilities between Python 2.4 and Python 2.5 need to be handled by external Python consumers (outside rPath Linux, and thus outside of our control and testability), and this release provides time for that to occur

In general, rPL will be considering general compatibility with other distributions which have a large market presence and which use similar versions of glibc, gcc, Apache (httpd), and other core software. Therefore, some critical system libraries may be maintained at a recent-but-not-very-latest version, particularly when there are soname conflicts.

Boot Loader

The default boot loader for rPath Linux 2 and systems built with its components is SYSLINUX, though the rPath Linux 1 default, GRUB, is still available as an option. Existing rPL 1 systems can update to rPL 2 while continuing to use GRUB if desired. However, the system will be updated to include bootman, and users can choose to switch to SYSLINUX by stepping through a manual process. More information to come about how to make this switch.

Migrating Appliance from 1 to 2

See the following page for information about migrating appliances from rPL 1 to rPL 2:
rPath Linux:Migrating to rPath Linux 2

Notes about Development

The entire distribution has been rebuild "from scratch," incorporating many Conary enhancements into the default package set (see RPL-752). These enhancements include the following:

  • Packages now include file: provisions for files in binary directories. This will allow requiring, for example, /bin/sed instead of sed:runtime since other packages might provide /bin/sed.
  • Docs in /usr/share/doc/ are now be part of :supdoc, not :doc, to allow for group writers to include man/info packages and not other documentation.

Additionally, as previously stated, the group structure of the distribution has been modified and other changes have been made to better support making small appliances based on rPath Linux. This includes flavors of groups that do not include thinkgs like development libraries which are generally not useful for appliances. See the following page for an outline of the rPath Linux 2 group structure:
rPath Linux:rpl2 group structure


Items below were part of a pre-release version of this page

  • Compile with --fstack-protectorand FORTIFY_SOURCE=2 (override in your recipes by modifying the securityflags Conary macro), link with GNU hash and -O1, and use -fPIE for some key executables.

Other changes we made include:

  • Removing unnecessary patch sets from many packages to make them follow upstream more closely. Exceptions to this rule tend to be for one or more of the following reasons:
    • Keeping compatibility with common practices that we have implemented (such as user-private groups)
    • Keeping library compatibility with some other distributions where it is important to do so (for example, if there are major proprietary applications that link against those libraries).
    • Having a maintained software stream for software that is not really being maintained upstream.