256 lines
5.4 KiB
Meson
256 lines
5.4 KiB
Meson
fs = import('fs')
|
|
|
|
adocfiles_common = [
|
|
'common_options.adoc',
|
|
'common_footer.adoc',
|
|
]
|
|
|
|
manpage_tuples_to_build = []
|
|
manpage_tuples_all = []
|
|
|
|
# tuple with adoc file and generated aliases
|
|
cryptsetup_manpages = [
|
|
[
|
|
'cryptsetup.8.adoc',
|
|
[],
|
|
],
|
|
[
|
|
'cryptsetup-open.8.adoc',
|
|
[
|
|
'cryptsetup-create.8',
|
|
'cryptsetup-plainOpen.8',
|
|
'cryptsetup-luksOpen.8',
|
|
'cryptsetup-loopaesOpen.8',
|
|
'cryptsetup-tcryptOpen.8',
|
|
'cryptsetup-bitlkOpen.8',
|
|
],
|
|
],
|
|
[
|
|
'cryptsetup-close.8.adoc',
|
|
[],
|
|
],
|
|
[
|
|
'cryptsetup-reencrypt.8.adoc',
|
|
[],
|
|
],
|
|
[
|
|
'cryptsetup-status.8.adoc',
|
|
[],
|
|
],
|
|
[
|
|
'cryptsetup-resize.8.adoc',
|
|
[],
|
|
],
|
|
[
|
|
'cryptsetup-refresh.8.adoc',
|
|
[],
|
|
],
|
|
[
|
|
'cryptsetup-luksFormat.8.adoc',
|
|
[],
|
|
],
|
|
[
|
|
'cryptsetup-luksSuspend.8.adoc',
|
|
[],
|
|
],
|
|
[
|
|
'cryptsetup-luksResume.8.adoc',
|
|
[],
|
|
],
|
|
[
|
|
'cryptsetup-luksAddKey.8.adoc',
|
|
[],
|
|
],
|
|
[
|
|
'cryptsetup-luksRemoveKey.8.adoc',
|
|
[],
|
|
],
|
|
[
|
|
'cryptsetup-luksConvertKey.8.adoc',
|
|
[],
|
|
],
|
|
[
|
|
'cryptsetup-luksKillSlot.8.adoc',
|
|
[],
|
|
],
|
|
[
|
|
'cryptsetup-luksChangeKey.8.adoc',
|
|
[],
|
|
],
|
|
[
|
|
'cryptsetup-erase.8.adoc',
|
|
[
|
|
'cryptsetup-luksErase.8',
|
|
],
|
|
],
|
|
[
|
|
'cryptsetup-luksUUID.8.adoc',
|
|
[],
|
|
],
|
|
[
|
|
'cryptsetup-isLuks.8.adoc',
|
|
[],
|
|
],
|
|
[
|
|
'cryptsetup-luksDump.8.adoc',
|
|
[],
|
|
],
|
|
[
|
|
'cryptsetup-luksHeaderBackup.8.adoc',
|
|
[],
|
|
],
|
|
[
|
|
'cryptsetup-luksHeaderRestore.8.adoc',
|
|
[],
|
|
],
|
|
[
|
|
'cryptsetup-token.8.adoc',
|
|
[],
|
|
],
|
|
[
|
|
'cryptsetup-convert.8.adoc',
|
|
[],
|
|
],
|
|
[
|
|
'cryptsetup-config.8.adoc',
|
|
[],
|
|
],
|
|
[
|
|
'cryptsetup-tcryptDump.8.adoc',
|
|
[],
|
|
],
|
|
[
|
|
'cryptsetup-bitlkDump.8.adoc',
|
|
[],
|
|
],
|
|
[
|
|
'cryptsetup-fvault2Dump.8.adoc',
|
|
[],
|
|
],
|
|
[
|
|
'cryptsetup-repair.8.adoc',
|
|
[],
|
|
],
|
|
[
|
|
'cryptsetup-benchmark.8.adoc',
|
|
[],
|
|
],
|
|
]
|
|
|
|
veritysetup_manpages = [
|
|
[
|
|
'veritysetup.8.adoc',
|
|
[],
|
|
],
|
|
]
|
|
integritysetup_manpages = [
|
|
[
|
|
'integritysetup.8.adoc',
|
|
[],
|
|
],
|
|
]
|
|
sshplugin_manpages = [
|
|
[
|
|
'cryptsetup-ssh.8.adoc',
|
|
[],
|
|
],
|
|
]
|
|
|
|
if get_option('cryptsetup')
|
|
manpage_tuples_to_build += cryptsetup_manpages
|
|
endif
|
|
manpage_tuples_all += cryptsetup_manpages
|
|
if get_option('veritysetup')
|
|
manpage_tuples_to_build += veritysetup_manpages
|
|
endif
|
|
manpage_tuples_all += veritysetup_manpages
|
|
if get_option('integritysetup')
|
|
manpage_tuples_to_build += integritysetup_manpages
|
|
endif
|
|
manpage_tuples_all += integritysetup_manpages
|
|
if get_option('ssh-token')
|
|
manpage_tuples_to_build += sshplugin_manpages
|
|
endif
|
|
manpage_tuples_all += sshplugin_manpages
|
|
|
|
adocfiles_all = []
|
|
foreach tuple : manpage_tuples_all
|
|
adocfiles_all += tuple[0]
|
|
endforeach
|
|
|
|
prebuilt_manpages_exist = true
|
|
foreach manpage_tuple : manpage_tuples_to_build
|
|
adocfile = manpage_tuple[0]
|
|
aliases = manpage_tuple[1]
|
|
manfile = fs.replace_suffix(adocfile, '')
|
|
|
|
prebuilt_manpages_exist = prebuilt_manpages_exist and fs.exists(manfile)
|
|
|
|
foreach alias : aliases
|
|
prebuilt_manpages_exist = prebuilt_manpages_exist and fs.exists(alias)
|
|
endforeach
|
|
endforeach
|
|
|
|
built_manpages = []
|
|
|
|
if use_asciidoc
|
|
meson.add_dist_script(find_program('meson_dist_convert.sh'),
|
|
asciidoc, meson.project_version(), adocfiles_all)
|
|
|
|
foreach manpage_tuple : manpage_tuples_to_build
|
|
adocfile = manpage_tuple[0]
|
|
aliases = manpage_tuple[1]
|
|
|
|
mandir = join_paths(get_option('prefix'), get_option('mandir'), 'man8')
|
|
manfile = fs.replace_suffix(adocfile, '')
|
|
|
|
built_manpages += custom_target(manfile,
|
|
command: [
|
|
asciidoc,
|
|
'-b', 'manpage',
|
|
'--failure-level', 'ERROR',
|
|
'-a', 'release-version=@0@'.format(
|
|
meson.project_version(),
|
|
),
|
|
'-o', '@BASENAME@',
|
|
'@INPUT@',
|
|
'--destination-dir=@0@'.format(
|
|
meson.current_build_dir(),
|
|
),
|
|
'--base-dir=@SOURCE_ROOT@',
|
|
],
|
|
input: adocfile,
|
|
depend_files: adocfiles_common,
|
|
install: true,
|
|
install_dir: mandir,
|
|
output: [
|
|
manfile,
|
|
] + aliases,
|
|
)
|
|
endforeach
|
|
else
|
|
# use_asciidoc == false
|
|
if prebuilt_manpages_exist
|
|
message('Using prebuilt manpages.')
|
|
foreach manpage_tuple : manpage_tuples_to_build
|
|
adocfile = manpage_tuple[0]
|
|
aliases = manpage_tuple[1]
|
|
manfile = fs.replace_suffix(adocfile, '')
|
|
|
|
install_man(manfile)
|
|
foreach alias : aliases
|
|
install_man(alias)
|
|
endforeach
|
|
endforeach
|
|
else
|
|
warning('Neither asciidoctor nor prebuilt manual pages found. Skipping manpage installation')
|
|
endif
|
|
endif
|
|
|
|
man = custom_target(
|
|
'man',
|
|
output: 'man',
|
|
depends: built_manpages,
|
|
command: [
|
|
nop_command,
|
|
])
|