diff options
Diffstat (limited to 'board')
-rw-r--r-- | board/mpd.sh | 44 |
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" |