Autogen 25.x #27938

pull romanornr wants to merge 5 commits into bitcoin:25.x from romanornr:autogen-25.x changing 1 files +59 −11
  1. romanornr commented at 0:24 am on June 23, 2023: contributor

    Refactoring the script by encapsulating related operations into functions for readability and maintainability

    Replace set -e with set -euo pipefail at the beginning of the script. This will cause the script to exit if any variable is unset (due to the -u option) and also if any command in a pipeline fails (due to the -o pipefailoption). This may make the script more robust and easier to debug

    In the run_autoreconf function, I’ve added an error message to be displayed if the autoreconf command fails.

    check_libtoolize function using parameter substitution

    check if autoreconf is executable

    Also using the copy_if_newer function which is being called 4 times.

    • The first time, it’s checking if 'depends/config.guess' is newer than 'build-aux/config.guess'. If it is, it copies the former over the latter.

    • The second time, it’s doing the same check and potential copy, but this time between 'depends/config.guess' and 'src/secp256k1/build-aux/config.guess'.

    • The third and fourth calls are doing similar checks and potential copies, but with 'depends/config.sub' and the destination files.

    The 'config.guess' and 'config.sub' scripts are used by GNU Autotools, and they help determine the type of system your software is building on. The 'config.guess' script guesses the build type for your system, and 'config.sub' validates and canonicalizes that guess.

    The copy_if_newer calls ensure that the most recent versions of 'config.guess' and 'config.sub' are used in the directories where they are needed. Could be useful ie, when the scripts in those directories are not updated as frequently or need to be isolated from changes in other parts of someone’s system.

    Currently #!/bin/sh is used, which is the system’s default shell. I’m not sure if that will be ever problematic. If we know that this script should run in bash, maybe it’s better to specify #!/usr/bin/env bash ?

  2. autogen.sh: refactor 264441ac39
  3. autogen.sh: check if autoreconf is executable 7661edadf2
  4. autogen.sh: check_libtoolize function using parameter substitution 7dbb2b0649
  5. autogen.sh: error handling with 'set -euo pipefail' 184705b9df
  6. autogen.sh: update error message for autoreconf execution failure aba8551a86
  7. DrahtBot commented at 0:24 am on June 23, 2023: contributor

    The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

    Reviews

    See the guideline for information on the review process. A summary of reviews will appear here.

  8. DrahtBot added the label Backport on Jun 23, 2023
  9. romanornr commented at 0:30 am on June 23, 2023: contributor
    Oh apparently the tests don’t like the pipefail
  10. DrahtBot added the label CI failed on Jun 23, 2023
  11. maflcko commented at 7:00 am on June 23, 2023: member
    You’ll have to change the branch to master if you want to propose a pull request. However, with the cmake migration going on, I don’t think it is worth it to change at this point at all, no?
  12. fanquake commented at 9:24 am on June 26, 2023: member
    Thanks for the pull request, however it’s unlikely we are going to make significant (refactoring) changes to our autotools based build system at this point.
  13. fanquake closed this on Jun 26, 2023

  14. bitcoin locked this on Jun 25, 2024

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2024-12-21 15:12 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me