mirror of https://github.com/fail2ban/fail2ban
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
206 lines
6.5 KiB
206 lines
6.5 KiB
.. __ _ _ ___ _ |
|
/ _|__ _(_) |_ ) |__ __ _ _ _ |
|
| _/ _` | | |/ /| '_ \/ _` | ' \ |
|
|_| \__,_|_|_/___|_.__/\__,_|_||_| |
|
|
|
================================================================================ |
|
How to do a release for Fail2Ban |
|
================================================================================ |
|
|
|
Preparation |
|
=========== |
|
|
|
* Check distribution patches and see if they can be included |
|
|
|
* https://apps.fedoraproject.org/packages/fail2ban/sources |
|
* http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/net-analyzer/fail2ban/ |
|
* http://svnweb.freebsd.org/ports/head/security/py-fail2ban/ |
|
* https://build.opensuse.org/package/show?package=fail2ban&project=openSUSE%3AFactory |
|
* http://sophie.zarb.org/sources/fail2ban (Mageia) |
|
* https://trac.macports.org/browser/trunk/dports/security/fail2ban |
|
|
|
|
|
* Check distribution outstanding bugs |
|
|
|
* https://github.com/fail2ban/fail2ban/issues?sort=updated&state=open |
|
* http://bugs.debian.org/cgi-bin/pkgreport.cgi?dist=unstable;package=fail2ban |
|
* https://bugs.launchpad.net/ubuntu/+source/fail2ban |
|
* http://bugs.sabayon.org/buglist.cgi?quicksearch=net-analyzer%2Ffail2ban |
|
* https://bugs.archlinux.org/?project=5&cat%5B%5D=33&string=fail2ban |
|
* https://bugs.gentoo.org/buglist.cgi?query_format=advanced&short_desc=fail2ban&bug_status=UNCONFIRMED&bug_status=CONFIRMED&bug_status=IN_PROGRESS&short_desc_type=allwords |
|
* https://bugzilla.redhat.com/buglist.cgi?query_format=advanced&bug_status=NEW&bug_status=ASSIGNED&component=fail2ban&classification=Red%20Hat&classification=Fedora |
|
* http://www.freebsd.org/cgi/query-pr-summary.cgi?text=fail2ban |
|
* https://bugs.mageia.org/buglist.cgi?quicksearch=fail2ban |
|
* https://build.opensuse.org/package/requests/openSUSE:Factory/fail2ban |
|
|
|
|
|
* Make sure the tests pass:: |
|
|
|
./fail2ban-testcases-all |
|
|
|
* Ensure the version is correct in: |
|
|
|
* ./fail2ban/version.py |
|
* top of ChangeLog |
|
* README.md |
|
|
|
|
|
* Ensure the MANIFEST is complete |
|
|
|
ad-hoc bash script to run in a clean clone: |
|
|
|
find -type f | grep -v -e '\.git' -e '/doc/' -e '\.travis' -e MANIFEST | sed -e 's,^\./,,g' | while read f; do grep -ne "^$f\$" MANIFEST >/dev/null || echo "$f" ; done |
|
|
|
or an alternative for comparison with previous release |
|
|
|
git diff 0.10.0 | grep -B2 'index 0000000..' | grep -B1 'new file mode' | sed -n -e '/^diff /s,.* b/,,gp' >> MANIFEST |
|
sort MANIFEST | uniq | sponge MANIFEST |
|
|
|
* Run:: |
|
|
|
python setup.py sdist |
|
|
|
* Look for errors like:: |
|
|
|
'testcases/files/logs/mysqld.log' not a regular file -- skipping |
|
|
|
* Which indicates that testcases/files/logs/mysqld.log has been moved or is a directory:: |
|
|
|
tar -C /tmp -jxf dist/fail2ban-0.9.6.tar.bz2 |
|
|
|
* clean up current directory:: |
|
|
|
diff -rul --exclude \*.pyc . /tmp/fail2ban-0.10.0/ |
|
|
|
* Only differences should be files that you don't want distributed. |
|
|
|
|
|
* Ensure the tests work from the tarball:: |
|
|
|
cd /tmp/fail2ban-0.9.6/ && bin/fail2ban-testcases |
|
|
|
* Add/finalize the corresponding entry in the ChangeLog |
|
|
|
* To generate a list of committers use e.g.:: |
|
|
|
git shortlog -sn 0.10.0.. | sed -e 's,^[ 0-9\t]*,,g' | tr '\n' '\|' | sed -e 's:|:, :g' |
|
|
|
* Ensure the top of the ChangeLog has the right version and current date. |
|
* Ensure the top entry of the ChangeLog has the right version and current date. |
|
|
|
* Update man pages:: |
|
|
|
(cd man ; ./generate-man ) |
|
git commit -m 'DOC/ENH: update man pages for release' man/* |
|
|
|
* Cleanout TODO file with the finished stuff |
|
|
|
* Prepare source and rpm binary distributions:: |
|
|
|
python setup.py sdist |
|
|
|
* Broken for now: python setup.py bdist_rpm |
|
* Broken for now: python setup.py upload |
|
|
|
|
|
* Tag the release by using a signed (and annotated) tag. Cut/paste |
|
release ChangeLog entry as tag annotation:: |
|
|
|
git tag -s 0.10.0 |
|
|
|
Pre Release |
|
=========== |
|
|
|
* Provide a release sample to distributors |
|
|
|
* Arch Linux: |
|
|
|
* https://www.archlinux.org/packages/community/any/fail2ban/ |
|
|
|
* Debian: Yaroslav Halchenko <debian@onerussian.com> |
|
|
|
* http://packages.qa.debian.org/f/fail2ban.html |
|
|
|
* FreeBSD: Christoph Theis theis@gmx.at> |
|
|
|
* http://svnweb.freebsd.org/ports/head/security/py-fail2ban/Makefile?view=markup |
|
* http://www.freebsd.org/cgi/query-pr-summary.cgi?text=fail2ban |
|
|
|
* Fedora: Axel Thimm <Axel.Thimm@atrpms.net> |
|
|
|
* https://apps.fedoraproject.org/packages/fail2ban |
|
* http://pkgs.fedoraproject.org/cgit/fail2ban.git |
|
* https://admin.fedoraproject.org/pkgdb/acls/bugs/fail2ban |
|
|
|
* Gentoo: netmon@gentoo.org |
|
|
|
* http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/net-analyzer/fail2ban/metadata.xml?view=markup |
|
* https://bugs.gentoo.org/buglist.cgi?quicksearch=fail2ban |
|
|
|
* openSUSE: Stephan Kulow <coolo@suse.com> |
|
|
|
* https://build.opensuse.org/package/show/openSUSE:Factory/fail2ban |
|
|
|
* Mac Ports: @Malbrouck on github (gh-49) |
|
|
|
* https://trac.macports.org/browser/trunk/dports/security/fail2ban/Portfile |
|
|
|
* Mageia: |
|
|
|
* https://bugs.mageia.org/buglist.cgi?quicksearch=fail2ban |
|
|
|
* And potentially to the fail2ban-users email list. |
|
|
|
|
|
* Wait for feedback from distributors |
|
|
|
* Prepare a release notice https://github.com/fail2ban/fail2ban/releases/new |
|
|
|
* Upload the source/binaries from the dist directory and tag the release using the URL |
|
|
|
* Upload source/binaries to sourceforge http://sourceforge.net/projects/fail2ban/ |
|
|
|
* Run the following and update the wiki with output:: |
|
|
|
python -c 'import fail2ban.protocol; fail2ban.protocol.printWiki()' |
|
|
|
* page: http://www.fail2ban.org/wiki/index.php/Commands |
|
|
|
|
|
* Update: |
|
|
|
* http://www.fail2ban.org/wiki/index.php?title=Template:Fail2ban_Versions&action=edit |
|
|
|
* http://www.fail2ban.org/wiki/index.php?title=Template:Fail2ban_News&action=edit |
|
* move old bits to http://www.fail2ban.org/wiki/index.php?title=Template:Fail2ban_OldNews&action=edit |
|
|
|
* http://www.fail2ban.org/wiki/index.php/ChangeLog |
|
* http://www.fail2ban.org/wiki/index.php/Requirements (Check requirement) |
|
* http://www.fail2ban.org/wiki/index.php/Features |
|
|
|
* See if any filters are upgraded: |
|
http://www.fail2ban.org/wiki/index.php/Special:AllPages |
|
|
|
* Email users and development list of release |
|
|
|
* notify distributors |
|
|
|
Post Release |
|
============ |
|
|
|
Add the following to the top of the ChangeLog:: |
|
|
|
ver. 0.10.0 (2016/XX/XXX) - wanna-be-released |
|
----------- |
|
|
|
### Fixes |
|
|
|
### New Features |
|
|
|
### Enhancements |
|
|
|
Alter the git shortlog command in the previous section to refer to the just |
|
released version. |
|
|
|
and adjust fail2ban/version.py to carry .dev0 suffix to signal |
|
a version under development.
|
|
|