aboutsummaryrefslogtreecommitdiff
path: root/board
diff options
context:
space:
mode:
authorSébastien Dailly <sebastien@dailly.me>2024-06-19 10:04:42 +0200
committerSébastien Dailly <sebastien@dailly.me>2024-06-21 10:42:36 +0200
commitfc118fb485ed6e5db1c820a74497ad83859976df (patch)
treef8d20962434c7442150b159ecc3bfaf555adcb20 /board
parent1d9b6b236907b56960ba5f8f7989f135c170f504 (diff)
Load rss streams in mpd
Diffstat (limited to 'board')
-rw-r--r--board/mpd.sh44
1 files changed, 36 insertions, 8 deletions
diff --git a/board/mpd.sh b/board/mpd.sh
index b5c41bd..d99161c 100644
--- a/board/mpd.sh
+++ b/board/mpd.sh
@@ -1,10 +1,4 @@
-create_missing_dir "/var/lib/mpd/"
-if ! grep -qE '/var/lib/mpd' "${TARGET_DIR}/etc/fstab"; then
- cat << __EOF__ >> "${TARGET_DIR}/etc/fstab"
-tmpfs /var/lib/mpd tmpfs rw 0 0
-__EOF__
-fi
-
+add_tmpfs '/var/lib/mpd'
add_tmpfs "/home/playlists"
cat << __EOF__ > "${TARGET_DIR}/etc/mpd.conf"
@@ -49,13 +43,15 @@ __EOF__
find "$BR2_EXTERNAL_PIAUDIO_PATH/local/playlists" -name '*.m3u' -type f -print0 | xargs -0 -I '{}' cp {} "${TARGET_DIR}/home/"
+cp $BR2_EXTERNAL_PIAUDIO_PATH/local/mpd_playlist.sh "${TARGET_DIR}/home/"
+
cat << __EOF__ > "${TARGET_DIR}/etc/systemd/system/playlists.service"
[Unit]
Description=Playlists
Before=mpd.target
[Service]
-Type=unit
+Type=simple
ExecStart=find /home/ -name '*.m3u' -exec cp {} /home/playlists \;
[Install]
@@ -64,3 +60,35 @@ __EOF__
# Create the link to the system configuration
ln -sf /etc/systemd/system/playlists.service "${TARGET_DIR}/usr/lib/systemd/system/multi-user.target.wants/playlists.service"
+
+cat << __EOF__ > "${TARGET_DIR}/etc/systemd/system/rss_playlists.service"
+[Unit]
+Description=RSS Playlists
+Wants=rss_playlists.timer
+
+[Service]
+Type=simple
+ExecStart=/home/mpd_playlist.sh
+
+[Install]
+WantedBy=multi-user.target
+__EOF__
+
+cat << __EOF__ > "${TARGET_DIR}/etc/systemd/system/rss_playlists.timer"
+[Unit]
+Description=Update the RSS playlists every day
+Requires=rss_playlists.service
+
+[Timer]
+Unit=rss_playlists.service
+OnBootSec=1min
+OnUnitInactiveSec=1d
+RandomizedDelaySec=15m
+
+[Install]
+WantedBy=timers.target
+__EOF__
+
+ln -sf /etc/systemd/system/rss_playlists.service "${TARGET_DIR}/usr/lib/systemd/system/multi-user.target.wants/rss_playlists.service"
+
+ln -sf /etc/systemd/system/rss_playlists.timer "${TARGET_DIR}/usr/lib/systemd/system/multi-user.target.wants/rss_playlists.timer"