diff --git a/Taskfile.yml b/Taskfile.yml index 9803e3dd8..cbe2dd312 100644 --- a/Taskfile.yml +++ b/Taskfile.yml @@ -118,7 +118,7 @@ tasks: set -e echo "Runner version set as: {{ .EXAMPLE_VERSION }}" TMP_PATH="$(mktemp -d)" - DEST_PATH="debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/" + DEST_PATH="debian/arduino-app-cli/var/lib/arduino-app-cli/" echo "Cloning arduino/app-bricks-examples into temporary directory ${TMP_PATH}..." git clone --depth 1 --branch "{{ .EXAMPLE_VERSION }}" https://github.com/arduino/app-bricks-examples "${TMP_PATH}" rm -rf "${DEST_PATH}/examples" @@ -209,11 +209,11 @@ tasks: generate:assets: desc: This generates the models and bricks index. Also updates the corresponding testdata. vars: - sed_replacement: s#runnerVersion = \".*#runnerVersion = \"{{.RUNNER_VERSION}}\"# + sed_replacement: s#RunnerVersion = \".*#RunnerVersion = \"{{.RUNNER_VERSION}}\"# TMPDIR: '{{trimSuffix "/" (env "TMPDIR")| default "/tmp"}}/generate-assets' SEMVER_TAG: "{{.RUNNER_VERSION}}" OUTPUT_DIR: "{{.TMPDIR}}/{{.SEMVER_TAG}}" - ASSETS_DIR: debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets + ASSETS_DIR: debian/arduino-app-cli/var/lib/arduino-app-cli/assets TESTDATA_DIR: internal/e2e/daemon/testdata/assets preconditions: - sh: '[ ! -d "{{.ASSETS_DIR}}/{{.SEMVER_TAG}}" ] || [ ! -d "{{.TESTDATA_DIR}}/{{.SEMVER_TAG}}" ]' diff --git a/debian/Dockerfile b/debian/Dockerfile index 781d40711..aa2b91a62 100644 --- a/debian/Dockerfile +++ b/debian/Dockerfile @@ -43,6 +43,11 @@ RUN apt-get update && apt-get install -y sed COPY ./debian/${DEB_NAME} /${DEB_NAME}/ COPY --from=go /app/${BINARY_NAME} /${DEB_NAME}/usr/bin/${BINARY_NAME} +RUN (cd /${DEB_NAME}/DEBIAN && \ + sed -e '/# SHARED_FUNCTIONS/r helper_func.sh' ./prerm > prerm.tmp && mv prerm.tmp ./prerm && \ + sed -e '/# SHARED_FUNCTIONS/r helper_func.sh' ./preinst > preinst.tmp && mv preinst.tmp ./preinst &&\ + chmod a+x ./prerm ./preinst) + # Go application are tagged with `v` prefix, this remove the first v if present RUN export VERSION=$(echo "${VERSION}" | sed -e "s/^v\(.*\)/\1/") && \ sed -i "s/\$ARCH/${ARCH}/" /${DEB_NAME}/DEBIAN/control && \ diff --git a/debian/arduino-app-cli/DEBIAN/helper_func.sh b/debian/arduino-app-cli/DEBIAN/helper_func.sh new file mode 100644 index 000000000..2bbf30837 --- /dev/null +++ b/debian/arduino-app-cli/DEBIAN/helper_func.sh @@ -0,0 +1,28 @@ +# Function: cleanup_arduino_examples +# Description: Stops running Arduino apps within example directories and +# removes associated cache files, but only if the root +# examples directory exists. +# +# Arguments: +# $1 - The path to the root examples directory (EXAMPLES_DIR). +# +cleanup_arduino_examples() { + local EXAMPLES_DIR="$1" + + if [ -d "${EXAMPLES_DIR}" ]; then + local EXAMPLES=$(find "${EXAMPLES_DIR}" -maxdepth 1 -mindepth 1 -type d 2>/dev/null) + echo "Stopping apps and clearing cache in: ${EXAMPLES_DIR}" + for dir_path in ${EXAMPLES}; do + # 1. Stop the application (suppress output and errors) + sudo -u arduino /usr/bin/arduino-app-cli app stop "${dir_path}" > /dev/null 2>&1 || true + + # 2. Remove the cache directory + local CACHE_PATH="${dir_path}/.cache" + + # Check if the cache directory exists before attempting to remove it + if [ -d "${CACHE_PATH}" ]; then + rm -r "${CACHE_PATH}" + fi + done + fi +} diff --git a/debian/arduino-app-cli/DEBIAN/postinst b/debian/arduino-app-cli/DEBIAN/postinst index da060a89b..3d0d0e20e 100755 --- a/debian/arduino-app-cli/DEBIAN/postinst +++ b/debian/arduino-app-cli/DEBIAN/postinst @@ -1,7 +1,16 @@ #!/bin/sh -chown -R arduino:arduino /home/arduino/.local/share/arduino-app-cli +chown -R arduino:arduino /var/lib/arduino-app-cli systemctl enable arduino-app-cli systemctl enable arduino-burn-bootloader systemctl enable arduino-avahi-serial.service + +if [ "$1" = "configure" ]; then + if dpkg --compare-versions "$2" lt "0.9.0"; then + echo "Running pre-0.9.0 legacy migration..." + rm -rf /home/arduino/.local/share/arduino-app-cli/examples + rm -rf /home/arduino/.local/share/arduino-app-cli/properties.msgpack* + rm -rf /home/arduino/.local/share/arduino-app-cli/bootloader_burned.flag + fi +fi diff --git a/debian/arduino-app-cli/DEBIAN/preinst b/debian/arduino-app-cli/DEBIAN/preinst index 482b0b6d9..e44646d6c 100755 --- a/debian/arduino-app-cli/DEBIAN/preinst +++ b/debian/arduino-app-cli/DEBIAN/preinst @@ -23,3 +23,18 @@ if ! getent group "$SYSUPGRADE_GROUP" >/dev/null 2>&1; then groupadd --system "$SYSUPGRADE_GROUP" fi usermod -aG "$SYSUPGRADE_GROUP" "$APP_USER" + + +# SHARED_FUNCTIONS + +if [ "$1" = "upgrade" ]; then + # check if this is an upgrade from an old version + if dpkg --compare-versions "$2" lt "0.9.0"; then + echo "Running pre-0.9.0 legacy migration..." + cleanup_arduino_examples /home/arduino/.local/share/arduino-app-cli/examples + mkdir -p /var/lib/arduino-app-cli + cp -rf /home/arduino/.local/share/arduino-app-cli/examples /var/lib/arduino-app-cli + cp -rf /home/arduino/.local/share/arduino-app-cli/properties.msgpack* /var/lib/arduino-app-cli + cp -rf /home/arduino/.local/share/arduino-app-cli/bootloader_burned.flag /var/lib/arduino-app-cli + fi +fi diff --git a/debian/arduino-app-cli/DEBIAN/prerm b/debian/arduino-app-cli/DEBIAN/prerm old mode 100755 new mode 100644 index 6d35c65c6..1fbf79fda --- a/debian/arduino-app-cli/DEBIAN/prerm +++ b/debian/arduino-app-cli/DEBIAN/prerm @@ -1,5 +1,12 @@ #!/bin/sh +set -e + systemctl disable arduino-app-cli systemctl disable arduino-burn-bootloader systemctl disable arduino-avahi-serial.service + +# SHARED_FUNCTIONS + +echo "Cache cleanup..." +cleanup_arduino_examples /var/lib/arduino-app-cli/examples \ No newline at end of file diff --git a/debian/arduino-app-cli/etc/systemd/system/arduino-burn-bootloader.service b/debian/arduino-app-cli/etc/systemd/system/arduino-burn-bootloader.service index 0eb42ec2a..96ca254db 100644 --- a/debian/arduino-app-cli/etc/systemd/system/arduino-burn-bootloader.service +++ b/debian/arduino-app-cli/etc/systemd/system/arduino-burn-bootloader.service @@ -1,7 +1,7 @@ [Unit] Description=Burn arduino zephyr bootloader on first boot After=fs-local.target -ConditionPathExists=!/home/arduino/.local/share/arduino-app-cli/bootloader_burned.flag +ConditionPathExists=!/var/lib/arduino-app-cli/bootloader_burned.flag [Service] Type=oneshot @@ -9,8 +9,8 @@ RemainAfterExit=true User=arduino Group=arduino ExecStart=/usr/bin/arduino-cli burn-bootloader -b arduino:zephyr:unoq -P jlink -ExecStartPost=/bin/mkdir -p /home/arduino/.local/share/arduino-app-cli -ExecStartPost=/bin/touch /home/arduino/.local/share/arduino-app-cli/bootloader_burned.flag +ExecStartPost=/bin/mkdir -p /var/lib/arduino-app-cli +ExecStartPost=/bin/touch /var/lib/arduino-app-cli/bootloader_burned.flag StandardOutput=journal StandardError=journal diff --git a/debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_bricks/air_quality_monitoring/API.md b/debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_bricks/air_quality_monitoring/API.md similarity index 100% rename from debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_bricks/air_quality_monitoring/API.md rename to debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_bricks/air_quality_monitoring/API.md diff --git a/debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_bricks/arduino_cloud/API.md b/debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_bricks/arduino_cloud/API.md similarity index 100% rename from debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_bricks/arduino_cloud/API.md rename to debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_bricks/arduino_cloud/API.md diff --git a/debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_bricks/audio_classification/API.md b/debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_bricks/audio_classification/API.md similarity index 100% rename from debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_bricks/audio_classification/API.md rename to debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_bricks/audio_classification/API.md diff --git a/debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_bricks/camera_code_detection/API.md b/debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_bricks/camera_code_detection/API.md similarity index 100% rename from debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_bricks/camera_code_detection/API.md rename to debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_bricks/camera_code_detection/API.md diff --git a/debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_bricks/cloud_llm/API.md b/debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_bricks/cloud_llm/API.md similarity index 100% rename from debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_bricks/cloud_llm/API.md rename to debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_bricks/cloud_llm/API.md diff --git a/debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_bricks/dbstorage_sqlstore/API.md b/debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_bricks/dbstorage_sqlstore/API.md similarity index 100% rename from debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_bricks/dbstorage_sqlstore/API.md rename to debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_bricks/dbstorage_sqlstore/API.md diff --git a/debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_bricks/dbstorage_tsstore/API.md b/debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_bricks/dbstorage_tsstore/API.md similarity index 100% rename from debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_bricks/dbstorage_tsstore/API.md rename to debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_bricks/dbstorage_tsstore/API.md diff --git a/debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_bricks/image_classification/API.md b/debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_bricks/image_classification/API.md similarity index 100% rename from debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_bricks/image_classification/API.md rename to debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_bricks/image_classification/API.md diff --git a/debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_bricks/keyword_spotting/API.md b/debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_bricks/keyword_spotting/API.md similarity index 100% rename from debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_bricks/keyword_spotting/API.md rename to debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_bricks/keyword_spotting/API.md diff --git a/debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_bricks/mood_detector/API.md b/debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_bricks/mood_detector/API.md similarity index 100% rename from debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_bricks/mood_detector/API.md rename to debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_bricks/mood_detector/API.md diff --git a/debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_bricks/motion_detection/API.md b/debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_bricks/motion_detection/API.md similarity index 100% rename from debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_bricks/motion_detection/API.md rename to debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_bricks/motion_detection/API.md diff --git a/debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_bricks/mqtt/API.md b/debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_bricks/mqtt/API.md similarity index 100% rename from debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_bricks/mqtt/API.md rename to debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_bricks/mqtt/API.md diff --git a/debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_bricks/object_detection/API.md b/debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_bricks/object_detection/API.md similarity index 100% rename from debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_bricks/object_detection/API.md rename to debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_bricks/object_detection/API.md diff --git a/debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_bricks/streamlit_ui/API.md b/debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_bricks/streamlit_ui/API.md similarity index 100% rename from debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_bricks/streamlit_ui/API.md rename to debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_bricks/streamlit_ui/API.md diff --git a/debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_bricks/vibration_anomaly_detection/API.md b/debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_bricks/vibration_anomaly_detection/API.md similarity index 100% rename from debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_bricks/vibration_anomaly_detection/API.md rename to debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_bricks/vibration_anomaly_detection/API.md diff --git a/debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_bricks/video_imageclassification/API.md b/debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_bricks/video_imageclassification/API.md similarity index 100% rename from debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_bricks/video_imageclassification/API.md rename to debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_bricks/video_imageclassification/API.md diff --git a/debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_bricks/video_objectdetection/API.md b/debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_bricks/video_objectdetection/API.md similarity index 100% rename from debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_bricks/video_objectdetection/API.md rename to debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_bricks/video_objectdetection/API.md diff --git a/debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_bricks/visual_anomaly_detection/API.md b/debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_bricks/visual_anomaly_detection/API.md similarity index 100% rename from debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_bricks/visual_anomaly_detection/API.md rename to debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_bricks/visual_anomaly_detection/API.md diff --git a/debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_bricks/wave_generator/API.md b/debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_bricks/wave_generator/API.md similarity index 100% rename from debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_bricks/wave_generator/API.md rename to debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_bricks/wave_generator/API.md diff --git a/debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_bricks/weather_forecast/API.md b/debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_bricks/weather_forecast/API.md similarity index 100% rename from debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_bricks/weather_forecast/API.md rename to debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_bricks/weather_forecast/API.md diff --git a/debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_bricks/web_ui/API.md b/debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_bricks/web_ui/API.md similarity index 100% rename from debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_bricks/web_ui/API.md rename to debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_bricks/web_ui/API.md diff --git a/debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_peripherals/microphone/API.md b/debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_peripherals/microphone/API.md similarity index 100% rename from debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_peripherals/microphone/API.md rename to debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_peripherals/microphone/API.md diff --git a/debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_peripherals/speaker/API.md b/debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_peripherals/speaker/API.md similarity index 100% rename from debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_peripherals/speaker/API.md rename to debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_peripherals/speaker/API.md diff --git a/debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_peripherals/usb_camera/API.md b/debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_peripherals/usb_camera/API.md similarity index 100% rename from debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_peripherals/usb_camera/API.md rename to debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_peripherals/usb_camera/API.md diff --git a/debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/bricks-list.yaml b/debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/bricks-list.yaml similarity index 100% rename from debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/bricks-list.yaml rename to debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/bricks-list.yaml diff --git a/debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/compose/arduino/audio_classification/brick_compose.yaml b/debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/compose/arduino/audio_classification/brick_compose.yaml similarity index 100% rename from debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/compose/arduino/audio_classification/brick_compose.yaml rename to debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/compose/arduino/audio_classification/brick_compose.yaml diff --git a/debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/compose/arduino/dbstorage_tsstore/brick_compose.yaml b/debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/compose/arduino/dbstorage_tsstore/brick_compose.yaml similarity index 100% rename from debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/compose/arduino/dbstorage_tsstore/brick_compose.yaml rename to debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/compose/arduino/dbstorage_tsstore/brick_compose.yaml diff --git a/debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/compose/arduino/image_classification/brick_compose.yaml b/debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/compose/arduino/image_classification/brick_compose.yaml similarity index 100% rename from debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/compose/arduino/image_classification/brick_compose.yaml rename to debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/compose/arduino/image_classification/brick_compose.yaml diff --git a/debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/compose/arduino/keyword_spotting/brick_compose.yaml b/debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/compose/arduino/keyword_spotting/brick_compose.yaml similarity index 100% rename from debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/compose/arduino/keyword_spotting/brick_compose.yaml rename to debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/compose/arduino/keyword_spotting/brick_compose.yaml diff --git a/debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/compose/arduino/motion_detection/brick_compose.yaml b/debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/compose/arduino/motion_detection/brick_compose.yaml similarity index 100% rename from debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/compose/arduino/motion_detection/brick_compose.yaml rename to debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/compose/arduino/motion_detection/brick_compose.yaml diff --git a/debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/compose/arduino/object_detection/brick_compose.yaml b/debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/compose/arduino/object_detection/brick_compose.yaml similarity index 100% rename from debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/compose/arduino/object_detection/brick_compose.yaml rename to debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/compose/arduino/object_detection/brick_compose.yaml diff --git a/debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/compose/arduino/vibration_anomaly_detection/brick_compose.yaml b/debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/compose/arduino/vibration_anomaly_detection/brick_compose.yaml similarity index 100% rename from debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/compose/arduino/vibration_anomaly_detection/brick_compose.yaml rename to debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/compose/arduino/vibration_anomaly_detection/brick_compose.yaml diff --git a/debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/compose/arduino/video_image_classification/brick_compose.yaml b/debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/compose/arduino/video_image_classification/brick_compose.yaml similarity index 100% rename from debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/compose/arduino/video_image_classification/brick_compose.yaml rename to debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/compose/arduino/video_image_classification/brick_compose.yaml diff --git a/debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/compose/arduino/video_object_detection/brick_compose.yaml b/debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/compose/arduino/video_object_detection/brick_compose.yaml similarity index 100% rename from debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/compose/arduino/video_object_detection/brick_compose.yaml rename to debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/compose/arduino/video_object_detection/brick_compose.yaml diff --git a/debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/compose/arduino/visual_anomaly_detection/brick_compose.yaml b/debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/compose/arduino/visual_anomaly_detection/brick_compose.yaml similarity index 100% rename from debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/compose/arduino/visual_anomaly_detection/brick_compose.yaml rename to debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/compose/arduino/visual_anomaly_detection/brick_compose.yaml diff --git a/debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/docs/arduino/arduino_cloud/README.md b/debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/docs/arduino/arduino_cloud/README.md similarity index 100% rename from debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/docs/arduino/arduino_cloud/README.md rename to debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/docs/arduino/arduino_cloud/README.md diff --git a/debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/docs/arduino/audio_classification/README.md b/debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/docs/arduino/audio_classification/README.md similarity index 100% rename from debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/docs/arduino/audio_classification/README.md rename to debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/docs/arduino/audio_classification/README.md diff --git a/debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/docs/arduino/camera_code_detection/README.md b/debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/docs/arduino/camera_code_detection/README.md similarity index 100% rename from debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/docs/arduino/camera_code_detection/README.md rename to debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/docs/arduino/camera_code_detection/README.md diff --git a/debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/docs/arduino/cloud_llm/README.md b/debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/docs/arduino/cloud_llm/README.md similarity index 100% rename from debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/docs/arduino/cloud_llm/README.md rename to debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/docs/arduino/cloud_llm/README.md diff --git a/debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/docs/arduino/dbstorage_sqlstore/README.md b/debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/docs/arduino/dbstorage_sqlstore/README.md similarity index 100% rename from debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/docs/arduino/dbstorage_sqlstore/README.md rename to debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/docs/arduino/dbstorage_sqlstore/README.md diff --git a/debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/docs/arduino/dbstorage_tsstore/README.md b/debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/docs/arduino/dbstorage_tsstore/README.md similarity index 100% rename from debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/docs/arduino/dbstorage_tsstore/README.md rename to debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/docs/arduino/dbstorage_tsstore/README.md diff --git a/debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/docs/arduino/image_classification/README.md b/debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/docs/arduino/image_classification/README.md similarity index 100% rename from debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/docs/arduino/image_classification/README.md rename to debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/docs/arduino/image_classification/README.md diff --git a/debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/docs/arduino/keyword_spotting/README.md b/debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/docs/arduino/keyword_spotting/README.md similarity index 100% rename from debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/docs/arduino/keyword_spotting/README.md rename to debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/docs/arduino/keyword_spotting/README.md diff --git a/debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/docs/arduino/mood_detector/README.md b/debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/docs/arduino/mood_detector/README.md similarity index 100% rename from debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/docs/arduino/mood_detector/README.md rename to debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/docs/arduino/mood_detector/README.md diff --git a/debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/docs/arduino/motion_detection/README.md b/debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/docs/arduino/motion_detection/README.md similarity index 100% rename from debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/docs/arduino/motion_detection/README.md rename to debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/docs/arduino/motion_detection/README.md diff --git a/debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/docs/arduino/object_detection/README.md b/debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/docs/arduino/object_detection/README.md similarity index 100% rename from debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/docs/arduino/object_detection/README.md rename to debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/docs/arduino/object_detection/README.md diff --git a/debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/docs/arduino/streamlit_ui/README.md b/debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/docs/arduino/streamlit_ui/README.md similarity index 100% rename from debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/docs/arduino/streamlit_ui/README.md rename to debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/docs/arduino/streamlit_ui/README.md diff --git a/debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/docs/arduino/vibration_anomaly_detection/README.md b/debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/docs/arduino/vibration_anomaly_detection/README.md similarity index 100% rename from debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/docs/arduino/vibration_anomaly_detection/README.md rename to debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/docs/arduino/vibration_anomaly_detection/README.md diff --git a/debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/docs/arduino/video_image_classification/README.md b/debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/docs/arduino/video_image_classification/README.md similarity index 100% rename from debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/docs/arduino/video_image_classification/README.md rename to debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/docs/arduino/video_image_classification/README.md diff --git a/debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/docs/arduino/video_object_detection/README.md b/debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/docs/arduino/video_object_detection/README.md similarity index 100% rename from debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/docs/arduino/video_object_detection/README.md rename to debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/docs/arduino/video_object_detection/README.md diff --git a/debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/docs/arduino/visual_anomaly_detection/README.md b/debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/docs/arduino/visual_anomaly_detection/README.md similarity index 100% rename from debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/docs/arduino/visual_anomaly_detection/README.md rename to debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/docs/arduino/visual_anomaly_detection/README.md diff --git a/debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/docs/arduino/wave_generator/README.md b/debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/docs/arduino/wave_generator/README.md similarity index 100% rename from debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/docs/arduino/wave_generator/README.md rename to debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/docs/arduino/wave_generator/README.md diff --git a/debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/docs/arduino/weather_forecast/README.md b/debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/docs/arduino/weather_forecast/README.md similarity index 100% rename from debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/docs/arduino/weather_forecast/README.md rename to debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/docs/arduino/weather_forecast/README.md diff --git a/debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/docs/arduino/web_ui/README.md b/debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/docs/arduino/web_ui/README.md similarity index 100% rename from debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/docs/arduino/web_ui/README.md rename to debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/docs/arduino/web_ui/README.md diff --git a/debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/examples/arduino/arduino_cloud/1_led_blink.py b/debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/examples/arduino/arduino_cloud/1_led_blink.py similarity index 100% rename from debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/examples/arduino/arduino_cloud/1_led_blink.py rename to debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/examples/arduino/arduino_cloud/1_led_blink.py diff --git a/debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/examples/arduino/arduino_cloud/2_light_with_colors_monitor.py b/debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/examples/arduino/arduino_cloud/2_light_with_colors_monitor.py similarity index 100% rename from debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/examples/arduino/arduino_cloud/2_light_with_colors_monitor.py rename to debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/examples/arduino/arduino_cloud/2_light_with_colors_monitor.py diff --git a/debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/examples/arduino/arduino_cloud/3_light_with_colors_command.py b/debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/examples/arduino/arduino_cloud/3_light_with_colors_command.py similarity index 100% rename from debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/examples/arduino/arduino_cloud/3_light_with_colors_command.py rename to debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/examples/arduino/arduino_cloud/3_light_with_colors_command.py diff --git a/debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/examples/arduino/audio_classification/1_glass_breaking_from_mic.py b/debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/examples/arduino/audio_classification/1_glass_breaking_from_mic.py similarity index 100% rename from debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/examples/arduino/audio_classification/1_glass_breaking_from_mic.py rename to debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/examples/arduino/audio_classification/1_glass_breaking_from_mic.py diff --git a/debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/examples/arduino/audio_classification/2_glass_breaking_from_file.py b/debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/examples/arduino/audio_classification/2_glass_breaking_from_file.py similarity index 100% rename from debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/examples/arduino/audio_classification/2_glass_breaking_from_file.py rename to debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/examples/arduino/audio_classification/2_glass_breaking_from_file.py diff --git a/debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/examples/arduino/camera_code_detection/1_detection.py b/debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/examples/arduino/camera_code_detection/1_detection.py similarity index 100% rename from debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/examples/arduino/camera_code_detection/1_detection.py rename to debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/examples/arduino/camera_code_detection/1_detection.py diff --git a/debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/examples/arduino/camera_code_detection/2_detection_list.py b/debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/examples/arduino/camera_code_detection/2_detection_list.py similarity index 100% rename from debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/examples/arduino/camera_code_detection/2_detection_list.py rename to debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/examples/arduino/camera_code_detection/2_detection_list.py diff --git a/debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/examples/arduino/camera_code_detection/3_detection_with_overrides.py b/debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/examples/arduino/camera_code_detection/3_detection_with_overrides.py similarity index 100% rename from debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/examples/arduino/camera_code_detection/3_detection_with_overrides.py rename to debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/examples/arduino/camera_code_detection/3_detection_with_overrides.py diff --git a/debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/examples/arduino/cloud_llm/1_simple_prompt.py b/debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/examples/arduino/cloud_llm/1_simple_prompt.py similarity index 100% rename from debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/examples/arduino/cloud_llm/1_simple_prompt.py rename to debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/examples/arduino/cloud_llm/1_simple_prompt.py diff --git a/debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/examples/arduino/cloud_llm/2_streaming_responses.py b/debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/examples/arduino/cloud_llm/2_streaming_responses.py similarity index 100% rename from debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/examples/arduino/cloud_llm/2_streaming_responses.py rename to debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/examples/arduino/cloud_llm/2_streaming_responses.py diff --git a/debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/examples/arduino/cloud_llm/3_no_memory.py b/debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/examples/arduino/cloud_llm/3_no_memory.py similarity index 100% rename from debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/examples/arduino/cloud_llm/3_no_memory.py rename to debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/examples/arduino/cloud_llm/3_no_memory.py diff --git a/debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/examples/arduino/dbstorage_sqlstore/store_and_read_example.py b/debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/examples/arduino/dbstorage_sqlstore/store_and_read_example.py similarity index 100% rename from debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/examples/arduino/dbstorage_sqlstore/store_and_read_example.py rename to debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/examples/arduino/dbstorage_sqlstore/store_and_read_example.py diff --git a/debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/examples/arduino/dbstorage_tsstore/1_write_read.py b/debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/examples/arduino/dbstorage_tsstore/1_write_read.py similarity index 100% rename from debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/examples/arduino/dbstorage_tsstore/1_write_read.py rename to debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/examples/arduino/dbstorage_tsstore/1_write_read.py diff --git a/debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/examples/arduino/dbstorage_tsstore/2_read_all_samples.py b/debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/examples/arduino/dbstorage_tsstore/2_read_all_samples.py similarity index 100% rename from debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/examples/arduino/dbstorage_tsstore/2_read_all_samples.py rename to debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/examples/arduino/dbstorage_tsstore/2_read_all_samples.py diff --git a/debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/examples/arduino/image_classification/image_classification_example.py b/debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/examples/arduino/image_classification/image_classification_example.py similarity index 100% rename from debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/examples/arduino/image_classification/image_classification_example.py rename to debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/examples/arduino/image_classification/image_classification_example.py diff --git a/debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/examples/arduino/keyword_spotting/1_hello_world.py b/debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/examples/arduino/keyword_spotting/1_hello_world.py similarity index 100% rename from debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/examples/arduino/keyword_spotting/1_hello_world.py rename to debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/examples/arduino/keyword_spotting/1_hello_world.py diff --git a/debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/examples/arduino/object_detection/object_detection_example.py b/debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/examples/arduino/object_detection/object_detection_example.py similarity index 100% rename from debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/examples/arduino/object_detection/object_detection_example.py rename to debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/examples/arduino/object_detection/object_detection_example.py diff --git a/debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/examples/arduino/visual_anomaly_detection/object_detection_example.py b/debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/examples/arduino/visual_anomaly_detection/object_detection_example.py similarity index 100% rename from debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/examples/arduino/visual_anomaly_detection/object_detection_example.py rename to debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/examples/arduino/visual_anomaly_detection/object_detection_example.py diff --git a/debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/examples/arduino/wave_generator/01_basic_tone.py b/debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/examples/arduino/wave_generator/01_basic_tone.py similarity index 100% rename from debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/examples/arduino/wave_generator/01_basic_tone.py rename to debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/examples/arduino/wave_generator/01_basic_tone.py diff --git a/debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/examples/arduino/wave_generator/02_waveform_types.py b/debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/examples/arduino/wave_generator/02_waveform_types.py similarity index 100% rename from debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/examples/arduino/wave_generator/02_waveform_types.py rename to debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/examples/arduino/wave_generator/02_waveform_types.py diff --git a/debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/examples/arduino/wave_generator/03_frequency_sweep.py b/debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/examples/arduino/wave_generator/03_frequency_sweep.py similarity index 100% rename from debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/examples/arduino/wave_generator/03_frequency_sweep.py rename to debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/examples/arduino/wave_generator/03_frequency_sweep.py diff --git a/debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/examples/arduino/wave_generator/04_envelope_control.py b/debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/examples/arduino/wave_generator/04_envelope_control.py similarity index 100% rename from debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/examples/arduino/wave_generator/04_envelope_control.py rename to debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/examples/arduino/wave_generator/04_envelope_control.py diff --git a/debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/examples/arduino/wave_generator/05_external_speaker.py b/debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/examples/arduino/wave_generator/05_external_speaker.py similarity index 100% rename from debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/examples/arduino/wave_generator/05_external_speaker.py rename to debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/examples/arduino/wave_generator/05_external_speaker.py diff --git a/debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/examples/arduino/weather_forecast/weather_forecast_by_city_example.py b/debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/examples/arduino/weather_forecast/weather_forecast_by_city_example.py similarity index 100% rename from debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/examples/arduino/weather_forecast/weather_forecast_by_city_example.py rename to debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/examples/arduino/weather_forecast/weather_forecast_by_city_example.py diff --git a/debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/examples/arduino/weather_forecast/weather_forecast_by_coords_example.py b/debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/examples/arduino/weather_forecast/weather_forecast_by_coords_example.py similarity index 100% rename from debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/examples/arduino/weather_forecast/weather_forecast_by_coords_example.py rename to debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/examples/arduino/weather_forecast/weather_forecast_by_coords_example.py diff --git a/debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/examples/arduino/web_ui/1_serve_webapp.py b/debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/examples/arduino/web_ui/1_serve_webapp.py similarity index 100% rename from debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/examples/arduino/web_ui/1_serve_webapp.py rename to debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/examples/arduino/web_ui/1_serve_webapp.py diff --git a/debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/examples/arduino/web_ui/2_serve_webapp_and_api.py b/debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/examples/arduino/web_ui/2_serve_webapp_and_api.py similarity index 100% rename from debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/examples/arduino/web_ui/2_serve_webapp_and_api.py rename to debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/examples/arduino/web_ui/2_serve_webapp_and_api.py diff --git a/debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/examples/arduino/web_ui/3_connect_disconnect.py b/debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/examples/arduino/web_ui/3_connect_disconnect.py similarity index 100% rename from debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/examples/arduino/web_ui/3_connect_disconnect.py rename to debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/examples/arduino/web_ui/3_connect_disconnect.py diff --git a/debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/examples/arduino/web_ui/4_on_message.py b/debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/examples/arduino/web_ui/4_on_message.py similarity index 100% rename from debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/examples/arduino/web_ui/4_on_message.py rename to debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/examples/arduino/web_ui/4_on_message.py diff --git a/debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/examples/arduino/web_ui/5_send_message.py b/debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/examples/arduino/web_ui/5_send_message.py similarity index 100% rename from debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/examples/arduino/web_ui/5_send_message.py rename to debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/examples/arduino/web_ui/5_send_message.py diff --git a/debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/models-list.yaml b/debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/models-list.yaml similarity index 100% rename from debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/models-list.yaml rename to debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/models-list.yaml diff --git a/docs/contributor-guide/development.md b/docs/contributor-guide/development.md index 371ba0a27..3dea391ba 100644 --- a/docs/contributor-guide/development.md +++ b/docs/contributor-guide/development.md @@ -29,7 +29,7 @@ Build the project (run once): Start the arduino-app-cli in daemon mode: -- `ARDUINO_APP_CLI__DATA_DIR=debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli go tool task start` +- `ARDUINO_APP_CLI__DATA_DIR=debian/arduino-app-cli/var/lib/arduino-app-cli go tool task start` NOTE: only a subset of HTTP APIs are working by running the daemon mode on a development PC. To run Arduino App CLI on the board see the **Running Arduino App CLI on the board** section below. diff --git a/docs/user-documentation.md b/docs/user-documentation.md index ba6d15b5c..38b91ef44 100644 --- a/docs/user-documentation.md +++ b/docs/user-documentation.md @@ -7,7 +7,7 @@ The following environment variables are used to configure Arduino App CLI: | Environment Variable | Default Value | Description | | -------------------------------------- | ------------------------------------------------ | ---------------------------------------------------------------------------------- | | `ARDUINO_APP_CLI__APPS_DIR` | `/home/arduino/ArduinoApps` | Path to the directory where Arduino Apps created by the user are stored | -| `ARDUINO_APP_CLI__DATA_DIR` | `/home/arduino/.local/share/arduino-app-cli` | Path to the directory where internal data is stored (examples, assets, properties) | +| `ARDUINO_APP_CLI__DATA_DIR` | `/var/lib/arduino-app-cli` | Path to the directory where internal data is stored (examples, assets, properties) | | `ARDUINO_APP_BRICKS__CUSTOM_MODEL_DIR` | `$HOME/.arduino-bricks/ei-models` | Path to the directory where custom AI models are stored | | `ARDUINO_APP_CLI__ALLOW_ROOT` | `false` | Allow running `arduino-app-cli` as root (**Not recommended to set to true**) | | `LIBRARIES_API_URL` | `https://api2.arduino.cc/libraries/v1/libraries` | URL of the external service used to search Arduino libraries | @@ -37,7 +37,7 @@ Examples of user-defined Arduino Apps stored under the `ARDUINO_APP_CLI__APPS_DI Examples of the `assets` and the builtin `examples` stored under the `ARDUINO_APP_CLI__DATA_DIR` folder. ``` -/home/arduino/.local/share/arduino-app-cli/ +/var/lib/arduino-app-cli/ ├── assets │   └── 0.5.0 # Version-specific assets │   ├── bricks-list.yaml # Available bricks diff --git a/internal/e2e/daemon/brick_test.go b/internal/e2e/daemon/brick_test.go index c0a13390e..db16ddf76 100644 --- a/internal/e2e/daemon/brick_test.go +++ b/internal/e2e/daemon/brick_test.go @@ -68,10 +68,8 @@ func TestBricksList(t *testing.T) { response, err := httpClient.GetBricksWithResponse(t.Context(), func(ctx context.Context, req *http.Request) error { return nil }) require.NoError(t, err) require.NotEmpty(t, response.JSON200.Bricks) - cfg, err := config.NewFromEnv() - require.NoError(t, err) - staticStore := store.NewStaticStore(paths.New("testdata", "assets", cfg.RunnerVersion).String()) + staticStore := store.NewStaticStore(paths.New("testdata", "assets", config.RunnerVersion).String()) brickIndex, err := bricksindex.Load(staticStore.GetAssetsFolder()) require.NoError(t, err) diff --git a/internal/orchestrator/config/config.go b/internal/orchestrator/config/config.go index 527732c6b..a4fbe5629 100644 --- a/internal/orchestrator/config/config.go +++ b/internal/orchestrator/config/config.go @@ -28,7 +28,7 @@ import ( ) // runnerVersion do not edit, this is generate with `task generate:assets` -var runnerVersion = "0.6.1" +var RunnerVersion = "0.6.1" type Configuration struct { appsDir *paths.Path @@ -62,11 +62,7 @@ func NewFromEnv() (Configuration, error) { dataDir := paths.New(os.Getenv("ARDUINO_APP_CLI__DATA_DIR")) if dataDir == nil { - xdgHome, err := os.UserHomeDir() - if err != nil { - return Configuration{}, err - } - dataDir = paths.New(xdgHome).Join(".local", "share", "arduino-app-cli") + dataDir = paths.New("/var/lib/arduino-app-cli") } routerSocket := paths.New(os.Getenv("ARDUINO_ROUTER_SOCKET")) @@ -113,7 +109,7 @@ func NewFromEnv() (Configuration, error) { customEIModelsDir: customEIModelsDir, PythonImage: pythonImage, UsedPythonImageTag: usedPythonImageTag, - RunnerVersion: runnerVersion, + RunnerVersion: RunnerVersion, AllowRoot: allowRoot, LibrariesAPIURL: parsedLibrariesURL, } @@ -165,7 +161,7 @@ func getPythonImageAndTag() (string, string) { // Python image: image name (repository) and optionally a tag. pythonImageAndTag := os.Getenv("DOCKER_PYTHON_BASE_IMAGE") if pythonImageAndTag == "" { - pythonImageAndTag = fmt.Sprintf("app-bricks/python-apps-base:%s", runnerVersion) + pythonImageAndTag = fmt.Sprintf("app-bricks/python-apps-base:%s", RunnerVersion) } pythonImage := path.Join(registryBase, pythonImageAndTag) var usedPythonImageTag string