Fix compat with legacy ar
This commit is contained in:
19
installJRMC
19
installJRMC
@@ -1435,18 +1435,19 @@ 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)"
|
||||||
ar x --output "$extract_dir" "$MCDEB"
|
declare mcdeb_compat="$MCDEB.compat"
|
||||||
tar -xJf "$extract_dir/control.tar.xz" -C "$extract_dir"
|
pushd "$extract_dir" &>/dev/null || return $?
|
||||||
|
ar x "$MCDEB"
|
||||||
|
tar -xJf "control.tar.xz"
|
||||||
# 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' "control"
|
||||||
sed -i 's/([^)]*)//g' "$extract_dir/control" # MC DEB package error
|
sed -i 's/([^)]*)//g' "control" # TODO email bob, MC DEB package error
|
||||||
tar -cJf "$extract_dir/control.tar.xz" \
|
tar -cJf "control.tar.xz" "control" "postinst"
|
||||||
-C "$extract_dir" "control" "postinst"
|
ar rcs "$mcdeb_compat" "debian-binary" "control.tar.xz" "data.tar.xz"
|
||||||
declare mcdeb="$MCDEB.compat"
|
popd || return $?
|
||||||
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 --skip-check-installed --nogpgcheck ${mcdeb:-$MCDEB}"
|
pkg_install_cmd="installPackage --skip-check-installed --nogpgcheck $mcdeb_compat"
|
||||||
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
|
||||||
|
|||||||
Reference in New Issue
Block a user