nodejs/install-rpms.sh
2025-01-10 17:44:42 +01:00

45 lines
1.9 KiB
Bash
Executable file

#!/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
}