Skip to content

Support built-in tool builds provided by 3rd parties #3106

Description

@n-peugnet

Describe the request

We packaged arduino-cli in Debian and it builds correctly for amd64, arm64, armhf and i386 archs, but fails for the other archs that Debian supports as release architectures (loon64, ppc64el, riscv64, s390x). These architectures are supported by the gc compiler on Linux, so at first glance, it shouldn't be an issue to build arduino-cli for these in Debian.

From what I understand, tools are downloaded by arduino-cli when any subcommand of arduino-cli core is executed. This is already not ideal from Debian point of view, where we usually want to ship only binaries built by ourselves.

I wonder if not downloading these tools makes arduino-cli completely unusable or if they are optional.

I would also like if there could be some place where Debian could install these tools that would make arduino-cli directly use them instead of downloading them (some directory inside of /usr/libexec/ for example). Would the maintainers of arduino-cli be interested by such a feature?

Describe the current behaviour

Currently, the build fails on certain archs because of this test failure:

=== RUN   TestFindPlatformReleaseDependencies
time="2026-02-19T23:03:17Z" level=info msg="Missing signature file" index=testdata/package_tooltest_index.json
    package_manager_test.go:803: 
        	Error Trace:	/build/reproducible-path/arduino-cli-1.2.2/debian/build/src/github.com/arduino/arduino-cli/internal/arduino/cores/packagemanager/package_manager_test.go:803
        	Error:      	Received unexpected error:
        	            	platform is not available for your OS
        	Test:       	TestFindPlatformReleaseDependencies
--- FAIL: TestFindPlatformReleaseDependencies (0.00s)

I could simply skip this test to make the build succeed, but this makes me wonder if the resulting build will really be usable.

Arduino CLI version

1.2.2

Operating system

Linux

Operating system version

Debian 14

Additional context

I did not really verify the nightly build 😓

Issue checklist

  • I searched for previous requests in the issue tracker
  • I verified the feature was still missing when using the nightly build
  • My request contains all necessary details

Metadata

Metadata

Assignees

No one assigned

    Labels

    topic: codeRelated to content of the project itselftopic: package-managementRelated to the packaging and managing of the platform/librariestype: enhancementProposed improvement

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions