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