diff options
Diffstat (limited to 'docs/source/devguide/packaging')
-rw-r--r-- | docs/source/devguide/packaging/index.md | 9 | ||||
-rw-r--r-- | docs/source/devguide/packaging/launchpad-recipe.md | 43 | ||||
-rw-r--r-- | docs/source/devguide/packaging/release.md | 54 | ||||
-rw-r--r-- | docs/source/devguide/packaging/windows.md | 10 |
4 files changed, 116 insertions, 0 deletions
diff --git a/docs/source/devguide/packaging/index.md b/docs/source/devguide/packaging/index.md new file mode 100644 index 0000000..aa7293a --- /dev/null +++ b/docs/source/devguide/packaging/index.md @@ -0,0 +1,9 @@ +# Packaging documentation + +```{toctree} +:titlesonly: + +release +launchpad-recipe +windows +``` diff --git a/docs/source/devguide/packaging/launchpad-recipe.md b/docs/source/devguide/packaging/launchpad-recipe.md new file mode 100644 index 0000000..7d48727 --- /dev/null +++ b/docs/source/devguide/packaging/launchpad-recipe.md @@ -0,0 +1,43 @@ +# Launchpad recipe + +The launchpad build recipes are for build from source automatically to provide +Ubuntu packages. They are used to create daily builds of a Deluge git branch. + +Note these don't have the same control as a creating a publishing to PPA. + +Main reference: <https://help.launchpad.net/Packaging/SourceBuilds/Recipes> + +## Deluge Launchpad build recipes + +Recipe configuration: <https://code.launchpad.net/~deluge-team/+recipes> + +An example for building the develop branch: + + # git-build-recipe format 0.4 deb-version 2.0.0.dev{revno}+{git-commit}+{time} + lp:deluge develop + nest-part packaging lp:~calumlind/+git/lp_deluge_deb debian debian develop + +There are two parts, first to get the source code branch and then the `debian` +files for building the package. + +## Testing and building locally + +Create a `deluge.recipe` file with the contents from launchpad and create the +build files with `git-build-recipe`: + + git-build-recipe --allow-fallback-to-native deluge.recipe lp_build + +Setup [pbuilder] and build the deluge package: + + sudo pbuilder build lp_build/deluge*.dsc + +Alternatively to build using local files with [pdebuild]: + + cd lp_build/deluge/deluge + pdebuild + +This will allow modifying the `debian` files to test changes to `rules` or +`control`. + +[pbuilder]: https://wiki.ubuntu.com/PbuilderHowto +[pdebuild]: https://wiki.ubuntu.com/PbuilderHowto#pdebuild diff --git a/docs/source/devguide/packaging/release.md b/docs/source/devguide/packaging/release.md new file mode 100644 index 0000000..e02a09a --- /dev/null +++ b/docs/source/devguide/packaging/release.md @@ -0,0 +1,54 @@ +# Release Checklist + +## Pre-release + +- Update [translation] `po` files from [Launchpad] account. +- Changelog is updated with relevant commits and release date is added. +- Docs [release notes] are updated. +- Tag release in git and push upstream e.g. + + git tag -a deluge-2.0.0 -m "Deluge 2.0.0 Release" + +## Release + +- Create source and wheel distributions: + + python setup.py sdist bdist_wheel + +- Upload to PyPi (only accepts `tar.gz`): + + twine upload dist/deluge-2.0.0.tar.gz dist/deluge-2.0.0-py3-none-any.whl + +- Calculate `sha256sum` for each file e.g. + + cd dist; sha256sum deluge-2.0.0.tar.xz > deluge-2.0.0.tar.xz.sha256 + +- Upload source tarballs and packages to `ftp-osl.osuosl.org`. + + - Ensure file permissions are global readable: `0644` + - Sub-directories correspond to _major.minor_ version e.g. all `2.0.x` patch + releases are stored in `source/2.0`. + - Change release version in `version*` files, create a new version file for + any major releases. + - SSH into OSUOSL FTP site and run `trigger-deluge` to sync files. + +- Create packages (Ubuntu, Windows, OSX). + - Ubuntu: <https://code.launchpad.net/~deluge-team/+recipe/stable-releases> + - Ensure launchpad git repo has sync'd to get latest version + - Update version in recipe (reset any dash number to 0) + - Check for new distribution series needing selected. + - Request build for selected series. + +## Post-release + +- Update with version, hashes and release notes: + - Publish new docs version on [ReadTheDocs]. + - [Wikipedia] +- Close Trac milestone and add new milestone version for future tickets. +- Ensure all stable branch commits are also applied to development branch. + +[readthedocs]: https://deluge.readthedocs.io +[wikipedia]: http://en.wikipedia.org/wiki/Deluge_%28software%29 +[launchpad]: https://translations.launchpad.net/deluge +[translation]: ../../contributing/translations.md +[release notes]: ../../releases/index.md diff --git a/docs/source/devguide/packaging/windows.md b/docs/source/devguide/packaging/windows.md new file mode 100644 index 0000000..253eac0 --- /dev/null +++ b/docs/source/devguide/packaging/windows.md @@ -0,0 +1,10 @@ +# Packaging for Windows + +Currently there is no working package for Deluge 2.0. The previous Python freezing +application `bbfreeze` is not compatible with Python 3 and the project is no longer +maintained. + +There are two alternatives `cxfreeze` and `pyinstaller` but neither is trivial with +the GTKUI application. + +See [#3201](https://dev.deluge-torrent.org/ticket/3201) |