From 7b76fce1a5d2590524f713586d2b38dca5224ef0 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Sun, 9 Apr 2017 23:55:50 -0400 Subject: [PATCH] meson: create various symlinks v2: - remove bashisms --- meson.build | 8 ++++++++ tools/meson-make-symlink.sh | 11 +++++++++++ units/meson.build | 6 ++++++ 3 files changed, 25 insertions(+) create mode 100644 tools/meson-make-symlink.sh diff --git a/meson.build b/meson.build index a5b57d8e057..a56476a71de 100644 --- a/meson.build +++ b/meson.build @@ -385,6 +385,7 @@ stat = find_program('stat') git = find_program('git', required : false) etags = find_program('etags', required : false) +meson_make_symlink = meson.source_root() + '/tools/meson-make-symlink.sh' mkdir_p = 'mkdir -p $DESTDIR/@0@' # if -Dxxx-path option is found, use that. Otherwise, check in $PATH, @@ -1127,6 +1128,10 @@ if conf.get('ENABLE_ENVIRONMENT_D', 0) == 1 install_dir : userenvgeneratordir, include_directories : includes, link_with : [libshared]) + + meson.add_install_script(meson_make_symlink, + sysconfdir + '/environment', + environmentdir + '/99-environment.conf') endif if conf.get('ENABLE_HIBERNATE', 0) == 1 @@ -1705,6 +1710,9 @@ executable('systemd-mount', link_with : [libshared], install : true) +meson.add_install_script(meson_make_symlink, + 'systemd-mount', bindir + '/systemd-umount') + executable('systemd-run', 'src/run/run.c', include_directories : includes, diff --git a/tools/meson-make-symlink.sh b/tools/meson-make-symlink.sh new file mode 100644 index 00000000000..87f198694ca --- /dev/null +++ b/tools/meson-make-symlink.sh @@ -0,0 +1,11 @@ +#!/bin/sh -e + +# this is needed mostly because $DESTDIR is provided as a variable, +# and we need to create the target directory... + +mkdir -vp "$(dirname "${DESTDIR}$2")" +if [ "$(dirname $1)" = . ]; then + ln -vfs -T "$1" "${DESTDIR}$2" +else + ln -vfs -T --relative "${DESTDIR}$1" "${DESTDIR}$2" +fi diff --git a/units/meson.build b/units/meson.build index 957153c0b5c..b051c5d3cc8 100644 --- a/units/meson.build +++ b/units/meson.build @@ -307,6 +307,12 @@ foreach tuple : m4_in_units endif endforeach +meson.add_install_script(meson_make_symlink, + pkgsysconfdir + '/user', + sysconfdir + '/xdg/systemd/user') +meson.add_install_script(meson_make_symlink, + dbussystemservicedir + '/org.freedesktop.systemd1.service', + dbussessionservicedir + '/org.freedesktop.systemd1.service') if conf.get('HAVE_SYSV_COMPAT', 0) == 1 foreach i : [1, 2, 3, 4, 5] meson.add_install_script('sh', '-c', -- 2.47.3