Conary Packaging: Simply Powerful

Michael K Johnson

FOSDEM 2008

February 24, 2008

http://people.rpath.com/~johnsonm/fosdem2008/

Simply Powerful

Only Packaging Here! Not:

Why Conary?

Legacy Packaging: Good

Legacy Packaging: Bad

Conary Goals

Recipes (Control Files)

Recipe Stages

Preparing Sources

Building

Policy Keeps You Sane

Recipe Example



class MyApplication(AutoPackageRecipe):
    name = 'myapplication'
    version = '1.0'
    buildRequires = [ 'libfoo:devel', 'bar:runtime' ]

    def unpack(r):
        r.addSource('http://example.com/download')

Real Recipe Example



class zile(AutoPackageRecipe):
    name = 'zile'
    version = '2.2.2'
    buildRequires = [ 'install-info:runtime',
        'libtermcap:devel', 'texinfo:runtime',
    ]

    def unpack(r):
        r.addArchive('mirror://sourceforge/zile/')

Packaging Process Characteristics

Transparent and Repeatable Builds

Components

Dependencies

Tag Handlers

Conary Build Process

Build Packages with rMake

Shadows

Groups

Package Inspection

Testing

More information