From 19715917b5b2b31d5a3f5573c0ffb86d95bff251 Mon Sep 17 00:00:00 2001 From: NotRin7 <102989232+NotRin7@users.noreply.github.com> Date: Wed, 19 Nov 2025 21:18:41 +0100 Subject: [PATCH] Update install_db4.sh --- contrib/install_db4.sh | 39 ++++++++++++++++++++++----------------- 1 file changed, 22 insertions(+), 17 deletions(-) diff --git a/contrib/install_db4.sh b/contrib/install_db4.sh index 5c9d960..687e7ee 100755 --- a/contrib/install_db4.sh +++ b/contrib/install_db4.sh @@ -12,7 +12,7 @@ if [ -z "${1}" ]; then echo "Usage: $0 [ ...]" echo echo "Must specify a single argument: the directory in which db4 will be built." - echo "This is probably \`pwd\` if you're at the root of the palladium repository." + echo "This is probably \`pwd\` if you're at the root of the repository." exit 1 fi @@ -31,7 +31,6 @@ check_exists() { sha256_check() { # Args: - # if check_exists sha256sum; then echo "${1} ${2}" | sha256sum -c elif check_exists sha256; then @@ -47,14 +46,11 @@ sha256_check() { http_get() { # Args: - # - # It's acceptable that we don't require SSL here because we manually verify - # content hashes below. - # if [ -f "${2}" ]; then echo "File ${2} already exists; not downloading again" elif check_exists curl; then - curl --insecure --retry 5 "${1}" -o "${2}" + # Added -L to follow redirects + curl -L --insecure --retry 5 "${1}" -o "${2}" else wget --no-check-certificate "${1}" -O "${2}" fi @@ -62,30 +58,39 @@ http_get() { sha256_check "${3}" "${2}" } +# Helper to download without hash check (for volatile config files) +http_get_no_hash() { + # Args: + echo "Downloading ${2}..." + if check_exists curl; then + curl -L --insecure --retry 5 "${1}" -o "${2}" + else + wget --no-check-certificate "${1}" -O "${2}" + fi +} + mkdir -p "${BDB_PREFIX}" http_get "${BDB_URL}" "${BDB_VERSION}.tar.gz" "${BDB_HASH}" tar -xzvf ${BDB_VERSION}.tar.gz -C "$BDB_PREFIX" cd "${BDB_PREFIX}/${BDB_VERSION}/" -# Apply a patch necessary when building with clang and c++11 (see https://community.oracle.com/thread/3952592) +# Apply a patch necessary when building with clang and c++11 CLANG_CXX11_PATCH_URL='https://gist.githubusercontent.com/LnL7/5153b251fd525fe15de69b67e63a6075/raw/7778e9364679093a32dec2908656738e16b6bdcb/clang.patch' CLANG_CXX11_PATCH_HASH='7a9a47b03fd5fb93a16ef42235fa9512db9b0829cfc3bdf90edd3ec1f44d637c' http_get "${CLANG_CXX11_PATCH_URL}" clang.patch "${CLANG_CXX11_PATCH_HASH}" patch -p2 < clang.patch # The packaged config.guess and config.sub are ancient (2009) and can cause build issues. -# Replace them with modern versions. -# See https://github.com/palladium/palladium/issues/16064 -CONFIG_GUESS_URL='https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=55eaf3e779455c4e5cc9f82efb5278be8f8f900b' -CONFIG_GUESS_HASH='2d1ff7bca773d2ec3c6217118129220fa72d8adda67c7d2bf79994b3129232c1' -CONFIG_SUB_URL='https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=55eaf3e779455c4e5cc9f82efb5278be8f8f900b' -CONFIG_SUB_HASH='3a4befde9bcdf0fdb2763fc1bfa74e8696df94e1ad7aac8042d133c8ff1d2e32' +# Replace them with modern versions from GNU Savannah (HEAD). +# FIXED: Removed hash check because these files change frequently. +CONFIG_GUESS_URL='https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD' +CONFIG_SUB_URL='https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD' rm -f "dist/config.guess" rm -f "dist/config.sub" -http_get "${CONFIG_GUESS_URL}" dist/config.guess "${CONFIG_GUESS_HASH}" -http_get "${CONFIG_SUB_URL}" dist/config.sub "${CONFIG_SUB_HASH}" +http_get_no_hash "${CONFIG_GUESS_URL}" dist/config.guess +http_get_no_hash "${CONFIG_SUB_URL}" dist/config.sub cd build_unix/ @@ -99,7 +104,7 @@ echo echo "db4 build complete." echo # shellcheck disable=SC2016 -echo 'When compiling palladiumd, run `./configure` in the following way:' +echo 'When compiling, run `./configure` in the following way:' echo echo " export BDB_PREFIX='${BDB_PREFIX}'" # shellcheck disable=SC2016