35f1195979
Other changes: - Update hash for README due to added licence directory tools/chromiumos. - Add hash for tools/chromiumos/LICENSE - Added BSD-3-Clause (tools/chromiumos) in systemd.mk due to the new tools/chromiumos directory. - Added tools/chromiumos/LICENSE to SYSTEMD_LICENSE_FILES in systemd.mk Signed-off-by: Adam Duskett <Aduskett@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
81 lines
2.6 KiB
Diff
81 lines
2.6 KiB
Diff
From 006b1d65fd5ea6555fcb72054ecc20234f4175db Mon Sep 17 00:00:00 2001
|
|
From: Adam Duskett <aduskett@gmail.com>
|
|
Date: Sun, 31 Dec 2017 12:46:04 -0500
|
|
Subject: [PATCH] install: don't use ln --relative
|
|
|
|
Oldish enterprise-class distributions have too old versions of
|
|
coreutils, with ln not supporting --relative.
|
|
|
|
So we fake it.
|
|
|
|
ln --relative would create minimalist relative paths, but they are not
|
|
trivial to generate. Instead, we always create paths relative to the
|
|
root, i.e.:
|
|
|
|
ln -s --relative /usr/bin/foo /usr/sbin/foo
|
|
|
|
would create: /usr/sbin/foo -> ../bin/foo
|
|
while we do : /usr/sbin/foo -> ../../usr/bin/foo
|
|
|
|
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
|
|
[aduskett@gmail.com: Added meson.build section and dirname wrapper in add-wants]
|
|
[aduskett@gmail.com: Update for systemd v237]
|
|
Signed-off-by: Adam Duskett <aduskett@gmail.com>
|
|
[tpiepho@impinj.com: Fix add-wants wrapper]
|
|
Signed-off-by: Trent Piepho <tpiepho@impinj.com>
|
|
---
|
|
meson.build | 2 +-
|
|
tools/meson-make-symlink.sh | 3 ++-
|
|
units/meson-add-wants.sh | 6 ++++--
|
|
3 files changed, 7 insertions(+), 4 deletions(-)
|
|
|
|
diff --git a/meson.build b/meson.build
|
|
index e5ceb1e169..9d3c746da4 100644
|
|
--- a/meson.build
|
|
+++ b/meson.build
|
|
@@ -591,7 +591,7 @@ endforeach
|
|
conf.set_quoted('TELINIT', get_option('telinit-path'))
|
|
|
|
if run_command('ln', '--relative', '--help').returncode() != 0
|
|
- error('ln does not support --relative (added in coreutils 8.16)')
|
|
+ message('ln does not support --relative (added in coreutils 8.16)')
|
|
endif
|
|
|
|
############################################################
|
|
diff --git a/tools/meson-make-symlink.sh b/tools/meson-make-symlink.sh
|
|
index da0d13a341..4917eff7d1 100755
|
|
--- a/tools/meson-make-symlink.sh
|
|
+++ b/tools/meson-make-symlink.sh
|
|
@@ -8,5 +8,6 @@ mkdir -vp "$(dirname "${DESTDIR:-}$2")"
|
|
if [ "$(dirname $1)" = . ]; then
|
|
ln -vfs -T "$1" "${DESTDIR:-}$2"
|
|
else
|
|
- ln -vfs -T --relative "${DESTDIR:-}$1" "${DESTDIR:-}$2"
|
|
+ dds="$( dirname "$2" |sed -r -e 's:/+[^/]+:../:g; s:/$::' )"
|
|
+ ln -vfs -T "${dds}$1" "${DESTDIR:-}$2"
|
|
fi
|
|
diff --git a/units/meson-add-wants.sh b/units/meson-add-wants.sh
|
|
index a483d75b86..4642673d98 100755
|
|
--- a/units/meson-add-wants.sh
|
|
+++ b/units/meson-add-wants.sh
|
|
@@ -14,7 +14,7 @@ case "$target" in
|
|
;;
|
|
esac
|
|
|
|
-unitpath="${DESTDIR:-}${unitdir}/${unit}"
|
|
+unitpath="${unitdir}/${unit}"
|
|
|
|
case "$target" in
|
|
*/)
|
|
@@ -25,4 +25,6 @@ case "$target" in
|
|
;;
|
|
esac
|
|
|
|
-ln -vfs --relative "$unitpath" "$dir"
|
|
+[ ! -d "${dir}" ] && linkdir=`dirname "${dir}"` || linkdir="${dir}"
|
|
+dds="$(printf "%s" "${linkdir#${DESTDIR:-}}" |sed -r -e 's:/+[^/]+:../:g; s:/$::')"
|
|
+ln -vfs "$dds$unitpath" "$dir"
|
|
--
|
|
2.20.1
|
|
|