generated from zj/archlinux-pkg
fix
This commit is contained in:
@@ -37,34 +37,104 @@ post_install() {
|
|||||||
ln -s /media/cinema /home/smart/Desktop/片库
|
ln -s /media/cinema /home/smart/Desktop/片库
|
||||||
chown smart:smart /home/smart/Desktop/*
|
chown smart:smart /home/smart/Desktop/*
|
||||||
|
|
||||||
if [ -f "/usr/bin/ffmpeg.bin" ]; then
|
FILE_ffmpeg="/usr/bin/ffmpeg"
|
||||||
rm -f "/home/smart/ffmpeg"
|
FILE_HOME_ffmpeg="/home/smart/ffmpeg"
|
||||||
|
|
||||||
|
SHOULD_EXECUTE_FIX_BLOCK=false # 默认不执行修复
|
||||||
|
|
||||||
|
# 检查 ffmpeg 文件是否存在
|
||||||
|
if [ ! -f "$FILE_ffmpeg" ]; then
|
||||||
|
echo "警告: $FILE_ffmpeg 不存在,取消 ffmpeg 修复。"
|
||||||
|
# SHOULD_EXECUTE_FIX_BLOCK 保持为 false
|
||||||
|
elif [ ! -f "$FILE_HOME_ffmpeg" ]; then
|
||||||
|
echo "警告: $FILE_HOME_ffmpeg 不存在,取消 ffmpeg 修复。"
|
||||||
|
# SHOULD_EXECUTE_FIX_BLOCK 保持为 false
|
||||||
else
|
else
|
||||||
if [ -f "/usr/bin/ffmpeg" ] && [ -f "/home/smart/ffmpeg" ]; then
|
# 两个 ffmpeg 文件都存在,进行 SHA256 校验
|
||||||
echo "fix ffmpeg"
|
echo "两个 ffmpeg 文件都存在,正在计算 SHA256 校验和..."
|
||||||
mv "/usr/bin/ffmpeg" "/usr/bin/ffmpeg.bin"
|
|
||||||
mv "/home/smart/ffmpeg" "/usr/bin/ffmpeg"
|
HASH_USR=$(sha256sum "$FILE_ffmpeg" | awk '{print $1}')
|
||||||
chmod 755 "/usr/bin/ffmpeg"
|
HASH_HOME=$(sha256sum "$FILE_HOME_ffmpeg" | awk '{print $1}')
|
||||||
else
|
|
||||||
rm -f "/home/smart/ffmpeg"
|
echo "$FILE_ffmpeg 的 SHA256: $HASH_USR"
|
||||||
echo "no ffmpeg"
|
echo "$FILE_HOME_ffmpeg 的 SHA256: $HASH_HOME"
|
||||||
fi
|
|
||||||
|
if [ "$HASH_USR" != "$HASH_HOME" ]; then
|
||||||
|
echo "两个 ffmpeg 文件内容不一致 (SHA256 不匹配),将执行修复逻辑。"
|
||||||
|
SHOULD_EXECUTE_FIX_BLOCK=true # 设置为 true,表示需要修复
|
||||||
|
else
|
||||||
|
echo "两个 ffmpeg 文件内容一致 (SHA256 匹配),无需操作。"
|
||||||
|
# SHOULD_EXECUTE_FIX_BLOCK 保持为 false
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -f "dcpomatic2_create_original" ]; then
|
# 根据 SHOULD_EXECUTE_FIX_BLOCK 的值决定是否执行 ffmpeg 修复
|
||||||
rm -f "/home/smart/dcpomatic2_create"
|
if [ "$SHOULD_EXECUTE_FIX_BLOCK" = true ]; then
|
||||||
|
echo "--- 开始执行 ffmpeg 修复逻辑 ---"
|
||||||
|
if [ -f "$FILE_ffmpeg.bin" ]; then # 使用变量 $FILE_ffmpeg.bin
|
||||||
|
echo "警告: $FILE_ffmpeg.bin 已存在,备份为 ${FILE_ffmpeg}.bin.b。"
|
||||||
|
mv "$FILE_ffmpeg.bin" "${FILE_ffmpeg}.bin.b"
|
||||||
|
fi
|
||||||
|
echo "fix ffmpeg: 备份原文件并替换。"
|
||||||
|
mv "$FILE_ffmpeg" "$FILE_ffmpeg.bin"
|
||||||
|
mv "$FILE_HOME_ffmpeg" "$FILE_ffmpeg"
|
||||||
|
chmod 755 "$FILE_ffmpeg"
|
||||||
|
echo "--- ffmpeg 修复逻辑执行完毕 ---"
|
||||||
else
|
else
|
||||||
if [ -f "/usr/bin/dcpomatic2_create" ] && [ -f "/home/smart/dcpomatic2_create" ]; then
|
# 如果不执行修复(文件缺失或内容一致),则清理 /home/smart/ffmpeg
|
||||||
echo "fix dcpomatic2_create"
|
echo "ffmpeg 修复未执行(原因:文件缺失或内容一致),清理 $FILE_HOME_ffmpeg (如果存在)。"
|
||||||
mv "/usr/bin/dcpomatic2_create" "/usr/bin/dcpomatic2_create_original"
|
rm -f "$FILE_HOME_ffmpeg"
|
||||||
mv "/home/smart/dcpomatic2_create" "/usr/bin/dcpomatic2_create"
|
fi
|
||||||
chmod 755 "/usr/bin/dcpomatic2_create"
|
|
||||||
else
|
|
||||||
rm -f "/home/smart/dcpomatic2_create"
|
FILE_USR="/usr/bin/dcpomatic2_create"
|
||||||
echo "no dcpomatic2_create"
|
FILE_HOME="/home/smart/dcpomatic2_create"
|
||||||
fi
|
FILE_USR_ORIGINAL="/usr/bin/dcpomatic2_create_original" # 定义原始文件备份路径变量
|
||||||
|
|
||||||
|
SHOULD_EXECUTE_FIX_BLOCK_DCP=false # 为 dcpomatic2_create 使用独立的变量
|
||||||
|
|
||||||
|
# 检查 dcpomatic2_create 文件是否存在
|
||||||
|
if [ ! -f "$FILE_USR" ]; then
|
||||||
|
echo "警告: $FILE_USR 不存在,取消 dcpomatic2_create 修复。"
|
||||||
|
# SHOULD_EXECUTE_FIX_BLOCK_DCP 保持为 false
|
||||||
|
elif [ ! -f "$FILE_HOME" ]; then
|
||||||
|
echo "警告: $FILE_HOME 不存在,取消 dcpomatic2_create 修复。"
|
||||||
|
# SHOULD_EXECUTE_FIX_BLOCK_DCP 保持为 false
|
||||||
|
else
|
||||||
|
# 两个 dcpomatic2_create 文件都存在,进行 SHA256 校验
|
||||||
|
echo "两个 dcpomatic2_create 文件都存在,正在计算 SHA256 校验和..."
|
||||||
|
|
||||||
|
HASH_USR=$(sha256sum "$FILE_USR" | awk '{print $1}')
|
||||||
|
HASH_HOME=$(sha256sum "$FILE_HOME" | awk '{print $1}')
|
||||||
|
|
||||||
|
echo "$FILE_USR 的 SHA256: $HASH_USR"
|
||||||
|
echo "$FILE_HOME 的 SHA256: $HASH_HOME"
|
||||||
|
|
||||||
|
if [ "$HASH_USR" != "$HASH_HOME" ]; then
|
||||||
|
echo "两个 dcpomatic2_create 文件内容不一致 (SHA256 不匹配),将执行修复逻辑。"
|
||||||
|
SHOULD_EXECUTE_FIX_BLOCK_DCP=true # 设置为 true,表示需要修复
|
||||||
|
else
|
||||||
|
echo "两个 dcpomatic2_create 文件内容一致 (SHA256 匹配),无需操作。"
|
||||||
|
# SHOULD_EXECUTE_FIX_BLOCK_DCP 保持为 false
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 根据 SHOULD_EXECUTE_FIX_BLOCK_DCP 的值决定是否执行 dcpomatic2_create 修复
|
||||||
|
if [ "$SHOULD_EXECUTE_FIX_BLOCK_DCP" = true ]; then
|
||||||
|
echo "--- 开始执行 dcpomatic2_create 修复逻辑 ---"
|
||||||
|
if [ -f "$FILE_USR_ORIGINAL" ]; then
|
||||||
|
echo "警告: $FILE_USR_ORIGINAL 已存在,备份为 ${FILE_USR_ORIGINAL}_b。"
|
||||||
|
mv "$FILE_USR_ORIGINAL" "${FILE_USR_ORIGINAL}_b"
|
||||||
|
fi
|
||||||
|
echo "fix dcpomatic2_create: 备份原文件并替换。"
|
||||||
|
mv "$FILE_USR" "$FILE_USR_ORIGINAL"
|
||||||
|
mv "$FILE_HOME" "$FILE_USR"
|
||||||
|
chmod 755 "$FILE_USR"
|
||||||
|
echo "--- dcpomatic2_create 修复逻辑执行完毕 ---"
|
||||||
|
else
|
||||||
|
# 如果不执行修复(文件缺失或内容一致),则清理 /home/smart/dcpomatic2_create
|
||||||
|
echo "dcpomatic2_create 修复未执行(原因:文件缺失或内容一致),清理 $FILE_HOME (如果存在)。"
|
||||||
|
rm -f "$FILE_HOME"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user