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
