Test containerized apt download
This commit is contained in:
56
installJRMC
56
installJRMC
@@ -636,6 +636,7 @@ install_mc_repo() {
|
||||
repo_file="/etc/apt/sources.list.d/jriver.sources"
|
||||
fi
|
||||
|
||||
# Remove old repo
|
||||
old_repo_files=(
|
||||
"/etc/apt/sources.list.d/jriver.list"
|
||||
"/etc/apt/sources.list.d/jriver-beta.list"
|
||||
@@ -748,6 +749,59 @@ acquire_deb() {
|
||||
((found)) && [[ -f $MC_DEB ]]
|
||||
}
|
||||
|
||||
acquire_deb_new() {
|
||||
debug "Running: ${FUNCNAME[0]}"
|
||||
declare -g MC_SOURCE
|
||||
local fname
|
||||
|
||||
[[ -d $OUTPUT_DIR/SOURCES ]] || execute mkdir -p "$OUTPUT_DIR/SOURCES"
|
||||
|
||||
# Usually JRiver excludes the release number from the filename
|
||||
# but in some cases (test builds) it may be included
|
||||
if [[ $MC_RELEASE -gt 1 ]]; then
|
||||
fname="MediaCenter-$MC_VERSION-$MC_RELEASE-$MC_ARCH.deb"
|
||||
else
|
||||
fname="MediaCenter-$MC_VERSION-$MC_ARCH.deb"
|
||||
fi
|
||||
|
||||
declare -g MC_DEB="$OUTPUT_DIR/SOURCES/$fname"
|
||||
|
||||
# If deb file already exists, skip download
|
||||
if [[ -f $MC_DEB ]]; then
|
||||
if [[ $(stat -c%s "$MC_DEB") -lt 10000000 ]]; then
|
||||
echo "Removing existing DEB under 10MB: $MC_DEB"
|
||||
execute rm "$MC_DEB"
|
||||
else
|
||||
echo "Using existing DEB: $MC_DEB"
|
||||
# Use dummy source since we don't know where it came from
|
||||
# TODO could attach source tag to filename
|
||||
MC_SOURCE="https://files.jriver-cdn.com/mediacenter/channels/v$MC_MVERSION/latest/$fname"
|
||||
return 0
|
||||
fi
|
||||
fi
|
||||
|
||||
# Define the repositories to search
|
||||
cnt=$(buildah from --quiet alpine:edge) &&
|
||||
buildah run "$cnt" -- sh -c '
|
||||
apk add apt &>/dev/null
|
||||
mkdir -p /download
|
||||
cat <<-EOF > /etc/apt/sources.list.d/jriver.sources
|
||||
Types: deb
|
||||
URIs: https://dist.jriver.com/latest/mediacenter/
|
||||
Suites: '"$MC_REPO"'
|
||||
Components: main
|
||||
Architectures: amd64 armhf arm64
|
||||
EOF
|
||||
apt update --allow-insecure-repositories &>/dev/null
|
||||
cd /download
|
||||
apt download "mediacenter'"$MC_MVERSION"'"' &&
|
||||
buildah copy "$cnt" /download/MediaCenter-"$MC_VERSION"*.deb "$OUTPUT_DIR/SOURCES/" &&
|
||||
buildah rm "$cnt"
|
||||
|
||||
# Return if the download was successful
|
||||
((found)) && [[ -f $MC_DEB ]]
|
||||
}
|
||||
|
||||
# @description Creates a SPEC file and builds the RPM from the source DEB using rpmbuild
|
||||
build_rpm() {
|
||||
debug "Running: ${FUNCNAME[0]}"
|
||||
@@ -1720,7 +1774,7 @@ main() {
|
||||
fi
|
||||
|
||||
if ((BUILD_SWITCH)) && [[ $ID != "arch" ]]; then
|
||||
acquire_deb || { err "Could not download Media Center DEB package"; return 1; }
|
||||
acquire_deb_new || { err "Could not download Media Center DEB package"; return 1; }
|
||||
|
||||
if [[ $BUILD_TARGET =~ centos|fedora|suse || $CREATEREPO_TARGET =~ centos|fedora|suse ]]; then
|
||||
install_package dpkg rpm-build
|
||||
|
||||
Reference in New Issue
Block a user