#!/bin/bash
if [ "$1" != ""  ];then
if [[ $1 == file://* ]]; then
    # 如果是，移除 'file://' 部分并输出结果
    opt="${1#file://}"
else
    # 如果不是，直接输出原始路径
    opt=$1
fi

else
opt=`pwd`
fi
notify-send `basename $opt`开始打包 -i /usr/share/icons/uos-packaging-tools.png

echo "正在检查权限: $opt"
# 增强权限检查逻辑
non_755_files=$(find "$opt" -type f -not -perm 755 -o -type d -not -perm 755 2>/dev/null | wc -l)
if [ $non_755_files -gt 0 ]; then
    echo "发现$non_755_files个文件/目录权限不是755，正在修改..."
    if sudo chmod 755 -R "$opt" 2>/tmp/chmod_error.log; then
        echo "权限修改成功"
    else
        error_msg=$(head -n 1 /tmp/chmod_error.log 2>/dev/null || echo "未知错误")
        notify-send "权限修改失败: $error_msg" -i /usr/share/icons/uos-packaging-tools.png
        # 尝试使用pkexec作为备用方案
        if command -v pkexec >/dev/null 2>&1; then
            if pkexec chmod 755 -R "$opt"; then
                echo "使用pkexec修改权限成功"
            else
                exit 1
            fi
        else
            exit 1
        fi
    fi
else
    echo "所有文件权限已经是755，无需修改"
fi

fakeroot dpkg-deb -Z xz  -b $opt $opt/..
notify-send `basename $opt`打包完成 -i /usr/share/icons/uos-packaging-tools.png
exit
