On Fri, Feb 17, 2012 at 06:23:25PM +0000, Paul Howarth wrote:
Toshio Kuratomi <a.badger(a)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