summaryrefslogtreecommitdiff
path: root/projects/git-buildpackage.mdwn
blob: 147075e28e5445c5cdfcca51b3fbf911b08dd0ca (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
Suite to help with maintaining [Debian](http://www.debian.org) packages in [Git](http://git-scm.com) repositories.

[[!toc]]

### 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

### Manual
For more information have a look at the [manual](http://honk.sigxcpu.org/projects/git-buildpackage/manual-html/gbp.html).

### Source Code
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).

### Debian packages
Debian packages of git-buildpackage can be downloaded from the [[!debpkg git-buildpackage desc="Debian Archive"]]. Newer snapshots are sometimes available [here](http://honk.sigxcpu.org/projects/git-buildpackage/snapshots/).

### Bugreports
For enhancements and feauture requests you can either use the [Debian bugtracking system](http://bugs.debian.org) or email [me](mailto:agx@sigxcpu.org) directly.

### Todo
* [[!debbug git-buildpackage desc="bugs"]] filed in the Debian bugtracking system
* more git-fast-import support
* templating for git-dch

### debian/patches on a patch-queue branch
I'm keeping all patches for a Debian package that is maintained on branch *foo* on a patch-queue branch *patch-queue/foo* since:

* one can easily work with the unpatched (*foo*) and patched (*patch-queue/foo*) branches
* patches can easily be dropped, added by modifying the patch-queue branch (no messing with *quilt add*, *dpatch-edit-patch*, *cdbs-edit-patch* or the like)
* easy cherry-picking of patches for stable releases, etc.
* easy forward porting of patches to new upstream versions by using *git rebase* on the *patch-queue/foo* branch (patches already applied upatream are detected automatically).
* the generated patch in *debian/patches/* has all the necessary information to forward it upstream since it's auto generated via *git-format-patch*.

Disadvantage:

* no history on the *patch-queue/foo/* branch

#### workflow:
* create *patch-queue* branch if it doesn't exist:

        git checkout -b patch-queue/master

* import patches from debian/patches to get a patches source tree one can easily work on:

        QUILT_PATCHES=debian/patches git-quiltimport debian/patches/series

* work an patch-queue branch (add, remove, rebase, test)
* switch back to master:

        git checkout master

* regenerate the patches in *debian/patches/* using [redo-patches](http://honk.sigxcpu.org/projects/git-buildpackage/redo-patches):

        redo-patches

* commit the result