diff --git a/scripts/_common.sh b/scripts/_common.sh index 04ae441..48d562c 100644 --- a/scripts/_common.sh +++ b/scripts/_common.sh @@ -60,6 +60,41 @@ pkg_dependencies="${ffmpeg_deps[*]} ${jellyfin_deps[*]}" # PERSONAL HELPERS #================================================= +install_jellyfin_packages() { + # In case of a new version, the url change from + # https://repo.jellyfin.org/releases/server/debian/versions/stable/server/X.X.X/jellyfin-server_X.X.X-1_$architecture.deb to + # https://repo.jellyfin.org/archive/debian/stable/X.X.X/server/jellyfin-server_X.X.X-1_$architecture.deb + src_url=$(grep 'SOURCE_URL=' "../conf/server.$debian.$architecture.src" | cut -d= -f2-) + if ! curl --output /dev/null --silent --head --fail "$src_url"; then + ynh_replace_string \ + --match_string="releases/server/debian/versions/stable/server/$version/" \ + --replace_string="archive/debian/stable/$version/server/" \ + --target_file="../conf/server.$debian.$architecture.src" + fi + + # Same for web + src_url=$(grep 'SOURCE_URL=' "../conf/web.$debian.$architecture.src" | cut -d= -f2-) + if ! curl --output /dev/null --silent --head --fail "$src_url"; then + ynh_replace_string \ + --match_string="releases/server/debian/versions/stable/web/$version/" \ + --replace_string="archive/debian/stable/$version/web/" \ + --target_file="../conf/web.$debian.$architecture.src" + fi + + # Create the temporary directory + tempdir="$(mktemp -d)" + + # Download the deb files + ynh_setup_source --dest_dir=$tempdir --source_id="ffmpeg.$debian.$architecture" + ynh_setup_source --dest_dir=$tempdir --source_id="server.$debian.$architecture" + ynh_setup_source --dest_dir=$tempdir --source_id="web.$debian.$architecture" + + # Install the packages + ynh_exec_warn_less dpkg --force-confdef --force-confnew -i $tempdir/jellyfin-ffmpeg.deb + ynh_exec_warn_less dpkg --force-confdef --force-confnew -i $tempdir/jellyfin-server.deb + ynh_exec_warn_less dpkg --force-confdef --force-confnew -i $tempdir/jellyfin-web.deb +} + #================================================= # EXPERIMENTAL HELPERS #================================================= diff --git a/scripts/install b/scripts/install index 1590d68..f18c9ed 100644 --- a/scripts/install +++ b/scripts/install @@ -110,29 +110,7 @@ ynh_install_app_dependencies $pkg_dependencies #================================================= ynh_script_progression --message="Installing packages..." --weight=1 -# Create the temporary directory -tempdir="$(mktemp -d)" - -# Download the deb files -ynh_setup_source --dest_dir=$tempdir --source_id="ffmpeg.$debian.$architecture" -# In case of a new version, the url change from https://repo.jellyfin.org/releases/server/debian/versions/stable/server/X.X.X/jellyfin-server_X.X.X-1_$architecture.deb to https://repo.jellyfin.org/archive/debian/stable/X.X.X/server/jellyfin-server_X.X.X-1_$architecture.deb -src_url=$(grep 'SOURCE_URL=' "../conf/server.$debian.$architecture.src" | cut -d= -f2-) -if ! curl --output /dev/null --silent --head --fail "$src_url"; then - ynh_replace_string --match_string="releases/server/debian/versions/stable/server/$version/jellyfin-server_$version-1_$architecture.deb" --replace_string="archive/debian/stable/$version/server/jellyfin-server_$version-1_$architecture.deb" --target_file="../conf/server.$debian.$architecture.src" -fi -ynh_setup_source --dest_dir=$tempdir --source_id="server.$debian.$architecture" - -# Same for web -src_url=$(grep 'SOURCE_URL=' "../conf/web.$debian.$architecture.src" | cut -d= -f2-) -if ! curl --output /dev/null --silent --head --fail "$src_url"; then - ynh_replace_string --match_string="releases/server/debian/versions/stable/web/$version/jellyfin-web_$version-1_all.deb" --replace_string="archive/debian/stable/$version/web/jellyfin-web_$version-1_all.deb" --target_file="../conf/web.$debian.$architecture.src" -fi -ynh_setup_source --dest_dir=$tempdir --source_id="web.$debian.$architecture" - -# Install the packages -ynh_exec_warn_less dpkg -i $tempdir/jellyfin-ffmpeg.deb -ynh_exec_warn_less dpkg -i $tempdir/jellyfin-server.deb -ynh_exec_warn_less dpkg -i $tempdir/jellyfin-web.deb +install_jellyfin_packages #================================================= # NGINX CONFIGURATION diff --git a/scripts/restore b/scripts/restore index 620b9ed..fc05ad9 100644 --- a/scripts/restore +++ b/scripts/restore @@ -119,29 +119,7 @@ ynh_install_app_dependencies $pkg_dependencies #================================================= ynh_script_progression --message="Reinstalling packages..." --weight=7 -# Create the temporary directory -tempdir="$(mktemp -d)" - -# Download the deb files -ynh_setup_source --dest_dir=$tempdir --source_id="ffmpeg.$debian.$architecture" -# In case of a new version, the url change from https://repo.jellyfin.org/releases/server/debian/versions/stable/server/X.X.X/jellyfin-server_X.X.X-1_$architecture.deb to https://repo.jellyfin.org/archive/debian/stable/X.X.X/server/jellyfin-server_X.X.X-1_$architecture.deb -src_url=$(grep 'SOURCE_URL=' "../settings/conf/server.$debian.$architecture.src" | cut -d= -f2-) -if ! curl --output /dev/null --silent --head --fail "$src_url"; then - ynh_replace_string --match_string="releases/server/debian/versions/stable/server/$version/jellyfin-server_$version-1_$architecture.deb" --replace_string="archive/debian/stable/$version/server/jellyfin-server_$version-1_$architecture.deb" --target_file="../settings/conf/server.$debian.$architecture.src" -fi -ynh_setup_source --dest_dir=$tempdir --source_id="server.$debian.$architecture" - -# Same for web -src_url=$(grep 'SOURCE_URL=' "../settings/conf/web.$debian.$architecture.src" | cut -d= -f2-) -if ! curl --output /dev/null --silent --head --fail "$src_url"; then - ynh_replace_string --match_string="releases/server/debian/versions/stable/web/$version/jellyfin-web_$version-1_all.deb" --replace_string="archive/debian/stable/$version/web/jellyfin-web_$version-1_all.deb" --target_file="../settings/conf/web.$debian.$architecture.src" -fi -ynh_setup_source --dest_dir=$tempdir --source_id="web.$debian.$architecture" - -# Install the packages -ynh_exec_warn_less dpkg --force-confdef --force-confold -i $tempdir/jellyfin-ffmpeg.deb -ynh_exec_warn_less dpkg --force-confdef --force-confold -i $tempdir/jellyfin-server.deb -ynh_exec_warn_less dpkg --force-confdef --force-confold -i $tempdir/jellyfin-web.deb +install_jellyfin_packages #================================================= # RESTORE SYSTEMD diff --git a/scripts/upgrade b/scripts/upgrade index efff534..bf76cb7 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -151,29 +151,7 @@ ynh_install_app_dependencies $pkg_dependencies #================================================= ynh_script_progression --message="Upgrading packages..." --weight=3 -# Create the temporary directory -tempdir="$(mktemp -d)" - -# Download the deb files -ynh_setup_source --dest_dir=$tempdir --source_id="ffmpeg.$debian.$architecture" -# In case of a new version, the url change from https://repo.jellyfin.org/releases/server/debian/versions/stable/server/X.X.X/jellyfin-server_X.X.X-1_$architecture.deb to https://repo.jellyfin.org/archive/debian/stable/X.X.X/server/jellyfin-server_X.X.X-1_$architecture.deb -src_url=$(grep 'SOURCE_URL=' "../conf/server.$debian.$architecture.src" | cut -d= -f2-) -if ! curl --output /dev/null --silent --head --fail "$src_url"; then - ynh_replace_string --match_string="releases/server/debian/versions/stable/server/$version/jellyfin-server_$version-1_$architecture.deb" --replace_string="archive/debian/stable/$version/server/jellyfin-server_$version-1_$architecture.deb" --target_file="../conf/server.$debian.$architecture.src" -fi -ynh_setup_source --dest_dir=$tempdir --source_id="server.$debian.$architecture" - -# Same for web -src_url=$(grep 'SOURCE_URL=' "../conf/web.$debian.$architecture.src" | cut -d= -f2-) -if ! curl --output /dev/null --silent --head --fail "$src_url"; then - ynh_replace_string --match_string="releases/server/debian/versions/stable/web/$version/jellyfin-web_$version-1_all.deb" --replace_string="archive/debian/stable/$version/web/jellyfin-web_$version-1_all.deb" --target_file="../conf/web.$debian.$architecture.src" -fi -ynh_setup_source --dest_dir=$tempdir --source_id="web.$debian.$architecture" - -# Install the packages -ynh_exec_warn_less dpkg --force-confdef --force-confnew -i $tempdir/jellyfin-ffmpeg.deb -ynh_exec_warn_less dpkg --force-confdef --force-confnew -i $tempdir/jellyfin-server.deb -ynh_exec_warn_less dpkg --force-confdef --force-confnew -i $tempdir/jellyfin-web.deb +install_jellyfin_packages #================================================= # CREATE DEDICATED USER