Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for reproducable builds, and other minor build system fixes #2376

Merged
merged 6 commits into from
Jan 28, 2024

Commits on Jan 28, 2024

  1. doc: Use @...dir@ rather than $(...dir) in makefiles

    Signed-off-by: Quentin Armitage <[email protected]>
    pqarmitage committed Jan 28, 2024
    Configuration menu
    Copy the full SHA
    c437ba8 View commit details
    Browse the repository at this point in the history
  2. configure: ${prefix} defaults to NONE which messes up DEFAULT_CONFIG_…

    …FILE
    
    We need to check and remove a leading "NONE" from ${sysconfdir} when
    using to generate the DEFAULT_CONFIG_FILE.
    
    Signed-off-by: Quentin Armitage <[email protected]>
    pqarmitage committed Jan 28, 2024
    Configuration menu
    Copy the full SHA
    42a746c View commit details
    Browse the repository at this point in the history
  3. configure: fix commit 42a746c

    Commit 42a746c - "configure: ${prefix} defaults to NONE which messes
    up DEFAULT_CONFIG_FILE" had a script error, which is now fixed.
    
    Signed-off-by: Quentin Armitage <[email protected]>
    pqarmitage committed Jan 28, 2024
    Configuration menu
    Copy the full SHA
    e585d17 View commit details
    Browse the repository at this point in the history
  4. build: Add configure option --enable-reproducable-build

    There are users who want reproducable builds in the event that
    the paths to header files change between builds.
    
    Due to 'keepalived -v' outputting (build) configure options, if
    the location of the header files changed, then the keepalived
    binary would change.
    
    If keepalived is build with the --enable-reproducable-build option,
    then the configure options are written to
    keepalived/keepalived.config-opts in the build tree, which is then
    installed to $(DESTDIR)/etc/keepalived/keepalived.config-opts (or
    whereever the default config file is installed).
    
    keepalived reads this file for generating the 'keepalived -v'
    output (and also coredump log entries), and so this file must be
    installed correctly for keepalived to run.
    
    If --enable-reproducable-build is not specified to configure, then
    the behaviour of keepalived and the required installed files are
    not changed.
    
    Signed-off-by: Quentin Armitage <[email protected]>
    pqarmitage committed Jan 28, 2024
    Configuration menu
    Copy the full SHA
    30d2f75 View commit details
    Browse the repository at this point in the history
  5. build: Fix type in --enable-reproducible-build commit

    Commit 30d2f7 - "build: Add configure option --enable-reproducable-build"
    misspelled reproducible.
    
    s/reproducable/reproducible/
    
    A bit embarrassing really. :(
    
    Signed-off-by: Quentin Armitage <[email protected]>
    pqarmitage committed Jan 28, 2024
    Configuration menu
    Copy the full SHA
    2e31b87 View commit details
    Browse the repository at this point in the history
  6. github: Add a built test with --enable-reproducible-build

    Signed-off-by: Quentin Armitage <[email protected]>
    pqarmitage committed Jan 28, 2024
    Configuration menu
    Copy the full SHA
    8fbb176 View commit details
    Browse the repository at this point in the history