[scl.org] Question about generating RPMs that depend on SCLs (like python27)

Alan Robertson alanr at unix.sh
Wed Jul 16 18:14:41 UTC 2014


As far as I know, you can't have a version of RH without python.  So, 
I'll follow your hints and let you know what happens.

I'm doing this in the CentOS environment.  I might need some additional 
repositories?  But I don't have trouble finding scl and python27.


On 07/16/2014 02:01 AM, Honza Horak wrote:
> On 07/16/2014 06:29 AM, Alan Robertson wrote:
>> So, I'm trying to take the page you pointed at seriously - so I added
>> this line from that page:
>>
>> BuildRequires: scl-utils-build
>>
>>
>> There is no such package.  What was intended here?
>
> This package is included in optional channel, but you shouldn't need 
> it, because you are preparing non-SCL package and scl-utils-build is 
> intended only for building SCL packages.
>
> Anyway, what is obviously wrong in your case is generating the python 
> requirements. These generators are delivered in python-devel and 
> python27-python-devel packages. So, if I'm not mistaken, your package 
> (and building environment) must include python27-python-devel but not 
> python-devel. In spec file you should have:
>   BuildRequires: python27-python-devel
>
> But be careful about packages installed during building (if you build 
> in your working environment), since I'm not sure which package gets 
> preference in case both python-devel and python27-python-devel are 
> installed.
>
> Regards,
> Honza
>
>>
>>
>> On 07/15/2014 04:09 PM, Orion Poplawski wrote:
>>> On 07/15/2014 04:06 PM, Orion Poplawski wrote:
>>>> On 07/15/2014 03:55 PM, Alan Robertson wrote:
>>>>> OK.  It was pointed out to me off-list that I was comparing the
>>>>> wrong thing.
>>>>> I should have been looking at python27-python.  Here's what that
>>>>> package shows:
>>>>>
>>>>> bash-4.1# *rpm -q --provides python27-python*
>>>>> python27-python-abi = 2.7
>>>>> python27-python(abi) = 2.7
>>>>> python27-Distutils
>>>>> python27-python2 = 2.7.5
>>>>> python27-python-sqlite = 2.3.2
>>>>> python27-python-ctypes = 1.0.1
>>>>> python27-python-hashlib = 20081120
>>>>> python27-python-uuid = 1.31
>>>>> python27-python-argparse = 2.7.5-7.el6.centos.alt
>>>>> python27-python = 2.7.5-7.el6.centos.alt
>>>>> python27-python(x86-64) = 2.7.5-7.el6.centos.alt
>>>>> bash-4.1#
>>>>>
>>>>> Either I'm failing to do something to appease the automagical
>>>>> python-version
>>>>> detection (which I have no idea how it figures that out), or the
>>>>> property
>>>>> names in python27-python should not have the "python27-" prefix.
>>>>>
>>>>> Anyone know which it is - and how to deal with it?
>>>>>
>>>>> It seems to me like the attributes of the provides should not be
>>>>> prefixed by
>>>>> python27.  But I'm new to this SCL stuff...
>>>>
>>>> FWIW - they "python(abi) = ##" requires is added by
>>>> /usr/lib/rpm/pythondeps.sh
>>>> as part of the standard rpm dependency generation.  So yes, for this
>>>> to work
>>>> with the scl, either the scl needs to provide "python(abi) = 2.7" or
>>>> you will
>>>> need to disable the automatic requires generation or filter out the
>>>> python(abi) line.
>>>>
>>>> We're all new to this SCL stuff.... :)
>>>>
>>>>
>>>
>>> Here's the magic from
>>> https://access.redhat.com/documentation/en-US/Red_Hat_Developer_Toolset/2/html/Software_Collections_Guide/sect-Extending_the_python27_and_python33_Software_Collections.html 
>>>
>>>
>>>
>>> # Similarly, override __python_requires for automatic dependency
>>> generator
>>> %global __python_requires %{%{scl_python}_python_requires}
>>>
>>>
>>
>>
>> -- 
>>      Alan Robertson<alanr at unix.sh>  - @OSSAlanR
>>
>> "Openness is the foundation and preservative of friendship... Let me 
>> claim from you at all times your undisguised opinions." - William 
>> Wilberforce
>>
>


-- 
     Alan Robertson <alanr at unix.sh> - @OSSAlanR

"Openness is the foundation and preservative of friendship...  Let me claim from you at all times your undisguised opinions." - William Wilberforce




More information about the SCLorg mailing list