diff --git a/meson.build b/meson.build index a5b57d8e05..a56476a71d 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 0000000000..87f198694c --- /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 957153c0b5..b051c5d3cc 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',