Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 8 additions & 8 deletions .github/workflows/update_urls.bash
Original file line number Diff line number Diff line change
Expand Up @@ -240,24 +240,24 @@ aREGEX[$software_id]='go[0-9.]*\.linux-\$arch\.tar\.gz'

# Snapcast Server: Implement distro loop?
software_id=191
aCHECK[$software_id]='curl -sSf '\''https://api.github.com/repos/badaix/snapcast/releases/latest'\'' | mawk -F\" "/^ *\"browser_download_url\": \".*\/snapserver_[^\"\/]*_${arch}_bookworm.deb\"$/{print \$4}"'
aCHECK[$software_id]='curl -sSf '\''https://api.github.com/repos/snapcast/snapcast/releases/latest'\'' | mawk -F\" "/^ *\"browser_download_url\": \".*\/snapserver_[^\"\/]*_${arch}_bookworm.deb\"$/{print \$4}"'
aARCH[$software_id]='armhf arm64 amd64'
aARCH_CHECK[$software_id]='riscv64'
aREGEX[$software_id]='https://github.com/badaix/snapcast/releases/download/.*/snapserver_.*_\${arch}_\$G_DISTRO_NAME.deb'
aREPLACE[$software_id]='${release/bookworm/\$G_DISTRO_NAME}'
aREGEX[$software_id]='https://github.com/snapcast/snapcast/releases/download/.*/snapserver_.*_\${arch}_\$dist.deb'
aREPLACE[$software_id]='${release/bookworm/\$dist}'

# Snapcast Server: snapweb
software_id=191000 # 000 appended as little hack to support multiple updates for the same software ID
aCHECK[$software_id]='curl -sSf '\''https://api.github.com/repos/badaix/snapweb/releases/latest'\'' | mawk -F\" '\''/^ *"browser_download_url": ".*\/snapweb_[^"\/]*_all.deb"$/{print $4}'\'
aREGEX[$software_id]='https://github.com/badaix/snapweb/releases/download/.*/snapweb_.*_all\.deb'
aCHECK[$software_id]='curl -sSf '\''https://api.github.com/repos/snapcast/snapweb/releases/latest'\'' | mawk -F\" '\''/^ *"browser_download_url": ".*\/snapweb_[^"\/]*_all.deb"$/{print $4}'\'
aREGEX[$software_id]='https://github.com/snapcast/snapweb/releases/download/.*/snapweb_.*_all\.deb'

# Snapcast Client: Implement distro loop?
software_id=192
aCHECK[$software_id]='curl -sSf '\''https://api.github.com/repos/badaix/snapcast/releases/latest'\'' | mawk -F\" "/^ *\"browser_download_url\": \".*\/snapclient_0[^\"\/]*_${arch}_bookworm.deb\"$/{print \$4}"'
aCHECK[$software_id]='curl -sSf '\''https://api.github.com/repos/snapcast/snapcast/releases/latest'\'' | mawk -F\" "/^ *\"browser_download_url\": \".*\/snapclient_[^\"\/]*_${arch}_bookworm.deb\"$/{print \$4}"'
aARCH[$software_id]='armhf arm64 amd64'
aARCH_CHECK[$software_id]='riscv64'
aREGEX[$software_id]='https://github.com/badaix/snapcast/releases/download/.*/snapclient_0.*_\${arch}_\$G_DISTRO_NAME.deb'
aREPLACE[$software_id]='${release/bookworm/\$G_DISTRO_NAME}'
aREGEX[$software_id]='https://github.com/snapcast/snapcast/releases/download/.*/snapclient_.*_\${arch}_\$dist.deb'
aREPLACE[$software_id]='${release/bookworm/\$dist}'

# Box64
software_id=197
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -302,7 +302,7 @@ Links to hardware and software manufacturers, sources and build instructions use
- [Beets](https://github.com/beetbox/beets)
- [frp](https://github.com/fatedier/frp)
- [AdGuard Home](https://github.com/AdguardTeam/AdGuardHome)
- [Snapcast](https://github.com/badaix/snapcast)
- [Snapcast](https://github.com/snapcast/snapcast)
- [K3s](https://github.com/k3s-io/k3s)
- [Synapse](https://github.com/matrix-org/synapse)
- [youtube-dl](https://github.com/ytdl-org/youtube-dl)
Expand Down
28 changes: 15 additions & 13 deletions dietpi/dietpi-software
Original file line number Diff line number Diff line change
Expand Up @@ -2840,23 +2840,24 @@ _EOF_

if To_Install 191 snapserver # Snapcast Server
then
# RISC-V/Trixie: Install from Debian repo: https://github.com/badaix/snapcast/releases
if (( $G_DISTRO > 7 ))
# RISC-V: Install from Debian repo: https://github.com/snapcast/snapcast/releases
if (( $G_HW_ARCH == 11 ))
then
G_AGI snapserver

# Install and enable snapweb web UI, not included in Debian's snapserver package: https://github.com/MichaIng/DietPi/issues/7073
local fallback_url='https://github.com/badaix/snapweb/releases/download/v0.9.2/snapweb_0.9.2-1_all.deb'
Download_Install "$(curl -sSfL 'https://api.github.com/repos/badaix/snapweb/releases/latest' | mawk -F\" '/^ *"browser_download_url": ".*\/snapweb_[^"\/]*_all.deb"$/{print $4}')"
local fallback_url='https://github.com/snapcast/snapweb/releases/download/v0.9.2/snapweb_0.9.2-1_all.deb'
Download_Install "$(curl -sSfL 'https://api.github.com/repos/snapcast/snapweb/releases/latest' | mawk -F\" '/^ *"browser_download_url": ".*\/snapweb_[^"\/]*_all.deb"$/{print $4}')"
G_CONFIG_INJECT 'doc_root[[:blank:]=]' 'doc_root = /usr/share/snapweb' /etc/snapserver.conf '\[http\]'

# Fix /var/lib/snapserver permissions, just in case badaix's package was previously used, which uses the "snapserver" user, instead of "_snapserver"
# Fix /var/lib/snapserver permissions, just in case snapcast's package was previously used, which uses the "snapserver" user, instead of "_snapserver"
[[ -d '/var/lib/snapserver' ]] && G_EXEC chown -R '_snapserver:_snapserver' /var/lib/snapserver
getent passwd snapserver > /dev/null && G_EXEC userdel snapserver
else
local arch=$(dpkg --print-architecture)
local fallback_url="https://github.com/badaix/snapcast/releases/download/v0.34.0/snapserver_0.34.0-1_${arch}_$G_DISTRO_NAME.deb"
Download_Install "$(curl -sSfL 'https://api.github.com/repos/badaix/snapcast/releases/latest' | mawk -F\" "/^ *\"browser_download_url\": \".*\/snapserver_[^\"\/]*_${arch}_$G_DISTRO_NAME.deb\"$/{print \$4}")"
local dist=${G_DISTRO_NAME/forky/trixie}
local fallback_url="https://github.com/snapcast/snapcast/releases/download/v0.34.0/snapserver_0.34.0-1_${arch}_$dist.deb"
Download_Install "$(curl -sSfL 'https://api.github.com/repos/snapcast/snapcast/releases/latest' | mawk -F\" "/^ *\"browser_download_url\": \".*\/snapserver_[^\"\/]*_${arch}_$dist.deb\"$/{print \$4}")"

# Fix /var/lib/snapserver permissions, just in case Debian's package was previously used, which uses the "_snapserver" user, instead of "snapserver"
[[ -d '/var/lib/snapserver' ]] && G_EXEC chown -R 'snapserver:snapserver' /var/lib/snapserver
Expand All @@ -2870,14 +2871,15 @@ _EOF_

if To_Install 192 snapclient # Snapcast Client
then
# RISC-V/Trixie: Install from Debian repo: https://github.com/badaix/snapcast/releases
if (( $G_DISTRO > 7 ))
# RISC-V: Install from Debian repo: https://github.com/snapcast/snapcast/releases
if (( $G_HW_ARCH == 11 ))
then
G_AGI snapclient
else
local arch=$(dpkg --print-architecture)
local fallback_url="https://github.com/badaix/snapcast/releases/download/v0.34.0/snapclient_0.34.0-1_${arch}_$G_DISTRO_NAME.deb"
Download_Install "$(curl -sSfL 'https://api.github.com/repos/badaix/snapcast/releases/latest' | mawk -F\" "/^ *\"browser_download_url\": \".*\/snapclient_[^\"\/]*_${arch}_$G_DISTRO_NAME.deb\"$/{print \$4}")"
local dist=${G_DISTRO_NAME/forky/trixie}
local fallback_url="https://github.com/snapcast/snapcast/releases/download/v0.34.0/snapclient_0.34.0-1_${arch}_$dist.deb"
Download_Install "$(curl -sSfL 'https://api.github.com/repos/snapcast/snapcast/releases/latest' | mawk -F\" "/^ *\"browser_download_url\": \".*\/snapclient_[^\"\/]*_${arch}_$dist.deb\"$/{print \$4}")"
fi
G_EXEC systemctl stop snapclient

Expand All @@ -2901,7 +2903,7 @@ _EOF_
fi

# If no Snapcast server was defined explicitly, e.g. on unattended install without having the server installed first, server and client use Avahi to find each other.
# The client throws endless errors if Avahi is not running, and endless messages until the server announced itself: https://github.com/badaix/snapcast/issues/647
# The client throws endless errors if Avahi is not running, and endless messages until the server announced itself: https://github.com/snapcast/snapcast/issues/647
# Hence Avahi-Daemon is added as fixed dependency for the server, and added for the client hereby if no server was explicitly defined. But is this as fallback only for unattended installs.
if ! grep -q '^[[:blank:]]*SNAPCLIENT_OPTS=.*["[:blank:]]-h[[:blank:]]' /etc/default/snapclient
then
Expand Down Expand Up @@ -14422,7 +14424,7 @@ _EOF_
if To_Uninstall 191 # Snapcast Server
then
G_AGP snapserver
# Remove users from Debian's and badaix's packages, to cleanly cover upgrades from one to the other.
# Remove users from Debian's and snapcast's packages, to cleanly cover upgrades from one to the other.
getent passwd snapserver > /dev/null && G_EXEC userdel snapserver
getent passwd _snapserver > /dev/null && G_EXEC userdel _snapserver
fi
Expand Down