python3 rpm macros not available without python3-devel installed

Robin Lee robinlee.sysu at gmail.com
Wed Sep 15 16:01:19 UTC 2010


Oh, sorry. I may have chosen a bad email subject.

This failed scratch build shows what was happening:
https://koji.fedoraproject.org/koji/taskinfo?taskID=2468876

On Wed, Sep 15, 2010 at 11:07 PM, Robin Lee <robinlee.sysu at gmail.com> wrote:

> 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/20100916/f4b3c3fb/attachment.html 


More information about the python-devel mailing list