On Fri, Feb 17, 2012 at 06:23:25PM +0000, Paul Howarth wrote:
Toshio Kuratomi a.badger@gmail.com wrote:
However, that won't prevent you from having other errors/warnings like this: sh: /usr/bin/python3: No such file or directory
You could get rid of those by using:
%{!?py3ver: %global py3ver %(%{?__python3} -c 'import sys; print(sys.version[0:3])' 2>/dev/null)}
And sometimes you might even prefer:
%{!?py3ver: %global py3ver %(%{?__python3} -c 'import sys; print(sys.version[0:3])' 2>/dev/null || echo 3.0)}
That would give a result that "looked right" in the absence of python3, giving other bits of the spec that depend on that definition a better chance of working as expected.
Without python3 installed, macros in the spec file can't be expanded correctly (because their definitions depend on python3). The spec file is BuildRequireing python3 so it shouldn't be expected that you can operate on the spec file without python3 installed.
I'd prefer to see specs a bit more robust so that for instance you could run "spectool" on them to download upstream sources and then do a mockbuild, which wouldn't require python3 or whatever to be installed on the build host.
I tested this with spectool -g and python-psycopg2 and all variants of that py3ver line work.(without even a warning). So spectool isn't really an issue.
-Toshio