summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--hello_cangjie_eur.spec59
1 files changed, 50 insertions, 9 deletions
diff --git a/hello_cangjie_eur.spec b/hello_cangjie_eur.spec
index 47cf4d7..ce0bdb6 100644
--- a/hello_cangjie_eur.spec
+++ b/hello_cangjie_eur.spec
@@ -54,14 +54,55 @@ cjpm install --root %{_buildrootdir}/%{name}-%{version}-%{release}.%{_arch}
rm -rf %{buildroot}
%pre
-echo "================================"
-echo $HOME/.bashrc
-cat $HOME/.bashrc
-echo "================================"
-echo "source %{_libdir}/cangjie/envsetup.sh" >> $HOME/.bashrc
-cat $HOME/.bashrc
-echo "================================"
-source $HOME/.bashrc
+#!/bin/bash
+# 根据环境设置下载地址
+%ifarch x86_64
+# 这里的指令仅在 x86_64 架构下运行
+ %global download_url "https://cangjie-lang.cn/v1/files/auth/downLoad?nsId=142267&fileName=Cangjie-0.53.13-linux_x64.tar.gz&objectKey=6719f1eb3af6947e3c6af327"
+%endif
+
+%ifarch aarch64
+# 这里的指令仅在 ARM 架构下运行
+ %global download_url "https://cangjie-lang.cn/v1/files/auth/downLoad?nsId=142267&fileName=Cangjie-0.53.13-linux_aarch64.tar.gz&objectKey=6719f1ec3af6947e3c6af328"
+%endif
+
+cd %{_libdir}
+
+# 检查文件是否存在,并设置一个宏
+if [ ! -f %{_libdir}/Cangjie-0.53.13-linux.tar.gz ]; then
+ wget -O Cangjie-0.53.13-linux.tar.gz %{download_url}
+fi
+
+tar xvf Cangjie-0.53.13-linux.tar.gz
+rm -rf Cangjie-0.53.13-linux.tar.gz
+chmod 0755 %{_libdir}/cangjie/envsetup.sh
+
+for user_dir in /home/*
+do
+ # 检查是否为目录
+ if [ -d "$user_dir" ]; then
+ # 获取 .bashrc 的完整路径
+ bashrc="$user_dir/.bashrc"
+ content="source %{_libdir}/cangjie/envsetup.sh"
+
+ # 检查 .bashrc 是否存在
+ if [ -f "$bashrc" ]; then
+ # 检查是否已经包含 "$content"
+ if ! grep -Fxq "$content" "$bashrc"; then
+ # 在 .bashrc 文件末尾添加 "$content"
+ echo "$content" >> "$bashrc"
+ fi
+ else
+ echo "$content" >> "$bashrc"
+ fi
+
+ source "$bashrc"
+ echo "==================="
+ cat "$bashrc"
+ echo "$bashrc"
+ echo "==================="
+ fi
+done
%post
for user_dir in /home/*
@@ -102,7 +143,7 @@ do
# 检查 .bashrc 是否存在
if [ -f "$bashrc" ]; then
- # sed -i '\|source %{_libdir}/cangjie/envsetup.sh|d' "$bashrc"
+ sed -i '\|source %{_libdir}/cangjie/envsetup.sh|d' "$bashrc"
sed -i "\|alias main='/usr/bin/%{output_name}'|d" "$bashrc"
source "$bashrc"
fi