Allow command strings to be passed to container
This commit is contained in:
16
installJRMC
16
installJRMC
@@ -420,7 +420,7 @@ get_latest_mc_version() {
|
|||||||
local mc_version_source
|
local mc_version_source
|
||||||
|
|
||||||
# Containerized package manager
|
# Containerized package manager
|
||||||
if apt_mc_container &&
|
if create_mc_apt_container &&
|
||||||
MC_VERSION=$(sudo buildah run "$CNT" -- apt-cache policy "mediacenter${USER_MC_MVERSION:-${MC_VERSION%%.*}}" | grep Candidate | awk '{print $2}' | sort -V | tail -n1) &&
|
MC_VERSION=$(sudo buildah run "$CNT" -- apt-cache policy "mediacenter${USER_MC_MVERSION:-${MC_VERSION%%.*}}" | grep Candidate | awk '{print $2}' | sort -V | tail -n1) &&
|
||||||
execute sudo buildah rm "$CNT" &&
|
execute sudo buildah rm "$CNT" &&
|
||||||
[[ $MC_VERSION =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
|
[[ $MC_VERSION =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
|
||||||
@@ -772,14 +772,12 @@ acquire_deb_new() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# Define the repositories to search
|
# Define the repositories to search
|
||||||
if ! (apt_mc_container &&
|
if ! (create_mc_apt_container "apt-get download --allow-unauthenticated mediacenter$MC_MVERSION" &&
|
||||||
sudo buildah run "$CNT" -- sh -c "
|
|
||||||
apt-get download --allow-unauthenticated mediacenter$MC_MVERSION" &&
|
|
||||||
mnt="$(sudo buildah mount "$CNT")" &&
|
mnt="$(sudo buildah mount "$CNT")" &&
|
||||||
execute sudo find "$mnt" -maxdepth 1 -type f -name "*.deb" -exec cp {} "$MC_DEB" \; &&
|
execute sudo find "$mnt" -maxdepth 1 -type f -name "*.deb" -exec cp {} "$MC_DEB" \; &&
|
||||||
|
execute sudo chown "$USER:$USER" "$MC_DEB" &&
|
||||||
execute sudo buildah umount "$CNT" &&
|
execute sudo buildah umount "$CNT" &&
|
||||||
execute sudo buildah rm "$CNT" &&
|
execute sudo buildah rm "$CNT" &&
|
||||||
execute sudo chown "$USER:$USER" "$MC_DEB" &&
|
|
||||||
[[ -f $MC_DEB ]]); then
|
[[ -f $MC_DEB ]]); then
|
||||||
err "Failed to download DEB from containerized package manager"
|
err "Failed to download DEB from containerized package manager"
|
||||||
echo "Using legacy download method"
|
echo "Using legacy download method"
|
||||||
@@ -1864,8 +1862,9 @@ download() {
|
|||||||
debug "${cmd[@]}" "$url"
|
debug "${cmd[@]}" "$url"
|
||||||
"${cmd[@]}" "$url"
|
"${cmd[@]}" "$url"
|
||||||
}
|
}
|
||||||
apt_mc_container() {
|
create_mc_apt_container() {
|
||||||
declare -g CNT
|
declare -g CNT
|
||||||
|
local -a cmds=("$@")
|
||||||
install_package --silent buildah &>/dev/null &&
|
install_package --silent buildah &>/dev/null &&
|
||||||
CNT=$(sudo buildah from --quiet alpine:edge 2>/dev/null) &&
|
CNT=$(sudo buildah from --quiet alpine:edge 2>/dev/null) &&
|
||||||
sudo buildah run "$CNT" -- sh -c '
|
sudo buildah run "$CNT" -- sh -c '
|
||||||
@@ -1880,6 +1879,11 @@ apt_mc_container() {
|
|||||||
Architectures: '"$MC_ARCH"'
|
Architectures: '"$MC_ARCH"'
|
||||||
EOF
|
EOF
|
||||||
apt-get update --allow-insecure-repositories &>/dev/null'
|
apt-get update --allow-insecure-repositories &>/dev/null'
|
||||||
|
|
||||||
|
# If user passes command strings run them in the container
|
||||||
|
for cmd in "${cmds[@]}"; do
|
||||||
|
sudo buildah run "$CNT" -- sh -c "$cmd"
|
||||||
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
# Roughly turn debugging on for pre-init
|
# Roughly turn debugging on for pre-init
|
||||||
|
|||||||
Reference in New Issue
Block a user