python / cpython

The Python programming language
https://www.python.org
Other
62.59k stars 30.04k forks source link

Python should support VxWorks RTOS #76085

Closed 6858a80c-8457-46a1-887f-9e6758175163 closed 6 months ago

6858a80c-8457-46a1-887f-9e6758175163 commented 6 years ago
BPO 31904
Nosy @gpshead, @vstinner, @tiran, @bitdancer, @asvetlov, @ambv, @jimjjewett, @izbyshev, @kuhlenough, @miss-islington, @pxinwr
PRs
  • python/cpython#4179
  • python/cpython#4184
  • python/cpython#11951
  • python/cpython#11968
  • python/cpython#12051
  • python/cpython#12118
  • python/cpython#12157
  • python/cpython#12304
  • python/cpython#12305
  • python/cpython#12319
  • python/cpython#12321
  • python/cpython#12428
  • python/cpython#12646
  • python/cpython#12648
  • python/cpython#12670
  • python/cpython#12719
  • python/cpython#12833
  • python/cpython#13486
  • python/cpython#13535
  • python/cpython#19447
  • python/cpython#19448
  • python/cpython#20254
  • python/cpython#20256
  • python/cpython#21675
  • python/cpython#21821
  • python/cpython#23391
  • python/cpython#23394
  • python/cpython#23419
  • python/cpython#23473
  • python/cpython#21687
  • python/cpython#23489
  • python/cpython#23507
  • python/cpython#23518
  • python/cpython#23530
  • python/cpython#23716
  • python/cpython#23718
  • python/cpython#23741
  • python/cpython#23776
  • python/cpython#23815
  • python/cpython#23886
  • python/cpython#23920
  • python/cpython#24191
  • python/cpython#25965
  • python/cpython#25983
  • Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.

    Show more details

    GitHub fields: ```python assignee = None closed_at = None created_at = labels = ['type-feature', '3.10', 'build'] title = 'Python should support VxWorks RTOS' updated_at = user = 'https://github.com/kuhlenough' ``` bugs.python.org fields: ```python activity = actor = 'Alex.Willmer' assignee = 'none' closed = False closed_date = None closer = None components = ['Build'] creation = creator = 'Brian Kuhl' dependencies = [] files = [] hgrepos = [] issue_num = 31904 keywords = ['patch'] message_count = 46.0 messages = ['305249', '305511', '305657', '305690', '305869', '305877', '315365', '336680', '336742', '337083', '337867', '337909', '338964', '339059', '339898', '340244', '340245', '340310', '340385', '340406', '340409', '343004', '343008', '366073', '374361', '374460', '374469', '382014', '382020', '382021', '382023', '382198', '382218', '382276', '382525', '382793', '382807', '383009', '383096', '383097', '383098', '383226', '383259', '383467', '385461', '393247'] nosy_count = 11.0 nosy_names = ['gregory.p.smith', 'vstinner', 'christian.heimes', 'r.david.murray', 'asvetlov', 'lukasz.langa', 'Jim.Jewett', 'izbyshev', 'Brian Kuhl', 'miss-islington', 'pxinwr'] pr_nums = ['4179', '4184', '11951', '11968', '12051', '12118', '12157', '12304', '12305', '12319', '12321', '12428', '12646', '12648', '12670', '12719', '12833', '13486', '13535', '19447', '19448', '20254', '20256', '21675', '21821', '23391', '23394', '23419', '23473', '21687', '23489', '23507', '23518', '23530', '23716', '23718', '23741', '23776', '23815', '23886', '23920', '24191', '25965', '25983'] priority = 'normal' resolution = None stage = 'patch review' status = 'open' superseder = None type = 'enhancement' url = 'https://bugs.python.org/issue31904' versions = ['Python 3.10'] ```

    6858a80c-8457-46a1-887f-9e6758175163 commented 6 years ago

    With the trend to use REST APIs between the cloud and the IoT there is increasing interest in Python on embedded devices. Cloud developer’s typical release a reference REST implementation of JSON and/or Python on Linux and leave it to the device developer to adapt it to their platform. While many devices use eLinux, others with IP and/or hard real-time constraints need a commercial RTOS platform.

    Currently the automake configure explicitly prevents configuration of VxWorks as a build target.

    I'll provide a pull request referencing this issue with the required changes.

    terryjreedy commented 6 years ago

    The following might be relevant to this issue: https://www.python.org/dev/peps/pep-0011/#supporting-platforms

    vstinner commented 6 years ago

    To support a new platform, you need a developer who can support this platform next years, a working buildbot, etc. You can start a discussion on python-dev to get a first feedback.

    Without a strong support, this issue should be fixed a REJECTED and a patch should be maintainted out of the tree. Since the PR seems small, it should be "easy" to keep a fork of CPython up to date.

    vstinner commented 6 years ago

    FYI I already started a thread on python-dev: [Python-Dev] Partial support of a platform https://mail.python.org/pipermail/python-dev/2017-November/150238.html

    6858a80c-8457-46a1-887f-9e6758175163 commented 6 years ago

    I'm quite happy to take on maintainer role for Python on VxWorks, so I think we can get that one solved.

    Enabling a build bot for cross compile of propitiatory OS presents a number of legal licensing issues that outside my control. And I'll discuss it internally at Wind River. However I think it is in line with where our customers want us to go, so well worth pursuing.

    I'll keep this pull request active and up to date, till the broader issues you have raised can be resolved.

    I'll post a proposal on the mailing list after I consulted within Wind River.

    Many thanks for your interest and support.

    bitdancer commented 6 years ago

    I'm not sure what licensing issues you are talking about, but setting up a buildbot shouldn't normally run into any. As long as you have a license to the run the OS, the fact that you are using it to receive jobs from our build master and run them shouldn't be a problem. You can keep the whole thing behind a firewall in a DMZ: the slave makes outbound connections to pick up its jobs.

    On the other hand, the logistics of setting up a cross compile buildbot might be a bit complex, I've never done that. You might need specific support from our build master. In any case, the python-buldbots mailing list is the place to talk if you want to/can pursue this.

    ned-deily commented 6 years ago

    As I commented on the PR, I think this PR should not be merged until and if there is a consensus that this support belongs in the standard cpython repo and there is an agreed-upon plan how this platform would be supported on going. I think it needs an approved PEP. We've allowed ourselves in the past to do a long-term disservice to our downstream users by merging in support for platforms that we were not equipped to support. In any case, it would need to wait for 3.8.

    vstinner commented 5 years ago

    Kuhl, Brian started a new discussion: [Python-Dev] VxWorks and cpython? https://mail.python.org/pipermail/python-dev/2019-January/156024.html

    PR 11968 and PR 12051 are small and reasonable.

    IMHO we can take decisions on a case by case basic. But WindRiver plans to provide a buildbot and is already showing their will to propose PRs, so it seems like things are moving on.

    vstinner commented 5 years ago

    New changeset 32f5fdd7f4213743fe2f6eedd0fe2108f3157021 by Victor Stinner (pxinwr) in branch 'master': bpo-31904: Add cross-build support for VxWorks RTOS (GH-11968) https://github.com/python/cpython/commit/32f5fdd7f4213743fe2f6eedd0fe2108f3157021

    vstinner commented 5 years ago

    New changeset f4b0a1c0da80318e0a4f4c70d2722f01ce3512dd by Victor Stinner (pxinwr) in branch 'master': bpo-31904: Add encoding support for VxWorks RTOS (GH-12051) https://github.com/python/cpython/commit/f4b0a1c0da80318e0a4f4c70d2722f01ce3512dd

    vstinner commented 5 years ago

    New changeset 8b5bdda5b4c418c4a858f183763d0a497170977c by Victor Stinner (pxinwr) in branch 'master': bpo-31904: Adapt the _signal module to VxWorks RTOS (GH-12304) https://github.com/python/cpython/commit/8b5bdda5b4c418c4a858f183763d0a497170977c

    vstinner commented 5 years ago

    Please stop to send new PRs which depend on other PRs which are not merged yet, it becomes too hard to follow :-( Let's focus on first PRs.

    vstinner commented 5 years ago

    New changeset f4333d0479d6974d142e858522e95cbf8381f016 by Victor Stinner (hliu0) in branch 'master': bpo-31904: Fix test_utf8_mode on VxWorks (GH-12428) https://github.com/python/cpython/commit/f4333d0479d6974d142e858522e95cbf8381f016

    tiran commented 5 years ago

    I'm against implementing crypt on top of OpenSSL's DES_crypt. Please don't support the module at all instead of just supporting a completely broken implementation.

    vstinner commented 5 years ago

    Please stop adding more pull requests, I cannot review too many at the same time. I would prefer to have a limit of 4 open PRs. I don't propose to close existing ones. Just stop to add more :-)

    vstinner commented 5 years ago

    New changeset 236d0b75c41449a266201c683b4b0d6acdee02df by Victor Stinner (pxinwr) in branch 'master': bpo-31904: Don't build the _crypt extension on VxWorks (GH-12833) https://github.com/python/cpython/commit/236d0b75c41449a266201c683b4b0d6acdee02df

    vstinner commented 5 years ago

    New changeset f1464f4d2ecf9b809ff768c523c5eea1abd31c55 by Victor Stinner (pxinwr) in branch 'master': bpo-31904: Port the time module on VxWorks (GH-12305) https://github.com/python/cpython/commit/f1464f4d2ecf9b809ff768c523c5eea1abd31c55

    d6962455-ef8d-4321-8f67-2a37ab9f2e5a commented 5 years ago

    @vstinner I've informed WRS team of temporarily not creating new PRs in until less than 4 PRs are in the open state. Next we will keep open PRs less than 4. Thanks for your effort on them.

    vstinner commented 5 years ago

    New changeset 36c41bc2017921321dbb19557f616a6bb7572c83 by Victor Stinner (Lihua Zhao) in branch 'master': bpo-31904: Fix test_tabnanny on VxWorks (GH-12646) https://github.com/python/cpython/commit/36c41bc2017921321dbb19557f616a6bb7572c83

    vstinner commented 5 years ago

    New changeset 2954550818e5c23a082e6279eb326168230ebf04 by Victor Stinner (Lihua Zhao) in branch 'master': bpo-31904: Port test_cmd_line to VxWorks (bpo-12648) https://github.com/python/cpython/commit/2954550818e5c23a082e6279eb326168230ebf04

    vstinner commented 5 years ago

    New changeset 693c104ae74feea11f0b51176dc91ecd153230c0 by Victor Stinner (Lihua Zhao) in branch 'master': bpo-31904: Port test_resource to VxWorks (GH-12719) https://github.com/python/cpython/commit/693c104ae74feea11f0b51176dc91ecd153230c0

    vstinner commented 5 years ago

    New changeset f2d7ac7e5bd821e29e0fcb78a760a282059ae000 by Victor Stinner (pxinwr) in branch 'master': bpo-31904: Add posix module support for VxWorks (GH-12118) https://github.com/python/cpython/commit/f2d7ac7e5bd821e29e0fcb78a760a282059ae000

    vstinner commented 5 years ago

    Please update PR 12670: see my comment there.

    vstinner commented 4 years ago

    New changeset 5cd28030092eaa8eb9223afd733974fd2afc8e2c by pxinwr in branch 'master': bpo-31904: Fix test_c_locale_coercion encodings for VxWorks RTOS (GH-19448) https://github.com/python/cpython/commit/5cd28030092eaa8eb9223afd733974fd2afc8e2c

    methane commented 4 years ago

    New changeset 855e68855eeb06f8f0319b3366d3a012c2ff2041 by pxinwr in branch 'master': bpo-31904: Fix test_ftplib failures for VxWorks RTOS (GH-19447) https://github.com/python/cpython/commit/855e68855eeb06f8f0319b3366d3a012c2ff2041

    74c4563b-ab1c-43d8-9219-30c4eca796bc commented 4 years ago

    Is it safe to say that there is an now intent to support VxWorks within the main tree, with Wind River agreeing to be primary support?

    And this ticket has become a tracking ticket for the status on getting it there, small PR by small PR plus buildbot?

    d6962455-ef8d-4321-8f67-2a37ab9f2e5a commented 4 years ago

    @Jim.Jewett Yes. We have got most modules passed testing locally. Now we want to get the patches upstream. So VxWorks platform can be officially supported.

    vstinner commented 3 years ago

    New changeset aa1b8a168d8b8dc1dfc426364b7b664501302958 by pxinwr in branch 'master': bpo-31904: Fix test_os.test_getcwd_long_path() failure for VxWorks (GH-20256) https://github.com/python/cpython/commit/aa1b8a168d8b8dc1dfc426364b7b664501302958

    miss-islington commented 3 years ago

    New changeset a86a274b7224a5069f82c2d2cdd1f499d9c8dc22 by pxinwr in branch 'master': bpo-31904: add shell requirement for test_pipes (GH-23489) https://github.com/python/cpython/commit/a86a274b7224a5069f82c2d2cdd1f499d9c8dc22

    miss-islington commented 3 years ago

    New changeset 6a273fdc2a36f52fb70359149eff014f1b6b08d4 by pxinwr in branch 'master': bpo-31904: skip some tests related to fifo on VxWorks (GH-23473) https://github.com/python/cpython/commit/6a273fdc2a36f52fb70359149eff014f1b6b08d4

    miss-islington commented 3 years ago

    New changeset 00a6568ba37f0d815289776a51af46d0eac27384 by pxinwr in branch 'master': bpo-31904: remove libnet dependency from detect_socket() for VxWorks (GH-23394) https://github.com/python/cpython/commit/00a6568ba37f0d815289776a51af46d0eac27384

    vstinner commented 3 years ago

    New changeset 1244c816d7cdfa8a26d1671cab67122a8c5271a7 by pxinwr in branch 'master': bpo-31904: Support signal module on VxWorks (GH-23391) https://github.com/python/cpython/commit/1244c816d7cdfa8a26d1671cab67122a8c5271a7

    vstinner commented 3 years ago

    New changeset b2d0c66e881301ed8908da3cb41bbf253c449b0c by pxinwr in branch 'master': bpo-31904: Fix fifo test cases for VxWorks (GH-20254) https://github.com/python/cpython/commit/b2d0c66e881301ed8908da3cb41bbf253c449b0c

    vstinner commented 3 years ago

    New changeset e483d281bd55be0beee3e62d18e0719175bde671 by pxinwr in branch 'master': bpo-31904: Fix test_netrc for VxWorks RTOS (GH-21675) https://github.com/python/cpython/commit/e483d281bd55be0beee3e62d18e0719175bde671

    gpshead commented 3 years ago

    New changeset 8d4f57dbd10846ffb4881b6509a511be0ab3b913 by pxinwr in branch 'master': bpo-31904: fix test_doctest.py failures for VxWorks (GH-23419) https://github.com/python/cpython/commit/8d4f57dbd10846ffb4881b6509a511be0ab3b913

    4ed0236c-b3ec-43a1-a968-1e34547fb03d commented 3 years ago

    test comment

    vstinner commented 3 years ago

    New changeset d5dcb653176387b72c8630f1a5464571f538a639 by pxinwr in branch 'master': bpo-31904: Define THREAD_STACK_SIZE for VxWorks (GH-23718) https://github.com/python/cpython/commit/d5dcb653176387b72c8630f1a5464571f538a639

    vstinner commented 3 years ago

    New changeset c117426bf8e7dd7a25e7d15bfbc88253b6ed42de by pxinwr in branch 'master': bpo-31904: Enable libpython3.so shared library for VxWorks (GH-23741) https://github.com/python/cpython/commit/c117426bf8e7dd7a25e7d15bfbc88253b6ed42de

    vstinner commented 3 years ago

    New changeset e1e3c2dac3da8a179f57bd3e3309ab65385bcc8a by pxinwr in branch 'master': bpo-31904: Disable os.popen and popen test cases on VxWorks (GH-21687) https://github.com/python/cpython/commit/e1e3c2dac3da8a179f57bd3e3309ab65385bcc8a

    vstinner commented 3 years ago

    New changeset 9a0dea6137a9fe295c8b03aaa08a74c8572ecc4e by pxinwr in branch 'master': bpo-31904: Skip some tests of changing owner in _test_all_chown_common() on VxWorks (GH-23716) https://github.com/python/cpython/commit/9a0dea6137a9fe295c8b03aaa08a74c8572ecc4e

    vstinner commented 3 years ago

    New changeset b230409f21f5e5b42de6ec10147cd95ae3bdd095 by pxinwr in branch 'master': bpo-31904: Skip os.path.expanduser() tests on VxWorks (GH-23776) https://github.com/python/cpython/commit/b230409f21f5e5b42de6ec10147cd95ae3bdd095

    asvetlov commented 3 years ago

    New changeset ba760f3710eccdfae2b680a5f94fe0160ddb1536 by pxinwr in branch 'master': bpo-31904: Skip some asyncio tests on VxWorks (bpo-23815) https://github.com/python/cpython/commit/ba760f3710eccdfae2b680a5f94fe0160ddb1536

    vstinner commented 3 years ago

    New changeset 75dabfe7a8324a16687959cc401deb72b104a575 by pxinwr in branch 'master': bpo-31904: posixpath.expanduser() handles None user home on VxWorks (GH-23530) https://github.com/python/cpython/commit/75dabfe7a8324a16687959cc401deb72b104a575

    vstinner commented 3 years ago

    New changeset ab74c014ae514fde7487542ec96ef45235aa86b0 by pxinwr in branch 'master': bpo-31904: Fix site and sysconfig modules for VxWorks RTOS (GH-21821) https://github.com/python/cpython/commit/ab74c014ae514fde7487542ec96ef45235aa86b0

    vstinner commented 3 years ago

    New changeset 5e45f1c8e7bc5f0ab8feba88b9b6e47066203a5c by pxinwr in branch 'master': bpo-31904: setup.py: fix cross-compilation on VxWorks (GH-24191) https://github.com/python/cpython/commit/5e45f1c8e7bc5f0ab8feba88b9b6e47066203a5c

    miss-islington commented 3 years ago

    New changeset 6e7fe1901631dc730abc02d1f546a99fd6b6fe83 by Miss Islington (bot) in branch '3.10': [3.10] bpo-31904: Correct error string in test_file_not_exists() for VxWorks (GH-25965) (GH-25983) https://github.com/python/cpython/commit/6e7fe1901631dc730abc02d1f546a99fd6b6fe83

    encukou commented 6 months ago

    All linked PRs are now closed. I plan to close the issue in a week if there are no objections.

    I would advise anyone interested in supporting VxWorks to add themselves to the experts list.

    vstinner commented 6 months ago

    Let's close the issue. I helped to get some VxWorks changes merged, but the issue is now idle since 2021.