[scl.org] Question about generating RPMs that depend on SCLs (like python27)
Honza Horak
hhorak at redhat.com
Wed Jul 16 08:37:32 UTC 2014
On 07/16/2014 10:21 AM, Bohuslav Kabrda wrote:
>
> ------------------------------------------------------------------------
>
> Requires: %{scl_prefix_python}-scldevel
I'd also like to add a general notice about using this macro in a spec
file if anybody is interested -- It is important to have the package
python27-scldevel, which defines this macro, already installed at a time
the spec file which uses the macro above is being parsed.
Thus, it is not enough to have BuildRequires: python27-scldevel in the
same spec file where we want to use the macro.
The BuildRequires is usually in a meta package of another (depended)
collection, which is then installed in the buildroot (which ensures the
macro is defined at a time the spec file using it is being parsed).
Honza
> ^^^^^^
> I think you are missing the "-"
>
> Nope, %{scl_prefix_python} should expand to "python27-", e.g. if
> defined, it should already contain the "-". Alan, where are your
> packages coming from? We added the -scldevel packages to RHSCL 1.1
> downstream and I can also see one on scl.org [1]. Are you using older
> builds of python27 SCL, perhaps from RHSCL 1.0?
>
> Slavek
>
> [1] https://www.softwarecollections.org/repos/rhscl/python27/epel-6-x86_64/
>
> on RHEL at least - I see this:
>
> #yum info python27-scldevel
> Loaded plugins: langpacks, product-id, subscription-manager
> Available Packages
> Name : python27-scldevel
> Arch : x86_64
> Version : 1.1
> Release : 19.el7
> Size : 5.5 k
> Repo : rhel-workstation-rhscl-7-rpms/7Workstation/x86_64
> Summary : Package shipping development files for python27
> License : GPLv2+
> Description : Package shipping development files, especially usefull for
> : development of packages depending on python27 Software
> : Collection.
>
>
> On 07/16/2014 12:41 AM, Alan Robertson wrote:
>
> Similar issue with this line:
> Requires: %{scl_prefix_python}scldevel
>
> There is no scldevel package, nor a python27-scldevel
>
>
> On 07/15/2014 10:29 PM, 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?
>
>
> 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
>
>
>
> _______________________________________________
> SCLorg mailing list
> SCLorg at redhat.comhttps://www.redhat.com/mailman/listinfo/sclorg
>
>
>
> --
> 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
>
>
>
> _______________________________________________
> SCLorg mailing list
> SCLorg at redhat.comhttps://www.redhat.com/mailman/listinfo/sclorg
>
>
>
> _______________________________________________
> SCLorg mailing list
> SCLorg at redhat.com
> https://www.redhat.com/mailman/listinfo/sclorg
>
>
>
>
> --
> Regards,
> Bohuslav "Slavek" Kabrda.
More information about the SCLorg
mailing list