File: 56-dgit.txt

package info (click to toggle)
debmake-doc 1.17-7
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 24,612 kB
  • sloc: makefile: 768; sh: 690; ansic: 114; python: 99; sed: 16
file content (43 lines) | stat: -rw-r--r-- 2,646 bytes parent folder | download
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
[[dgit]]
=== dgit

The new *dgit* package offers commands to automate packaging activities using the git repository as an alternative to still popular *gbp-buildpackage*.  Please read their guide:

* *dgit-maint-merge*(7) -- for dpkg-source "`Format: 3.0 (quilt)`" package with its changes flowing both ways between the upstream Git repository and the Debian Git repository which are tightly coupled.
* *dgit-maint-debrebase*(7) -- for dpkg-source "`Format: 3.0 (quilt)`" package with its changes flowing mostly one way from the upstream Git repository to the Debian Git repository.
* *dgit-maint-gbp*(7) -- for dpkg-source "`Format: 3.0 (quilt)`" package with its Debian Git repository which is kept usable also for people using *gbp-buildpackage*(1).
* *dgit-maint-native*(7) -- for dpkg-source "`Format: 3.0 (native)`" package in the Debian Git repository.

The *dgit*(1) command can push the easy-to-trace change history to the https://browse.dgit.debian.org/ site and can upload Debian package to the Debian repository properly without using *dput*(1).

* *dgit push-source* -- for uploading source-only package (normal)
* *dgit push* -- for uploading binary package

If you already use `main` and `upstream` branches in the Debian packaging repository (`salsa.debian.org`), you can use your local `upstream-vcs-main` branch to track the `main` branch of the `upstream-vcs` repository as:

----
 $ git fetch upstream-vcs main:upstream-vcs-main
----

Cherry picking bug fix commits from latest upstream commits are intuitive operation with *dgit-maint-merge*(7) and *dgit-maint-debrebase*(7).  Just right-click those commits interactively on the `upstream-vcs-main` branch of the *gitk*(1) GUI dialog.

[[deborig]]
==== Snapshot upstream tarball (alternative `git deborig` approach)

For *quasi-native* Debian binary package scheme situation described in <<dt-option>> can be addressed using alternative `git deborig` approach adopting the *dgit-maint-merge*(7) scheme when `debian/changelog` contains the non-native version number with revision like `0.16-1`.

----
 $ cd /path/to/upstream-git
 $ git rm -rf debian
 $ git tag -s upstream/0.16
 $ git reset --hard HEAD^
 $ git deborig
 $ sbuild
----

Here, for source format `3.0 (quilt)`, removal of files under `debian/` directory in the upstream tarball is non-essential operation to quiet false positive warning from lintian.

For `-1` revision, this use of `git-deborig`(1) as above is how this `debmake-doc` package generates the upstream tarball.

For `-2`, `-3`, ... revisions, you need to fetch and use the uploaded upstream tarball instead.  For this, `origtargz`(1) may be handy.