From 348af13d4eef0417695c9105ceccc3094e89e8be Mon Sep 17 00:00:00 2001 From: Dorian Stoll Date: Tue, 25 Jul 2023 12:35:37 +0200 Subject: [PATCH] pkg: repo: Fix generating random strings The pipefail option causes the script to terminate with an error, because the pipes are closed while they are still being written to from /dev/urandom. It would be possible to disable pipefail locally for this command, but using openssl seems easier and more robust anyways. --- .github/scripts/repository/arch.sh | 4 ++-- .github/scripts/repository/debian.sh | 4 ++-- .github/scripts/repository/fedora.sh | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/scripts/repository/arch.sh b/.github/scripts/repository/arch.sh index 63c301b70..3dd634ef7 100644 --- a/.github/scripts/repository/arch.sh +++ b/.github/scripts/repository/arch.sh @@ -35,7 +35,7 @@ GIT_TAG="${GIT_REF#refs/tags/}" # Install dependencies pacman -Syu -pacman -S base-devel git +pacman -S base-devel git openssl # clone package repository git clone -b "${BRANCH_STAGING}" "${REPO}" repo @@ -50,7 +50,7 @@ while read -rd $'\n' FILE; do rm "${FILE}" done <<< "$(find . -name '*.pkg.tar.zst')" -RAND="$(tr -dc 'a-zA-Z0-9' < /dev/urandom | fold -w 32 | head -n 1)" +RAND="$(openssl rand -hex 16)" BRANCH="${BRANCH_STAGING}-${RAND}" # set git identity diff --git a/.github/scripts/repository/debian.sh b/.github/scripts/repository/debian.sh index 83a8c9863..aaad1f458 100644 --- a/.github/scripts/repository/debian.sh +++ b/.github/scripts/repository/debian.sh @@ -35,7 +35,7 @@ GIT_TAG="${GIT_REF#refs/tags/}" # Install dependencies apt-get update -apt-get install git +apt-get install git openssl # clone package repository git clone -b "${BRANCH_STAGING}" "${REPO}" repo @@ -50,7 +50,7 @@ while read -rd $'\n' FILE; do rm "${FILE}" done <<< "$(find . -name '*.deb')" -RAND="$(tr -dc 'a-zA-Z0-9' < /dev/urandom | fold -w 32 | head -n 1)" +RAND="$(openssl rand -hex 16)" BRANCH="${BRANCH_STAGING}-${RAND}" # set git identity diff --git a/.github/scripts/repository/fedora.sh b/.github/scripts/repository/fedora.sh index dc62149fa..f489203b5 100644 --- a/.github/scripts/repository/fedora.sh +++ b/.github/scripts/repository/fedora.sh @@ -41,7 +41,7 @@ REPO="https://surfacebot:${SURFACEBOT_TOKEN}@github.com/linux-surface/repo.git" GIT_TAG="${GIT_REF#refs/tags/}" # Install dependencies -dnf install git findutils +dnf install git findutils openssl # clone package repository git clone -b "${BRANCH_STAGING}" "${REPO}" repo @@ -56,7 +56,7 @@ while read -rd $'\n' FILE; do rm "${FILE}" done <<< "$(find . -name '*.rpm' -type f)" -RAND="$(tr -dc 'a-zA-Z0-9' < /dev/urandom | fold -w 32 | head -n 1)" +RAND="$(openssl rand -hex 16)" BRANCH="${BRANCH_STAGING}-${RAND}" # set git identity