Differences between revisions 2 and 4 (spanning 2 versions)
Revision 2 as of 2011-03-07 19:58:51
Size: 2190
Revision 4 as of 2011-03-09 18:17:59
Size: 2386
Deletions are marked like this. Additions are marked like this.
Line 10: Line 10:
 * git-buildpackage
 * apt-get install git-buildpackage pristine-tar devscripts
 * apt-get build-dep opennebul
Line 37: Line 37:
 * You can follow [[BOINC/Development/GitUsage#Typicalworkflowingitdevelopment]]  * You can follow: [[BOINC/Development/GitUsage#Typicalworkflowingitdevelopment]]
 * For backports: http://www.eyrie.org/~eagle/notes/debian/git.html "Backporting"
 * Misc: http://workaround.org/debian-git-comaintenance

Git Workflow of pkg-opennebula OpenNebula Team

Our repositories


  • apt-get install git-buildpackage pristine-tar devscripts
  • apt-get build-dep opennebul

Quick "overview" of build process

git clone git+ssh://git.debian.org/git/pkg-opennebula/opennebula.git
cd opennebula/
git-buildpackage --git-builder="debuild"

Cloning repository for local work

git clone ssh://<alioth-login>@git.debian.org/git/pkg-opennebula/opennebula.git

Content of Git repository : branches / tags

To be more precise, here is content of each GIT branch :

  • remotes/origin/upstream is just in "clean" import of opennebula-2.0.1.tar.gz (minus some *.jar files) is described in debian/README.source
  • remotes/origin/pristine-tar store some delta files which are applied by git-buildpackage to always get the same tarball (same md5 + sha256 sums) from GIT branch.
  • remotes/origin/master is our working branch = upstream + debian/ directory. You can freely commit to this one.

So during each build, git-buildpackage extract remotes/origin/upstream to opennebula_2.0.1.orig and apply pristine-tar to get the same .tar.gz. Then it call the x-builder of your choice : debuild or pbuilder/sbuild (for clean chroot build).

Workflow for local modifications

Importing new upstream release

For each new "upstream" release, I just use git-import-dsc to :

  • import tarball in upstream branch
  • import binary-delta-diff from pristine-tar in pristine-tar branch
  • merge back changes to master branch

Options for this "git-import-orig" is described in debian/README.source of opennebula. This is automated by :

debian/rules get-orig-source
  • download upstream tarball with uscan using debian/watch information
  • launch debian/orig-tar.sh
  • ... which call git-import-orig with the right options