mirror of
https://github.com/systemd/systemd.git
synced 2025-03-22 06:50:18 +03:00
meson: use install_emptydir() and drop meson-make-symlink.sh
The script is mostly equivalent to 'mkdir -p' and 'ln -sfr'. Let's replace it with install_emptydir() builtin function and inline meson call.
This commit is contained in:
parent
653c90ec0e
commit
9289e093ae
@ -51,8 +51,7 @@ if conf.get('ENABLE_HWDB') == 1
|
||||
install_dir : udevhwdbdir)
|
||||
|
||||
if install_sysconfdir
|
||||
meson.add_install_script('sh', '-c',
|
||||
mkdir_p.format(sysconfdir / 'udev/hwdb.d'))
|
||||
install_emptydir(sysconfdir / 'udev/hwdb.d')
|
||||
|
||||
meson.add_install_script('sh', '-c',
|
||||
'test -n "$DESTDIR" || @0@/systemd-hwdb update'.format(bindir))
|
||||
|
@ -84,9 +84,7 @@ foreach tuple : manpages
|
||||
output : htmlalias,
|
||||
command : [ln, '-fs', html, '@OUTPUT@'])
|
||||
if want_html
|
||||
dst = docdir / 'html' / htmlalias
|
||||
cmd = 'ln -fs @0@ $DESTDIR@1@'.format(html, dst)
|
||||
meson.add_install_script('sh', '-c', cmd)
|
||||
meson.add_install_script(sh, '-c', ln_s.format(html, docdir / 'html' / htmlalias))
|
||||
p2 += link
|
||||
endif
|
||||
html_pages += link
|
||||
@ -157,9 +155,7 @@ foreach tuple : xsltproc.found() ? [['systemd.directives', '7', systemd_directiv
|
||||
output : htmlalias,
|
||||
command : [ln, '-fs', html, '@OUTPUT@'])
|
||||
if want_html
|
||||
dst = docdir / 'html' / htmlalias
|
||||
cmd = 'ln -fs @0@ $DESTDIR@1@'.format(html, dst)
|
||||
meson.add_install_script('sh', '-c', cmd)
|
||||
meson.add_install_script(sh, '-c', ln_s.format(html, docdir / 'html' / htmlalias))
|
||||
p2 += link
|
||||
endif
|
||||
html_pages += link
|
||||
|
@ -111,6 +111,7 @@ endif
|
||||
prefixdir_noslash = '/' + prefixdir.strip('/')
|
||||
bindir = prefixdir / get_option('bindir')
|
||||
sbindir = prefixdir / (split_bin ? 'sbin' : 'bin')
|
||||
sbin_to_bin = split_bin ? '../bin/' : ''
|
||||
libdir = prefixdir / get_option('libdir')
|
||||
sysconfdir = prefixdir / get_option('sysconfdir')
|
||||
includedir = prefixdir / get_option('includedir')
|
||||
@ -642,10 +643,8 @@ env = find_program('env')
|
||||
rsync = find_program('rsync', required : false)
|
||||
diff = find_program('diff')
|
||||
find = find_program('find')
|
||||
meson_make_symlink = project_source_root + '/tools/meson-make-symlink.sh'
|
||||
|
||||
mkdir_p = 'mkdir -p $DESTDIR/@0@'
|
||||
mkdir_p_mode = 'mkdir -p $DESTDIR/@0@ -m @1@'
|
||||
ln_s = ln.full_path() + ' -frsT -- "${DESTDIR:-}@0@" "${DESTDIR:-}@1@"'
|
||||
|
||||
# If -Dxxx-path option is found, use that. Otherwise, check in $PATH,
|
||||
# /usr/sbin, /sbin, and fall back to the default from middle column.
|
||||
@ -2781,8 +2780,7 @@ install_data('LICENSE.GPL2',
|
||||
install_subdir('LICENSES',
|
||||
install_dir : docdir)
|
||||
|
||||
meson.add_install_script('sh', '-c', mkdir_p.format(systemdstatedir))
|
||||
meson.add_install_script('sh', '-c', 'touch $DESTDIR@0@'.format(prefixdir))
|
||||
install_emptydir(systemdstatedir)
|
||||
|
||||
############################################################
|
||||
|
||||
|
@ -14,8 +14,7 @@ if conf.get('ENABLE_NETWORKD') == 1
|
||||
install_dir : networkdir)
|
||||
|
||||
if install_sysconfdir
|
||||
meson.add_install_script('sh', '-c',
|
||||
mkdir_p.format(sysconfdir / 'systemd/network'))
|
||||
install_emptydir(sysconfdir / 'systemd/network')
|
||||
endif
|
||||
endif
|
||||
|
||||
|
@ -10,10 +10,8 @@ executables += [
|
||||
]
|
||||
|
||||
if conf.get('ENABLE_BINFMT') == 1
|
||||
meson.add_install_script('sh', '-c',
|
||||
mkdir_p.format(binfmtdir))
|
||||
install_emptydir(binfmtdir)
|
||||
if install_sysconfdir
|
||||
meson.add_install_script('sh', '-c',
|
||||
mkdir_p.format(sysconfdir / 'binfmt.d'))
|
||||
install_emptydir(sysconfdir / 'binfmt.d')
|
||||
endif
|
||||
endif
|
||||
|
@ -201,20 +201,21 @@ install_data('org.freedesktop.systemd1.conf',
|
||||
install_data('org.freedesktop.systemd1.service',
|
||||
install_dir : dbussystemservicedir)
|
||||
|
||||
meson.add_install_script('sh', '-c', mkdir_p.format(systemshutdowndir))
|
||||
meson.add_install_script('sh', '-c', mkdir_p.format(systemsleepdir))
|
||||
meson.add_install_script('sh', '-c', mkdir_p.format(systemgeneratordir))
|
||||
meson.add_install_script('sh', '-c', mkdir_p.format(usergeneratordir))
|
||||
install_emptydir(systemshutdowndir)
|
||||
install_emptydir(systemsleepdir)
|
||||
install_emptydir(systemgeneratordir)
|
||||
install_emptydir(usergeneratordir)
|
||||
|
||||
if install_sysconfdir
|
||||
meson.add_install_script('sh', '-c', mkdir_p.format(pkgsysconfdir / 'system'))
|
||||
meson.add_install_script('sh', '-c', mkdir_p.format(pkgsysconfdir / 'user'))
|
||||
meson.add_install_script('sh', '-c', mkdir_p.format(sysconfdir / 'xdg/systemd'))
|
||||
install_emptydir(pkgsysconfdir / 'system')
|
||||
install_emptydir(pkgsysconfdir / 'user')
|
||||
install_emptydir(sysconfdir / 'xdg/systemd')
|
||||
meson.add_install_script(sh, '-c', ln_s.format(pkgsysconfdir / 'user',
|
||||
sysconfdir / 'xdg/systemd/user'))
|
||||
endif
|
||||
|
||||
meson.add_install_script(meson_make_symlink,
|
||||
libexecdir / 'systemd',
|
||||
sbindir / 'init')
|
||||
install_emptydir(sbindir)
|
||||
meson.add_install_script(sh, '-c', ln_s.format(libexecdir / 'systemd', sbindir / 'init'))
|
||||
|
||||
############################################################
|
||||
|
||||
|
@ -15,9 +15,11 @@ executables += [
|
||||
# Protecting files from the distro in /usr doesn't make sense since they can be trivially accessed otherwise,
|
||||
# so don't restrict the access mode in /usr. That doesn't apply to /etc, so we do restrict the access mode
|
||||
# there.
|
||||
meson.add_install_script('sh', '-c', mkdir_p.format(credstoredir))
|
||||
install_emptydir(credstoredir)
|
||||
if install_sysconfdir
|
||||
# Keep in sync with tmpfiles.d/credstore.conf
|
||||
meson.add_install_script('sh', '-c', mkdir_p_mode.format(sysconfdir / 'credstore', '0700'))
|
||||
meson.add_install_script('sh', '-c', mkdir_p_mode.format(sysconfdir / 'credstore.encrypted', '0700'))
|
||||
install_emptydir(sysconfdir / 'credstore',
|
||||
install_mode : 'rwx------')
|
||||
install_emptydir(sysconfdir / 'credstore.encrypted',
|
||||
install_mode : 'rwx------')
|
||||
endif
|
||||
|
@ -10,7 +10,8 @@ executables += [
|
||||
]
|
||||
|
||||
if conf.get('HAVE_BLKID') == 1
|
||||
meson.add_install_script(meson_make_symlink,
|
||||
bindir / 'systemd-dissect',
|
||||
sbindir / 'mount.ddi')
|
||||
install_emptydir(sbindir)
|
||||
meson.add_install_script(sh, '-c',
|
||||
ln_s.format(bindir / 'systemd-dissect',
|
||||
sbindir / 'mount.ddi'))
|
||||
endif
|
||||
|
@ -10,7 +10,8 @@ executables += [
|
||||
]
|
||||
|
||||
if conf.get('ENABLE_ENVIRONMENT_D') == 1
|
||||
meson.add_install_script(meson_make_symlink,
|
||||
sysconfdir / 'environment',
|
||||
environmentdir / '99-environment.conf')
|
||||
install_emptydir(environmentdir)
|
||||
meson.add_install_script(sh, '-c',
|
||||
ln_s.format(sysconfdir / 'environment',
|
||||
environmentdir / '99-environment.conf'))
|
||||
endif
|
||||
|
@ -7,6 +7,6 @@ executables += [
|
||||
},
|
||||
]
|
||||
|
||||
meson.add_install_script(meson_make_symlink,
|
||||
systemgeneratordir / 'systemd-fstab-generator',
|
||||
libexecdir / 'systemd-sysroot-fstab-check')
|
||||
meson.add_install_script(sh, '-c',
|
||||
ln_s.format(systemgeneratordir / 'systemd-fstab-generator',
|
||||
libexecdir / 'systemd-sysroot-fstab-check'))
|
||||
|
@ -113,10 +113,7 @@ if conf.get('ENABLE_REMOTE') == 1 and conf.get('HAVE_MICROHTTPD') == 1
|
||||
install_dir : pkgdatadir / 'gatewayd')
|
||||
|
||||
if get_option('create-log-dirs')
|
||||
meson.add_install_script('sh', '-c',
|
||||
mkdir_p.format('/var/log/journal/remote'))
|
||||
meson.add_install_script('sh', '-c',
|
||||
'''chown 0:0 $DESTDIR/var/log/journal/remote &&
|
||||
chmod 755 $DESTDIR/var/log/journal/remote || :''')
|
||||
install_emptydir('/var/log/journal/remote',
|
||||
install_mode : [ 'rwxr-xr-x', 'root', 'root' ])
|
||||
endif
|
||||
endif
|
||||
|
@ -184,13 +184,8 @@ if install_sysconfdir_samples
|
||||
endif
|
||||
|
||||
if get_option('create-log-dirs')
|
||||
meson.add_install_script(
|
||||
'sh', '-c',
|
||||
mkdir_p.format('/var/log/journal'))
|
||||
meson.add_install_script(
|
||||
'sh', '-c',
|
||||
'''chown 0:0 $DESTDIR/var/log/journal &&
|
||||
chmod 755 $DESTDIR/var/log/journal || :''')
|
||||
install_emptydir('/var/log/journal',
|
||||
install_mode : [ 'rwxr-xr-x', 'root', 'root' ])
|
||||
if get_option('adm-group')
|
||||
meson.add_install_script(
|
||||
'sh', '-c',
|
||||
|
@ -44,8 +44,7 @@ if want_kernel_install
|
||||
install_dir : kerneldir)
|
||||
|
||||
if install_sysconfdir
|
||||
meson.add_install_script('sh', '-c',
|
||||
mkdir_p.format(sysconfdir / 'kernel/install.d'))
|
||||
install_emptydir(sysconfdir / 'kernel/install.d')
|
||||
endif
|
||||
endif
|
||||
|
||||
|
@ -10,10 +10,8 @@ executables += [
|
||||
]
|
||||
|
||||
if conf.get('HAVE_KMOD') == 1
|
||||
meson.add_install_script('sh', '-c',
|
||||
mkdir_p.format(modulesloaddir))
|
||||
install_emptydir(modulesloaddir)
|
||||
if install_sysconfdir
|
||||
meson.add_install_script('sh', '-c',
|
||||
mkdir_p.format(sysconfdir / 'modules-load.d'))
|
||||
install_emptydir(sysconfdir / 'modules-load.d')
|
||||
endif
|
||||
endif
|
||||
|
@ -9,5 +9,5 @@ executables += [
|
||||
},
|
||||
]
|
||||
|
||||
meson.add_install_script(meson_make_symlink,
|
||||
'systemd-mount', bindir / 'systemd-umount')
|
||||
meson.add_install_script(sh, '-c', ln_s.format(bindir / 'systemd-mount',
|
||||
bindir / 'systemd-umount'))
|
||||
|
@ -220,13 +220,14 @@ if conf.get('ENABLE_RESOLVE') == 1
|
||||
install_data('resolv.conf',
|
||||
install_dir : libexecdir)
|
||||
|
||||
meson.add_install_script(meson_make_symlink,
|
||||
bindir / 'resolvectl',
|
||||
sbindir / 'resolvconf')
|
||||
install_emptydir(sbindir)
|
||||
meson.add_install_script(sh, '-c',
|
||||
ln_s.format(bindir / 'resolvectl',
|
||||
sbindir / 'resolvconf'))
|
||||
|
||||
meson.add_install_script(meson_make_symlink,
|
||||
bindir / 'resolvectl',
|
||||
bindir / 'systemd-resolve')
|
||||
meson.add_install_script(sh, '-c',
|
||||
ln_s.format(bindir / 'resolvectl',
|
||||
bindir / 'systemd-resolve'))
|
||||
endif
|
||||
|
||||
custom_target(
|
||||
|
@ -10,7 +10,6 @@ executables += [
|
||||
]
|
||||
|
||||
if conf.get('ENABLE_SYSEXT') == 1
|
||||
meson.add_install_script(meson_make_symlink,
|
||||
bindir / 'systemd-sysext',
|
||||
bindir / 'systemd-confext')
|
||||
meson.add_install_script(sh, '-c', ln_s.format(bindir / 'systemd-sysext',
|
||||
bindir / 'systemd-confext'))
|
||||
endif
|
||||
|
@ -75,7 +75,8 @@ executables += [
|
||||
|
||||
foreach alias : (['halt', 'poweroff', 'reboot', 'shutdown'] +
|
||||
(conf.get('HAVE_SYSV_COMPAT') == 1 ? ['runlevel', 'telinit'] : []))
|
||||
meson.add_install_script(meson_make_symlink,
|
||||
bindir / 'systemctl',
|
||||
sbindir / alias)
|
||||
install_emptydir(sbindir)
|
||||
meson.add_install_script(sh, '-c',
|
||||
ln_s.format(bindir / 'systemctl',
|
||||
sbindir / alias))
|
||||
endforeach
|
||||
|
@ -247,9 +247,8 @@ executables += [
|
||||
},
|
||||
]
|
||||
|
||||
meson.add_install_script(meson_make_symlink,
|
||||
bindir / 'udevadm',
|
||||
libexecdir / 'systemd-udevd')
|
||||
meson.add_install_script(sh, '-c', ln_s.format(bindir / 'udevadm',
|
||||
libexecdir / 'systemd-udevd'))
|
||||
|
||||
if install_sysconfdir_samples
|
||||
install_data('udev.conf',
|
||||
@ -268,6 +267,5 @@ udev_pc = custom_target(
|
||||
install_dir : pkgconfigdatadir)
|
||||
|
||||
if install_sysconfdir
|
||||
meson.add_install_script('sh', '-c',
|
||||
mkdir_p.format(sysconfdir / 'udev/rules.d'))
|
||||
install_emptydir(sysconfdir / 'udev/rules.d')
|
||||
endif
|
||||
|
@ -21,6 +21,5 @@ custom_target(
|
||||
install_dir : sysctldir)
|
||||
|
||||
if install_sysconfdir
|
||||
meson.add_install_script('sh', '-c',
|
||||
mkdir_p.format(sysconfdir / 'sysctl.d'))
|
||||
install_emptydir(sysconfdir / 'sysctl.d')
|
||||
endif
|
||||
|
@ -44,9 +44,8 @@ if install_tests
|
||||
|
||||
# The unit tests implemented as shell scripts expect to find testdata/
|
||||
# in the directory where they are stored.
|
||||
meson.add_install_script(meson_make_symlink,
|
||||
testdata_dir,
|
||||
unittestsdir / 'testdata')
|
||||
meson.add_install_script(sh, '-c', ln_s.format(testdata_dir,
|
||||
unittestsdir / 'testdata'))
|
||||
endif
|
||||
|
||||
############################################################
|
||||
|
@ -54,6 +54,5 @@ foreach pair : in_files
|
||||
endforeach
|
||||
|
||||
if enable_tmpfiles and install_sysconfdir
|
||||
meson.add_install_script(
|
||||
'sh', '-c', mkdir_p.format(sysconfdir / 'tmpfiles.d'))
|
||||
install_emptydir(sysconfdir / 'tmpfiles.d')
|
||||
endif
|
||||
|
@ -1,22 +0,0 @@
|
||||
#!/bin/sh
|
||||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
set -eu
|
||||
|
||||
SOURCE="${1:?}"
|
||||
TARGET="${2:?}"
|
||||
|
||||
if [ "${MESON_INSTALL_QUIET:-0}" = 1 ] ; then
|
||||
VERBOSE=""
|
||||
else
|
||||
VERBOSE="v"
|
||||
fi
|
||||
|
||||
# this is needed mostly because $DESTDIR is provided as a variable,
|
||||
# and we need to create the target directory...
|
||||
|
||||
mkdir -${VERBOSE}p "$(dirname "${DESTDIR:-}$TARGET")"
|
||||
if [ "$(dirname "$SOURCE")" = . ] || [ "$(dirname "$SOURCE")" = .. ]; then
|
||||
ln -${VERBOSE}fs -T -- "$SOURCE" "${DESTDIR:-}$TARGET"
|
||||
else
|
||||
ln -${VERBOSE}fs -T --relative -- "${DESTDIR:-}$SOURCE" "${DESTDIR:-}$TARGET"
|
||||
fi
|
@ -1,41 +0,0 @@
|
||||
#!/bin/sh
|
||||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
# shellcheck disable=SC2154,SC2174
|
||||
set -eu
|
||||
|
||||
i=1
|
||||
while [ $i -lt $# ] ; do
|
||||
eval unitdir="\${$i}"
|
||||
eval target="\${$((i + 1))}"
|
||||
eval unit="\${$((i + 2))}"
|
||||
|
||||
if [ "${MESON_INSTALL_QUIET:-0}" = 1 ] ; then
|
||||
VERBOSE=""
|
||||
else
|
||||
VERBOSE="v"
|
||||
fi
|
||||
|
||||
case "$target" in
|
||||
*/?*) # a path, but not just a slash at the end
|
||||
dir="${DESTDIR:-}${target}"
|
||||
;;
|
||||
*)
|
||||
dir="${DESTDIR:-}${unitdir}/${target}"
|
||||
;;
|
||||
esac
|
||||
|
||||
unitpath="${DESTDIR:-}${unitdir}/${unit}"
|
||||
|
||||
case "$target" in
|
||||
*/)
|
||||
mkdir -${VERBOSE}p -m 0755 "$dir"
|
||||
;;
|
||||
*)
|
||||
mkdir -${VERBOSE}p -m 0755 "$(dirname "$dir")"
|
||||
;;
|
||||
esac
|
||||
|
||||
ln -${VERBOSE}fs --relative "$unitpath" "$dir"
|
||||
|
||||
i=$((i + 3))
|
||||
done
|
@ -634,8 +634,6 @@ units = [
|
||||
},
|
||||
]
|
||||
|
||||
add_wants = []
|
||||
|
||||
foreach unit : units
|
||||
source = unit.get('file')
|
||||
|
||||
@ -672,13 +670,20 @@ foreach unit : units
|
||||
|
||||
if install
|
||||
foreach target : unit.get('symlinks', [])
|
||||
add_wants += [systemunitdir, target, name]
|
||||
if target.endswith('/')
|
||||
install_emptydir(systemunitdir / target)
|
||||
meson.add_install_script(sh, '-c',
|
||||
ln_s.format(systemunitdir / name,
|
||||
systemunitdir / target / name))
|
||||
else
|
||||
meson.add_install_script(sh, '-c',
|
||||
ln_s.format(systemunitdir / name,
|
||||
systemunitdir / target))
|
||||
endif
|
||||
endforeach
|
||||
endif
|
||||
endforeach
|
||||
|
||||
meson.add_install_script('meson-add-wants.sh', add_wants)
|
||||
|
||||
install_data('user-.slice.d/10-defaults.conf',
|
||||
install_dir : systemunitdir + '/user-.slice.d')
|
||||
|
||||
@ -689,19 +694,14 @@ install_data('user@0.service.d/10-login-barrier.conf',
|
||||
|
||||
############################################################
|
||||
|
||||
if install_sysconfdir
|
||||
meson.add_install_script(meson_make_symlink,
|
||||
pkgsysconfdir / 'user',
|
||||
sysconfdir / 'xdg/systemd/user')
|
||||
endif
|
||||
meson.add_install_script(meson_make_symlink,
|
||||
dbussystemservicedir / 'org.freedesktop.systemd1.service',
|
||||
dbussessionservicedir / 'org.freedesktop.systemd1.service')
|
||||
install_emptydir(dbussessionservicedir)
|
||||
meson.add_install_script(sh, '-c',
|
||||
ln_s.format(dbussystemservicedir / 'org.freedesktop.systemd1.service',
|
||||
dbussessionservicedir / 'org.freedesktop.systemd1.service'))
|
||||
|
||||
if conf.get('HAVE_SYSV_COMPAT') == 1
|
||||
foreach i : [1, 2, 3, 4, 5]
|
||||
meson.add_install_script(
|
||||
'sh', '-c',
|
||||
mkdir_p.format(systemunitdir / 'runlevel@0@.target.wants'.format(i)))
|
||||
install_emptydir(systemunitdir / 'runlevel@0@.target.wants'.format(i))
|
||||
endforeach
|
||||
endif
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user