Usable python versions for newlib build in RSB
Chris Johns
chrisj at rtems.org
Thu Aug 25 01:01:40 UTC 2016
On 24/08/2016 12:36 PM, groups at chichak.ca wrote:
> Since a bunch of us have run into this issue; would it be possible for RSB to check for a proper python version before it gets all the way down to building newlib?
Doing this is a little more complicated than you may think so let me
explain. The failing check is not for Python, it is for a python
development library.
Packaging systems are designed to provide you with a detailed and
accurate account of packages on your host and this convenience is now
expected and so it is fair enough you request such a feature.
The RSB is not a packaging system and currently does not interact with
the packaging systems found on some host. Hosts such as Mac OS X and
Windows do not have a standard packaging system so this adds an extra
layer of complexity. In the case of OS X I do not want to depend on 3rd
packaging system such as macports or homebrew and I am yet to decide
about MSYS2 on Windows, it may be ok.
The RSB has some simple and easy to implement tests for commands which
the check phase uses. There are no checks for development libraries used
by packages when they build and Python is the problem that appears on a
regular basis.
During the initial development of the RSB I avoided packaging systems on
hosts and I avoided the library checks simply because I could not manage
the extra layer of complexity it brought at that time. The RSB is now
stable and the support can be considered.
Implementing the support requires:
1. Addition of the '%requires' and '%provides' keyword. The RSB would
not provide a full dependence resolution system, rather it would simply
perform a present or not present test.
2. I would need to make sure all configuration files are loaded before
starting the build process. I think this happens now but I would need to
check.
3. Host specific support for packaging systems added. If a host has a
packaging system we wish to support access would need to be added on a
per host basis. It would be nice if suggestions are made if a package is
not found. I suspect this would be version specific as files can move.
Again this is host specific.
4. If there is no packaging system does the RSB fall back to support
some form of check similar to the configure system? If so things become
more complicated. I suspect it would pay to have the RSB include or
become dependent on waf and to use the support it has for detecting
tools and libraries. I am not sure how this would be implemented.
5. Make sure any changes work with the pkgconfig support that is already
present in the RSB. See the bare support for devel/qemu. It detected
installed libraries via pkgconfig and if not found it builds them.
This is more than a simple change and would require I invest some really
effort and time. My free time is limited and focused on other more
pressing things. If someone is willing to fund the work please contact
me directly.
Chris
More information about the users
mailing list