#!/bin/bash #KOJI_TASK_ID=2596437 KOJI_TASK_ID=${KOJI_TASK_ID:-} # Use the environment variable, or an empty string if not set # Check if KOJI_TASK_ID is set [ -n "$KOJI_TASK_ID" ] || { echo "WARN: KOJI_TASK_ID not set!" echo "WARN: not able to find scratch build, RPMS will be pulled from repo" >&2 echo "WARN: this variable should be either provided or passed from Testing Farm" >&2 exit 0 } # Get the current architecture ARCH=$(uname -m) # Download the build for the current architecture koji download-build $KOJI_TASK_ID --arch=$ARCH || { echo "Failed to download build $KOJI_TASK_ID for architecture $ARCH using koji" >&2 exit 1 } #( koji download-build --debuginfo --task-id --arch noarch --arch x86_64 --arch i686 --arch src $KOJI_TASK_ID || koji download-task --arch noarch --arch x86_64 --arch i686 --arch src $KOJI_TASK_ID ) | egrep Downloading | cut -d " " -f 3 | tee rpms-list-$KOJI_TASK_ID #ls *[^.src].rpm | sed -r "s/(.*)-.*-.*/\1 \0/" | egrep -v "i686" | awk "{print \$2}" | tee rpms-list #dnf -y reinstall $(cat rpms-list) || true #if [ ! -z "$(sed 's/\s//g' rpms-list)" ];then dnf -y install --allowerasing $(cat rpms-list);else echo "Nothing to install, rpms-list is empty"; fi #if [ ! -z "$(sed 's/\s//g' rpms-list)" ];then sed 's/.rpm$//' rpms-list | xargs -n1 command printf '%q\n' | xargs -d'\n' rpm -q;else echo 'Nothing to verify, rpms-list is empty'; fi # Ensure the required RPMs exist MAIN_RPM=$(ls nodejs-*.$ARCH.rpm 2>/dev/null | head -n 1) DEPENDENCY_RPM=$(ls nodejs-libs-*.$ARCH.rpm 2>/dev/null | head -n 1) NPM_RPM=$(ls nodejs-npm-*.$ARCH.rpm 2>/dev/null | head -n 1) # Check if all necessary RPMs are found if [ -z "$MAIN_RPM" ] || [ -z "$DEPENDENCY_RPM" ] || [ -z "$NPM_RPM" ]; then echo "Required RPMs not found for x86_64 architecture." >&2 exit 1 fi # Install the main package, its dependency, and npm package rpm -ivh "$MAIN_RPM" "$DEPENDENCY_RPM" "$NPM_RPM" || { echo "Failed to install RPMs" >&2 exit 1 }