From 876b5ce0affa1ede0541c2a2f56d6837bcdf7558 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fredrik=20=C3=96hrstr=C3=B6m?= Date: Wed, 28 Jun 2023 10:46:50 +0200 Subject: [PATCH] Adjust install script to create dirs before realpath. --- deb/source/format | 2 +- install.sh | 2 +- scripts/install_binaries.sh | 25 +++++++++++++++++-------- 3 files changed, 19 insertions(+), 10 deletions(-) diff --git a/deb/source/format b/deb/source/format index 163aaf8..d3827e7 100644 --- a/deb/source/format +++ b/deb/source/format @@ -1 +1 @@ -3.0 (quilt) +1.0 diff --git a/install.sh b/install.sh index 93e6251..f8d493d 100755 --- a/install.sh +++ b/install.sh @@ -62,4 +62,4 @@ ROOT=$ROOT /bin/sh ./scripts/install_systemd_service.sh || exit $? ROOT=$ROOT /bin/sh ./scripts/add_myself_to_dialout.sh || exit $? echo -echo "wmbusmetters sucessfully installed." +echo "wmbusmeters sucessfully installed." diff --git a/scripts/install_binaries.sh b/scripts/install_binaries.sh index 7f912a1..a1cd990 100755 --- a/scripts/install_binaries.sh +++ b/scripts/install_binaries.sh @@ -1,17 +1,26 @@ # Copyright (C) 2021-2023 Fredrik Öhrström (gpl-3.0-or-later) -wmbusmeters_dir="$ROOT"/usr/bin -wmbusmeters_path="$wmbusmeters_dir"/wmbusmeters -wmbusmetersd_dir="$ROOT"/usr/sbin -wmbusmetersd_path="$wmbusmetersd_dir"/wmbusmetersd -wmbusmetersd_target=$(realpath -s --relative-to="$wmbusmetersd_dir" "$wmbusmeters_path") +# Command binary /usr/bin/wmbusmeters +wmbusmeters_dir="${ROOT}/usr/bin" +wmbusmeters_path="${wmbusmeters_dir}/wmbusmeters" -rm -f "$wmbusmeters_path" "$wmbusmetersd_path" || exit $?⏎ +# Daemon /usr/sbin/wmbusmetersd which is a symlink to the command binary. +wmbusmetersd_dir="${ROOT}/usr/sbin" +wmbusmetersd_path="${wmbusmetersd_dir}/wmbusmetersd" -install -D -m 755 "$SRC" "$wmbusmeters_path" || exit $?⏎ +# Remove any existing installed components. +rm -f "$wmbusmeters_path" "$wmbusmetersd_path" || exit $? +# Install the command binary and create the bin directory if necessary. +install -D -m 755 "$SRC" "$wmbusmeters_path" || exit $? + +# Create the sbin directory if necessary. mkdir -p "$wmbusmetersd_dir" || exit $? +# Calculate the relative symlink from sbin to bin. +wmbusmetersd_target="$(realpath -s --relative-to="${wmbusmetersd_dir}" "${wmbusmeters_path}")" + +# Create the actual link. ln -s "$wmbusmetersd_target" "$wmbusmetersd_path" || exit $? -echo "binaries: installed '$wmbusmeters_path' '$wmbusmetersd_path'" +echo "binaries: installed ${wmbusmeters_path} ${wmbusmetersd_path}"