From b6d1a443b0941a9e2b8f6a08e82566e723729df2 Mon Sep 17 00:00:00 2001 From: Colin Walters Date: Thu, 3 Dec 2020 18:12:12 +0000 Subject: [PATCH] scripts: Remove download-extensions There's some logic I didn't currently preserve from this in the move into coreos-assembler around kernel/kernel-headers matching. https://github.com/coreos/coreos-assembler/pull/1916 I will look at re-adding that. But short term we don't actually have that problem right now and I'd like to get the 4.7 pipeline switched over to the new model so we don't have duplication. The goal here is to make it very "cosa like" to upload the oscontainer because it needs to be trivial for other people to do outside of a pipeline. Because this is git, when we need some of this code again we can find it in the history. --- scripts/download-extensions | 103 ------------------------------------ 1 file changed, 103 deletions(-) delete mode 100755 scripts/download-extensions diff --git a/scripts/download-extensions b/scripts/download-extensions deleted file mode 100755 index dfe425643..000000000 --- a/scripts/download-extensions +++ /dev/null @@ -1,103 +0,0 @@ -#!/bin/bash -# Download RPMs to act as extensions. -# See https://github.com/openshift/enhancements/pull/317 -# and https://github.com/coreos/fedora-coreos-tracker/issues/401 -# In the future this might live in rpm-ostree, see https://github.com/coreos/rpm-ostree/issues/2055 -set -euo pipefail -destdir=$(realpath "${1}") -shift -reposdir=$(pwd)/src/config -cd "${destdir}" - -# The "v2" format here is that there's an extensions/ directory, with subdirectories -# for each extension - except you should ignore "repodata/". -mkdir extensions -cd extensions - -# Stuff that's not part of the extension -mkdir dependencies - -# Downloads packages from specified repos -yumdownload() { - # FIXME eventually use rpm-ostree for this - # shellcheck disable=SC2068 - yum --setopt=reposdir="${reposdir}" --disablerepo='*' --arch="$(cosa basearch)" --enablerepo=rhel-8-baseos --enablerepo=rhel-8-appstream --enablerepo=rhel-8-server-ose --enablerepo=rhel-8-nfv download $@ -} - -# Simple info output function -# 1 = message to show -info() { - echo "++ $(basename "$0"): $1" -} - -# Reuseable function for setting up an extension -# Assumes it is running in "${destdir}/extensions" -# 1 = extension name -# 2 = package string/glob -# 3 = OPTIONAL: dependencies string/glob -createext() { - extname=$1 - packages=$2 - - info "Creating extension ${extname}" - mkdir "${extname}" - (cd "${extname}" && yumdownload "${packages}") - # For backwards compatibility with existing MCO code, keep the RPMs at the toplevel too - pushd "${extname}" - for x in *.rpm; do - if [ ! -f "${destdir}/extensions/${x}" ]; then - ln "${x}" "${destdir}/extensions/" - fi - done - popd - - # Grab dependencies if any are required - if [ $# -eq 3 ]; then - info "Downloading dependencies for ${extname}" - (cd dependencies && echo "${3}" && yumdownload "${3}" && echo "done") - fi -} - -# In the event that kernel-rt is out of sync with vanilla kernel, determine -# the right version of kernel-headers to use. Assumes that `createext()` -# has successfully created/downloaded the kernel-rt extension. Also assumes -# it is running in "${destdir}/extensions" -get_rtheaders() { - pushd kernel-rt - rtrpm=$(ls kernel-rt-core*) - rtver=$(rpm -qp --queryformat="%{VERSION}" "${rtrpm}") - # kernel-rt-core includes some RT specific data in the RELEASE of the RPM, which needs - # to be stripped to match kernel-headers (i.e. kernel-rt-core-4.18.0-193.28.1.rt13.77.el8_2.x86_64.rpm) - rtrel=$(rpm -qp --queryformat="%{RELEASE}" "${rtrpm}" | sed 's/\.rt[0-9]\+\.[0-9]\+//') - headers="kernel-headers-${rtver}-${rtrel}" - info "Retrieving ${headers} for ${rtrpm}" - yumdownload "${headers}" - headersrpm=$(ls kernel-headers*) - if [ ! -f "${destdir}/extensions/${headersrpm}" ]; then - ln "${headersrpm}" "${destdir}/extensions/" - fi - popd -} - -# kernel-rt/kernel-rt-devel -if [ "$(cosa basearch)" = x86_64 ]; then - # GRPA-2822 - # https://github.com/openshift/machine-config-operator/pull/1330 - # https://github.com/openshift/enhancements/blob/master/enhancements/support-for-realtime-kernel.md - # TODO: remove the rhaos-art-4.6 repo once the 8.2.z kernel is in the RHEL repo - createext "kernel-rt" "kernel-rt-core kernel-rt-kvm kernel-rt-modules kernel-rt-modules-extra kernel-rt-devel" - get_rtheaders -fi - -# kernel-devel -# https://github.com/kmods-via-containers/kmods-via-containers/issues/3 -# https://gitlab.cee.redhat.com/coreos/redhat-coreos/merge_requests/866 -createext "kernel-devel" "kernel-core kernel-devel kernel-headers kernel-modules kernel-modules-extra" - -# usbguard -# https://github.com/coreos/fedora-coreos-tracker/issues/326 -#(cd dependencies && yumdownload libqb protobuf) -createext "usbguard" "usbguard" "libqb protobuf" - -# Create the yum/dnf repo -createrepo_c --no-database .