Skip to content
Snippets Groups Projects
Commit 55bfa285 authored by Christoph Groth's avatar Christoph Groth Committed by Joseph Weston
Browse files

minor corrections, explain quilt patches, mention AUTHORS.rst

parent 40cd6a14
No related branches found
No related tags found
No related merge requests found
...@@ -40,17 +40,29 @@ Check that there are no glaring deficiencies. ...@@ -40,17 +40,29 @@ Check that there are no glaring deficiencies.
Update the ``whatsnew`` file Update the ``whatsnew`` file
---------------------------- ----------------------------
Check that there is an appropriate ``whatsnew`` file in ``doc/source/pre/whatsnew``. For each new mior release, check that there is an appropriate ``whatsnew`` file
This should be named as:: in ``doc/source/pre/whatsnew``. This should be named as::
<major>.<minor>.<patch>.rst <major>.<minor>.rst
and should contain a list of the user-facing changes that were made in the and referenced from ``doc/source/pre/whatsnew/index.rst``. It should contain a
release. With any luck this file will have been updated after any major list of the user-facing changes that were made in the release. With any luck
features were released, if not then you can see what commits were introduced this file will have been updated after any major features were released, if not
since the last release using ``git log``. You can also see what issues were then you can see what commits were introduced since the last release using
assigned to the release's milestons and get an idea of what was introduced ``git log``. You can also see what issues were assigned to the release's
from there. milestons and get an idea of what was introduced from there.
Starting with Kwant 1.4, we also mention user-visible changes in bugfix
releases in the whatsnew files.
Verify that ``AUTHORS.rst`` is up-to-date
-----------------------------------------
The following command shows the number of commits per author since the last
annotated tag::
t=$(git describe --abbrev=0); echo Commits since $t; git shortlog -s $t..
Make a release, but do not publish it yet Make a release, but do not publish it yet
...@@ -133,12 +145,29 @@ show correct information. ...@@ -133,12 +145,29 @@ show correct information.
Release a new version of the Kwant Debian package Release a new version of the Kwant Debian package
------------------------------------------------- -------------------------------------------------
Fetch the git tag created above into the packaging repo:: Fetch packaging work (from origin) and the git tag created above (from
upstream_repo) into the packaging repo::
git fetch --all git fetch --all
Now there are two options. If, as recommended above, the tarball of the new Make sure that the branches ``master`` and ``upstream`` are up-to-date::
version has not been made public yet, it must be imported as follows::
git checkout upstream
git merge --ff-only origin/upstream
git checkout master
git merge --ff-only origin/master
Debian packages may include "quilt" patches that are applied on top of the
pristine tarball. The tool `gbp pq` manages these patches as a git branch
``patch-queue/master. Execute the following commands to (re)create
that branch based on the patches in ``debian/patches``::
gbp pq --force import
gbp checkout master
Now it is time to import the new source code. There are two options. If, as
recommended above, the tarball of the new version has not been made public yet,
it must be imported as follows::
gbp import-orig ~/src/kwant/dist/kwant-1.2.3.tar.gz gbp import-orig ~/src/kwant/dist/kwant-1.2.3.tar.gz
...@@ -147,18 +176,39 @@ Alternatively, the following commands will import the newest version from PyPI:: ...@@ -147,18 +176,39 @@ Alternatively, the following commands will import the newest version from PyPI::
uscan --report # This will report if a newer version exists on PyPI uscan --report # This will report if a newer version exists on PyPI
gbp import-orig --uscan gbp import-orig --uscan
Update the debian changelog. Add a point "New upstream release" if there was Now it is time to review the patch queue. Rebase and checkout the ``patch-queue/master`` branch using
one, and describe any other changes to the Debian *packaging*::
gbp pq rebase
As ususal, the rebase might require manual intervention. Once done, review all
the commits of the ``patch-queue/master`` branch. Are all patches still
needed, should any be removed? When done (even if no changes were needed), recreate the files in ``debian/patches`` using::
gbp pq export
If ``git diff`` reports any changes, be sure to commit them.
Now is the right moment to verify and modify the packaging information inside
the ``debian/`` directory. For example, are the dependencies and versions
stated in ``debian/control`` up-to-date?
When all changes are commited, it is time to finalize by updating the Debian
changelog file. Add a point "New upstream release" if there was one, and
describe any other changes to the Debian *packaging*::
DEBEMAIL=your.email@somewhere.org gbp dch -R --commit --distribution testing DEBEMAIL=your.email@somewhere.org gbp dch -R --commit --distribution testing
Now the package can be built with:: Now verify that the package builds with::
git clean -i git clean -i
gbp buildpackage gbp buildpackage
But this is *not* how the package should be built for distribution. For that, This is *not* how the package should be built for distribution. For that, see
see the following two sections. the following two sections.
If problems surface that require changing the packaging, undo the changelog
commit, modify the packaging, and re-iterate. If the problems require fixing
Kwant, you will have to go back all the way to recreating the source tarball. If the version to be packaged has been released publicly already, this will require a new bugfix version.
Setup git-pbuilder to build Debian packages Setup git-pbuilder to build Debian packages
...@@ -263,9 +313,9 @@ also made available on the website:: ...@@ -263,9 +313,9 @@ also made available on the website::
Debian packages Debian packages
--------------- ---------------
Go to the Debian packaging repository and push out everything:: Go to the Debian packaging repository and push out the changes::
git push --all --tags origin git push --tags origin master upstream
Now the Debian packages that we built previously need to be added to the Now the Debian packages that we built previously need to be added to the
repository of Debian packages on the Kwant website. So far this the full repository of Debian packages on the Kwant website. So far this the full
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment