Compare commits

1 Commits

Author SHA1 Message Date
cc83bfdb7f [新增] 新增二进制文件的版本和组名默认值,增强用户的使用体验
Signed-off-by: 寻觅 <xunmiemail@vip.qq.com>
2025-05-14 11:05:39 +08:00

View File

@ -16,7 +16,9 @@ URL_PUT="${URL_API_PKG}"
UPFILE="空"
# 项目版本
GUPKG_VERSION="v1.1.0"
GUPKG_VERSION="v1.2.0"
# 要上传的二进制版本
ELF_VERSION=""
# 配置文件路径
CONFIG_PATH="$HOME/.config/GUPKG"
# 组合一个常用的crul账户配置
@ -178,6 +180,29 @@ user_check() {
fi
}
# 检查版本号,如果找不到版本号就基于时间给个版本
get_version() {
# 给个默认版本: v1.[当前时间].[md5前六位]
ELF_VERSION="v1.$(date +%y%m%d).$(md5sum $1 | cut -c1-6)"
# 检查命令是否存在
command -v "$1" >/dev/null 2>&1 || { return 1; }
local out
for arg in --version -v version; do
if out="$("$1" "$arg" 2>/dev/null)"; then
# 提取版本号:以字母+数字 或 数字开头,包含小数点,无空格
ELF_VERSION=$(echo "$out" | awk '
match($0, /[vV]?[0-9][^ ]*\.[^ ]+/, a) {
print a[0]
exit
}') && return 0
fi
done
return 2
}
# 初始化配置
config_init() {
# 初始化配置
@ -268,10 +293,18 @@ config_url() {
Show 2 "非已知包名后缀, 按照通用包处理"
Show 2 "使用说明: https://docs.gitea.com/zh-cn/usage/packages/generic"
# 拼接地址: generic/{package_name}/{package_version}/{file_name}
read -p "[1/3] 软件包名称(此名称用于分类软件, 同个软件的不同版本建议使用相同软件包名称): " GUPKG_pkg_name
read -p "[2/3] 软件包版本(例: 1.0, v3.2.1, V6.12.12): " GUPKG_pkg_ver
read -p "[3/3] 文件名 [默认: $(basename "$UPFILE")] (建议携带系统、架构、ABI1/2等) " GUPKG_pkg_file
GUPKG_pkg_file=${GUPKG_pkg_file:-$(basename "$UPFILE")}
default_pkg_name=$(basename "$UPFILE")
read -p "[1/3] 软件组(用于分组软件包) [默认: ${default_pkg_name}]: " GUPKG_pkg_name
GUPKG_pkg_name=${GUPKG_pkg_name:-${default_pkg_name}}
get_version $UPFILE
read -p "[2/3] 软件包版本 [默认: ${ELF_VERSION}]: " GUPKG_pkg_ver
GUPKG_pkg_ver=${GUPKG_pkg_ver:-${ELF_VERSION}}
default_pkg_file="${GUPKG_pkg_name}-${GUPKG_pkg_ver}"
read -p "[3/3] 文件名 [默认值: ${default_pkg_file}]" GUPKG_pkg_file
GUPKG_pkg_file=${GUPKG_pkg_file:-"${default_pkg_file}"}
put_path=generic/${GUPKG_pkg_name}/${GUPKG_pkg_ver}/${GUPKG_pkg_file}
fi