Re-rolling Fedora with conary

  • Short introduction to Conary and Foresight
  • What are we doing with Fedora?
  • Why is this interesting for the Fedora community?
  • Conary

  • package manager and toolchain by rpath
  • developed in 2005 by Erik Troan (RPM), Michael K. Johnson (Fedora leader) and Matt Wilson
  • advanced dependency detection through deep package analysis
  • dependency closed groups
  • rollback
  • system-model sharable accross machines
  • revision control for packages
  • simple recipes based on python classes
  • package building fully automated
  • Foresight Linux

  • desktop distribution based on rpath
  • one of the earlier rolling release distributions
  • maintained only by a handful people
  • What are we doing with Fedora?

  • mirrorball, a tool to import RPM repositories into conary
  • level 1: import binary RPMs as is
  • use rpm to install, conary to manage
  • level 2: repackage binary RPMs as native conary packages (like alien)
  • level 3: rebuild packages from SRPM
  • working on level 1 right now
  • other levels less interesting for fedora
  • Why Fedora?

  • rpath outdated, no longer maintained, hard to update
  • base distribution development not interesting
  • historical affinity to redhat
  • active experience with CentOS
  • Why is this interesting for Fedora?

    reality - extrapolation - speculation

  • Conary in production use on CentOS
  • Contributing to upstream quality
  • A new way to build a Fedora remix
  • Consume Fedora using a rolling model.
  • Make it easier to build better packages for Fedora.
  • reality

    Conary on CentOS

  • in production use for a few years
  • rpath distro not enough. customers demanded support for standard distros
  • conary expanded to import RPM and DEB packages
  • using conary dependency resolution and groups to manage rpm/deb installs and upgrades
  • reality expanded

    Contributing to upstream quality by catching certain classes of bugs prior to release.

  • case Java: deep dependency detection uncovered JavaFX libs.
  • JavaFX depends on libraries not shipped by RedHat
  • RPM installs these hanging libs, Conary rejects them
  • Oracle was forced to give instructions how to remove JavaFX
  • f20: The current fedora import process uncovered missing packages
  • Conary can make sure that the release DVD is dependency closed
  • maybe

    A new way to build a Fedora remix, one that takes advantage of the rolling model and helps the remixes stay current.

  • example OLPC:
  • difficult to upgrade.
  • fedora updates may break OLPC packages
  • Conary locks versions in groups
  • a Conary OLPC group would prevent updates of OLPC dependencies
  • OLPC group can easely be rebuilt to make updates work
  • maybe

    Enabling Fedora users to consume Fedora using a rolling model.

  • what works for remixes works for fedora itself
  • groups can be rebuilt any time an interesting package is updated
  • to make sure libraries and dependencies are consistent
  • maybe

    Using Conary's package build automation to make it easier to build better packages for Fedora.

  • conary's build automation is extensive
  • rmake is a distributed build-farm
  • single machines - huge multi-node clusters
  • build individual packages at home
  • sets of packages depending on each other
  • rebuild world with a single command
  • Martin Bähr

    Secretary - Beijing GNU/Linux User Group

    Foresight Linux Developer