mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2025-12-30 20:10:10 +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.
(cherry picked from commit 98b4a19a53)
This commit is contained in:
parent
353cc20683
commit
bd519d88e4
4 changed files with 46 additions and 48 deletions
|
|
@ -4744,7 +4744,6 @@ EXTRA_DIST += \
|
|||
valgrind.suppressions \
|
||||
meson.build \
|
||||
meson_options.txt \
|
||||
meson_post_install.py \
|
||||
config.h.meson \
|
||||
config-extra.h.meson \
|
||||
docs/meson.build \
|
||||
|
|
@ -4785,6 +4784,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 \
|
||||
|
|
|
|||
|
|
@ -896,7 +896,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