Building the debian packages

Building a package for a new release

Assuming we have just released 1.0-rc4, those instructions will merge that code into the upstream branch (which is used to create the Debian diff) and then merged again in the debian branch (where the Debian code lives). We then use git-buildpackage to build the package and tag it, then push those changes back in the repository.

git fetch
git checkout upstream
git rebase origin/upstream
git merge 6.x-1.0-rc4
git checkout debian
git rebase origin/debian
git merge upstream
dch -v 1.0~rc4-1
git-buildpackage --git-tag -kanarcat@koumbit.org
dput builder ../build-area/aegir-provision_1.0~rc4-1_i386.changes
git push
git push --tags

Note: notice how the version number is slightly different in Debian - we use the "magic" ~ separator to indicate that 1.0~rc4 is actually lower than 1.0...

Building a branch package

Sometimes you want to have a test package for a given branch without going through a full release. Here how it's done.

git checkout upstream
git merge 6.x-1.x
git checkout debian
git merge upstream
git describe
dch -v 1.0~rc3+28-1
git-buildpackage --git-tag -kanarcat@koumbit.org

Installing packages manually

dpkg -i aegir-provision_1.0~rc3+g6632e6e-1_all.deb

We also make sure our custom makefile fetches the right one from provision:

-includes[aegir] = "http://drupalcode.org/project/provision.git/blob_plain/6.x-1.0-rc3:/aegir.make"
+includes[aegir] = "http://drupalcode.org/project/provision.git/blob_plain/6.x-1.x:/aegir.make"