[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

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



I didn't understand that email at all... I'll review it again and see if I can make any more sense out of it.

It seemed like it had a lot more macros in it than I need. Since I don't know what most of them do, that makes it harder.


On 07/18/2014 01:29 AM, Bohuslav Kabrda wrote:
----- Original Message -----
Python 2.6 is required by ThingsInTheUniverse:

bash-4.1# rpm --erase python
error: Failed dependencies:
          python(abi) = 2.6 is needed by (installed)
python-libs-2.6.6-52.el6.x86_64
          python(abi) = 2.6 is needed by (installed)
pygpgme-0.1-18.20090824bzr68.el6.x86_64
          python(abi) = 2.6 is needed by (installed)
python-pycurl-7.19.0-8.el6.x86_64
          python(abi) = 2.6 is needed by (installed)
python-urlgrabber-3.9.1-9.el6.noarch
          python(abi) = 2.6 is needed by (installed)
rpm-python-4.8.0-37.el6.x86_64
          python(abi) = 2.6 is needed by (installed)
python-iniparse-0.3.1-2.1.el6.noarch
          python(abi) = 2.6 is needed by (installed)
yum-metadata-parser-1.1.2-16.el6.x86_64
          python(abi) = 2.6 is needed by (installed)
yum-3.2.29-43.el6.centos.noarch
          python(abi) = 2.6 is needed by (installed)
mercurial-1.4-3.el6.x86_64
          python-sqlite is needed by (installed)
yum-3.2.29-43.el6.centos.noarch
          python >= 2.4 is needed by (installed)
yum-3.2.29-43.el6.centos.noarch
          python is needed by (installed) mercurial-1.4-3.el6.x86_64
          /usr/bin/python is needed by (installed)
python-urlgrabber-3.9.1-9.el6.noarch
          /usr/bin/python is needed by (installed)
yum-3.2.29-43.el6.centos.noarch
          /usr/bin/python is needed by (installed) gettext-0.17-16.el6.x86_64
          /usr/bin/python is needed by (installed)
nfs-utils-1:1.2.3-39.el6.x86_64
          /usr/bin/python is needed by (installed)
redhat-lsb-core-4.0-7.el6.centos.x86_64
          /usr/bin/python is needed by (installed) mercurial-1.4-3.el6.x86_64
          /usr/bin/python is needed by (installed)
glib2-devel-2.26.1-7.el6_5.x86_64

Like, for example -- yum -- and glib2-devel (which I require), and
gettext - so removing it is out of the question.

I've attached my current spec file.  The problem seems to be this:
      The pre-existing python automatic-dependency generator thinks I
need python(abi) = 2.7.
      But the python27 package supplies python27-python(abi) = 2.7.

So, I need to do one of two things:
      1) turn off automatic dependency generation for python
      2) Force a different automatic dependency generation process to be
used (one that is python27 aware)
              WITHOUT removing the "standard" RHEL6 python (which can't
be done).

Does anyone know how to do either thing?
I don't think you can turn it off, but you could probably filter it out. Anyway, I wrote about the custom generators in collections and how to use them in my previous mail [1]

Hope this helps,
Slavek

[1] https://www.redhat.com/archives/sclorg/2014-July/msg00031.html

The first alternative seems to be the easier one,




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 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 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 unix sh> - @OSSAlanR

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


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]