git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 05/10] meson: deduplicate access to SHA1/SHA256 backend options

From
Patrick Steinhardt <ps@pks.im>
Date
Dec 30, 2024, 14:24 UTC
Message-ID
<20241230-pks-meson-sha1-unsafe-v1-5-efb276e171f5@pks.im>
In-Reply-To
<20241230-pks-meson-sha1-unsafe-v1-0-efb276e171f5@pks.im>

We've got a couple of repeated calls to `get_option()` for the SHA1 and SHA256 backend options. While not an issue, it makes the code needlessly verbose.

Fix this by consistently using a local variable.
Signed-off-by: Patrick Steinhardt <ps@pks.im>
---
 meson.build | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/meson.build b/meson.build
index 9da58dafe0f1023cc72f4ea3eff5515c9d479099..6fa4d900ee02f0b80bc3c36d58a07a118ec3fb20 100644
--- a/meson.build
+++ b/meson.build
@@ -1326,6 +1326,8 @@ if not meson.is_cross_build() and fs.exists('/dev/tty')
 endif
 
 https_backend = get_option('https_backend')
+sha1_backend = get_option('sha1_backend')
+sha256_backend = get_option('sha256_backend')
 
 security_framework = dependency('Security', required: https_backend == 'CommonCrypto')
 core_foundation_framework = dependency('CoreFoundation', required: security_framework.found())
@@ -1333,7 +1335,7 @@ if https_backend == 'auto' and security_framework.found()
   https_backend = 'CommonCrypto'
 endif
 
-openssl_required = https_backend == 'openssl' or get_option('sha1_backend') == 'openssl' or get_option('sha256_backend') == 'openssl'
+openssl_required = https_backend == 'openssl' or sha1_backend == 'openssl' or sha256_backend == 'openssl'
 openssl = dependency('openssl', required: openssl_required, default_options: ['default_library=static'])
 if https_backend == 'auto' and openssl.found()
   https_backend = 'openssl'
@@ -1354,7 +1356,6 @@ if https_backend != 'openssl'
   libgit_c_args += '-DNO_OPENSSL'
 endif
 
-sha1_backend = get_option('sha1_backend')
 if sha1_backend == 'sha1dc'
   libgit_c_args += '-DSHA1_DC'
   libgit_c_args += '-DSHA1DC_NO_STANDARD_INCLUDES=1'
@@ -1382,7 +1383,6 @@ else
   error('Unhandled SHA1 backend ' + sha1_backend)
 endif
 
-sha256_backend = get_option('sha256_backend')
 if sha256_backend == 'openssl'
   libgit_c_args += '-DSHA256_OPENSSL'
   libgit_dependencies += openssl
-- 
2.48.0.rc0.311.gb6c66824c1.dirty
Previous: Patrick SteinhardtNext: Patrick Steinhardt
Message 14 of 19 in “Fix segfaults when using the unsafe SHA1 backend”
  1. 00/10 Fix segfaults when using the unsafe SHA1 backendPatrick Steinhardt, Dec 30, 2024
  2. 02/10 builtin/fast-import: fix segfault with unsafe SHA1 backendPatrick Steinhardt, Dec 30, 2024
  3. Taylor BlauDec 30, 2024
  4. Patrick SteinhardtJan 3, 2025
  5. Junio C HamanoJan 3, 2025
  6. Taylor BlauJan 6, 2025
  7. Patrick SteinhardtJan 7, 2025
  8. Taylor BlauJan 8, 2025
  9. Patrick SteinhardtJan 9, 2025
  10. 01/10 bulk-checkin: fix segfault with unsafe SHA1 backendPatrick Steinhardt, Dec 30, 2024
  11. 03/10 ci: exercise unsafe OpenSSL backendPatrick Steinhardt, Dec 30, 2024
  12. Taylor BlauDec 30, 2024
  13. 04/10 meson: consistenlty spell 'CommonCrypto'Patrick Steinhardt, Dec 30, 2024
  14. 05/10 meson: deduplicate access to SHA1/SHA256 backend optionsPatrick Steinhardt, Dec 30, 2024
  15. 06/10 meson: require SecurityFramework when it's used as SHA1 backendPatrick Steinhardt, Dec 30, 2024
  16. 07/10 meson: simplify conditions for HTTPS and SHA1 dependenciesPatrick Steinhardt, Dec 30, 2024
  17. 08/10 meson: add missing dots for build optionsPatrick Steinhardt, Dec 30, 2024
  18. 09/10 meson: wire up unsafe SHA1 backendPatrick Steinhardt, Dec 30, 2024
  19. 10/10 meson: provide a summary of configured backendsPatrick Steinhardt, Dec 30, 2024

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.