-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsteps.txt
166 lines (104 loc) · 3.97 KB
/
steps.txt
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
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
Steps to build the Debian packages.
On Debian, clone the repository.
$ gbp clone --all [email protected]:pkg-crosswire-team/bibledit.git
$ gbp clone --all [email protected]:debian/bibledit-cloud.git
$ gbp clone --all [email protected]:pkg-crosswire-team/bibledit-cloud.git
$ gbp clone --all [email protected]:debian/bibledit-desktop.git
$ gbp clone --all [email protected]:pkg-crosswire-team/sword-comm-mhc.git
$ gbp clone --all [email protected]:debian/libpqxx.git
On macOS, create a tarball suitable for Debian.
$ ./tarball-client.sh
$ ./tarball-cloud.sh
Or download one for bibledit-desktop.
Or download upstream tarball:
$ uscan --download-current-version --verbose
Publish the tarball on GitHub bibledit/debian
Pull all changes.
$ gbp pull --all
Remove untracked files from the working tree
$ git clean -fd
Sign tags and commits.
The automated tools expect gpg-agent to provide the passphrase.
To be sure the passphrase is stored, manually sign a file:
$ gpg --sign <file>
It will ask for the passphrase, if gpg-agent cannot provide it.
This will store the passphrase for the automated tools to use.
Import the upstream tarball and use pristine-tar and sign tags.
See: https://honk.sigxcpu.org/projects/git-buildpackage/manual-html/gbp.import.new.upstream.html
$ gbp import-orig --pristine-tar --sign-tags ../bibledit*-5*.tar.gz
$ gbp import-orig --pristine-tar --sign-tags --debian-branch=debian/sid ../libpqxx*.tar
Check that it signed the upstream tag.
$ git tag | grep upstream
$ git show <tag>
Optionally sign the above commit manually.
$ git commit -S --amend
Check that it signed the last commit.
$ git log --show-signature -2
More information: https://harryrschwartz.com/2014/11/01/automatically-signing-your-git-commits.html
Patches:
$ gbp pq import
Make commits to create another patch.
$ git add debian/patches
$ git commit ...
$ gbp pq export
$ gbp pq drop
Update the debian/changelog to the correct version.
$ gbp dch --git-author
$ gbp dch --git-author --release
$ gbp dch --git-author --release --debian-branch=debian/sid
Without doing the above, the package won't build.
Build the package:
$ gbp buildpackage --git-export-dir=/tmp/
$ gbp buildpackage --git-export-dir=/tmp/ --git-debian-branch=debian/sid
When having uncommitted changes in the branch:
$ gbp buildpackage --git-ignore-new --git-export-dir=/tmp/
When on the patch queue branch:
$ gbp buildpackage --git-ignore-branch --git-export-dir=/tmp/
Do a number of checks.
$ lintian --display-info --pedantic --tag-display-limit 0 --info /tmp/*changes /tmp/*deb /tmp/*dsc
$ debc *.changes
$ git diff <commit>
$ dpkg-deb -c foo.deb
$ licensecheck --check '.*' --recursive --deb-machine --lines 0 *
Test the package.
Package is OK: Sign the tag and build sources only with -S :
$ rm /tmp/*
$ gbp buildpackage -S --git-tag --git-sign --git-export-dir=/tmp/
$ gbp buildpackage -S --git-tag --git-sign --git-export-dir=/tmp/ --git-debian-branch=debian/sid
To include the .orig.tar.gz, add the -sa switch.
To force the exclusion of the original source, add the -sd switch.
Upload the package:
# $ dupload --to anonymous-ftp-master /tmp/*.changes
$ dput /tmp/*.changes
$ rm /tmp/*
Push the changes to the remote repository.
$ gbp push --pristine-tar
$ gbp push --pristine-tar --debian-branch=debian/sid
# $ git push --all
# $ git push --tags
Notes
=====
To find the reverse dependencies:
$ apt rdepends libsword*
Update path:
export PATH=$PATH:/sbin:/usr/sbin
Repack to +dfsg file:
https://wiki.debian.org/Javascript/Repacking
To build source-only package.
$ debuild -S
Uploading commands to incoming
==============================
Example queue.commands file:
Uploader: Teus Benschop <[email protected]>
Commands:
rm libpqxx_7.8.1-1.dsc
rm libpqxx_7.8.1.orig.tar.gz
rm libpqxx_7.8.1-1.debian.tar.xz
rm libpqxx_7.8.1-1_source.buildinfo
rm libpqxx_7.8.1-1_source.changes
Sign this file:
$ gpg --clearsign file
Upload the signed file:
$ dcut -U signed.commands
Or use this:
$ dcut rm libpqxx_7.8.1-1.dsc