STINNER Victor added the comment:

> Many POSIX functions aren’t available on every system, especially embedded 
> ones.

What do you call "embedded systems"? I worked on set top boxes (the box to 
watch television) between 2011 and 2013 and we had a regular Linux kernel with 
all POSIX functions. Most of the time, the CPU was a slow MIPS. The tool chain 
was based on GCC. For some hardware, we used the µlibc but this C library 
provides all functions required by Python.

> Personally, I'd rather answer that it's not our problem if some systems are 
> not POSIX-compliant. Maintainers of such systems can always maintain a patch 
> to disable the missing functionality. Adding conditionals everywhere has a 
> non-trivial maintenance cost.

I agree. Anyway, in the embedded world, softwares are usually old and heavily 
patched. For example, in 2013 we still used Python 2.5.2 with a lot of patches. 
For example, patches for cross compilation. But also backported features like 
HTTP Keep-Alive or HTTPS checks.

Technically, you can easily fork Python repository and keep your patches up to 
date using rebase.

We defined better rules to support officially a platform. A requirement is for 
example to have a buildbot running tests daily on the platform. I'm not sure 
that you are able to host a public buildbot for each custom embedded platform...

Android looks a more important target and it was already discussed to setup a 
Android buildbot.

I'm in favor of *dropping* all these annoying #ifdef because it's harder to 
review, maintain and debug such code. Here is my contribution: issue #23753 
"Drop HAVE_FSTAT: require fstat() to compile/use Python". A concrete example: 
we are working on a Python implementation of io.FileIO and I don't want to see 
hasattr(os, 'fstat') in the Python code because it has a performance cost *at 
runtime* (see issue #21859).

See also the new Mobile-SIG mailing list which is maybe more appropriate to 
discuss such changes:
https://mail.python.org/mailman/listinfo/mobile-sig

----------
nosy: +haypo

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue22623>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to