From 1147e1931a2c42929f7fc1bbb097d3319adbc508 Mon Sep 17 00:00:00 2001 From: Guido Günther Date: Wed, 26 Jun 2013 21:35:09 +0200 Subject: Use new gbp syntax --- development/debian_packages_in_git.mdwn | 32 ++++++++++++++++---------------- projects/git-buildpackage.mdwn | 25 ++++++++++++------------- projects/git-buildpackage/gbp.conf | 6 +++--- 3 files changed, 31 insertions(+), 32 deletions(-) diff --git a/development/debian_packages_in_git.mdwn b/development/debian_packages_in_git.mdwn index 57f6d1c..b68ae5c 100644 --- a/development/debian_packages_in_git.mdwn +++ b/development/debian_packages_in_git.mdwn @@ -20,14 +20,14 @@ Assuming the Debian source package has it's patches in *debian/patches* and thes * Create *patch-queue* branch and import *debian/patches* onto it using gbp-pq: cd $REPO - gbp-pq import + gbp pq import * This will switch you to the patch-queue branch automatically. If you started from *master* the patch-queue branch will be called *patch-queue/master*. * Now you can work on the patch-queue branch (add, remove, rebase, test) to get your patches into shape: * To add what will later become a patch in *debian/patches/* simply make a commit. The first line of the commit message will become the patch name later. The following lines include the details of what the patch does. * To remove or edit commits use *git rebase -i master*. The [git documentation][] explains how to work with git-rebase. * Regenerate the patches in *debian/patches/* using gbp-pq. This will switch you back to *master* and regenerate the patches using *git-format-patch(1)*: - gbp-pq export + gbp pq export * Commit the result either by using *gbp-add-patch* or simply git add debian/patches @@ -36,14 +36,14 @@ Assuming the Debian source package has it's patches in *debian/patches* and thes * Build the package * After importing a new upstream version you can use the following commands to refresh *debian/patches*: - gbp-pq rebase + gbp pq rebase git checkout master - gbp-pq export + gbp pq export * If a package doesn't have any patches yet, these are the steps to add your first patch: 1. Launch an import, this will switch to the proper branch - gbp-pq import + gbp pq import 2. Create your first patch: * Edit files / Test @@ -51,7 +51,7 @@ Assuming the Debian source package has it's patches in *debian/patches* and thes 3. Back to the master branch, generate the Quilt patch set git checkout master - gbp-pq export + gbp pq export 4. Commit you first patch git add -a debian/patches/ @@ -64,7 +64,7 @@ If you want to pick the changelog message from the patch see The easiest way is to not push out any patch-queue/* branches at all. They can be recreated by any team member easily by using git branch -d patch-queue/master - gbp-pq import + gbp pq import However you *can* push out patch-queue branches. Other team members must just be aware that that branches in the *patch-queue/* namespace are being rebased frequently. @@ -84,23 +84,23 @@ If you're using option *--git-export-dir* option already there's no problem sinc ## Working from a patch-queue branch Instead of building from *master* build from *patch-queue/master* prepared by *gbp-pq* as describe above. This branch has the patches already applied as dpkg-source expects it: - gbp-pq import - git-buildpackage --git-debian-branch=patch-queue/master + gbp pq import + gbp buildpackage --git-debian-branch=patch-queue/master Build and test... git checkout master - gbp-pq export + gbp pq export # Cloning a repository -If you use *gbp-clone* instead of *git clone* to clone a remote repository it will automatically set up the *debian*, *upstream* and *pristine-tar* branches for you. The [manual][] explains the terminology. +If you use *gbp clone* instead of *git clone* to clone a remote repository it will automatically set up the *debian*, *upstream* and *pristine-tar* branches for you. The [manual][] explains the terminology. # Keeping a repository up to date -After initially cloning with *gbp-clone* you can run *gbp-pull* to update your +After initially cloning with *gbp clone* you can run *gbp pull* to update your *debian*, *upstream* and *pristine-tar* branches from the remote site. So the complete workflow for simple team maintenance looks like this: # Initially clone the repo once - gbp-clone git://git.debian.org/pkg-libvirt/gtk-vnc.git + gbp clone git://git.debian.org/pkg-libvirt/gtk-vnc.git cd gtk-vnc Work on that clone, commit, release, push, etc. Now after a couple of days you @@ -108,14 +108,14 @@ want to make more changes but don't know if another developer worked on it. So you do: # Update to what others might have pushed - gbp-pull + gbp pull This will update all necessary branches to what other developers might have pushed in the meantime. If you're also using a patch-queue as described above you can refresh that too in one step: # Update to what others might have pushed and rebuild patch-queue - gbp-pull --redo-pq + gbp pull --redo-pq This will additionally drop your current patch-queue branch and recreate it from debian/patches. @@ -126,7 +126,7 @@ I keep backports on a separate *bpo-* branch like *bpo-lenny*: git merge debian/ - git-buildpackage --git-pbuilder --git-dist=lenny -sa -v --git-debian-branch=bpo-lenny + gbp buildpackage --git-pbuilder --git-dist=lenny -sa -v --git-debian-branch=bpo-lenny In order to avoid the merge conflict in the changelog have a look at *dpkg-mergechangelogs(1)*. To create the necessary cowbuilder chroot for Lenny use: diff --git a/projects/git-buildpackage.mdwn b/projects/git-buildpackage.mdwn index db8d8e4..53e0b3c 100644 --- a/projects/git-buildpackage.mdwn +++ b/projects/git-buildpackage.mdwn @@ -5,19 +5,19 @@ Suite to help with maintaining [Debian](http://www.debian.org) packages in [Git] ### Tools GBP ships the following tools: -* *git-import-{dsc,dscs}*: import existing Debian source packages into a git repository -* *git-import-orig*: import a new upstream version into the git repository -* *git-buildpackage*: build a package out of a git repository, check for local modifications and tag appropriately -* *git-dch*: generate Debian changelog entries from Git commit messages -* *gbp-pq*: maintain *debian/patches* on a patch queue branch -* *gbp-clone*: clone a remote repository and make it ready for *git-buildpackage* -* *gbp-pull*: pull from a remote repository and update the necessary branches -* *gbp-create-remote-repo*: mirror your git repository to a remote side +* *gbp import-{dsc,dscs}*: import existing Debian source packages into a git repository +* *gbp import-orig*: import a new upstream version into the git repository +* *gbp buildpackage*: build a package out of a git repository, check for local modifications and tag appropriately +* *gbp dch*: generate Debian changelog entries from Git commit messages +* *gbp pq*: maintain *debian/patches* on a patch queue branch +* *gbp clone*: clone a remote repository and make it ready for *gbp buildpackage* +* *gbp pull*: pull from a remote repository and update the necessary branches +* *gbp create-remote-repo*: mirror your git repository to a remote side There are some helpers in */usr/share/doc/git-buildpackage/examples/*: -* *gbp-posttag-push*: posttag hook for *git-buildpackage* to push out the necessary changes to a remote repository after a release -* *gbp-add-patch*: Commits a patch to the current branch and uses the Path Header for the commit message, useful after *gbp-pq* *export*. +* *gbp-posttag-push*: posttag hook for *gbp buildpackage* to push out the necessary changes to a remote repository after a release +* *gbp-add-patch*: Commits a patch to the current branch and uses the Path Header for the commit message, useful after *gbp pq export*. [[!template id=flattr thing="48091" name="Git-buildpackage"]] @@ -32,7 +32,7 @@ The source code is available via git (of course): git clone http://honk.sigxcpu.org/git/git-buildpackage.git -You can browse the source code online via [git.debian.org](http://git.debian.org/?p=users/agx/git-buildpackage.git;a=summary). +You can browse the source code online via [git.debian.org](http://git.debian.org/?p=users/agx/git-buildpackage.git;a=summary). There's also a clone on [github](https://github.com/agx/git-buildpackage). ### Debian packages Debian packages of git-buildpackage can be downloaded from the [[!debpkg git-buildpackage desc="Debian Archive"]]. Git snapshots are available [here](http://honk.sigxcpu.org:8001/job/git-buildpackage/). @@ -48,8 +48,7 @@ Here's my current [[gbp.conf]]. * [Chef Cookbook for gbp][1] ### Todo -* use git-fast-import in git-import-dsc(s) ([[!debbug 506211]]) -* templating for git-dch ([[!debbug 536719]]. [[!debbug 529332]]) +* templating for gbp dch ([[!debbug 536719]]. [[!debbug 529332]]) * translate the manual * [[!debbug git-buildpackage desc="bugs"]] filed in the Debian bugtracking system diff --git a/projects/git-buildpackage/gbp.conf b/projects/git-buildpackage/gbp.conf index 3065548..7da678d 100644 --- a/projects/git-buildpackage/gbp.conf +++ b/projects/git-buildpackage/gbp.conf @@ -5,7 +5,7 @@ keyid = 0x3f3e6426 # use pristine tar by defaul pristine-tar = True -[git-dch] +[dch] # Parse meta tags like Closes: from commit messages meta = True # Add seven digits of the commits sha1 to the commit message @@ -17,7 +17,7 @@ full = True # Ignore these in commit messages ignore-regex = (Signed-off|Acked)-by: -[git-buildpackage] +[buildpackage] # Automatically push to remote repo after tagging a new release posttag = /usr/share/doc/git-buildpackage/examples/gbp-posttag-push # Run Lintian after a succesful build @@ -27,6 +27,6 @@ builder = dpkg-buildpackage -i -I -uc -us # Clean command cleaner = /bin/true -[git-import-orig] +[import-orig] # Automatically forward the changelog after importing a new upstream version postimport = git-dch -N%(version)s -S -a --debian-branch=$GBP_BRANCH -- cgit v1.2.3