Finally remove agnostic commands
This commit is contained in:
@@ -128,6 +128,10 @@ It is possible to install multiple services at one time using multiple `--servic
|
|||||||
|
|
||||||
Installs an Xvnc server on display ':2' that starts Media Center.
|
Installs an Xvnc server on display ':2' that starts Media Center.
|
||||||
|
|
||||||
|
* `installJRMC --install deb --compat`
|
||||||
|
|
||||||
|
Installs a more widely-compatible version of MC on deb-based distros
|
||||||
|
|
||||||
* `installJRMC --uninstall`
|
* `installJRMC --uninstall`
|
||||||
|
|
||||||
Uninstalls JRiver Media Center and its associated services and firewall rules. This will **not** remove your media, media library/database, or automated library backup folder.
|
Uninstalls JRiver Media Center and its associated services and firewall rules. This will **not** remove your media, media library/database, or automated library backup folder.
|
||||||
|
|||||||
74
installJRMC
74
installJRMC
@@ -659,58 +659,55 @@ runCreaterepo() {
|
|||||||
debug "Running: ${FUNCNAME[0]}"
|
debug "Running: ${FUNCNAME[0]}"
|
||||||
|
|
||||||
declare cr_cmd cr_cp_cmd cr_mkdir_cmd cr_chown_cmd
|
declare cr_cmd cr_cp_cmd cr_mkdir_cmd cr_chown_cmd
|
||||||
|
declare cr_user="${CREATEREPO_USER:-$USER}"
|
||||||
|
|
||||||
installPackage createrepo_c
|
installPackage createrepo_c
|
||||||
|
|
||||||
# If the webroot does not exist, create it
|
# If the webroot does not exist, create it
|
||||||
if [[ ! -d "$CREATEREPO_WEBROOT" ]]; then
|
if [[ ! -d "$CREATEREPO_WEBROOT" ]]; then
|
||||||
#cr_mkdir_cmd="sudo -u $CREATEREPO_USER mkdir -p $CREATEREPO_WEBROOT"
|
cr_mkdir_cmd="sudo -u $cr_user mkdir -p $CREATEREPO_WEBROOT"
|
||||||
#debug "$cr_mkdir_cmd" || cr_mkdir_cmd+=" &>/dev/null"
|
|
||||||
#if ! eval "$cr_mkdir_cmd"; then
|
|
||||||
cr_mkdir_cmd="mkdir_cmd $CREATEREPO_WEBROOT"
|
|
||||||
debug "$cr_mkdir_cmd" || cr_mkdir_cmd+=" &>/dev/null"
|
debug "$cr_mkdir_cmd" || cr_mkdir_cmd+=" &>/dev/null"
|
||||||
cr_chown_cmd="chown_cmd $CREATEREPO_USER $CREATEREPO_WEBROOT"
|
if ! eval "$cr_mkdir_cmd"; then
|
||||||
|
cr_mkdir_cmd="sudo mkdir -p $CREATEREPO_WEBROOT"
|
||||||
|
debug "$cr_mkdir_cmd" || cr_mkdir_cmd+=" &>/dev/null"
|
||||||
|
cr_chown_cmd="sudo chown -R $cr_user:$cr_user $CREATEREPO_WEBROOT"
|
||||||
debug "$cr_chown_cmd" || cr_chown_cmd+=" &>/dev/null"
|
debug "$cr_chown_cmd" || cr_chown_cmd+=" &>/dev/null"
|
||||||
if ! ( eval "$cr_mkdir_cmd" && eval "$cr_chown_cmd" ); then
|
if ! ( eval "$cr_mkdir_cmd" && eval "$cr_chown_cmd" ); then
|
||||||
err "Could not create the createrepo-webroot path!"
|
err "Could not create the createrepo-webroot path!"
|
||||||
err "Make sure that the createrepo-webroot is writeable by createrepo-user: $CREATEREPO_USER"
|
err "Make sure that the webroot $CREATEREPO_WEBROOT is writeable by user $cr_user"
|
||||||
|
err "Or change the repo ownership with --createrepo-user"
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
#fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Copy built rpms to webroot
|
# Copy built rpms to webroot
|
||||||
#cr_cp_cmd="sudo -u $CREATEREPO_USER cp -n -f $MCRPM $CREATEREPO_WEBROOT"
|
cr_cp_cmd="sudo cp -nf $MCRPM $CREATEREPO_WEBROOT"
|
||||||
#cr_chown_cmd="sudo -u $CREATEREPO_USER chown -R $CREATEREPO_USER:$CREATEREPO_USER $CREATEREPO_WEBROOT"
|
cr_chown_cmd="sudo chown -R $cr_user:$cr_user $CREATEREPO_WEBROOT"
|
||||||
#debug "$cr_cp_cmd && $cr_chown_cmd" || cr_cp_cmd+=" &>/dev/null" cr_chown_cmd+=" &>/dev/null"
|
|
||||||
#if ! ( exec "$cr_cp_cmd" && exec "$cr_chown_cmd" ); then
|
|
||||||
cr_cp_cmd="cp_cmd $MCRPM $CREATEREPO_WEBROOT"
|
|
||||||
cr_chown_cmd="chown_cmd $CREATEREPO_USER $CREATEREPO_WEBROOT"
|
|
||||||
debug "$cr_cp_cmd" || cr_cp_cmd+=" &>/dev/null"
|
debug "$cr_cp_cmd" || cr_cp_cmd+=" &>/dev/null"
|
||||||
debug "$cr_chown_cmd" || cr_cp_cmd+=" &>/dev/null"
|
debug "$cr_chown_cmd" || cr_cp_cmd+=" &>/dev/null"
|
||||||
if ! (eval "$cr_cp_cmd" && eval "$cr_chown_cmd"); then
|
if ! ( eval "$cr_cp_cmd" && eval "$cr_chown_cmd" ); then
|
||||||
err "Could not copy $MCRPM to $CREATEREPO_WEBROOT"
|
err "Could not copy $MCRPM to $CREATEREPO_WEBROOT"
|
||||||
#err "Is the createrepo-webroot $CREATEREPO_WEBROOT writeable by createrepo-user: $CREATEREPO_USER?"
|
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
#fi
|
|
||||||
|
|
||||||
# Run createrepo
|
# Run createrepo
|
||||||
cr_cmd="sudo -u $CREATEREPO_USER createrepo -q"
|
cr_cmd="sudo -u $cr_user createrepo -q $CREATEREPO_WEBROOT"
|
||||||
[[ -d "$CREATEREPO_WEBROOT/repodata" ]] && cr_cmd+=" --update"
|
[[ -d "$CREATEREPO_WEBROOT/repodata" ]] && cr_cmd+=" --update"
|
||||||
debug "$cr_cmd $CREATEREPO_WEBROOT" || cr_cmd+=" &>/dev/null"
|
debug "$cr_cmd" || cr_cmd+=" &>/dev/null"
|
||||||
if ! eval "$cr_cmd $CREATEREPO_WEBROOT"; then
|
if ! eval "$cr_cmd"; then
|
||||||
cr_cmd="sudo createrepo -q"
|
cr_cmd="sudo createrepo -q $CREATEREPO_WEBROOT"
|
||||||
[[ -d "$CREATEREPO_WEBROOT/repodata" ]] && cr_cmd+=" --update"
|
[[ -d "$CREATEREPO_WEBROOT/repodata" ]] && cr_cmd+=" --update"
|
||||||
debug "$cr_cmd $CREATEREPO_WEBROOT" || cr_cmd+=" &>/dev/null"
|
cr_chown_cmd="sudo chown -R $cr_user:$cr_user $CREATEREPO_WEBROOT"
|
||||||
if ! eval "$cr_cmd $CREATEREPO_WEBROOT"; then
|
debug "$cr_cmd" || cr_cmd+=" &>/dev/null"
|
||||||
err "Update repo failed"
|
debug "$cr_chown_cmd" || cr_cp_cmd+=" &>/dev/null"
|
||||||
|
if ! ( eval "$cr_cmd" && eval "$cr_chown_cmd"); then
|
||||||
|
err "Createrepo failed"
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "Successfully updated repo"
|
echo "Successfully updated repo"
|
||||||
return 0
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -722,7 +719,9 @@ symlinkCerts() {
|
|||||||
|
|
||||||
if [[ ! -f /etc/ssl/certs/ca-certificates.crt &&
|
if [[ ! -f /etc/ssl/certs/ca-certificates.crt &&
|
||||||
-f /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem ]]; then
|
-f /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem ]]; then
|
||||||
if ! ln_cmd /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem /etc/ssl/certs/ca-certificates.crt; then
|
ln_cmd="sudo ln -s /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem /etc/ssl/certs/ca-certificates.crt"
|
||||||
|
debug "$ln_cmd" || ln_cmd+=" &>/dev/null"
|
||||||
|
if ! exec "$ln_cmd"; then
|
||||||
err "Symlinking certificates failed"
|
err "Symlinking certificates failed"
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
@@ -922,7 +921,7 @@ setServiceVars() {
|
|||||||
systemctl_disable_cmd(){ systemctl --user disable --now "$@"; }
|
systemctl_disable_cmd(){ systemctl --user disable --now "$@"; }
|
||||||
fi
|
fi
|
||||||
|
|
||||||
[[ ! -d "$service_dir" ]] && mkdir_cmd "$service_dir"
|
[[ ! -d "$service_dir" ]] && sudo -u "$EXEC_USER" mkdir -p "$service_dir"
|
||||||
|
|
||||||
if [[ "$USER" == "root" || "$SERVICE_TYPE" == "user" ]]; then
|
if [[ "$USER" == "root" || "$SERVICE_TYPE" == "user" ]]; then
|
||||||
SERVICE_NAME="${1}.service"
|
SERVICE_NAME="${1}.service"
|
||||||
@@ -1358,7 +1357,6 @@ main() {
|
|||||||
|
|
||||||
declare version_source
|
declare version_source
|
||||||
declare -g MCVERSION MVERSION MCRPM
|
declare -g MCVERSION MVERSION MCRPM
|
||||||
declare -g CREATEREPO_USER="${CREATEREPO_USER:-$USER}"
|
|
||||||
|
|
||||||
getOS
|
getOS
|
||||||
|
|
||||||
@@ -1373,14 +1371,7 @@ main() {
|
|||||||
installPackage epel-release
|
installPackage epel-release
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Agnostic commands
|
# Distro-specific commands
|
||||||
bash_cmd(){ sudo bash -c "$@"; }
|
|
||||||
cp_cmd(){ sudo cp -nf "$@"; }
|
|
||||||
mkdir_cmd(){ sudo mkdir -p "$@"; }
|
|
||||||
chown_cmd(){ sudo chown "$1":"$1" -R "${@:2}"; }
|
|
||||||
ln_cmd(){ sudo ln -s "$@"; }
|
|
||||||
|
|
||||||
# OS-specific commands
|
|
||||||
if [[ "$ID" =~ ^(fedora|centos)$ ]]; then
|
if [[ "$ID" =~ ^(fedora|centos)$ ]]; then
|
||||||
pkg_install(){ sudo dnf install -y "$@"; }
|
pkg_install(){ sudo dnf install -y "$@"; }
|
||||||
pkg_remove(){ sudo dnf remove -y "$@"; }
|
pkg_remove(){ sudo dnf remove -y "$@"; }
|
||||||
@@ -1451,21 +1442,20 @@ main() {
|
|||||||
acquireDeb
|
acquireDeb
|
||||||
if (( COMPAT_SWITCH )); then
|
if (( COMPAT_SWITCH )); then
|
||||||
declare extract_dir && extract_dir="$(mktemp -d)"
|
declare extract_dir && extract_dir="$(mktemp -d)"
|
||||||
MCDEB="$MCDEB.compat"
|
|
||||||
ar x --output "$extract_dir" "$MCDEB"
|
ar x --output "$extract_dir" "$MCDEB"
|
||||||
tar -xJf "$extract_dir/control.tar.xz" -C "$extract_dir"
|
tar -xJf "$extract_dir/control.tar.xz" -C "$extract_dir"
|
||||||
# Remove minimum version specifiers from control file
|
# Remove minimum version specifiers from control file
|
||||||
sed -i 's/ ([^)]*)//g' "$extract_dir/control"
|
sed -i 's/ ([^)]*)//g' "$extract_dir/control"
|
||||||
tar -C "$extract_dir" \
|
sed -i 's/([^)]*)//g' "$extract_dir/control" # MC DEB package error
|
||||||
--ignore-failed-read \
|
tar -cJf "$extract_dir/control.tar.xz" \
|
||||||
-cvJf "control.tar.xz" "control" "postinst"
|
-C "$extract_dir" "control" "postinst"
|
||||||
ar rcs "$MCDEB" "$extract_dir/debian-binary" "$extract_dir/control.tar.xz" "$extract_dir/data.tar.xz"
|
declare mcdeb="$MCDEB.compat"
|
||||||
|
ar rcs "$mcdeb" "$extract_dir/debian-binary" "$extract_dir/control.tar.xz" "$extract_dir/data.tar.xz"
|
||||||
rm -rf "$extract_dir"
|
rm -rf "$extract_dir"
|
||||||
fi
|
fi
|
||||||
pkg_install_cmd="installPackage --nocheck --nogpgcheck $MCDEB"
|
pkg_install_cmd="installPackage --nocheck --nogpgcheck $mcdeb"
|
||||||
debug "$pkg_install_cmd" || pkg_install_cmd+=" &>/dev/null"
|
debug "$pkg_install_cmd" || pkg_install_cmd+=" &>/dev/null"
|
||||||
eval "$pkg_install_cmd"
|
eval "$pkg_install_cmd"
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if (( RPM_BUILD_SWITCH )); then
|
if (( RPM_BUILD_SWITCH )); then
|
||||||
|
|||||||
Reference in New Issue
Block a user