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 .