#12578 closed task (fixed)
Release Trac 1.0.14
Reported by: | Ryan J Ollos | Owned by: | Ryan J Ollos |
---|---|---|---|
Priority: | normal | Milestone: | 1.0.14 |
Component: | general | Version: | |
Severity: | normal | Keywords: | release |
Cc: | Branch: | ||
Release Notes: | |||
API Changes: | |||
Internal Changes: |
Description
This ticket is used to coordinate the finalization and testing of the next stable version of Trac, 1.0.14.
Attachments (0)
Change History (24)
comment:1 by , 8 years ago
Owner: | set to |
---|---|
Status: | new → assigned |
comment:2 by , 8 years ago
comment:4 by , 8 years ago
I'm postponing this until early Dec 13th (UTC) since I don't have access to a Windows virtual machine for the next few days.
comment:7 by , 7 years ago
To further simplify TracDev/ReleaseChecklist, I propose adding requirements-release.txt
in the top-level directory with:
# Packages needed to create a release. setuptools>=0.8 # Min version to ensure PEP-0440 compliant version numbers wheel babel setuptools_subversion reindent twine
We can then simply run:
$ pip install -Ur requirements-release.txt
comment:8 by , 7 years ago
It might be useful to add these additional classifiers, for PyPI:
-
setup.py
commit cb5867a70a3c3cece3b3af02da7e83933d0eca30 Author: Ryan J Ollos <ryan.j.ollos@gmail.com> Date: Thu Jun 1 10:42:49 2017 -0400 Add the classifiers diff --git a/setup.py b/setup.py index f196f5e1a..4a0c2a768 100755
a b facilities. 75 75 'License :: OSI Approved :: BSD License', 76 76 'Operating System :: OS Independent', 77 77 'Programming Language :: Python', 78 'Programming Language :: Python :: 2', 79 'Programming Language :: Python :: 2.5', 80 'Programming Language :: Python :: 2.6', 81 'Programming Language :: Python :: 2.7', 78 82 'Topic :: Software Development :: Bug Tracking', 79 83 'Topic :: Software Development :: Version Control', 80 84 ],
comment:9 by , 7 years ago
comment:10 by , 7 years ago
INSTALL.rst
doesn't render correctly on GitHub, but will render correctly if we remove the page outline. We could just strip out the page outline:
-
contrib/wiki2rst.py
diff --git a/contrib/wiki2rst.py b/contrib/wiki2rst.py index c475b1e57..f9eae1d9e 100755
a b class Parser(html2rest.Parser): 62 62 def wiki2rest(env, context, wiki): 63 63 text = re.sub('\r?\n', '\n', wiki.text) 64 64 text = re.sub(r'\[\[TracGuideToc\]\]\r?\n?', '', text) 65 text = re.sub(r'\[\[PageOutline\([^\)]*\)\]\]\r?\n?', '', text) 65 66 html = format_to_html(env, context, text) 66 67 html = html.replace(u'<span class="icon">\u200b</span>', '') 67 68 html = re.sub(r'<em>\s*([^<]*?)\s*</em>', r'<em>\1</em>', html)
comment:11 by , 7 years ago
comment:10 change committed to 1.0-stable in r15983, merged in r15984, r15985.
follow-up: 13 comment:12 by , 7 years ago
Proposed change so that README.rst
is rendered on PyPI, as shown here. Discussed here.
-
setup.py
diff --git a/setup.py b/setup.py index 4a0c2a768..9a7968dd3 100755
a b except ImportError: 53 53 # give some context to the warnings we might get when installing Genshi 54 54 55 55 56 def readme(): 57 with open('README.rst') as f: 58 return f.read() 59 60 56 61 setup( 57 62 name = 'Trac', 58 63 version = '1.0.14', 59 64 description = 'Integrated SCM, wiki, issue tracker and project environment', 60 long_description = """ 61 Trac is a minimalistic web-based software project management and bug/issue 62 tracking system. It provides an interface to the Subversion revision control 63 systems, an integrated wiki, flexible issue tracking and convenient report 64 facilities. 65 """, 65 long_description = readme(), 66 66 author = 'Edgewall Software', 67 67 author_email = 'trac-dev@googlegroups.com', 68 68 license = 'BSD',
follow-up: 21 comment:13 by , 7 years ago
Replying to Ryan J Ollos:
Proposed change so that
README.rst
is rendered on PyPI, as shown here. Discussed here.
Looks good to me except that from __future__ import with_statement
is needed for 1.0-stable.
comment:14 by , 7 years ago
Thanks, I added the compatibility statement and committed to 1.0-stable in [15986,15989], merged in r15987, r15988.
comment:15 by , 7 years ago
I've been manually removing uses of #!box
processor: TracProject/DefaultWikiPages#sync.
-
contrib/checkwiki.py
Proposed change:
14 14 15 15 from __future__ import with_statement 16 16 17 import re 17 18 import os 18 19 import sys 19 20 from pkg_resources import resource_listdir, resource_string … … 128 129 return parser.parse_args() 129 130 130 131 132 re_box_processor = re.compile(r'{{{#!box[^\}]+}}}\s*\r?\n?') 133 134 131 135 def download_default_pages(names, prefix): 132 136 from httplib import HTTPSConnection 133 137 host = 'trac.edgewall.org' … … 148 152 content = response.read() 149 153 if response.status == 200 and content: 150 154 with open('trac/wiki/default-pages/' + name, 'w') as f: 155 content = re_box_processor.sub('', content) 151 156 lines = content.replace('\r\n', '\n').splitlines(True) 152 157 f.write(''.join(line for line in lines 153 158 if line.strip() != '[[TranslatedPages]]'))
comment:16 by , 7 years ago
comment:15 change committed to 1.0-stable in r15992, merged to 1.2-stable in r15993, merged to trunk in r15994.
Edited TracProject/DefaultWikiPages@53.
comment:17 by , 7 years ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
comment:18 by , 7 years ago
Copyright year has been changed in [15999] but copyright text in about.html would be extracted in message catalog and translated.
$ curl -s 'https://trac.edgewall.org/browser/branches/1.0-stable/trac/locale/messages.pot?format=raw' | grep -3 '2003-201[67]' #: trac/templates/about.html:58 msgid "" "Copyright © 2003-2016\n" " [1:Edgewall Software]" msgstr ""
xml:lang="en"
and i18n:msg
attributes are conflicted in message extraction. That changes are introduced in [9603#file5].
-
trac/templates/about.html
55 55 </a> 56 56 <p i18n:msg="">Please visit the Trac open source project: 57 57 <a href="http://trac.edgewall.org/">http://trac.edgewall.org/</a></p> 58 <p class="copyright" xml:lang="en" i18n:msg="">Copyright © 2003-201758 <p class="copyright" xml:lang="en">Copyright © 2003-2017 59 59 <a href="http://www.edgewall.org/">Edgewall Software</a> 60 60 </p> 61 61
Ideally, it might be good to make those years parameters of message.
-
trac/admin/console.py
133 133 self.interactive = True 134 134 printout(_("""Welcome to trac-admin %(version)s 135 135 Interactive Trac administration console. 136 Copyright (C) 2003-2013Edgewall Software136 Copyright (C) %(start)d-%(end)d Edgewall Software 137 137 138 138 Type: '?' or 'help' for help on commands. 139 """, version=TRAC_VERSION ))139 """, version=TRAC_VERSION, start=2003, end=2017)) 140 140 self.cmdloop() 141 141 142 142 ##
comment:20 by , 7 years ago
Yeah. Proposed changes in [fa89e948a/jomae.git] (jomae.git@t12578-copyright-year).
Verified years of copyright in localized messages.
$ python setup.py compile_catalog -f $ for i in trac/locale/{??,??_??}; do echo -n "$i: "; LANGUAGE=${i##*/} make start-admin env=$HOME/var/trac/1.0-sqlite </dev/null | grep 2003-2017 || break; done trac/locale/ca: Copyright © 2003-2017 Edgewall Software trac/locale/cs: Autorská práva (C) 2003-2017 Edgewall Software trac/locale/da: Copyright (C) 2003-2017 Edgewall Software trac/locale/de: Copyright (c) 2003-2017 Edgewall Software trac/locale/el: Copyright (C) 2003-2017 Edgewall Software trac/locale/eo: Kopirajto (c) 2003-2017 Edgewall Software trac/locale/es: Copyright (C) 2003-2017 Edgewall Software trac/locale/et: Copyright (C) 2003-2017 Edgewall Software trac/locale/fa: Copyright (C) 2003-2017 Edgewall Software trac/locale/fi: Copyright (c) 2003-2017 Edgewall Software trac/locale/fr: Copyright (c) 2003-2017 Edgewall Software trac/locale/gl: Copyright (c) 2003-2017 Edgewall Software trac/locale/he: כל הזכויות שמורות (c) 2003-2017 Edgewall Software trac/locale/hu: Copyright (C) 2003-2017 Edgewall Software trac/locale/hy: Copyright (c) 2003-2017 Edgewall Software trac/locale/it: Copyright (c) 2003-2017 Edgewall Software trac/locale/ja: Copyright (C) 2003-2017 Edgewall Software trac/locale/ko: Copyright (c) 2003-2017 Edgewall Software trac/locale/nb: Copyright (c) 2003-2017 Edgewall Software trac/locale/nl: Copyright (c) 2003-2017 Edgewall Software trac/locale/pl: Copyright (c) 2003-2017 Edgewall Software trac/locale/pt: Copyright (C) 2003-2017 Edgewall Software trac/locale/ro: Drepturi de autor pe 2003-2017 Edgewall Software trac/locale/ru: Авторские права (c) 2003-2017 Edgewall Software trac/locale/sl: Pravice pridržane (c) 2003-2017 Edgewall Software trac/locale/sv: Copyright (c) 2003-2017 Edgewall Software trac/locale/tr: Copyright (C) 2003-2017 Edgewall Software trac/locale/uk: Copyright (C) 2003-2017 Edgewall Software trac/locale/vi: Copyright (C) 2003-2017 Edgewall Software trac/locale/en_GB: Copyright (C) 2003-2017 Edgewall Software trac/locale/en_US: Copyright (C) 2003-2017 Edgewall Software trac/locale/es_AR: Copyright (c) 2003-2017 Edgewall Software trac/locale/es_MX: Copyright (C) 2003-2017 Edgewall Software trac/locale/pt_BR: Copyright (C) 2003-2017 Edgewall Software trac/locale/zh_CN: Copyright (C) 2003-2017 Edgewall Software trac/locale/zh_TW: 版權所有 (C) 2003-2017 Edgewall Software $ for i in trac/locale/{??,??_??}; do echo -n "$i: "; curl -s -H "Accept-Language: ${i##*/}" 'http://127.0.0.1:3000/1.0-sqlite/about' | grep 2003-2017 || break; done trac/locale/ca: <p class="copyright">Copyright © 2003-2017 trac/locale/cs: <p class="copyright">Autorská práva © 2003-2017 trac/locale/da: <p class="copyright">Copyright © 2003-2017 trac/locale/de: <p class="copyright">Copyright © 2003-2017 trac/locale/el: <p class="copyright">Copyright © 2003-2017 trac/locale/eo: <p class="copyright">Kopirajto © 2003-2017 trac/locale/es: <p class="copyright">Copyright © 2003-2017 trac/locale/et: <p class="copyright">Copyright © 2003-2017 trac/locale/fa: <p class="copyright">Copyright © 2003-2017 trac/locale/fi: <p class="copyright">Copyright © 2003-2017 trac/locale/fr: <p class="copyright">Copyright © 2003-2017 trac/locale/gl: <p class="copyright">Copyright © 2003-2017 trac/locale/he: <p class="copyright">כל הזכויות שמורות © 2003-2017 trac/locale/hu: <p class="copyright">Copyright © 2003-2017 trac/locale/hy: <p class="copyright">Copyright © 2003-2017 trac/locale/it: <p class="copyright">Copyright © 2003-2017 trac/locale/ja: <p class="copyright">Copyright © 2003-2017 <a href="http://www.edgewall.org/">Edgewall Software</a></p> trac/locale/ko: <p class="copyright">저작권 © 2003-2017 <a href="http://www.edgewall.org/">Edgewall Software</a></p> trac/locale/nb: <p class="copyright">Copyright © 2003-2017 trac/locale/nl: <p class="copyright">Copyright © 2003-2017 trac/locale/pl: <p class="copyright">Copyright © 2003-2017 trac/locale/pt: <p class="copyright">Copyright © 2003-2017 trac/locale/ro: <p class="copyright">Copyright © 2003-2017 trac/locale/ru: <p class="copyright">Авторские права © 2003-2017 trac/locale/sl: <p class="copyright">Pravice pridržane © 2003-2017 trac/locale/sv: <p class="copyright">Copyright © 2003-2017 <a href="http://www.edgewall.org/">Edgewall Software</a></p> trac/locale/tr: <p class="copyright">Copyright © 2003-2017 trac/locale/uk: <p class="copyright">Copyright © 2003-2017 trac/locale/vi: <p class="copyright">Copyright © 2003-2017 trac/locale/en_GB: <p class="copyright">Copyright © 2003-2017 trac/locale/en_US: <p class="copyright">Copyright © 2003-2017 trac/locale/es_AR: <p class="copyright">Copyright © 2003-2017 trac/locale/es_MX: <p class="copyright">Copyright © 2003-2017 trac/locale/pt_BR: <p class="copyright">Copyright © 2003-2017 trac/locale/zh_CN: <p class="copyright">Copyright © 2003-2017 trac/locale/zh_TW: <p class="copyright">版權所有 © 2003-2017
comment:21 by , 7 years ago
Replying to Jun Omae:
Replying to Ryan J Ollos:
Proposed change so that
README.rst
is rendered on PyPI, as shown here. Discussed here.Looks good to me except that
from __future__ import with_statement
is needed for 1.0-stable.
I haven't tested yet, but gmessage:trac-users:1jWj-iig19U/6ZZVfSCYCAAJ shows unexpected behavior. For an install into Python 2.4 or 2.5 with Trac 1.2.x I'd expect setup.py
to exit with code 1, and message Trac requires Python 2.6 or later
. However, the traceback shows:
File "/usr/lib/python2.4/site-packages/setuptools-0.6c11-py2.4.egg/setuptools/sandbox.py", line 64, in <lambda> {'__file__':setup_script, '__name__':'__main__'} File "setup.py", line 44 with open('README.rst') as f: ^ SyntaxError: invalid syntax
It looks like the function body is being parsed, but I wouldn't expect that to happen until the function is called.
follow-up: 24 comment:22 by , 7 years ago
I've reproduced the issue with Python 2.5, installing Trac 1.2.2.
python setup.py bdist_egg File "setup.py", line 44 f = open('README.rst'): ^ SyntaxError: invalid syntax
I suppose we could just avoid using the context manager:
-
setup.py
41 41 42 42 43 43 def readme(): 44 with open('README.rst') as f: 45 return f.read() 44 f = open('README.rst') 45 content = f.read() 46 f.close() 47 return content 46 48 47 49 48 50 setup(
comment:23 by , 7 years ago
comment:22 change committed to 1.0-stable in [16350:16351], merged to 1.2-stable in [16352,16354], merged to trunk in [16353,16355].
comment:24 by , 7 years ago
Replying to Ryan J Ollos:
I've reproduced the issue with Python 2.5, installing Trac 1.2.2.
python setup.py bdist_egg File "setup.py", line 44 f = open('README.rst'): ^ SyntaxError: invalid syntax
Setuptools 30.3 supports metadata in setup.cfg, which allows for long_description = file: README.rst
.
I'm considering whether 1.0.14 should be released soon. Should #12363, #12566 and and #12586 be finished for 1.0.14, or moved forward for 1.2.1? I'd like to finish #12566, but don't have an opinion on the other two.