diff --git a/meson.build b/meson.build index 8c45872c..cd786d7c 100644 --- a/meson.build +++ b/meson.build @@ -1,6 +1,10 @@ project('clevis', 'c', license: 'GPL3+', version: '23', - default_options: 'c_std=c99' + default_options: [ + 'c_std=c99', + 'warning_level=2', + 'werror=true' + ] ) libexecdir = join_paths(get_option('prefix'), get_option('libexecdir')) @@ -15,9 +19,6 @@ data.set('bindir', bindir) data.set('libdir', libdir) add_project_arguments( - '-Wall', - '-Wextra', - '-Werror', '-Wstrict-aliasing', '-Wchar-subscripts', '-Wformat-security', diff --git a/src/bash/meson.build b/src/bash/meson.build index 89ba7467..e9e597a1 100644 --- a/src/bash/meson.build +++ b/src/bash/meson.build @@ -1,7 +1,7 @@ bashcomp = dependency('bash-completion', required: false) if bashcomp.found() - bashcompdir = bashcomp.get_pkgconfig_variable('completionsdir') + bashcompdir = bashcomp.get_variable(pkgconfig : 'completionsdir') install_data('clevis', install_dir: bashcompdir) else warning('Will not install bash completion due to missing dependencies!') diff --git a/src/luks/dracut/clevis-pin-null/meson.build b/src/luks/dracut/clevis-pin-null/meson.build index 57278f72..0c7e172a 100644 --- a/src/luks/dracut/clevis-pin-null/meson.build +++ b/src/luks/dracut/clevis-pin-null/meson.build @@ -1,7 +1,7 @@ dracut = dependency('dracut', required: false) if dracut.found() - dracutdir = dracut.get_pkgconfig_variable('dracutmodulesdir') + '/50' + meson.project_name() + '-pin-null' + dracutdir = dracut.get_variable(pkgconfig : 'dracutmodulesdir') + '/50' + meson.project_name() + '-pin-null' configure_file( input: 'module-setup.sh.in', diff --git a/src/luks/dracut/clevis-pin-pkcs11/meson.build b/src/luks/dracut/clevis-pin-pkcs11/meson.build index 689222be..ecd14210 100644 --- a/src/luks/dracut/clevis-pin-pkcs11/meson.build +++ b/src/luks/dracut/clevis-pin-pkcs11/meson.build @@ -1,7 +1,7 @@ dracut = dependency('dracut', required: false) if dracut.found() - dracutdir = dracut.get_pkgconfig_variable('dracutmodulesdir') + '/50' + meson.project_name() + '-pin-pkcs11' + dracutdir = dracut.get_variable(pkgconfig : 'dracutmodulesdir') + '/50' + meson.project_name() + '-pin-pkcs11' configure_file( input: 'module-setup.sh.in', diff --git a/src/luks/dracut/clevis-pin-sss/meson.build b/src/luks/dracut/clevis-pin-sss/meson.build index c652a9ed..34a73456 100644 --- a/src/luks/dracut/clevis-pin-sss/meson.build +++ b/src/luks/dracut/clevis-pin-sss/meson.build @@ -1,7 +1,7 @@ dracut = dependency('dracut', required: false) if dracut.found() - dracutdir = dracut.get_pkgconfig_variable('dracutmodulesdir') + '/50' + meson.project_name() + '-pin-sss' + dracutdir = dracut.get_variable(pkgconfig : 'dracutmodulesdir') + '/50' + meson.project_name() + '-pin-sss' configure_file( input: 'module-setup.sh.in', diff --git a/src/luks/dracut/clevis-pin-tang/meson.build b/src/luks/dracut/clevis-pin-tang/meson.build index 8e1cfcab..92af675d 100644 --- a/src/luks/dracut/clevis-pin-tang/meson.build +++ b/src/luks/dracut/clevis-pin-tang/meson.build @@ -1,7 +1,7 @@ dracut = dependency('dracut', required: false) if dracut.found() - dracutdir = dracut.get_pkgconfig_variable('dracutmodulesdir') + '/50' + meson.project_name() + '-pin-tang' + dracutdir = dracut.get_variable(pkgconfig : 'dracutmodulesdir') + '/50' + meson.project_name() + '-pin-tang' configure_file( input: 'module-setup.sh.in', diff --git a/src/luks/dracut/clevis-pin-tpm1/meson.build b/src/luks/dracut/clevis-pin-tpm1/meson.build index 8e5a6758..6515b6aa 100644 --- a/src/luks/dracut/clevis-pin-tpm1/meson.build +++ b/src/luks/dracut/clevis-pin-tpm1/meson.build @@ -1,7 +1,7 @@ dracut = dependency('dracut', required: false) if dracut.found() - dracutdir = dracut.get_pkgconfig_variable('dracutmodulesdir') + '/50' + meson.project_name() + '-pin-tpm1' + dracutdir = dracut.get_variable(pkgconfig : 'dracutmodulesdir') + '/50' + meson.project_name() + '-pin-tpm1' configure_file( input: 'module-setup.sh.in', diff --git a/src/luks/dracut/clevis-pin-tpm2/meson.build b/src/luks/dracut/clevis-pin-tpm2/meson.build index 7863f8ba..58990e73 100644 --- a/src/luks/dracut/clevis-pin-tpm2/meson.build +++ b/src/luks/dracut/clevis-pin-tpm2/meson.build @@ -1,7 +1,7 @@ dracut = dependency('dracut', required: false) if dracut.found() - dracutdir = dracut.get_pkgconfig_variable('dracutmodulesdir') + '/50' + meson.project_name() + '-pin-tpm2' + dracutdir = dracut.get_variable(pkgconfig : 'dracutmodulesdir') + '/50' + meson.project_name() + '-pin-tpm2' configure_file( input: 'module-setup.sh.in', diff --git a/src/luks/dracut/clevis/meson.build b/src/luks/dracut/clevis/meson.build index e6230f33..8a6821eb 100644 --- a/src/luks/dracut/clevis/meson.build +++ b/src/luks/dracut/clevis/meson.build @@ -1,11 +1,11 @@ dracut = dependency('dracut', required: false) if dracut.found() - dracutdir = dracut.get_pkgconfig_variable('dracutmodulesdir') + '/50' + meson.project_name() + dracutdir = dracut.get_variable(pkgconfig : 'dracutmodulesdir') + '/50' + meson.project_name() dracut_data = configuration_data() dracut_data.merge_from(data) - dracut_data.set('SYSTEMD_REPLY_PASS', sd_reply_pass.found() ? sd_reply_pass.path() : '') + dracut_data.set('SYSTEMD_REPLY_PASS', sd_reply_pass.found() ? sd_reply_pass.full_path() : '') configure_file( input: 'module-setup.sh.in', diff --git a/src/luks/meson.build b/src/luks/meson.build index 6c7b035e..5469c3be 100644 --- a/src/luks/meson.build +++ b/src/luks/meson.build @@ -42,7 +42,7 @@ clevis_luks_unbind = configure_file(input: 'clevis-luks-unbind.in', # SystemD dependencies checked here, used both in systemd and dracut subdirs systemd = dependency('systemd', required: false) -systemdutildir = systemd.found() ? systemd.get_pkgconfig_variable('systemdutildir', default: '') : '' +systemdutildir = systemd.found() ? systemd.get_variable(pkgconfig : 'systemdutildir', default_value: '') : '' sd_reply_pass = find_program( (systemdutildir != '') ? join_paths(systemdutildir, 'systemd-reply-password') : '', diff --git a/src/luks/systemd/meson.build b/src/luks/systemd/meson.build index 913ee2ef..f2f92cd7 100644 --- a/src/luks/systemd/meson.build +++ b/src/luks/systemd/meson.build @@ -1,7 +1,7 @@ if systemd.found() and sd_reply_pass.found() systemd_data = configuration_data() systemd_data.merge_from(data) - systemd_data.set('SYSTEMD_REPLY_PASS', sd_reply_pass.path()) + systemd_data.set('SYSTEMD_REPLY_PASS', sd_reply_pass.full_path()) if not get_option('tpm1').disabled() systemd_data.set('TCSD_AFTER', 'After=tcsd.service') @@ -11,7 +11,7 @@ if systemd.found() and sd_reply_pass.found() systemd_data.set('TCSD_WANTS', '') endif - unitdir = systemd.get_pkgconfig_variable('systemdsystemunitdir') + unitdir = systemd.get_variable(pkgconfig : 'systemdsystemunitdir') configure_file( input: 'clevis-luks-askpass.service.in', diff --git a/src/luks/tests/meson.build b/src/luks/tests/meson.build index aebc4816..07352195 100644 --- a/src/luks/tests/meson.build +++ b/src/luks/tests/meson.build @@ -28,21 +28,21 @@ common_functions = configure_file(input: 'luks-common-test-functions.in', env = environment() env.prepend('PATH', - join_paths(meson.source_root(), 'src'), - join_paths(meson.source_root(), 'src', 'luks'), - join_paths(meson.source_root(), 'src', 'pins', 'sss'), - join_paths(meson.source_root(), 'src', 'pins', 'tang'), - join_paths(meson.source_root(), 'src', 'pins', 'tpm1'), - join_paths(meson.source_root(), 'src', 'pins', 'tpm2'), + join_paths(meson.project_source_root(), 'src'), + join_paths(meson.project_source_root(), 'src', 'luks'), + join_paths(meson.project_source_root(), 'src', 'pins', 'sss'), + join_paths(meson.project_source_root(), 'src', 'pins', 'tang'), + join_paths(meson.project_source_root(), 'src', 'pins', 'tpm1'), + join_paths(meson.project_source_root(), 'src', 'pins', 'tpm2'), meson.current_source_dir(), meson.current_build_dir(), - join_paths(meson.build_root(), 'src'), - join_paths(meson.build_root(), 'src', 'luks'), - join_paths(meson.build_root(), 'src', 'pins', 'sss'), - join_paths(meson.build_root(), 'src', 'pins', 'tang'), - join_paths(meson.build_root(), 'src', 'pins', 'tang', 'tests'), - join_paths(meson.build_root(), 'src', 'pins', 'tpm1'), - join_paths(meson.build_root(), 'src', 'pins', 'tpm2'), + join_paths(meson.project_build_root(), 'src'), + join_paths(meson.project_build_root(), 'src', 'luks'), + join_paths(meson.project_build_root(), 'src', 'pins', 'sss'), + join_paths(meson.project_build_root(), 'src', 'pins', 'tang'), + join_paths(meson.project_build_root(), 'src', 'pins', 'tang', 'tests'), + join_paths(meson.project_build_root(), 'src', 'pins', 'tpm1'), + join_paths(meson.project_build_root(), 'src', 'pins', 'tpm2'), separator: ':' ) diff --git a/src/pins/file/meson.build b/src/pins/file/meson.build index dbd9a56f..fd43e14a 100644 --- a/src/pins/file/meson.build +++ b/src/pins/file/meson.build @@ -8,7 +8,7 @@ mans += join_paths(meson.current_source_dir(), 'clevis-encrypt-file.1') env = environment() env.append('PATH', - join_paths(meson.source_root(), 'src'), + join_paths(meson.project_source_root(), 'src'), meson.current_source_dir(), '/usr/libexec', libexecdir, @@ -18,7 +18,7 @@ env.append('PATH', test('pin-file', find_program('./pin-file'), env: env) if dracut.found() - dracutdir = dracut.get_pkgconfig_variable('dracutmodulesdir') + '/50' + meson.project_name() + '-pin-file' + dracutdir = dracut.get_variable(pkgconfig : 'dracutmodulesdir') + '/50' + meson.project_name() + '-pin-file' configure_file( input: 'dracut.module-setup.sh.in', output: 'module-setup.sh', diff --git a/src/pins/pkcs11/tests/meson.build b/src/pins/pkcs11/tests/meson.build index 73ca2f7a..998562d3 100644 --- a/src/pins/pkcs11/tests/meson.build +++ b/src/pins/pkcs11/tests/meson.build @@ -1,22 +1,22 @@ env = environment() env.prepend('PATH', - join_paths(meson.source_root(), 'src'), - join_paths(meson.source_root(), 'src', 'pins', 'pkcs11'), - join_paths(meson.source_root(), 'src', 'pins', 'pkcs11', 'tests'), - join_paths(meson.build_root(), 'src'), - join_paths(meson.build_root(), 'src', 'pins'), - join_paths(meson.build_root(), 'src', 'pins', 'pkcs11'), - join_paths(meson.build_root(), 'src', 'pins', 'pkcs11', 'tests'), - join_paths(meson.source_root(), 'src'), - join_paths(meson.source_root(), 'src', 'luks'), - join_paths(meson.source_root(), 'src', 'luks', 'tests'), - join_paths(meson.build_root(), 'src'), - join_paths(meson.build_root(), 'src', 'luks'), - join_paths(meson.build_root(), 'src', 'luks', 'tests'), - join_paths(meson.source_root(), 'src', 'pins', 'tang'), - join_paths(meson.source_root(), 'src', 'pins', 'tang', 'tests'), - join_paths(meson.build_root(), 'src', 'pins', 'tang'), - join_paths(meson.build_root(), 'src', 'pins', 'tang', 'tests'), + join_paths(meson.project_source_root(), 'src'), + join_paths(meson.project_source_root(), 'src', 'pins', 'pkcs11'), + join_paths(meson.project_source_root(), 'src', 'pins', 'pkcs11', 'tests'), + join_paths(meson.project_build_root(), 'src'), + join_paths(meson.project_build_root(), 'src', 'pins'), + join_paths(meson.project_build_root(), 'src', 'pins', 'pkcs11'), + join_paths(meson.project_build_root(), 'src', 'pins', 'pkcs11', 'tests'), + join_paths(meson.project_source_root(), 'src'), + join_paths(meson.project_source_root(), 'src', 'luks'), + join_paths(meson.project_source_root(), 'src', 'luks', 'tests'), + join_paths(meson.project_build_root(), 'src'), + join_paths(meson.project_build_root(), 'src', 'luks'), + join_paths(meson.project_build_root(), 'src', 'luks', 'tests'), + join_paths(meson.project_source_root(), 'src', 'pins', 'tang'), + join_paths(meson.project_source_root(), 'src', 'pins', 'tang', 'tests'), + join_paths(meson.project_build_root(), 'src', 'pins', 'tang'), + join_paths(meson.project_build_root(), 'src', 'pins', 'tang', 'tests'), separator: ':' ) diff --git a/src/pins/sss/meson.build b/src/pins/sss/meson.build index 2a5295ac..d77fa24b 100644 --- a/src/pins/sss/meson.build +++ b/src/pins/sss/meson.build @@ -19,8 +19,8 @@ if jansson.found() and libcrypto.found() env = environment() env.prepend('PATH', - join_paths(meson.source_root(), 'src'), - join_paths(meson.source_root(), 'src', 'pins', 'tang'), + join_paths(meson.project_source_root(), 'src'), + join_paths(meson.project_source_root(), 'src', 'pins', 'tang'), meson.current_build_dir(), '/usr/libexec', libexecdir, diff --git a/src/pins/tang/tests/meson.build b/src/pins/tang/tests/meson.build index 47fa5d69..feb02a97 100644 --- a/src/pins/tang/tests/meson.build +++ b/src/pins/tang/tests/meson.build @@ -23,15 +23,15 @@ tang_data.set('TANGD_KEYGEN', '') tang_data.set('TANGD', '') if socat.found() - tang_data.set('SOCAT', socat.path()) + tang_data.set('SOCAT', socat.full_path()) endif if kgen.found() - tang_data.set('TANGD_KEYGEN', kgen.path()) + tang_data.set('TANGD_KEYGEN', kgen.full_path()) endif if tang.found() - tang_data.set('TANGD', tang.path()) + tang_data.set('TANGD', tang.full_path()) endif tang_tests_common = configure_file( @@ -42,10 +42,10 @@ tang_tests_common = configure_file( env = environment() env.prepend('PATH', - join_paths(meson.source_root(), 'src'), - join_paths(meson.source_root(), 'src', 'pins', 'tang'), - join_paths(meson.build_root(), 'src', 'luks', 'tests'), - join_paths(meson.build_root(), 'src', 'pins', 'tang', 'tests'), + join_paths(meson.project_source_root(), 'src'), + join_paths(meson.project_source_root(), 'src', 'pins', 'tang'), + join_paths(meson.project_build_root(), 'src', 'luks', 'tests'), + join_paths(meson.project_build_root(), 'src', 'pins', 'tang', 'tests'), separator: ':' ) diff --git a/src/pins/template/meson.build b/src/pins/template/meson.build index e307526d..5a84aa9b 100644 --- a/src/pins/template/meson.build +++ b/src/pins/template/meson.build @@ -20,7 +20,7 @@ if curl.found() #%# Set up a test environment env = environment() env.append('PATH', - join_paths(meson.source_root(), 'src'), + join_paths(meson.project_source_root(), 'src'), meson.current_source_dir(), '/usr/libexec', libexecdir, @@ -35,7 +35,7 @@ endif #%# dracut support if dracut.found() - dracutdir = dracut.get_pkgconfig_variable('dracutmodulesdir') + '/50' + meson.project_name() + '-pin-@pin@' + dracutdir = dracut.get_variable(pkgconfig : 'dracutmodulesdir') + '/50' + meson.project_name() + '-pin-@pin@' #?# In general, substituation is not needed but it's better to #?# stay flexible. configure_file( diff --git a/src/pins/tpm1/tests/meson.build b/src/pins/tpm1/tests/meson.build index 4f7ebbd9..ca1be7d7 100644 --- a/src/pins/tpm1/tests/meson.build +++ b/src/pins/tpm1/tests/meson.build @@ -1,14 +1,14 @@ # Tests env = environment() env.prepend('PATH', - join_paths(meson.source_root(), 'src'), - join_paths(meson.source_root(), 'src', 'pins', 'tpm1'), - join_paths(meson.source_root(), 'src', 'pins', 'tpm1', 'tests'), - join_paths(meson.build_root(), 'src'), - join_paths(meson.build_root(), 'src', 'luks', 'tests'), - join_paths(meson.build_root(), 'src', 'pins', 'tang', 'tests'), - join_paths(meson.build_root(), 'src', 'pins', 'tpm1'), - join_paths(meson.build_root(), 'src', 'pins', 'tpm1', 'tests'), + join_paths(meson.project_source_root(), 'src'), + join_paths(meson.project_source_root(), 'src', 'pins', 'tpm1'), + join_paths(meson.project_source_root(), 'src', 'pins', 'tpm1', 'tests'), + join_paths(meson.project_build_root(), 'src'), + join_paths(meson.project_build_root(), 'src', 'luks', 'tests'), + join_paths(meson.project_build_root(), 'src', 'pins', 'tang', 'tests'), + join_paths(meson.project_build_root(), 'src', 'pins', 'tpm1'), + join_paths(meson.project_build_root(), 'src', 'pins', 'tpm1', 'tests'), separator: ':' ) @@ -23,14 +23,14 @@ tcsd = find_program('tcsd', '/usr/sbin/tcsd', required: false) swtpm = find_program('swtpm', '/usr/bin/swtpm', required: false) swtpm_setup = find_program('swtpm_setup', '/usr/bin/swtpm_setup', required: false) -tpm1_data.set('TPM_VERSION_BIN', tpm_version.found() ? tpm_version.path() : '') -tpm1_data.set('TPM_SEALDATA_BIN', tpm_sealdata.found() ? tpm_sealdata.path() : '') -tpm1_data.set('TPM_UNSEALDATA_BIN', tpm_unsealdata.found() ? tpm_unsealdata.path() : '') -tpm1_data.set('TPM_TAKEOWNERSHIP_BIN', tpm_takeownership.found() ? tpm_takeownership.path() : '') -tpm1_data.set('TCSD_BIN', tcsd.found() ? tcsd.path() : '') -tpm1_data.set('SWTPM_BIN', swtpm.found() ? swtpm.path() : '') -tpm1_data.set('SWTPM_SETUP_BIN', swtpm_setup.found() ? swtpm_setup.path() : '') -tpm1_data.set('LIBCLEVIS_TPM1_TCSD_PRELOAD', libclevis_tpm1_tcsd_preload.path()) +tpm1_data.set('TPM_VERSION_BIN', tpm_version.found() ? tpm_version.full_path() : '') +tpm1_data.set('TPM_SEALDATA_BIN', tpm_sealdata.found() ? tpm_sealdata.full_path() : '') +tpm1_data.set('TPM_UNSEALDATA_BIN', tpm_unsealdata.found() ? tpm_unsealdata.full_path() : '') +tpm1_data.set('TPM_TAKEOWNERSHIP_BIN', tpm_takeownership.found() ? tpm_takeownership.full_path() : '') +tpm1_data.set('TCSD_BIN', tcsd.found() ? tcsd.full_path() : '') +tpm1_data.set('SWTPM_BIN', swtpm.found() ? swtpm.full_path() : '') +tpm1_data.set('SWTPM_SETUP_BIN', swtpm_setup.found() ? swtpm_setup.full_path() : '') +tpm1_data.set('LIBCLEVIS_TPM1_TCSD_PRELOAD', libclevis_tpm1_tcsd_preload.full_path()) configure_file( input: 'tpm1-common-test-functions.in', diff --git a/src/pins/tpm2/tests/meson.build b/src/pins/tpm2/tests/meson.build index f3e21e1f..cd0d15d2 100644 --- a/src/pins/tpm2/tests/meson.build +++ b/src/pins/tpm2/tests/meson.build @@ -1,20 +1,20 @@ # Tests. env = environment() env.prepend('PATH', - join_paths(meson.source_root(), 'src'), - join_paths(meson.source_root(), 'src', 'luks'), - join_paths(meson.source_root(), 'src', 'luks', 'tests'), - join_paths(meson.source_root(), 'src', 'pins', 'sss'), - join_paths(meson.source_root(), 'src', 'pins', 'tang'), - join_paths(meson.source_root(), 'src', 'pins', 'tpm2'), - join_paths(meson.source_root(), 'src', 'pins', 'tpm2', 'tests'), - join_paths(meson.build_root(), 'src'), - join_paths(meson.build_root(), 'src', 'luks'), - join_paths(meson.build_root(), 'src', 'luks', 'tests'), - join_paths(meson.build_root(), 'src', 'pins', 'sss'), - join_paths(meson.build_root(), 'src', 'pins', 'tang'), - join_paths(meson.build_root(), 'src', 'pins', 'tpm2'), - join_paths(meson.build_root(), 'src', 'pins', 'tpm2', 'tests'), + join_paths(meson.project_source_root(), 'src'), + join_paths(meson.project_source_root(), 'src', 'luks'), + join_paths(meson.project_source_root(), 'src', 'luks', 'tests'), + join_paths(meson.project_source_root(), 'src', 'pins', 'sss'), + join_paths(meson.project_source_root(), 'src', 'pins', 'tang'), + join_paths(meson.project_source_root(), 'src', 'pins', 'tpm2'), + join_paths(meson.project_source_root(), 'src', 'pins', 'tpm2', 'tests'), + join_paths(meson.project_build_root(), 'src'), + join_paths(meson.project_build_root(), 'src', 'luks'), + join_paths(meson.project_build_root(), 'src', 'luks', 'tests'), + join_paths(meson.project_build_root(), 'src', 'pins', 'sss'), + join_paths(meson.project_build_root(), 'src', 'pins', 'tang'), + join_paths(meson.project_build_root(), 'src', 'pins', 'tpm2'), + join_paths(meson.project_build_root(), 'src', 'pins', 'tpm2', 'tests'), separator: ':' ) @@ -25,9 +25,9 @@ socat = find_program('socat', required: false) swtpm = find_program('swtpm', '/usr/bin/swtpm', required: false) swtpm_setup = find_program('swtpm_setup', '/usr/bin/swtpm_setup', required: false) -tpm2_data.set('SOCAT_BIN', socat.found() ? socat.path() : '') -tpm2_data.set('SWTPM_BIN', swtpm.found() ? swtpm.path() : '') -tpm2_data.set('SWTPM_SETUP_BIN', swtpm_setup.found() ? swtpm_setup.path() : '') +tpm2_data.set('SOCAT_BIN', socat.found() ? socat.full_path() : '') +tpm2_data.set('SWTPM_BIN', swtpm.found() ? swtpm.full_path() : '') +tpm2_data.set('SWTPM_SETUP_BIN', swtpm_setup.found() ? swtpm_setup.full_path() : '') configure_file( input: 'tpm2-common-test-functions.in',