Skip to content

Commit 460e1ac

Browse files
committed
check if files/folders exist to avoid using sudo where possible
Signed-off-by: reubenmiller <reuben.d.miller@gmail.com>
1 parent 9b9caae commit 460e1ac

File tree

1 file changed

+14
-3
lines changed

1 file changed

+14
-3
lines changed

mk/install-build-tools.sh

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -280,12 +280,23 @@ linux*)
280280
ubuntu_codename=$(lsb_release --codename --short)
281281
llvm_version=20
282282
# Import GPG key
283+
# check if gpg file already exists and is identical
284+
TMP_GPG_FILE=$(mktemp)
285+
cat mk/llvm-snapshot.gpg.key | gpg --yes --dearmor -o "$TMP_GPG_FILE"
286+
if ! cmp --silent "$TMP_GPG_FILE" /usr/share/keyrings/llvm-snapshot.gpg; then
283287
sudo mkdir -p /usr/share/keyrings
284-
cat mk/llvm-snapshot.gpg.key | sudo gpg --dearmor -o /usr/share/keyrings/llvm-snapshot.gpg
288+
sudo mv "$TMP_GPG_FILE" /usr/share/keyrings/llvm-snapshot.gpg
289+
sudo chmod 0644 /usr/share/keyrings/llvm-snapshot.gpg
290+
else
291+
rm -f "$TMP_GPG_FILE"
292+
fi
285293
# Add repository to sources.list.d
294+
SOURCE_FILE="/etc/apt/sources.list.d/llvm-${llvm_version}-toolchain.list"
295+
if [ ! -f "$SOURCE_FILE" ]; then
286296
echo "deb [signed-by=/usr/share/keyrings/llvm-snapshot.gpg] http://apt.llvm.org/$ubuntu_codename/ llvm-toolchain-$ubuntu_codename-$llvm_version main" | \
287-
sudo tee /etc/apt/sources.list.d/llvm-toolchain.list > /dev/null
288-
sudo apt-get update
297+
sudo tee "$SOURCE_FILE" > /dev/null
298+
fi
299+
sudo apt-get update -y
289300
install_packages clang-$llvm_version llvm-$llvm_version
290301
fi
291302
;;

0 commit comments

Comments
 (0)