{"thread":{"id":"14412","subject":"[StGIT] Failure to install on RHELWS4","startedAt":"2008-07-11T17:03:56Z","lastAt":"2008-07-16T04:39:56Z","messageCount":8,"participants":["Petr Baudis","Thomas Rast","Miklos Vajna","Catalin Marinas","Karl Hasselström"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"82984","messageId":"20080711170356.GF32184@machine.or.cz","threadId":"14412","inReplyTo":null,"subject":"[StGIT] Failure to install on RHELWS4","fromName":"Petr Baudis","fromEmail":"pasky@suse.cz","sentAt":"2008-07-11T17:03:56Z","receivedAt":"2008-07-11T17:03:56Z","isPatch":false,"sender":{"key":"pasky@ucw.cz","avatar":"https://avatars.githubusercontent.com/u/18439?v=4"},"body":"  Hi,\n\n  I wanted to install latest HEAD of StGIT on a rather ancient-feeling\nRHEL4, however, when doing python setup.py install, I'm getting\n\n\t  File \"setup.py\", line 31\n\t    pyver = '.'.join(str(n) for n in sys.version_info)\n\t                              ^\nSyntaxError: invalid syntax\n\nI don't really know python and the ^ is rather curiously-positioned, so\nI don't have much clue on what is going on. Python version is 2.3.4 -\nmaybe that's too old, but I didn't find any word on the minimal Python\nversion nowhere in the documentation.\n\n-- \n\t\t\t\tPetr \"Pasky\" Baudis\nThe last good thing written in C++ was the Pachelbel Canon. -- J. Olson\n"},{"id":"82999","messageId":"200807112126.39729.trast@student.ethz.ch","threadId":"14412","inReplyTo":"20080711170356.GF32184@machine.or.cz","subject":"Re: [StGIT] Failure to install on RHELWS4","fromName":"Thomas Rast","fromEmail":"trast@student.ethz.ch","sentAt":"2008-07-11T19:26:29Z","receivedAt":"2008-07-11T19:26:29Z","isPatch":false,"sender":{"key":"tr@thomasrast.ch","avatar":"https://avatars.githubusercontent.com/u/153510?v=4"},"body":"Petr Baudis wrote:\n> \n> \t    pyver = '.'.join(str(n) for n in sys.version_info)\n> \t                              ^\n[...]\n> Python version is 2.3.4\n\nThat is indeed too old.  Generator expressions like the above were\nintroduced in 2.4:\n\n  http://www.python.org/dev/peps/pep-0289/\n\n- Thomas\n\n-- \nThomas Rast\ntrast@student.ethz.ch\n\n\n"},{"id":"83004","messageId":"20080711200735.GK10347@genesis.frugalware.org","threadId":"14412","inReplyTo":"200807112126.39729.trast@student.ethz.ch","subject":"Re: [StGIT] Failure to install on RHELWS4","fromName":"Miklos Vajna","fromEmail":"vmiklos@frugalware.org","sentAt":"2008-07-11T20:07:35Z","receivedAt":"2008-07-11T20:07:35Z","isPatch":false,"sender":{"key":"vmiklos@frugalware.org","avatar":"https://gravatar.com/avatar/401c1cbbb3a5d13e650c691a2c71d6fd0b80df1a01bc74d9f1972675dd58f2bd?d=mp&s=160"},"body":"On Fri, Jul 11, 2008 at 09:26:29PM +0200, Thomas Rast <trast@student.ethz.ch> wrote:\n> > \t    pyver = '.'.join(str(n) for n in sys.version_info)\n> > \t                              ^\n> [...]\n> > Python version is 2.3.4\n> \n> That is indeed too old.  Generator expressions like the above were\n> introduced in 2.4:\n> \n>   http://www.python.org/dev/peps/pep-0289/\n\nSo obviously it's a bad idea to use generators for such a version check.\n\nAlso, setup.py would try to import stgit.run before the version check.\n\nI'm sending two patches, which restore the wished \"Python version 2.4 or\nnewer required. Found 2.2.1.final.0\" error message.\n\n(Tested with Python 2.2.1.)\n"},{"id":"83005","messageId":"1215806972-18713-1-git-send-email-vmiklos@frugalware.org","threadId":"14412","inReplyTo":"20080711200735.GK10347@genesis.frugalware.org","subject":"[PATCH] setup.py: fix error message when running with python-2.3","fromName":"Miklos Vajna","fromEmail":"vmiklos@frugalware.org","sentAt":"2008-07-11T20:09:31Z","receivedAt":"2008-07-11T20:09:31Z","isPatch":true,"sender":{"key":"vmiklos@frugalware.org","avatar":"https://gravatar.com/avatar/401c1cbbb3a5d13e650c691a2c71d6fd0b80df1a01bc74d9f1972675dd58f2bd?d=mp&s=160"},"body":"When setup.py tries to check the python version, the check actually\nwon't give a usable error message but it'll raise a SyntaxError. Fix\nthis by not using generator expressions.\n\nSigned-off-by: Miklos Vajna <vmiklos@frugalware.org>\n---\n setup.py |    2 +-\n 1 files changed, 1 insertions(+), 1 deletions(-)\n\ndiff --git a/setup.py b/setup.py\nindex 8d8f7a8..44cc6ea 100755\n--- a/setup.py\n+++ b/setup.py\n@@ -28,7 +28,7 @@ def __check_min_version(min_ver, ver):\n def __check_python_version():\n     \"\"\"Check the minimum Python version\n     \"\"\"\n-    pyver = '.'.join(str(n) for n in sys.version_info)\n+    pyver = '.'.join(map(lambda x: str(x), sys.version_info))\n     if not __check_min_version(version.python_min_ver, pyver):\n         print >> sys.stderr, 'Python version %s or newer required. Found %s' \\\n               % (version.python_min_ver, pyver)\n-- \n1.5.6.2.450.g8d367.dirty\n"},{"id":"83006","messageId":"1215806972-18713-2-git-send-email-vmiklos@frugalware.org","threadId":"14412","inReplyTo":"1215806972-18713-1-git-send-email-vmiklos@frugalware.org","subject":"[PATCH] setup.py: don't try to import stgit.run before the python version check","fromName":"Miklos Vajna","fromEmail":"vmiklos@frugalware.org","sentAt":"2008-07-11T20:09:32Z","receivedAt":"2008-07-11T20:09:32Z","isPatch":true,"sender":{"key":"vmiklos@frugalware.org","avatar":"https://gravatar.com/avatar/401c1cbbb3a5d13e650c691a2c71d6fd0b80df1a01bc74d9f1972675dd58f2bd?d=mp&s=160"},"body":"stgit.run would import datetime, which is not available in older python\nversions. import it just after the version check passed.\n\nSigned-off-by: Miklos Vajna <vmiklos@frugalware.org>\n---\n setup.py |    3 ++-\n 1 files changed, 2 insertions(+), 1 deletions(-)\n\ndiff --git a/setup.py b/setup.py\nindex 44cc6ea..a685cf6 100755\n--- a/setup.py\n+++ b/setup.py\n@@ -4,7 +4,6 @@ import sys, glob, os\n from distutils.core import setup\n \n from stgit import version\n-from stgit.run import Run\n \n def __version_to_list(version):\n     \"\"\"Convert a version string to a list of numbers or strings\n@@ -68,6 +67,8 @@ if sys.argv[1] in ['install', 'build']:\n     __check_python_version()\n     __check_git_version()\n \n+from stgit.run import Run\n+\n # ensure readable template files\n old_mask = os.umask(0022)\n \n-- \n1.5.6.2.450.g8d367.dirty\n"},{"id":"83016","messageId":"b0943d9e0807111435h414697faj8a9f789ddc6a938@mail.gmail.com","threadId":"14412","inReplyTo":"20080711200735.GK10347@genesis.frugalware.org","subject":"Re: [StGIT] Failure to install on RHELWS4","fromName":"Catalin Marinas","fromEmail":"catalin.marinas@gmail.com","sentAt":"2008-07-11T21:35:34Z","receivedAt":"2008-07-11T21:35:34Z","isPatch":false,"sender":{"key":"catalin.marinas@gmail.com","avatar":null},"body":"2008/7/11 Miklos Vajna <vmiklos@frugalware.org>:\n> On Fri, Jul 11, 2008 at 09:26:29PM +0200, Thomas Rast <trast@student.ethz.ch> wrote:\n>> >         pyver = '.'.join(str(n) for n in sys.version_info)\n>> >                                   ^\n>> [...]\n>> > Python version is 2.3.4\n>>\n>> That is indeed too old.  Generator expressions like the above were\n>> introduced in 2.4:\n>>\n>>   http://www.python.org/dev/peps/pep-0289/\n>\n> So obviously it's a bad idea to use generators for such a version check.\n\nYes, I agree.\n\n> Also, setup.py would try to import stgit.run before the version check.\n>\n> I'm sending two patches, which restore the wished \"Python version 2.4 or\n> newer required. Found 2.2.1.final.0\" error message.\n\nThanks.\n\n-- \nCatalin\n"},{"id":"83058","messageId":"20080712051937.GA17996@diana.vm.bytemark.co.uk","threadId":"14412","inReplyTo":"1215806972-18713-1-git-send-email-vmiklos@frugalware.org","subject":"Re: [PATCH] setup.py: fix error message when running with python-2.3","fromName":"Karl Hasselström","fromEmail":"kha@treskal.com","sentAt":"2008-07-12T05:19:37Z","receivedAt":"2008-07-12T05:19:37Z","isPatch":true,"sender":{"key":"kha@treskal.com","avatar":"https://gravatar.com/avatar/f0120c734b5279b345075a28521e1ac66acb20c9913ffe9bf6ae97e53f7f3f13?d=mp&s=160"},"body":"On 2008-07-11 22:09:31 +0200, Miklos Vajna wrote:\n\n> When setup.py tries to check the python version, the check actually\n> won't give a usable error message but it'll raise a SyntaxError. Fix\n> this by not using generator expressions.\n\n> -    pyver = '.'.join(str(n) for n in sys.version_info)\n> +    pyver = '.'.join(map(lambda x: str(x), sys.version_info))\n\nThanks. And by not using a list comprehension, you stay compatible\nwith pre-2.0 versions as well (though I guess we'd need to test that,\nsince there may be other 2.0 things we rely on in this code path).\n\n-- \nKarl Hasselström, kha@treskal.com\n      www.treskal.com/kalle\n"},{"id":"83472","messageId":"20080716043956.GA31132@diana.vm.bytemark.co.uk","threadId":"14412","inReplyTo":"1215806972-18713-2-git-send-email-vmiklos@frugalware.org","subject":"Re: [PATCH] setup.py: don't try to import stgit.run before the python version check","fromName":"Karl Hasselström","fromEmail":"kha@treskal.com","sentAt":"2008-07-16T04:39:56Z","receivedAt":"2008-07-16T04:39:56Z","isPatch":true,"sender":{"key":"kha@treskal.com","avatar":"https://gravatar.com/avatar/f0120c734b5279b345075a28521e1ac66acb20c9913ffe9bf6ae97e53f7f3f13?d=mp&s=160"},"body":"On 2008-07-11 22:09:32 +0200, Miklos Vajna wrote:\n\n> @@ -68,6 +67,8 @@ if sys.argv[1] in ['install', 'build']:\n>      __check_python_version()\n>      __check_git_version()\n>  \n> +from stgit.run import Run\n> +\n>  # ensure readable template files\n>  old_mask = os.umask(0022)\n>  \n\nI had to modify the second hunk to make it work:\n\n@@ -37,6 +36,7 @@ def __check_python_version():\n def __check_git_version():\n     \"\"\"Check the minimum GIT version\n     \"\"\"\n+    from stgit.run import Run\n     gitver = Run('git', '--version').output_one_line().split()[2]\n     if not __check_min_version(git_min_ver, gitver):\n         print >> sys.stderr, 'GIT version %s or newer required. Found %s' \\\n\n-- \nKarl Hasselström, kha@treskal.com\n      www.treskal.com/kalle\n"}]}