python3 rpm macros not available without python3-devel installed

Robin Lee robinlee.sysu at gmail.com
Wed Sep 15 15:07:49 UTC 2010


The main issue is failing to use a macro defined with %__python3 to specify
the version of a requirement.

The recipe is sth like this:

%global py3_ver %(echo `%{__python3} -c "import sys;
sys.stdout.write(sys.version[:3])"`)

.......

Requires:   python(abi) = %{py3_ver}

On Wed, Sep 15, 2010 at 10:32 PM, David Malcolm <dmalcolm at redhat.com> wrote:

> I suspect I haven't had enough coffee yet, but I don't see the problem
> here.  Why not simply add "python3-devel" as a build requirement as
> Ignacio says?
>
> If a build requirement isn't installed, it's acceptable for a build to
> fail: it's a violation of a precondition.
>
> On Wed, 2010-09-15 at 19:35 +0800, Robin Lee wrote:
> > You should build this package in a clean root like a mock environment.
> > If you have python3-devel already installed and then run rpmbuild
> > --rebuild, you will not see the issue.
> >
> > On Wed, Sep 15, 2010 at 7:25 PM, Robin Lee <robinlee.sysu at gmail.com>
> > wrote:
> >         For a more concrete example:
> >         https://bugzilla.redhat.com/show_bug.cgi?id=567348
> >         I want to set the python(abi) requirement of the subpackage at
> >         buildtime. So, I want to set it like this:
> >         Requires: python(abi) = %{py3_ver}
> >
> >         But when build it, it will fail with the following output:
> >         $ rpmbuild -bp dreampie.spec
> >         Building target platforms: i686
> >         Building for target i686
> >         sh: python3: command not found
> >         sh: python3: command not found
> >         sh: python3: command not found
> >         error: line 46: Version required: Requires:   python(abi) =
> >
> >         Even though python3-devel has been added as BR.
> >
> >
> >
> >         On Wed, Sep 15, 2010 at 7:06 PM, Ignacio Vazquez-Abrams
> >         <ivazqueznet at gmail.com> wrote:
> >
> >                 On Wed, 2010-09-15 at 18:22 +0800, Robin Lee wrote:
> >                 > python3 rpm macros not available without
> >                 python3-devel installed.
> >                 > 'rpmbuild --viewrc' will show you.
> >                 >
> >                 > So if you use the python3 macros to define another
> >                 macro and you have
> >                 > no python3-devel installed, you must fail.
> >                 >
> >                 > So, how to define, for example, a %py3_ver macro for
> >                 the major version
> >                 > of Python3? Must yum be used?
> >                 >
> >                 > Robin
> >
> >
> >                 Adding a "BuildRequires: python3-devel" should be
> >                 enough to pull them
> >                 in.
> >
> >                 --
> >                 Ignacio Vazquez-Abrams <ivazqueznet at gmail.com>
>
>
>
> _______________________________________________
> python-devel mailing list
> python-devel at lists.fedoraproject.org
> https://admin.fedoraproject.org/mailman/listinfo/python-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.fedoraproject.org/pipermail/python-devel/attachments/20100915/2e65dea8/attachment-0001.html 


More information about the python-devel mailing list