Modern version control systems for cross-distro packaging

DebConf 8, Mar Del Plata, Argentina 11 August 2008

Introduction

Package maintenance is:

  1. debianising the upstream source tree
  2. creating a package
  3. developing new features
    • distro-specific
    • package-format specific
    • intended for upstream
  4. tracking upstream, or importing new release tarballs
    • keeping track of upstream features
    • adjusting specific features
This is pretty distro-independent!

What is vcs-pkg.org?

The goal is enable distros to work together on the version control level

Overview of this talk

Debian source packages, version 3

dpkg-source knows a few new (experimental) formats:

VCS source packages

Source packages consist of the (compressed, pruned) repository, which is checked out on unpack.

Arguments against:

quilt source packages

The "wig&pen" format gets rid of diff.gz files and uses:

The use of ./debian/patches is encouraged.

Thus, the task becomes how to extract ./debian/patches from version control.

Overview of this talk

Debian packaging with Git

This workflow does not rely on Git-specific features and can be used with other VCSs

Used branches:

Features of this workflow

TopGit: managing patch queues with Git

The big picture

workflow.png

Live demonstration?

Do you want to see this in action?

Overview of this talk

Working with other distros

How can we make this happen?

  1. talk to other distros, map out requirements
  2. design a workflow, in collaboration
  3. try out the workflow with a few packages
  4. refine
  5. provide a wrapper which implements this workflow in a VCS-agnostic way
  6. Take over the world

My only friend, the end…

Thank you for your attention!

Licence

These slides, their design, and the content are © martin f. krafft and released under the terms of the CC by-nc-sa 2.5 licence.

reStructuredText sources: slides.rst and ui/base/*.

Slides based on the S5 presentation system.