mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2026-02-03 12:30:32 +01:00
build: meson: support $DESTDIR in installation script
Adapt the meson post-installation script to handle the $DESTDIR variable supplied by user to specify the installation target directory. While at it, convert the script to shell because it seems simpler to me.
This commit is contained in:
parent
e732789bbf
commit
98b4a19a53
4 changed files with 46 additions and 48 deletions
|
|
@ -5040,7 +5040,6 @@ EXTRA_DIST += \
|
|||
valgrind.suppressions \
|
||||
meson.build \
|
||||
meson_options.txt \
|
||||
meson_post_install.py \
|
||||
config.h.meson \
|
||||
config-extra.h.meson \
|
||||
docs/meson.build \
|
||||
|
|
@ -5081,6 +5080,7 @@ EXTRA_DIST += \
|
|||
tools/check-exports.sh \
|
||||
tools/create-exports-NetworkManager.sh \
|
||||
tools/debug-helper.py \
|
||||
tools/meson-post-install.sh \
|
||||
tools/run-nm-test.sh \
|
||||
tools/test-networkmanager-service.py \
|
||||
tools/test-sudo-wrapper.sh \
|
||||
|
|
|
|||
|
|
@ -895,7 +895,7 @@ configure_file(
|
|||
)
|
||||
|
||||
meson.add_install_script(
|
||||
'meson_post_install.py',
|
||||
join_paths('tools', 'meson-post-install.sh'),
|
||||
nm_datadir,
|
||||
nm_bindir,
|
||||
nm_pkgconfdir,
|
||||
|
|
|
|||
|
|
@ -1,46 +0,0 @@
|
|||
#!/usr/bin/env python3
|
||||
|
||||
import os
|
||||
import sys
|
||||
|
||||
if not os.environ.get('DESTDIR'):
|
||||
datadir = sys.argv[1]
|
||||
bindir = sys.argv[2]
|
||||
pkgconfdir = sys.argv[3]
|
||||
pkglibdir = sys.argv[4]
|
||||
localstatedir = sys.argv[5]
|
||||
|
||||
completions_dir = os.path.join(datadir, 'bash-completion', 'completions')
|
||||
os.rename(os.path.join(completions_dir, 'nmcli-completion'), os.path.join(completions_dir, 'nmcli'))
|
||||
|
||||
nmtui_alias = ['nmtui-connect', 'nmtui-edit', 'nmtui-hostname']
|
||||
src = os.path.join(bindir, 'nmtui')
|
||||
[os.symlink(src, os.path.join(bindir, dst))
|
||||
for dst in nmtui_alias]
|
||||
|
||||
dst_dirs = [
|
||||
os.path.join(pkgconfdir, 'conf.d'),
|
||||
os.path.join(pkgconfdir, 'system-connections'),
|
||||
os.path.join(pkgconfdir, 'dispatcher.d', 'no-wait.d'),
|
||||
os.path.join(pkgconfdir, 'dispatcher.d', 'pre-down.d'),
|
||||
os.path.join(pkgconfdir, 'dispatcher.d', 'pre-up.d'),
|
||||
os.path.join(pkgconfdir, 'dnsmasq.d'),
|
||||
os.path.join(pkgconfdir, 'dnsmasq-shared.d'),
|
||||
os.path.join(pkglibdir, 'conf.d'),
|
||||
os.path.join(pkglibdir, 'VPN'),
|
||||
os.path.join(localstatedir, 'lib', 'NetworkManager')
|
||||
]
|
||||
[os.makedirs(dst_dir)
|
||||
for dst_dir in dst_dirs
|
||||
if not os.path.exists(dst_dir)]
|
||||
|
||||
if sys.argv[6] == 'install_docs':
|
||||
mandir = sys.argv[7]
|
||||
|
||||
src = os.path.join(mandir, 'man1', 'nmtui.1')
|
||||
[os.symlink(src, os.path.join(mandir, 'man1', dst + '.1'))
|
||||
for dst in nmtui_alias]
|
||||
|
||||
src = os.path.join(mandir, 'man5', 'NetworkManager.conf.5')
|
||||
dst = os.path.join(mandir, 'man5', 'nm-system-settings.conf.5')
|
||||
os.symlink(src, dst)
|
||||
44
tools/meson-post-install.sh
Executable file
44
tools/meson-post-install.sh
Executable file
|
|
@ -0,0 +1,44 @@
|
|||
#!/bin/sh
|
||||
|
||||
datadir=$1
|
||||
bindir=$2
|
||||
pkgconfdir=$3
|
||||
pkglibdir=$4
|
||||
localstatedir=$5
|
||||
|
||||
[ -n "$DESTDIR" ] && DESTDIR=${DESTDIR%%/}/
|
||||
|
||||
if [ -f "${DESTDIR}${datadir}/bash-completion/completions/nmcli-completion" ]; then
|
||||
mv "${DESTDIR}${datadir}/bash-completion/completions/nmcli-completion" \
|
||||
"${DESTDIR}${datadir}/bash-completion/completions/nmcli"
|
||||
fi
|
||||
|
||||
if [ -x "${DESTDIR}${bindir}/nmtui" ]; then
|
||||
for alias in nmtui-connect nmtui-edit nmtui-hostname; do
|
||||
ln -sf nmtui "${DESTDIR}${bindir}/$alias"
|
||||
done
|
||||
fi
|
||||
|
||||
for dir in "${pkgconfdir}/conf.d" \
|
||||
"${pkgconfdir}/system-connections" \
|
||||
"${pkgconfdir}/dispatcher.d/no-wait.d" \
|
||||
"${pkgconfdir}/dispatcher.d/pre-down.d" \
|
||||
"${pkgconfdir}/dispatcher.d/pre-up.d" \
|
||||
"${pkgconfdir}/dnsmasq.d" \
|
||||
"${pkgconfdir}/dnsmasq-shared.d" \
|
||||
"${pkgconfdir}/conf.d" \
|
||||
"${pkgconfdir}/VPN" \
|
||||
"${localstatedir}/lib/NetworkManager"; do
|
||||
mkdir -p "${DESTDIR}${dir}"
|
||||
done
|
||||
|
||||
if [ "$6" = install_docs ]; then
|
||||
mandir=$7
|
||||
|
||||
for alias in nmtui-connect nmtui-edit nmtui-hostname; do
|
||||
ln -f "${DESTDIR}${mandir}/man1/nmtui.1" "${DESTDIR}${mandir}/man1/${alias}.1"
|
||||
done
|
||||
|
||||
ln -f "${DESTDIR}${mandir}/man5/NetworkManager.conf.5" "${DESTDIR}${mandir}/man5/nm-system-settings.conf"
|
||||
fi
|
||||
|
||||
Loading…
Add table
Reference in a new issue