summaryrefslogtreecommitdiffstats
path: root/debian/README.source
blob: bf46db46b0d6dfcc1d615358eede42ab5733cb37 (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
Building from source package
============================

# This requires the correct deb-src lines in your /etc/apt/sources.list
$ apt-get source ansible
$ cd ansible-<versionnumber>

# Install package dependencies as root
$ sudo apt-get build-dep .

# build package, don't sign the source or binary package
$ debuild -uc -us

# Your built source and binary package will be a directory above
$ cd ..
$ ls -l ansible_*


Building a new release from the Debianized git repository (first time)
======================================================================

# Install git-buildpackage
$ sudo apt install git-buildpackage

# Clone the Debianized packaging git repository
$ git clone git@salsa.debian.org:debian/ansible.git

$ cd ansible

# You will need a local branch checkout from upstream and pristine-tar.
# Otherwise gbp will later complain with:
# gbp:warning: Pristine-tar branch "pristine-tar" not found

$ git checkout pristine-tar
$ git checkout upstream

# switch back to master branch to update the package
$ git checkout master

# Pull new upstream in. The tarball will be check into pristine-tar branch,
# the contents are checked in to upstream. This will then get merged into master
$ gbp import-orig --uscan --merge-mode=replace

# ... any other changes you need to do go here ...

# Update changelog
$ dch -i

# commit any changes here, including the debian/changelog. You can test it
# before committing with `gbp buildpackage --git-ignore-new -uc -us`

# Build package and sign it with your Debian Developer key
$ gbp buildpackage

# Upload the built source and binary packages to Debian ftp-master
$ dput ftp-master ansible_<version>_amd64.changes


Building a new release from the Debianized git repository (subsequent releases)
===============================================================================

# Stash any changes you want to keep
$ git stash -p

# Clean up repo for building
# There are probably cleaner ways to do this. Suggestions welcome!
$ git checkout .
$ git clean -fdx

# Bring back any stashed changes
$ git stash pop

# Import new upstream release
$ gbp import-orig --uscan --merge-mode=replace

# Update changelog
$ dch -i

# Build and upload
$ gbp buildpackage
$ dput ftp-master ansible_<version>_amd64.changes