Public bug reported:
Please remove the `platformio` source and binary package from the Ubuntu
archive (and consider either removing or patching it in Noble 24.04 if
appropriate, as it is 100% non-functional).
### Background & Impact
The `platformio` package in Ubuntu (version `4.3.4-3`) has not had a real
upstream update in Debian since July 2020 (upstream is currently at 6.x).
In Ubuntu 24.04 LTS (Noble) and later, running `pio` or `platformio`
fails immediately on invocation before parsing any arguments because
`python3-click` (>= 8.1) removed the deprecated `resultcallback()`
method in favor of `result_callback()`.
Because the package had no build-time tests or autopkgtests exercising
the CLI entrypoint, it continued to build cleanly and was auto-synced
from Debian unstable into Noble without anyone noticing it was DOA at
runtime.
Additionally, having `/usr/bin/pio` installed breaks users who also have
the official PlatformIO installation (`~/.platformio/penv/bin/pio`), as
`/usr/bin/pio` takes precedence in `$PATH` and crashes.
### Steps to Reproduce
1. `sudo apt install platformio`
2. Run `pio` or `platformio --version`
### Actual Result
$ pio
Traceback (most recent call last):
File "/usr/bin/pio", line 33, in <module>
sys.exit(load_entry_point('platformio==4.3.4', 'console_scripts', 'pio')())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/bin/pio", line 25, in importlib_load_entry_point
return next(matches).load()
^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/importlib/metadata/__init__.py", line 205, in load
module = import_module(match.group('module'))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/importlib/__init__.py", line 90, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "<frozen importlib._bootstrap>", line 1387, in _gcd_import
File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
File "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 935, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 995, in exec_module
File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
File "/usr/lib/python3/dist-packages/platformio/__main__.py", line 66, in
<module>
@cli.resultcallback()
^^^^^^^^^^^^^^^^^^
AttributeError: 'PlatformioCLI' object has no attribute 'resultcallback'. Did
you mean: 'result_callback'?
### Justification for Removal
1. **Unmaintained in Debian:** Last upstream version packaged was 4.3.4 in 2020
(with only Debian Janitor uploads in 2021 and 2022). Debian's release team only
noticed and removed platformio from Debian testing after Ubuntu 24.04 (Noble)
had already frozen and released with 4.3.4-3 in its archive.
2. **Completely non-functional:** Cannot even display `--help` or `--version`
with Python 3.12 and `python3-click` 8.1+ in Noble.
3. **Upstream recommendation:** PlatformIO upstream actively discourages
distribution packages because PlatformIO manages its own isolated Python
virtual environment (`~/.platformio/penv`) and toolchains.
4. **No reverse dependencies:** `apt-cache rdepends platformio` shows no
reverse dependencies in the archive (only `Suggests` from `thonny`).
** Affects: platformio (Ubuntu)
Importance: Undecided
Status: Confirmed
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2171556
Title:
RM: platformio -- dead upstream in Debian, completely broken at
runtime in Noble+ (incompatible with python3-click >= 8.1)
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/platformio/+bug/2171556/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs