Merge bitcoin/bitcoin#27875: build: make sure we can overwrite config.{guess,sub} before doing so

fc6c17b83887ef193f2b97264b1843c94dcb915d build: make sure we can overwrite config.{guess,sub} (0xb10c)

Pull request description:

  Since ea7b8528 (#26422), `autogen.sh` overwrites the `build-aux/config.{guess, sub}` files (installed there by `autoreconf`) with the `depends/config.{guess, sub}` files if these are newer.

  The `autoreconf` tool copies them from it's `share/autoconf/build-aux/` directory. Specifically on NixOS, the `share/autoconf/build-aux/` files are located in the nix-store and are read-only. `autoreconf` preserves the read-only permissions when copying. Overwriting them with our `depends/config.{guess, sub}` files subsequently fails.

  To make sure we can overwrite the files, set write permissions to the current user and group before overwriting. This fixes the problem on NixOS.

  fixes #27873

ACKs for top commit:
  dergoegge:
    tACK fc6c17b83887ef193f2b97264b1843c94dcb915d
  fanquake:
    ACK fc6c17b83887ef193f2b97264b1843c94dcb915d

Tree-SHA512: e8a31f739d5b598b2fe9fe6fc3d02303c117a6adccc49b8d0fea4980027a64f915a0e1e00e4788dce6113ef1b9ec9acf9e4164486f6e4904bad405f20b6746a0
This commit is contained in:
fanquake 2023-06-16 10:57:40 +01:00 committed by pasta
parent e2fcd1d947
commit fbc6c6e644
No known key found for this signature in database
GPG Key ID: E2F3D7916E722D38

View File

@ -16,10 +16,14 @@ command -v autoreconf >/dev/null || \
autoreconf --install --force --warnings=all autoreconf --install --force --warnings=all
if expr "'$(build-aux/config.guess --timestamp)" \< "'$(depends/config.guess --timestamp)" > /dev/null; then if expr "'$(build-aux/config.guess --timestamp)" \< "'$(depends/config.guess --timestamp)" > /dev/null; then
chmod ug+w build-aux/config.guess
chmod ug+w src/secp256k1/build-aux/config.guess
cp depends/config.guess build-aux cp depends/config.guess build-aux
cp depends/config.guess src/secp256k1/build-aux cp depends/config.guess src/secp256k1/build-aux
fi fi
if expr "'$(build-aux/config.sub --timestamp)" \< "'$(depends/config.sub --timestamp)" > /dev/null; then if expr "'$(build-aux/config.sub --timestamp)" \< "'$(depends/config.sub --timestamp)" > /dev/null; then
chmod ug+w build-aux/config.sub
chmod ug+w src/secp256k1/build-aux/config.sub
cp depends/config.sub build-aux cp depends/config.sub build-aux
cp depends/config.sub src/secp256k1/build-aux cp depends/config.sub src/secp256k1/build-aux
fi fi