Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit2d88451

Browse files
committed
set serial number for network discovery at post install time
1 parentc64fbf6 commit2d88451

File tree

3 files changed

+64
-0
lines changed

3 files changed

+64
-0
lines changed

‎debian/arduino-app-cli/DEBIAN/postinst‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,4 @@ chown -R arduino:arduino /home/arduino/.local/share/arduino-app-cli
44

55
systemctlenable arduino-app-cli
66
systemctlenable arduino-burn-bootloader
7+
systemctlenable arduino-avahi-serial.service
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
[Unit]
2+
Description=Configure Avahi with board serial number
3+
After=avahi-daemon.service
4+
ConditionPathExists=!/var/lib/arduino/avahi_serial_configured.flag
5+
6+
[Service]
7+
Type=oneshot
8+
RemainAfterExit=true
9+
ExecStart=/usr/sbin/arduino-avahi-serial.sh
10+
ExecStartPost=/bin/mkdir -p /var/lib/arduino
11+
ExecStartPost=/bin/touch /var/lib/arduino/avahi_serial_configured.flag
12+
13+
StandardOutput=journal
14+
StandardError=journal
15+
16+
[Install]
17+
WantedBy=multi-user.target
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
#!/bin/sh
2+
#
3+
# Configure Avahi with the serial number.
4+
# This operation is non-blocking: if it fails,
5+
# the script will exit with success in order to
6+
#not to interrupt the post-install process.
7+
#
8+
9+
TARGET_FILE="/etc/avahi/services/arduino.service"
10+
MARKER_LINE="</service>"
11+
SERIAL_NUMBER_PATH="/sys/devices/soc0/serial_number"
12+
13+
echo"Configuring Avahi with serial number for network discovery..."
14+
15+
if [!-f"$SERIAL_NUMBER_PATH" ];then
16+
echo"Warning: Serial number path not found at$SERIAL_NUMBER_PATH. Skipping.">&2
17+
exit 0
18+
fi
19+
20+
21+
if [!-w"$TARGET_FILE" ];then
22+
echo"Warning: Target file$TARGET_FILE not found or not writable. Skipping.">&2
23+
exit 0
24+
fi
25+
26+
SERIAL_NUMBER=$(cat"$SERIAL_NUMBER_PATH")
27+
28+
if [-z"$SERIAL_NUMBER" ];then
29+
echo"Warning: Serial number file is empty. Skipping.">&2
30+
exit 0
31+
fi
32+
33+
if grep -q"serial_number=${SERIAL_NUMBER}""$TARGET_FILE";then
34+
echo"Serial number ($SERIAL_NUMBER) already configured. Skipping."
35+
exit 0
36+
fi
37+
38+
SERIAL_NUMBER_ESCAPED=$(echo"$SERIAL_NUMBER"| sed -e's/\\/\\\\/g' -e's/\//\\\//g' -e's/\&/\\\&/g')
39+
NEW_LINE=" <txt-record>serial_number=${SERIAL_NUMBER_ESCAPED}</txt-record>"
40+
41+
echo"Adding serial number to$TARGET_FILE..."
42+
43+
sed -i"\#${MARKER_LINE}#i${NEW_LINE}""$TARGET_FILE"
44+
45+
echo"Avahi configuration attempt finished."
46+
exit 0

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp