Skip to content

Commit 39923a1

Browse files
committed
Move .local/share/arduino-app-cli in /var/lib
1 parent fa54e74 commit 39923a1

File tree

93 files changed

+66
-14
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

93 files changed

+66
-14
lines changed

Taskfile.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ tasks:
118118
set -e
119119
echo "Runner version set as: {{ .EXAMPLE_VERSION }}"
120120
TMP_PATH="$(mktemp -d)"
121-
DEST_PATH="debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/"
121+
DEST_PATH="debian/arduino-app-cli/var/lib/arduino-app-cli/"
122122
echo "Cloning arduino/app-bricks-examples into temporary directory ${TMP_PATH}..."
123123
git clone --depth 1 --branch "{{ .EXAMPLE_VERSION }}" https://github.com/arduino/app-bricks-examples "${TMP_PATH}"
124124
rm -rf "${DEST_PATH}/examples"
@@ -213,7 +213,7 @@ tasks:
213213
TMPDIR: '{{trimSuffix "/" (env "TMPDIR")| default "/tmp"}}/generate-assets'
214214
SEMVER_TAG: "{{.RUNNER_VERSION}}"
215215
OUTPUT_DIR: "{{.TMPDIR}}/{{.SEMVER_TAG}}"
216-
ASSETS_DIR: debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets
216+
ASSETS_DIR: debian/arduino-app-cli/var/lib/arduino-app-cli/assets
217217
TESTDATA_DIR: internal/e2e/daemon/testdata/assets
218218
preconditions:
219219
- sh: '[ ! -d "{{.ASSETS_DIR}}/{{.SEMVER_TAG}}" ] || [ ! -d "{{.TESTDATA_DIR}}/{{.SEMVER_TAG}}" ]'

debian/arduino-app-cli/DEBIAN/postinst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#!/bin/sh
22

3-
chown -R arduino:arduino /home/arduino/.local/share/arduino-app-cli
3+
chown -R arduino:arduino /var/lib/arduino-app-cli
44

55
systemctl enable arduino-app-cli
66
systemctl enable arduino-burn-bootloader

debian/arduino-app-cli/DEBIAN/preinst

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,3 +23,21 @@ if ! getent group "$SYSUPGRADE_GROUP" >/dev/null 2>&1; then
2323
groupadd --system "$SYSUPGRADE_GROUP"
2424
fi
2525
usermod -aG "$SYSUPGRADE_GROUP" "$APP_USER"
26+
27+
delete_obsolete_files() {
28+
OBSOLETE_DIR="/home/arduino/.local/share/arduino-app-cli/examples"
29+
for i in "${OBSOLETE_DIR}"/*; do
30+
rm -rf "${i}"/.cache;
31+
done
32+
}
33+
34+
if [ "$1" = "upgrade" ]; then
35+
# if $2 is not empty, this is an upgrade
36+
if [ -n "$2" ]; then
37+
# check if this is an upgrade from an old version
38+
if dpkg --compare-versions "$2" lt "0.9.0"; then
39+
echo "Running pre-0.8.0 legacy cleanup/migration..."
40+
delete_obsolete_files
41+
fi
42+
fi
43+
fi
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,43 @@
11
#!/bin/sh
22

3+
set -e
34
systemctl disable arduino-app-cli
45
systemctl disable arduino-burn-bootloader
56
systemctl disable arduino-avahi-serial.service
7+
8+
# Function: cleanup_arduino_examples
9+
# Description: Stops running Arduino apps within example directories and
10+
# removes associated cache files, but only if the root
11+
# examples directory exists.
12+
#
13+
# Arguments:
14+
# $1 - The path to the root examples directory (EXAMPLES_DIR).
15+
#
16+
cleanup_arduino_examples() {
17+
local EXAMPLES_DIR="$1"
18+
19+
if [ -d "${EXAMPLES_DIR}" ]; then
20+
local EXAMPLES=$(find "${EXAMPLES_DIR}" -maxdepth 1 -mindepth 1 -type d 2>/dev/null)
21+
echo "Stopping apps and clearing cache in: ${EXAMPLES_DIR}"
22+
for dir_path in ${EXAMPLES}; do
23+
24+
# 1. Stop the application (suppress output and errors)
25+
echo " -> Stopping app in: ${dir_path}"
26+
sudo -u arduino /usr/bin/arduino-app-cli app stop "${dir_path}" > /dev/null 2>&1 || true
27+
28+
# 2. Remove the cache directory
29+
local CACHE_PATH="${dir_path}/.cache"
30+
31+
# Check if the cache directory exists before attempting to remove it
32+
if [ -d "${CACHE_PATH}" ]; then
33+
echo " -> Removing cache: ${CACHE_PATH}"
34+
rm -r "${CACHE_PATH}"
35+
fi
36+
done
37+
fi
38+
}
39+
40+
# Remove .cache located in packages prev to 0.9.0
41+
cleanup_arduino_examples /home/arduino/.local/share/arduino-app-cli/examples
42+
# Remove .cache for the current package
43+
cleanup_arduino_examples /var/lib/arduino-app-cli/examples

debian/arduino-app-cli/etc/systemd/system/arduino-burn-bootloader.service

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
[Unit]
22
Description=Burn arduino zephyr bootloader on first boot
33
After=fs-local.target
4-
ConditionPathExists=!/home/arduino/.local/share/arduino-app-cli/bootloader_burned.flag
4+
ConditionPathExists=!/var/lib/arduino-app-cli/bootloader_burned.flag
55

66
[Service]
77
Type=oneshot
88
RemainAfterExit=true
99
User=arduino
1010
Group=arduino
1111
ExecStart=/usr/bin/arduino-cli burn-bootloader -b arduino:zephyr:unoq -P jlink
12-
ExecStartPost=/bin/mkdir -p /home/arduino/.local/share/arduino-app-cli
13-
ExecStartPost=/bin/touch /home/arduino/.local/share/arduino-app-cli/bootloader_burned.flag
12+
ExecStartPost=/bin/mkdir -p /var/lib/arduino-app-cli
13+
ExecStartPost=/bin/touch /var/lib/arduino-app-cli/bootloader_burned.flag
1414
StandardOutput=journal
1515
StandardError=journal
1616

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 renamed to debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_bricks/air_quality_monitoring/API.md

debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_bricks/arduino_cloud/API.md renamed to debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_bricks/arduino_cloud/API.md

debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_bricks/audio_classification/API.md renamed to debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_bricks/audio_classification/API.md

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 renamed to debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_bricks/camera_code_detection/API.md

debian/arduino-app-cli/home/arduino/.local/share/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_bricks/cloud_llm/API.md renamed to debian/arduino-app-cli/var/lib/arduino-app-cli/assets/0.6.1/api-docs/arduino/app_bricks/cloud_llm/API.md

0 commit comments

Comments
 (0)