summaryrefslogtreecommitdiffstats
path: root/debian/README.source
diff options
context:
space:
mode:
Diffstat (limited to 'debian/README.source')
-rw-r--r--debian/README.source81
1 files changed, 81 insertions, 0 deletions
diff --git a/debian/README.source b/debian/README.source
new file mode 100644
index 00000000..bf46db46
--- /dev/null
+++ b/debian/README.source
@@ -0,0 +1,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