summaryrefslogtreecommitdiff
path: root/projects/git-buildpackage.mdwn
blob: b487a62a171778b052f898471092b03437294353 (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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
Suite to help with maintaining [Debian](http://www.debian.org) packages in [Git](http://git-scm.com) repositories.

[[!toc]]

[[!template id=project_logo img="gbp.png"]]

## Tools
GBP ships the following tools:

* *gbp buildpackage*: build a package out of a git repository, check for local modifications and tag appropriately
* *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 export-orig*: export an upstream tarball from the git repository
* *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
* *gbp config*: print configuration values
* *gbp push*: push content to remote repositories
* *gbp tag*: tag a Debian package in git
* *gbp pristine-tar*: create pristine-tar commits

There's also some support for maintaining RPMs in (*gbp buildpackage-rpm*, *gbp import-srpm*, *gbp pq-rpm*, *gbp rpm-ch*).
and helpers in */usr/share/doc/git-buildpackage/examples/*:

* *gbp-add-patch*: Commits a patch to the current branch and uses the patch header for the commit message, useful after *gbp pq export*.

## Documentation
* git-buildpackage's [official manual](https://gbp.sigxcpu.org/manual).
* A possible workflow for maintaining [[development/debian packages in git]].
* The current [api documentation](https://gbp.sigxcpu.org/apidocs) in case you want to extend git-buildpackage.
The usage of the *GitRepository* class is shown (and tested) in
[test_GitRepository](https://honk.sigxcpu.org/projects/git-buildpackage/apidocs/doctests.test_GitRepository.html).

## Download

[[!template  id=honk_git repo="git-buildpackage"]]

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"]].

### RPM based distributions
If you're on a rpm based distribution that doesn't ship *gbp* you can use the spec file in the
[packaging folder](https://git.sigxcpu.org/cgit/git-buildpackage/tree/packaging/git-buildpackage.spec) as a template to build an *gbp* as rpm.

### Pypi
If all else fails you can fetch the package from [pypi](https://pypi.python.org/pypi/gbp):

    pip install gbp

but be prepared to tweak some options since the this is mostly
meant to make using gbp's python classes in other projects. However
patches to improve this are welcome.

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

[[!template  id=honk_ml project="git-buildpackage"]]

If you encounter a security issue please report it via the above channels.

## gbp.conf
Here's my current [[gbp.conf]].

## Related Tools
* [Git-pbuilder][0] by Russ Allbery is included in gbp but a newer version might be available.
* [Chef Cookbook for gbp][1]
* [git-buildpackage-rpm][2] by Markus Lehtonen. A fork of gbp adding RPM support. Large parts have been merged into *gbp*.
* [ansible-role-gbp][3] - an ansible role to configure git-buildpackge and pbuilder/cowbuilder.

## Todo
* templating for gbp dch ([[!debbug 536719]]. [[!debbug 529332]])
* translate the manual
* [[!debbug git-buildpackage desc="bugs"]] filed in the Debian bugtracking system

## Author
*git-buildpackage* was written by [[Guido Günther|/agx]] with contributions from many individuals. See the [changelog](https://git.sigxcpu.org/cgit/git-buildpackage/tree/debian/changelog) for attributions.

## License
git-buildpackage is free software and licensed under the GPL Version 2.

[0]: http://www.eyrie.org/~eagle/software/scripts/git-pbuilder.html
[1]: https://github.com/mlafeldt/gbp-cookbook
[2]: https://github.com/marquiz/git-buildpackage-rpm
[3]: https://galaxy.ansible.com/agx/gbp