xfree86: Fix meson overwriting suid wrapper with the wrapped executable

Meson gets confused when there are two targets of the same name within
the same directory, so we use a different intermediate name.

This is a problem with the Xorg SUID wrapper which has the same filename
as the real Xorg executable and is configured in the same meson.build
file. This commit works around this by using a different filename in
build stage and renaming only when installing.

Signed-off-by: Povilas Kanapickas <povilas@radix.lt>
This commit is contained in:
Povilas Kanapickas 2021-03-25 22:51:39 +02:00
parent ba51acb1de
commit 82d2156ba7
1 changed files with 11 additions and 2 deletions

View File

@ -148,11 +148,20 @@ if get_option('suid_wrapper')
install_dir: get_option('libexecdir'),
# install_mode: ['r-sr-xr-x', 0, 0],
)
configure_file(
# meson gets confused when there are two targets of the same name
# within the same directory, so we use a different intermediate name.
xorg_sh = configure_file(
input: 'Xorg.sh.in',
output: 'Xorg',
output: 'Xorg.sh',
configuration: conf_data,
)
install_data(
xorg_sh,
install_mode: 'rwxr-xr-x',
install_dir: join_paths(get_option('prefix'), get_option('bindir')),
rename: ['Xorg']
)
endif