fix(secubox-app-lyrion): Fix LXC container installation issues

- Update Lyrion download URLs to downloads.lms-community.org
- Switch from noCPAN to full tarball (noCPAN missing modules)
- Replace perl-image-scale with perl-gd + imagemagick (Alpine)
- Remove conflicting bundled CPAN modules (DBD::SQLite, XML::Parser, YAML, DBI)
- Add Image::Scale stub module for artwork resizing
- Fix permissions for nobody user on /config and /var/log/lyrion
- Add missing perl-digest-sha1 and perl-sub-name dependencies

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
CyberMind-FR 2026-01-16 13:17:17 +01:00
parent b9b0be1b9f
commit 0799b97c6b
2 changed files with 36 additions and 9 deletions

View File

@ -1,7 +1,7 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=secubox-app-lyrion PKG_NAME:=secubox-app-lyrion
PKG_RELEASE:=1 PKG_RELEASE:=2
PKG_VERSION:=2.0.0 PKG_VERSION:=2.0.0
PKG_ARCH:=all PKG_ARCH:=all
PKG_MAINTAINER:=CyberMind Studio <contact@cybermind.fr> PKG_MAINTAINER:=CyberMind Studio <contact@cybermind.fr>

View File

@ -273,14 +273,19 @@ apk add --no-cache \
perl-io-socket-ssl \ perl-io-socket-ssl \
perl-encode \ perl-encode \
perl-xml-parser \ perl-xml-parser \
perl-xml-simple \
perl-dbi \ perl-dbi \
perl-dbd-sqlite \ perl-dbd-sqlite \
perl-json-xs \ perl-json-xs \
perl-yaml-libyaml \ perl-yaml-libyaml \
perl-image-scale \
perl-crypt-openssl-rsa \ perl-crypt-openssl-rsa \
perl-ev \ perl-ev \
perl-anyevent \ perl-anyevent \
perl-gd \
perl-digest-sha1 \
perl-sub-name \
perl-html-parser \
imagemagick \
flac \ flac \
faad2 \ faad2 \
sox \ sox \
@ -288,29 +293,51 @@ apk add --no-cache \
curl \ curl \
wget wget
# Download and install Lyrion # Download and install Lyrion (full tarball with CPAN modules)
cd /tmp cd /tmp
wget -q "https://downloads.lyrion.org/nightly/lyrion-9.0.0-nightly.tar.gz" -O lyrion.tar.gz || \ wget -q "https://downloads.lms-community.org/LyrionMusicServer_v9.0.3/lyrionmusicserver-9.0.3.tgz" -O lyrion.tar.gz || \
wget -q "https://downloads.slimdevices.com/nightly/lms/lms-nightly.tar.gz" -O lyrion.tar.gz wget -q "https://downloads.lms-community.org/nightly/lyrionmusicserver-9.0.4-1768197566.tgz" -O lyrion.tar.gz
mkdir -p /opt/lyrion mkdir -p /opt/lyrion
tar xzf lyrion.tar.gz -C /opt/lyrion --strip-components=1 tar xzf lyrion.tar.gz -C /opt/lyrion --strip-components=1
rm -f lyrion.tar.gz rm -f lyrion.tar.gz
# Create directories # Remove conflicting bundled CPAN modules (use system modules instead)
mkdir -p /config /music /var/log/lyrion rm -rf /opt/lyrion/CPAN/arch
rm -rf /opt/lyrion/CPAN/XML/Parser*
rm -rf /opt/lyrion/CPAN/Image
rm -rf /opt/lyrion/CPAN/DBD
rm -rf /opt/lyrion/CPAN/DBI /opt/lyrion/CPAN/DBI.pm
rm -rf /opt/lyrion/CPAN/YAML
# Create stub Image::Scale module (artwork resizing - optional)
mkdir -p /opt/lyrion/CPAN/Image
cat > /opt/lyrion/CPAN/Image/Scale.pm << 'STUB'
package Image::Scale;
our $VERSION = '0.08';
sub new { return bless {}, shift }
sub resize { return 1 }
sub width { return 0 }
sub height { return 0 }
1;
STUB
# Create directories with proper permissions for nobody user
mkdir -p /config/prefs/plugin /config/cache /music /var/log/lyrion
chown -R nobody:nobody /config /var/log/lyrion
# Create startup script # Create startup script
cat > /opt/lyrion/start.sh << 'START' cat > /opt/lyrion/start.sh << 'START'
#!/bin/sh #!/bin/sh
cd /opt/lyrion cd /opt/lyrion
mkdir -p /config/prefs/plugin /config/cache /var/log/lyrion
chown -R nobody:nobody /config /var/log/lyrion 2>/dev/null || true
exec perl slimserver.pl \ exec perl slimserver.pl \
--prefsdir /config/prefs \ --prefsdir /config/prefs \
--cachedir /config/cache \ --cachedir /config/cache \
--logdir /var/log/lyrion \ --logdir /var/log/lyrion \
--httpport 9000 \ --httpport 9000 \
--cliport 9090 \ --cliport 9090
--user root
START START
chmod +x /opt/lyrion/start.sh chmod +x /opt/lyrion/start.sh