meson.build 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. actv = find_program(
  2. 'systemd-socket-activate',
  3. 'systemd-activate',
  4. required: false
  5. )
  6. kgen = find_program(
  7. join_paths(libexecdir, 'tangd-keygen'),
  8. '/usr/libexec/tangd-keygen',
  9. '/usr/lib/x86_64-linux-gnu/tangd-keygen',
  10. required: false
  11. )
  12. updt = find_program(
  13. join_paths(libexecdir, 'tangd-update'),
  14. '/usr/libexec/tangd-update',
  15. '/usr/lib/x86_64-linux-gnu/tangd-update',
  16. required: false
  17. )
  18. tang = find_program(
  19. join_paths(libexecdir, 'tangd'),
  20. '/usr/libexec/tangd',
  21. '/usr/lib/x86_64-linux-gnu/tangd',
  22. required: false
  23. )
  24. curl = find_program('curl', required: false)
  25. if curl.found()
  26. bins += join_paths(meson.current_source_dir(), 'clevis-decrypt-tang')
  27. bins += join_paths(meson.current_source_dir(), 'clevis-encrypt-tang')
  28. mans += join_paths(meson.current_source_dir(), 'clevis-encrypt-tang.1')
  29. if actv.found() and kgen.found() and updt.found() and tang.found()
  30. env = environment()
  31. env.set('SD_ACTIVATE', actv.path())
  32. env.append('PATH',
  33. join_paths(meson.source_root(), 'src'),
  34. meson.current_source_dir(),
  35. '/usr/libexec',
  36. '/usr/lib/x86_64-linux-gnu',
  37. libexecdir,
  38. separator: ':'
  39. )
  40. test('pin-tang', find_program('./pin-tang'), env: env)
  41. else
  42. warning('Will not run tang tests due to missing dependencies!')
  43. endif
  44. else
  45. warning('Will not install tang pin due to missing dependencies!')
  46. endif