X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=BUILD.txt;h=91e240e463f296c60b723dbe4f8f56498e175ab0;hb=c28424f9add2dfbcb11b5288c4d5f8e6d99e1d8b;hp=427d9c83004377b4e7981e3a2c0ed359da056032;hpb=279c31d013ef0054910364c6f54c56b814926c56;p=roundup.git diff --git a/BUILD.txt b/BUILD.txt index 427d9c8..91e240e 100644 --- a/BUILD.txt +++ b/BUILD.txt @@ -2,57 +2,58 @@ Building Releases ================= Roundup is currently a source-only release - it has no binary components. I -want it to stay that way, too. +want it to stay that way, too. This document describes how to build a +source release. Users of Roundup should read the doc/installation.txt file +to find out how to install this software. -This means that we only need to ever build source releases. This is done by -running: +Building and distributing a release of Roundup is done by running: -1. Make sure the unit tests run! "./run_tests" +1. Make sure the unit tests run! "./run_tests.py" 2. Edit roundup/__init__.py and doc/announcement.txt to reflect the new - version and appropriate announcements. Add truncated announcement to - setup.py description field. -3. python setup.py clean --all -4. Edit setup.py to ensure that all information therein (version, contact + version and appropriate announcements. +3. Note the SVN revision in the CHANGES.txt file. +4. Clean out all *.orig, *.rej, .#* files from the source. +5. python setup.py clean --all +6. Edit setup.py to ensure that all information therein (version, contact information etc) is correct. -5. python setup.py sdist --manifest-only -6. Check the MANIFEST to make sure that any new files are included. If +7. python setup.py build_doc +8. python setup.py sdist --manifest-only +9. Check the MANIFEST to make sure that any new files are included. If they are not, edit MANIFEST.in to include them. "Documentation" for MANIFEST.in may be found in disutils.filelist._parse_template_line. -7. python setup.py sdist +10. python setup.py sdist (if you find sdist a little verbose, add "--quiet" to the end of the command) -8. unpack the new dist file in /tmp and a) run_test, and b) demo.py -9. Generate gpg signature with "gpg -a --detach-sign" and upload to - mechanicalcat.net -10. PyPI registration -11. tag the CVS for the release, eg. "cvs tag -R release-0-6-3" +11. Unpack the new dist file in /tmp then a) run_test.py and b) demo.py + with all available Python versions. +12. Assuming all is well tag the release in SVN:: + + svn cp https://svn.roundup-tracker.org/svnroot/roundup/roundup/trunk \ + https://svn.roundup-tracker.org/svnroot/roundup/roundup/tags/release-1-4-19 + +13. python setup.py bdist_rpm +14. python setup.py bdist_wininst +15. Send doc/announcement.txt to python-announce@python.org and + roundup-users@lists.sourceforge.net and + roundup-devel@lists.sourceforge.net So, those commands in a nice, cut'n'pasteable form:: + find . -name '*.orig' -exec rm {} \; + find . -name '*.rej' -exec rm {} \; + find . -name '.#*' -exec rm {} \; python setup.py clean --all + python setup.py build_doc python setup.py sdist --manifest-only python setup.py sdist --quiet - python2.3 setup.py register - - -Distributing Releases -===================== - -Once a release is built, follow these steps: - -1. FTP the tar.gz from the dist directory to to the "incoming" directory on - "upload.sourceforge.net". -2. Make a quick release at: - http://sourceforge.net/project/admin/qrs.php?package_id=&group_id=31577 -3. Add a news item at: - https://sourceforge.net/news/submit.php?group_id=31577 - using the top of doc/announcement.txt -4. Send doc/announcement.txt to python-announce@python.org -5. Notify any other news services as appropriate... - - -Author -====== - -richard@users.sourceforge.net + python setup.py bdist_rpm + python setup.py bdist_wininst + python setup.py register + python setup.py sdist upload --sign + python2.5 setup.py bdist_wininst upload --sign + +(if the last two fail make sure you're using python2.5+) +Note that python2.6 won't correctly create a bdist_wininst install on +Linux (it will produce a .exe with "linux" in the name). 2.7 still has +this bug (Ralf)