Bug#1019578: arduino-mk: should not depend on arduino
Edgar Bonet
bonet at grenoble.cnrs.fr
Mon Sep 12 14:18:58 BST 2022
Package: arduino-mk
Version: 1.5.2-2.1
X-Debbugs-Cc: bonet at grenoble.cnrs.fr
Dear Maintainer,
The arduino package provides an IDE that can be used to build Arduino
programs and upload them to their target boards. The arduino-mk package
provides an alternative, command-line way of doing the same, which is
*extremely lightweight*, and thus very suitable for lightweight
environments such as headless single-board computers, CI runners, Docker
images, etc.
On version 1.5.2-2.1, arduino-mk added arduino as a dependency. On a
headless Bullseye, this pulls more than 100 packages that are not useful
in this context, including a whole X11 stack and lots of Java stuff.
That is hundreds of megabytes we have no use for. Doing so defeats one
of the main appeals of arduino-mk.
I have read the bug #981300 "arduino-mk: needs to depend on arduino
2:1.8.13+dfsg1-1" but, while that discussion addresses a real issue, I
believe it reaches the wrong solution. As far as I can tell, depending
on arduino brings only two benefits:
1. it pulls the dependencies on arduino-core-avr and avrdude
2. it gets us the 15-byte file /usr/share/arduino/lib/version.txt
Point 1 could be achieved by having arduino-mk depend directly on
arduino-core-avr and avrdude. Point 2 could be achieved by having
Arduino.mk search for a version number in a file shipped by
arduino-core-avr. It turns out the version of the core is more relevant
than the version of the (unused) IDE. I suggest either:
- Shipping a version.txt file in arduino-core-avr, and having
Arduino.mk read that rather than the one shipped by arduino.
- Having Arduino.mk read the version information from platform.txt,
e.g. by grepping for /^version=/.
Best regards,
Edgar Bonet.
-- System Information:
Debian Release: 11.5
APT prefers stable-updates
APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 'stable')
Architecture: amd64 (x86_64)
Kernel: Linux 5.10.0-18-amd64 (SMP w/2 CPU threads)
Locale: LANG=C.UTF-8, LC_CTYPE=C.UTF-8 (charmap=locale: Cannot set LC_ALL to default locale: No such file or directory
UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
Versions of packages arduino-mk depends on:
ii arduino 2:1.8.13+dfsg1-2
ii make 4.3-4.1
ii python3 3.9.2-3
ii python3-serial 3.5~b0-1
Versions of packages arduino-mk recommends:
ii screen 4.8.0-6
arduino-mk suggests no packages.
-- debconf information excluded
More information about the debian-science-maintainers
mailing list