Closed
Description
Bug Report
Library authors can use a relaxed-semver. For example, 1.0
is OK. If such a library is installed, lib list
will return with the 1.0
version, which is not a valid semver. Hence the library install will fail with this version.
Current behavior
Steps to reproduce:
% rm -rf ~/Documents/Arduino && rm -rf ~/Library/Arduino15
% ./arduino-cli version --format json
{
"Application": "arduino-cli",
"VersionString": "0.22.0",
"Commit": "65f662a7",
"Status": "",
"Date": "2022-05-06T11:09:35Z"
}
% ./arduino-cli lib list --format json
[]
% ./arduino-cli lib install "ILI9341_t3"@1.0.0 --format json
% ./arduino-cli lib list --format json
[
{
"library": {
"name": "ILI9341_t3",
"author": "Limor Fried, Adafruit, Paul Stoffregen",
"maintainer": "Paul Stoffregen",
"sentence": "Optimized ILI9341 (320x240 Color TFT) Display",
"website": "https://github.com/PaulStoffregen/ILI9341_t3",
"category": "Display",
"architectures": [
"*"
],
"install_dir": "/Users/a.kitta/Documents/Arduino/libraries/ILI9341_t3",
"source_dir": "/Users/a.kitta/Documents/Arduino/libraries/ILI9341_t3",
"real_name": "ILI9341_t3",
"version": "1.0",
"license": "Unspecified",
"location": 1,
"examples": [
"/Users/a.kitta/Documents/Arduino/libraries/ILI9341_t3/examples/breakouttouchpaint",
"/Users/a.kitta/Documents/Arduino/libraries/ILI9341_t3/examples/graphicstest",
"/Users/a.kitta/Documents/Arduino/libraries/ILI9341_t3/examples/onoffbutton",
"/Users/a.kitta/Documents/Arduino/libraries/ILI9341_t3/examples/onoffbutton_breakout",
"/Users/a.kitta/Documents/Arduino/libraries/ILI9341_t3/examples/spitftbitmap",
"/Users/a.kitta/Documents/Arduino/libraries/ILI9341_t3/examples/touchpaint"
],
"provides_includes": [
"ILI9341_t3.h"
]
}
}
]
% rm -rf ~/Documents/Arduino && rm -rf ~/Library/Arduino15
% ./arduino-cli lib list --format json
[]
% ./arduino-cli lib install "ILI9341_t3"@1.0 --format json
Error installing ILI9341_t3: Library '[email protected]' not found
%
Expected behavior
In this particular case, the lib list
should return with such a JSON:
[
{
"library": {
"name": "ILI9341_t3",
"author": "Limor Fried, Adafruit, Paul Stoffregen",
"maintainer": "Paul Stoffregen",
"sentence": "Optimized ILI9341 (320x240 Color TFT) Display",
"website": "https://github.com/PaulStoffregen/ILI9341_t3",
"category": "Display",
"architectures": [
"*"
],
"install_dir": "/Users/a.kitta/Documents/Arduino/libraries/ILI9341_t3",
"source_dir": "/Users/a.kitta/Documents/Arduino/libraries/ILI9341_t3",
"real_name": "ILI9341_t3",
"version": "1.0.0", // <---- return with `1.0.0` instead of `1.0`
"license": "Unspecified",
"location": 1,
"examples": [
"/Users/a.kitta/Documents/Arduino/libraries/ILI9341_t3/examples/breakouttouchpaint",
"/Users/a.kitta/Documents/Arduino/libraries/ILI9341_t3/examples/graphicstest",
"/Users/a.kitta/Documents/Arduino/libraries/ILI9341_t3/examples/onoffbutton",
"/Users/a.kitta/Documents/Arduino/libraries/ILI9341_t3/examples/onoffbutton_breakout",
"/Users/a.kitta/Documents/Arduino/libraries/ILI9341_t3/examples/spitftbitmap",
"/Users/a.kitta/Documents/Arduino/libraries/ILI9341_t3/examples/touchpaint"
],
"provides_includes": [
"ILI9341_t3.h"
]
}
}
]
The lib list
should result in a valid semver
version.
Pipe-dream:
lib install
should handle relaxed-semvers gracefully, and lib install "ILI9341_t3"@1.0
should succeed.
Environment
- CLI version (output of
arduino-cli version
):arduino-cli Version: 0.22.0 Commit: 65f662a7 Date: 2022-05-06T11:09:35Z
- OS and platform:
macOS 12.3.1 (21E258)