110 lines
2.6 KiB
Bash
110 lines
2.6 KiB
Bash
#!/bin/bash
|
|
# Linux 日志删除助手 - 打包脚本
|
|
# 在 UOS 环境中执行此脚本进行打包
|
|
|
|
set -e # 遇到错误立即退出
|
|
|
|
echo "=========================================="
|
|
echo " Linux 日志删除助手 - 打包脚本"
|
|
echo "=========================================="
|
|
echo ""
|
|
|
|
# 颜色定义
|
|
RED='\033[0;31m'
|
|
GREEN='\033[0;32m'
|
|
YELLOW='\033[1;33m'
|
|
NC='\033[0m' # No Color
|
|
|
|
# 检查是否为 root 用户
|
|
if [ "$EUID" -ne 0 ]; then
|
|
echo -e "${YELLOW}提示:安装依赖需要 sudo 权限${NC}"
|
|
SUDO="sudo"
|
|
else
|
|
SUDO=""
|
|
fi
|
|
|
|
# 步骤 1: 检查并安装系统依赖
|
|
echo ""
|
|
echo "步骤 1/4: 检查并安装系统依赖..."
|
|
echo "------------------------------------------"
|
|
|
|
# 更新包列表
|
|
$SUDO apt update
|
|
|
|
# 安装 Python3 和 pip(如果未安装)
|
|
if ! command -v python3 &> /dev/null; then
|
|
echo "安装 Python3..."
|
|
$SUDO apt install -y python3
|
|
fi
|
|
|
|
if ! command -v pip3 &> /dev/null; then
|
|
echo "安装 pip3..."
|
|
$SUDO apt install -y python3-pip
|
|
fi
|
|
|
|
# 安装 PyQt5
|
|
echo "安装 PyQt5..."
|
|
$SUDO apt install -y python3-pyqt5
|
|
|
|
# 步骤 2: 安装 Python 依赖
|
|
echo ""
|
|
echo "步骤 2/4: 安装 Python 依赖..."
|
|
echo "------------------------------------------"
|
|
|
|
# 安装 PyInstaller
|
|
pip3 install --user pyinstaller
|
|
|
|
# 确保 ~/.local/bin 在 PATH 中
|
|
export PATH="$HOME/.local/bin:$PATH"
|
|
|
|
# 步骤 3: 使用 PyInstaller 打包
|
|
echo ""
|
|
echo "步骤 3/4: 打包应用程序..."
|
|
echo "------------------------------------------"
|
|
|
|
# 获取脚本所在目录
|
|
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
|
cd "$SCRIPT_DIR"
|
|
|
|
# 清理旧的构建文件
|
|
rm -rf build dist __pycache__ *.spec
|
|
|
|
# 使用 PyInstaller 打包
|
|
pyinstaller \
|
|
--onefile \
|
|
--windowed \
|
|
--name "log-cleaner" \
|
|
--add-data "gui:gui" \
|
|
--hidden-import "PyQt5.QtWidgets" \
|
|
--hidden-import "PyQt5.QtCore" \
|
|
--hidden-import "PyQt5.QtGui" \
|
|
--clean \
|
|
main.py
|
|
|
|
# 步骤 4: 完成
|
|
echo ""
|
|
echo "步骤 4/4: 打包完成!"
|
|
echo "=========================================="
|
|
echo ""
|
|
echo -e "${GREEN}✓ 打包成功!${NC}"
|
|
echo ""
|
|
echo "可执行文件位置: dist/log-cleaner"
|
|
echo ""
|
|
echo "使用方法:"
|
|
echo " 1. 将 dist/log-cleaner 复制到 UOS LiveCD 环境"
|
|
echo " 2. 赋予执行权限: chmod +x log-cleaner"
|
|
echo " 3. 运行: sudo ./log-cleaner"
|
|
echo ""
|
|
echo "注意事项:"
|
|
echo " - 运行时需要 sudo 权限"
|
|
echo " - 确保系统已安装 PyQt5 运行时库"
|
|
echo ""
|
|
|
|
# 检查打包结果
|
|
if [ -f "dist/log-cleaner" ]; then
|
|
echo -e "${GREEN}✓ 可执行文件大小: $(du -h dist/log-cleaner | cut -f1)${NC}"
|
|
else
|
|
echo -e "${RED}✗ 打包失败,请检查错误信息${NC}"
|
|
exit 1
|
|
fi
|