|
|
|
|
@@ -21,12 +21,12 @@
|
|
|
|
|
# shellcheck disable=SC2329
|
|
|
|
|
shopt -s extglob
|
|
|
|
|
|
|
|
|
|
declare -g SCRIPT_VERSION="1.34.10"
|
|
|
|
|
declare -g MC_VERSION_HARDCODE="34.0.71" # do find all replace
|
|
|
|
|
declare -g SCRIPT_VERSION="1.35.4"
|
|
|
|
|
declare -g MC_VERSION_HARDCODE="35.0.24" # do find all replace
|
|
|
|
|
declare -g MC_REPO_HARDCODE="bookworm" # should match the MC_VERSION_HARDCODE
|
|
|
|
|
declare -g BOARD_ID="89.0" # MC34 board ID for automatic version detection
|
|
|
|
|
declare -g BOARD_ID="92.0" # MC35 board ID for legacy latest version detection
|
|
|
|
|
declare -gi SELF_UPDATE_SWITCH=1 # 0 to disable installJRMC self-update
|
|
|
|
|
declare -g SCRIPT_URL="https://git.bryanroessler.com/bryan/installJRMC/raw/master/installJRMC" # self-update URL
|
|
|
|
|
declare -g SCRIPT_URL="https://git.bryanroessler.com/bryan/installJRMC/raw/branch/master/installJRMC" # self-update URL
|
|
|
|
|
# declare -g SCRIPT_URL="https://raw.githubusercontent.com/cryobry/installJRMC/refs/heads/master/installJRMC" # backup URL
|
|
|
|
|
declare -gi DEBUG=${DEBUG:-0} # set default debug and allow DEBUG env override (default: disabled)
|
|
|
|
|
|
|
|
|
|
@@ -139,7 +139,7 @@ parse_input() {
|
|
|
|
|
--install|-i) shift;
|
|
|
|
|
case $1 in
|
|
|
|
|
local|rpm|deb) BUILD_SWITCH=1 LOCAL_INSTALL_SWITCH=1 ;;
|
|
|
|
|
repo|remote) REPO_INSTALL_SWITCH=1 ;;
|
|
|
|
|
repo|remote|""|-*) REPO_INSTALL_SWITCH=1 ;;
|
|
|
|
|
container) CONTAINER_INSTALL_SWITCH=1 ;;
|
|
|
|
|
snap) SNAP_INSTALL_SWITCH=1 ;;
|
|
|
|
|
appimage) APPIMAGE_INSTALL_SWITCH=1 ;;
|
|
|
|
|
@@ -159,7 +159,8 @@ parse_input() {
|
|
|
|
|
|
|
|
|
|
# Set major version defaults
|
|
|
|
|
case "$MC_MVERSION_USER" in
|
|
|
|
|
34) MC_REPO_HARDCODE="bookworm" BOARD_ID="89.0" ;; # fallback to hardcoded version if full version not provided
|
|
|
|
|
35) MC_REPO_HARDCODE="bookworm" BOARD_ID="92.0" ;; # fallback to hardcoded version if full version not provided
|
|
|
|
|
34) MC_VERSION_USER="${MC_VERSION_USER:-34.0.71}" MC_REPO_HARDCODE="bookworm" BOARD_ID="89.0" ;;
|
|
|
|
|
33) MC_VERSION_USER="${MC_VERSION_USER:-33.0.72}" MC_REPO_HARDCODE="bullseye" BOARD_ID="86.0" ;;
|
|
|
|
|
32) MC_VERSION_USER="${MC_VERSION_USER:-32.0.58}" MC_REPO_HARDCODE="bullseye" BOARD_ID="83.0" ;;
|
|
|
|
|
31) MC_VERSION_USER="${MC_VERSION_USER:-31.0.83}" MC_REPO_HARDCODE="bullseye" BOARD_ID="80.0" ;;
|
|
|
|
|
@@ -174,7 +175,13 @@ parse_input() {
|
|
|
|
|
22) MC_VERSION_USER="${MC_VERSION_USER:-22.0.102}" MC_REPO_HARDCODE="jessie" BOARD_ID="51.0" ;;
|
|
|
|
|
21) MC_VERSION_USER="${MC_VERSION_USER:-21.0.90}" MC_REPO_HARDCODE="jessie" BOARD_ID="44.0" ;;
|
|
|
|
|
20) MC_VERSION_USER="${MC_VERSION_USER:-20.0.131}" MC_REPO_HARDCODE="jessie" BOARD_ID="35.0" ;;
|
|
|
|
|
*) err "Bad --mcversion"; print_help; exit 1 ;;
|
|
|
|
|
*)
|
|
|
|
|
# Warn for future major beta versions
|
|
|
|
|
if [[ $MC_MVERSION_USER -gt ${MC_VERSION_HARDCODE%%.*} ]] && [[ -z $MC_VERSION_USER ]]; then
|
|
|
|
|
echo "For future major versions, supply full version (and --betapass if necessary)."
|
|
|
|
|
err "Bad --mcversion"; print_help; exit 1
|
|
|
|
|
fi
|
|
|
|
|
;;
|
|
|
|
|
esac
|
|
|
|
|
else
|
|
|
|
|
err "Bad --mcversion"; print_help; exit 1
|
|
|
|
|
@@ -290,21 +297,21 @@ init() {
|
|
|
|
|
raspbian) ID="debian" ;;
|
|
|
|
|
*mandriva*) ID="mandriva"
|
|
|
|
|
if ((REPO_INSTALL_SWITCH)); then
|
|
|
|
|
debug "Automatically using --install=local for Mandriva"
|
|
|
|
|
debug "Automatically using --install=local for Mandriva."
|
|
|
|
|
REPO_INSTALL_SWITCH=0
|
|
|
|
|
BUILD_SWITCH=1
|
|
|
|
|
LOCAL_INSTALL_SWITCH=1
|
|
|
|
|
fi ;;
|
|
|
|
|
manjaro|arch|cachyos) ID="arch"
|
|
|
|
|
if ((REPO_INSTALL_SWITCH)); then
|
|
|
|
|
debug "Automatically using --install=local for Arch"
|
|
|
|
|
debug "Automatically using --install=local for Arch."
|
|
|
|
|
REPO_INSTALL_SWITCH=0
|
|
|
|
|
BUILD_SWITCH=1
|
|
|
|
|
LOCAL_INSTALL_SWITCH=1
|
|
|
|
|
fi ;;
|
|
|
|
|
*suse*) ID="suse"
|
|
|
|
|
if ((REPO_INSTALL_SWITCH)); then
|
|
|
|
|
debug "Automatically using --install=local for SUSE"
|
|
|
|
|
debug "Automatically using --install=local for SUSE."
|
|
|
|
|
REPO_INSTALL_SWITCH=0
|
|
|
|
|
BUILD_SWITCH=1
|
|
|
|
|
LOCAL_INSTALL_SWITCH=1
|
|
|
|
|
@@ -341,31 +348,31 @@ init() {
|
|
|
|
|
fedora|centos|mandriva)
|
|
|
|
|
local rpm_mgr
|
|
|
|
|
rpm_mgr=$(command -v dnf &>/dev/null && echo "dnf" || echo "yum")
|
|
|
|
|
PKG_INSTALL=(sudo "$rpm_mgr" install -y)
|
|
|
|
|
PKG_REMOVE=(sudo "$rpm_mgr" remove -y)
|
|
|
|
|
PKG_UPDATE=(sudo "$rpm_mgr" makecache)
|
|
|
|
|
PKG_INSTALL=(sudo "$rpm_mgr" install --assumeyes)
|
|
|
|
|
PKG_REMOVE=(sudo "$rpm_mgr" remove --assumeyes)
|
|
|
|
|
PKG_UPDATE=(sudo "$rpm_mgr" makecache --assumeyes)
|
|
|
|
|
PKG_QUERY=(rpm -q)
|
|
|
|
|
PKG_INSTALL_LOCAL() { install_mc_rpm; }
|
|
|
|
|
;;
|
|
|
|
|
debian|ubuntu)
|
|
|
|
|
PKG_INSTALL=(sudo apt-get -f install --install-recommends -y -q0)
|
|
|
|
|
PKG_REMOVE=(sudo apt-get remove --auto-remove -y -q0)
|
|
|
|
|
PKG_UPDATE=(sudo apt-get update -y -q0)
|
|
|
|
|
PKG_INSTALL=(sudo apt-get install --fix-broken --install-recommends --assume-yes)
|
|
|
|
|
PKG_REMOVE=(sudo apt-get remove --auto-remove --assume-yes)
|
|
|
|
|
PKG_UPDATE=(sudo apt-get update --assume-yes)
|
|
|
|
|
PKG_QUERY=(dpkg -s)
|
|
|
|
|
PKG_INSTALL_LOCAL() { install_mc_deb "$@"; }
|
|
|
|
|
;;
|
|
|
|
|
suse)
|
|
|
|
|
PKG_INSTALL=(sudo zypper --gpg-auto-import-keys --non-interactive --quiet install --force --force-resolution --replacefiles --no-confirm)
|
|
|
|
|
PKG_REMOVE=(sudo zypper --non-interactive --quiet remove --clean-deps)
|
|
|
|
|
PKG_UPDATE=(sudo zypper --non-interactive --quiet refresh jriver)
|
|
|
|
|
PKG_QUERY=(rpm -q)
|
|
|
|
|
PKG_INSTALL=(sudo zypper --gpg-auto-import-keys --non-interactive install --force --force-resolution --replacefiles --no-confirm)
|
|
|
|
|
PKG_REMOVE=(sudo zypper --non-interactive remove --clean-deps)
|
|
|
|
|
PKG_UPDATE=(sudo zypper --non-interactive refresh jriver)
|
|
|
|
|
PKG_QUERY=(rpm --query)
|
|
|
|
|
PKG_INSTALL_LOCAL() { install_mc_rpm; }
|
|
|
|
|
;;
|
|
|
|
|
arch)
|
|
|
|
|
PKG_INSTALL=(sudo pacman -Sy --noconfirm)
|
|
|
|
|
PKG_REMOVE=(sudo pacman -Rs --noconfirm)
|
|
|
|
|
PKG_UPDATE=(sudo pacman -Syy)
|
|
|
|
|
PKG_QUERY=(sudo pacman -Qs)
|
|
|
|
|
PKG_INSTALL=(sudo pacman --sync --refresh --noconfirm)
|
|
|
|
|
PKG_REMOVE=(sudo pacman --remove --recursive --noconfirm)
|
|
|
|
|
PKG_UPDATE=(sudo pacman --sync --refresh --refresh)
|
|
|
|
|
PKG_QUERY=(sudo pacman --query --search)
|
|
|
|
|
PKG_INSTALL_LOCAL() { install_mc_arch; }
|
|
|
|
|
;;
|
|
|
|
|
unknown)
|
|
|
|
|
@@ -434,8 +441,8 @@ set_mc_version() {
|
|
|
|
|
# Determine latest version
|
|
|
|
|
# Containerized package manager
|
|
|
|
|
if create_mc_apt_container &&
|
|
|
|
|
MC_VERSION=$(sudo buildah run "$CNT" -- apt-cache policy "mediacenter${MC_MVERSION_USER:-${MC_VERSION_HARDCODE%%.*}}" | awk '/Candidate:/ {sub(/-.*/, "", $2); print $2}' | sort -V | tail -n1) &&
|
|
|
|
|
execute sudo buildah rm "$CNT" &&
|
|
|
|
|
MC_VERSION=$(buildah run "$CNT" -- apt-cache policy "mediacenter${MC_MVERSION_USER:-${MC_VERSION_HARDCODE%%.*}}" | awk '/Candidate:/ {sub(/-.*/, "", $2); print $2}' | sort -V | tail -n1) &&
|
|
|
|
|
buildah rm "$CNT" &>/dev/null &&
|
|
|
|
|
[[ $MC_VERSION =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
|
|
|
|
|
MC_VERSION_SOURCE="containerized package manager"
|
|
|
|
|
# Fallback to webscrape
|
|
|
|
|
@@ -522,15 +529,13 @@ install_package() {
|
|
|
|
|
((allow_downgrades)) && install_flags+=(--allowerasing)
|
|
|
|
|
((no_gpg_check)) && install_flags+=(--nogpgcheck)
|
|
|
|
|
((refresh)) && install_flags+=(--refresh)
|
|
|
|
|
# Only add reinstall flag for mediacenter package
|
|
|
|
|
if ((reinstall)) && [[ ${#pkg_array[@]} -eq 1 ]] && "${PKG_QUERY[@]}" "mediacenter$MC_MVERSION" &>/dev/null; then
|
|
|
|
|
pkg_install=("${pkg_install[@]/install/reinstall}")
|
|
|
|
|
fi
|
|
|
|
|
;;
|
|
|
|
|
suse)
|
|
|
|
|
((no_gpg_check)) && install_flags+=(--allow-unsigned-rpm) ;;
|
|
|
|
|
esac
|
|
|
|
|
|
|
|
|
|
((silent)) && install_flags+=(--quiet)
|
|
|
|
|
|
|
|
|
|
# Install packages
|
|
|
|
|
if [[ ${#pkg_array[@]} -gt 0 ]]; then
|
|
|
|
|
if ! execute "${pkg_install[@]}" "${install_flags[@]}" "${pkg_array[@]}"; then
|
|
|
|
|
@@ -734,7 +739,7 @@ install_mc_repo() {
|
|
|
|
|
acquire_deb() {
|
|
|
|
|
debug "${FUNCNAME[0]}()"
|
|
|
|
|
declare -g MC_DEB MC_SOURCE
|
|
|
|
|
local fname mnt
|
|
|
|
|
local fname
|
|
|
|
|
|
|
|
|
|
[[ -d $OUTPUT_DIR/SOURCES ]] || execute mkdir -p "$OUTPUT_DIR/SOURCES"
|
|
|
|
|
|
|
|
|
|
@@ -749,10 +754,10 @@ acquire_deb() {
|
|
|
|
|
MC_DEB="$OUTPUT_DIR/SOURCES/$fname"
|
|
|
|
|
MC_SOURCE="https://files.jriver-cdn.com/mediacenter/channels/v$MC_MVERSION/latest/$fname"
|
|
|
|
|
|
|
|
|
|
# If deb file already exists, skip download
|
|
|
|
|
# If deb file already exists and is >30MB, skip download
|
|
|
|
|
if [[ -f $MC_DEB ]]; then
|
|
|
|
|
if [[ $(stat -c%s "$MC_DEB") -lt 10000000 ]]; then
|
|
|
|
|
echo "Removing existing DEB under 10MB: $MC_DEB"
|
|
|
|
|
if [[ $(stat -c%s "$MC_DEB") -lt 30000000 ]]; then
|
|
|
|
|
echo "Removing existing DEB under 30MB: $MC_DEB"
|
|
|
|
|
execute rm -f "$MC_DEB"
|
|
|
|
|
else
|
|
|
|
|
echo "Using existing DEB: $MC_DEB"
|
|
|
|
|
@@ -761,12 +766,18 @@ acquire_deb() {
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
# Download the deb file using the containerized package manager
|
|
|
|
|
if ! { create_mc_apt_container "apt-get download --allow-unauthenticated mediacenter$MC_MVERSION &>/dev/null" &&
|
|
|
|
|
mnt="$(sudo buildah mount "$CNT")" &&
|
|
|
|
|
execute sudo find "$mnt" -maxdepth 1 -type f -name "*.deb" -exec cp {} "$MC_DEB" \; &&
|
|
|
|
|
# shellcheck disable=SC2016
|
|
|
|
|
if ! {
|
|
|
|
|
# Download to /tmp to silence _apt permission warnings
|
|
|
|
|
create_mc_apt_container "cd /tmp && apt-get download --allow-unauthenticated mediacenter$MC_MVERSION -qq" &&
|
|
|
|
|
env CNT="$CNT" MC_DEB="$MC_DEB" buildah unshare -- bash -eu -o pipefail -c '
|
|
|
|
|
mnt="$(buildah mount "$CNT")"
|
|
|
|
|
deb="$(find "$mnt/tmp" -maxdepth 1 -type f -name "*.deb" | head -n1)"
|
|
|
|
|
[[ -n "$deb" ]] && cp -f "$deb" "$MC_DEB"
|
|
|
|
|
buildah umount "$CNT"' &&
|
|
|
|
|
[[ -f $MC_DEB ]] &&
|
|
|
|
|
execute sudo buildah umount "$CNT" &&
|
|
|
|
|
execute sudo buildah rm "$CNT"; }; then
|
|
|
|
|
buildah rm "$CNT" &>/dev/null;
|
|
|
|
|
}; then
|
|
|
|
|
debug "Failed to download DEB using containerized package manager"
|
|
|
|
|
echo "Using legacy download method"
|
|
|
|
|
# Define the repository search order
|
|
|
|
|
@@ -934,8 +945,7 @@ translate_packages() {
|
|
|
|
|
recommends_arr=('mesa-libgl' 'nvidia-libgl' 'nvidia-utils' 'vulkan-intel'
|
|
|
|
|
'vulkan-radeon' 'vorbis-tools' 'musepack-tools')
|
|
|
|
|
;;
|
|
|
|
|
*)
|
|
|
|
|
echo "Skipping package translations for $ID"
|
|
|
|
|
*) echo "Skipping package translations for $ID" ;;
|
|
|
|
|
esac
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -987,27 +997,26 @@ build_rpm() {
|
|
|
|
|
Release: $MC_RELEASE
|
|
|
|
|
Summary: JRiver Media Center
|
|
|
|
|
Group: Applications/Media
|
|
|
|
|
License: LicenseRef-JRiver-Proprietary
|
|
|
|
|
URL: https://www.jriver.com/
|
|
|
|
|
Source0: $MC_SOURCE
|
|
|
|
|
%define _rpmfilename %%{ARCH}/%%{NAME}-%%{version}-%%{release}.%%{ARCH}.rpm
|
|
|
|
|
|
|
|
|
|
AutoReq: 0
|
|
|
|
|
BuildArch: $ARCH
|
|
|
|
|
|
|
|
|
|
%global _rpmfilename %%{ARCH}/%%{NAME}-%%{version}-%%{release}.%%{ARCH}.rpm
|
|
|
|
|
|
|
|
|
|
AutoReqProv: no
|
|
|
|
|
|
|
|
|
|
$requires_str
|
|
|
|
|
$recommends_str
|
|
|
|
|
|
|
|
|
|
Conflicts: MediaCenter
|
|
|
|
|
|
|
|
|
|
Provides: mediacenter$MC_MVERSION
|
|
|
|
|
|
|
|
|
|
License: Copyright 1998-$(date +%Y), JRiver, Inc. All rights reserved. Protected by U.S. patents #7076468 and #7062468
|
|
|
|
|
URL: https://www.jriver.com/
|
|
|
|
|
|
|
|
|
|
%define __provides_exclude_from ^%{_libdir}/jriver/.*/.*\\.so.*$
|
|
|
|
|
|
|
|
|
|
%description
|
|
|
|
|
Media Center is more than a world class player.
|
|
|
|
|
|
|
|
|
|
%global __os_install_post %{nil}
|
|
|
|
|
%prep
|
|
|
|
|
|
|
|
|
|
%build
|
|
|
|
|
@@ -1015,9 +1024,6 @@ build_rpm() {
|
|
|
|
|
%install
|
|
|
|
|
dpkg -x %{S:0} %{buildroot}
|
|
|
|
|
|
|
|
|
|
%post -p /sbin/ldconfig
|
|
|
|
|
%postun -p /sbin/ldconfig
|
|
|
|
|
|
|
|
|
|
%files
|
|
|
|
|
%{_bindir}/mediacenter$MC_MVERSION
|
|
|
|
|
$stub
|
|
|
|
|
@@ -1037,6 +1043,8 @@ build_rpm() {
|
|
|
|
|
-bb
|
|
|
|
|
"$spec_file"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
# Run rpmbuild and verify output RPM exists
|
|
|
|
|
execute "${rpmbuild_cmd[@]}" && [[ -f $MC_RPM ]]
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -1140,7 +1148,7 @@ install_mc_deb() {
|
|
|
|
|
# @description Installs MC via RPM package
|
|
|
|
|
install_mc_rpm() {
|
|
|
|
|
debug "${FUNCNAME[0]}()"
|
|
|
|
|
install_package --no-install-check --no-gpg-check --allow-downgrades --reinstall "$MC_RPM"
|
|
|
|
|
install_package --no-install-check --no-gpg-check --allow-downgrades "$MC_RPM"
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
# @description Installs Media Center generically for unsupported OSes
|
|
|
|
|
@@ -1221,10 +1229,10 @@ run_createrepo() {
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
# Run createrepo
|
|
|
|
|
local -a cr_opts=(-q "$CREATEREPO_WEBROOT")
|
|
|
|
|
local -a cr_opts=(--update)
|
|
|
|
|
# [[ -d "$CREATEREPO_WEBROOT/repodata" ]] && cr_opts+=(--update) # TODO temporarily disabled for legacy createrepo
|
|
|
|
|
if ! execute sudo -u "$CREATEREPO_USER" createrepo "${cr_opts[@]}"; then
|
|
|
|
|
if ! (execute sudo createrepo "${cr_opts[@]}" && execute sudo chown -R "$CREATEREPO_USER:$CREATEREPO_USER" "$CREATEREPO_WEBROOT"); then
|
|
|
|
|
if ! execute sudo -u "$CREATEREPO_USER" createrepo "${cr_opts[@]}" "$CREATEREPO_WEBROOT"; then
|
|
|
|
|
if ! (execute sudo createrepo "${cr_opts[@]}" "$CREATEREPO_WEBROOT" && execute sudo chown -R "$CREATEREPO_USER:$CREATEREPO_USER" "$CREATEREPO_WEBROOT"); then
|
|
|
|
|
err "createrepo failed"
|
|
|
|
|
return 1
|
|
|
|
|
fi
|
|
|
|
|
@@ -1982,14 +1990,14 @@ download() {
|
|
|
|
|
local url="$1"
|
|
|
|
|
local output="${2:-}"
|
|
|
|
|
local -a cmd
|
|
|
|
|
if command -v curl &>/dev/null || install_package --silent curl; then
|
|
|
|
|
if command -v curl &>/dev/null || install_package curl; then
|
|
|
|
|
cmd=(curl --silent --fail --location)
|
|
|
|
|
if [[ -n "$output" ]]; then
|
|
|
|
|
cmd+=(--output "$output")
|
|
|
|
|
else
|
|
|
|
|
cmd+=(--remote-name)
|
|
|
|
|
fi
|
|
|
|
|
elif command -v wget &>/dev/null || install_package --silent wget; then
|
|
|
|
|
elif command -v wget &>/dev/null || install_package wget; then
|
|
|
|
|
cmd=(wget --quiet)
|
|
|
|
|
[[ -n "$output" ]] && cmd+=("--output-document=$output")
|
|
|
|
|
else
|
|
|
|
|
@@ -2003,23 +2011,24 @@ create_mc_apt_container() {
|
|
|
|
|
debug "${FUNCNAME[0]}()" "$@"
|
|
|
|
|
declare -g CNT
|
|
|
|
|
local -a cmds=("$@")
|
|
|
|
|
{ command -v buildah &>/dev/null || install_package buildah &>/dev/null; } &&
|
|
|
|
|
CNT=$(sudo buildah from --quiet alpine:edge) &&
|
|
|
|
|
sudo buildah run "$CNT" -- sh -c '
|
|
|
|
|
apk add --no-cache apt curl gnupg &>/dev/null
|
|
|
|
|
curl -fsSL https://dist.jriver.com/mediacenter@jriver.com.gpg.key | gpg --dearmor -o /usr/share/keyrings/jriver-com-archive-keyring.gpg &>/dev/null
|
|
|
|
|
# shellcheck disable=SC2016
|
|
|
|
|
{ command -v buildah &>/dev/null || install_package buildah; } &&
|
|
|
|
|
CNT=$(buildah from --quiet alpine:edge) &&
|
|
|
|
|
buildah run --env MC_REPO="$MC_REPO" --env MC_ARCH="$MC_ARCH" "$CNT" -- sh -c '
|
|
|
|
|
apk add --quiet --no-progress --no-cache apt curl gnupg
|
|
|
|
|
curl -fsSL https://dist.jriver.com/mediacenter@jriver.com.gpg.key | gpg --quiet --dearmor -o /usr/share/keyrings/jriver-com-archive-keyring.gpg
|
|
|
|
|
cat <<-EOF > /etc/apt/sources.list.d/jriver.sources
|
|
|
|
|
Types: deb
|
|
|
|
|
URIs: https://dist.jriver.com/latest/mediacenter/
|
|
|
|
|
Signed-By: /usr/share/keyrings/jriver-com-archive-keyring.gpg
|
|
|
|
|
Suites: '"$MC_REPO"'
|
|
|
|
|
Suites: $MC_REPO
|
|
|
|
|
Components: main
|
|
|
|
|
Architectures: '"$MC_ARCH"'
|
|
|
|
|
Architectures: $MC_ARCH
|
|
|
|
|
EOF
|
|
|
|
|
apt-get update &>/dev/null' &&
|
|
|
|
|
apt-get update -qq' &&
|
|
|
|
|
# If user passes command strings run them in the container
|
|
|
|
|
for cmd in "${cmds[@]}"; do
|
|
|
|
|
sudo buildah run "$CNT" -- sh -c "$cmd" || { err "$cmd failed"; return 1; }
|
|
|
|
|
buildah run "$CNT" -- sh -c "$cmd" || { err "$cmd failed"; return 1; }
|
|
|
|
|
done
|
|
|
|
|
}
|
|
|
|
|
add_temp_repo() {
|
|
|
|
|
|