Specifications for this cycle :

Daily upstream builds of Xfce

Perform daily upstream package builds of Xfce trunk for testing & debugging

Summary

The goal is to take the trunk of Xfce (only core components for now) every night and attempt to build two sets of debian packages: relatively unmodified (as close as vanilla upstream as possible) and patched as normal (modified with our usual set of patches).

Rationale

This will provide us with a number of benefits which include, but are not limited to, the following:

  1. Early detection of problems, issues, and concerns
  2. Easier to help test the latest and greatest Xfce
  3. Easier to test if a bug has been fixed already or not
  4. Easier to determine if a bug is our fault or really a bug upstream

Use cases

The specification

Design

We'll use launchpad's ability to import remote GIT branches into launchpad hosted bzr branches. They will be marked as trunk of their respective launchpad project.

A team will be created to own the two bzr branches per Xfce component (vanilla vs. xubuntu) and two PPAs that will host the packages of the respective bzr branches (again, vanilla vs. xubuntu). Initially, we'll start with the Xubuntu packages.

Since we'll be building GIT, we'll need to patch the rules file to call autogen.sh and make distcheck before configuration begins and the control file to depend on xfce4-dev-tools plus other misc packages (like libtool). These changes will be maintained in a branch called "grumpy" and will continuously merge in applicable updates from the branch containing the packaging for the current development release of Xubuntu.

The bzr-builder tool will be used to automate the preparation and upload of each Xfce component to the PPAs for the launchpad buildds to build. The tool will probably initially be hosted/ran on my machine but we'll naturally want to get more permanent hosting somewhere more reliable.

The bzr-builder tool uses recipes to construct a working directory to build the source package from. These recipes will be maintained in a bzr branch located at lp:~xubuntu-xfce-daily-builds/+junk/recipes For more details, see https://wiki.ubuntu.com/DailyBuilds/BzrBuilder

Notes on the implementation

Warning /!\ All imports recreated to point at git. Some may still be waiting in queue for initial import. Warning /!\

Session

Component Name

Launchpad Product

Upstream Code Import

Nightly Builds

xfwm4

xfwm4

lp:xwfm4

ppa:xubuntu-xfce-daily-builds/ppa (OK)

xfce4-panel

xfce4-panel

lp:xfce4-panel

(X)

xfdesktop

xfdesktop

lp:xfdesktop

(X)

xfce4-session

xfce4-session

lp:xfce4-session

(X)

xfce4-settings

xfce4-settings

lp:xfce4-settings

(X)

xfconf

xfconf - (X) Need NCommander to change maintainer to xubuntu-team

lp:xfconf (X)

(X)

Libraries

Component Name

Launchpad Product

Upstream Code Import

Nightly Builds

exo

exo

lp:exo

(X)

xfce-gtk-engine

gtk2-engines-xfce

lp:gtk2-engines-xfce

(X)

xfce-utils

xfce4-utils

lp:xfce4-utils

(X)

xfce4-dev-tools

xfce4-dev-tools

lp:xfce4-dev-tools

(X)

libxfcegui4

libxfcegui4

lp:libxfcegui4

(X)

libxfce4ui

libxfce4ui

lp:libxfce4ui

(X)

libxfce4util

libxfce4util

lp:libxfce4util

(X)

libxfce4menu

libxfce4menu

lp:libxfce4menu

(X)

thunar-vfs

thunar-vfs

lp:thunar-vfs

(X)

Applications

Component Name

Launchpad Product

Upstream Code Import

Nightly Builds

xfce4-appfinder

xfce4-appfinder

lp:xfce4-appfinder

(X)

thunar

thunar

lp:thunar

(X)

xfce4-mixer

xfce4-mixer

lp:xfce4-mixer

(X)

orage

orage

lp:orage

(X)

mousepad

mousepad

lp:mousepad

(X)

Terminal

xfce4-terminal (X) - owned by _deepfire

lp:xfce4-terminal

(X)

Ristretto

ristretto

lp:ristretto

(X)

xfce4-power-manager

xfce4-power-manager

lp:xfce4-power-manager

(X)

xfce4-volumed

xfce4-volumed

lp:xfce4-volumed

(X)

Extra maintenance work after the spec

Xubuntu/Roadmap/Specifications/Karmic/daily-upstream-builds-xfce (last edited 2012-03-25 16:47:06 by nblzone-227-162)