From 8eca27e209b2a24a2936a422258f9593cde90e9b Mon Sep 17 00:00:00 2001 From: shenmo <jifengshenmo@outlook.com> Date: Tue, 15 Apr 2025 18:24:35 +0800 Subject: [PATCH] linker.sh --- debian/rules | 4 +--- linker.sh | 35 +++++++++++++++++++++++++++++++++++ replacer.sh | 1 + 3 files changed, 37 insertions(+), 3 deletions(-) create mode 100755 linker.sh diff --git a/debian/rules b/debian/rules index a506310..fcb9264 100755 --- a/debian/rules +++ b/debian/rules @@ -10,9 +10,7 @@ override_dh_auto_configure: cp -r src/ pkg/ bash replacer.sh pkg/ cd pkg/opt/apps/amber-ce-bookworm/files && bash build-container.sh $(shell uname -m) - mkdir pkg/usr/bin - ln -vfs ../../opt/apps/amber-ce-bookworm/files/bin/ace-run pkg/usr/bin/bookworm-run - ln -vfs ../../opt/apps/amber-ce-bookworm/files/bin/amber-ce-configure-nvidia pkg/usr/bin/amber-ce-bookworm-configure-nvidia + bash linker.sh pkg/ override_dh_dwz: diff --git a/linker.sh b/linker.sh new file mode 100755 index 0000000..759505d --- /dev/null +++ b/linker.sh @@ -0,0 +1,35 @@ +#!/bin/bash +# 安全读取配置文件的推荐方式 +read_config() { + local config_file="$1" + + # 检查文件是否存在 + if [ ! -f "$config_file" ]; then + echo "Error: Config file $config_file not found" >&2 + return 1 + fi + + # 处理并加载配置 + source <( + sed -nE ' + # 跳过注释和空行 + /^[[:space:]]*#/d # 删除注释行 + /^[[:space:]]*$/d # 删除空行 + # 转换 @VAR@=value 格式 + s/^@([^@]+)@=(.*)$/\1=\2/p + ' "$config_file" + ) +} + +# 使用示例 +read_config "ace-base.config" + +# 访问变量 +echo "Package Name: $PKG_NAME" +echo "Host Name: $HOST_NAME" +echo "Executable Name: $EXEC_NAME" +echo "Pretty Name: $PRETTY_NAME" +target_dir="${1}" + mkdir ${target_dir}/usr/bin + ln -vfs ../../opt/apps/$PKG_NAME/files/bin/ace-run pkg/usr/bin/$EXEC_NAME + ln -vfs ../../opt/apps/$PKG_NAME/files/bin/amber-ce-configure-nvidia pkg/usr/bin/$PKG_NAME-configure-nvidia diff --git a/replacer.sh b/replacer.sh index eb5db91..71a8328 100644 --- a/replacer.sh +++ b/replacer.sh @@ -87,5 +87,6 @@ find "$target_dir" -type d | awk -F/ '{print NF, $0}' | sort -n | cut -d' ' -f2- mv -v "$dir" "$parent_path/$newdirname" fi done + echo "处理完成!"