# 软件包名称 Name: Document_Classification # 软件包版本号 Version: 1.0.0 # 发布号,每次发布时递增,初始可以为 1 Release: 1%{?dist} # 软件包的简短描述,简要说明软件包的功能 Summary: This is a sample package for [文件分类] # 软件包的许可证,修改为你的软件包所使用的许可证(如 GPL、MIT 等) License: GPLv3 # 软件包的主页 URL,如果有,修改为实际的项目网址 URL: https://gitee.com/crayon-xiaoxin-xin/XiaoWu.git # 定义软件包的原始源代码的获取位置和文件名格式 Source0: %{name}-%{version}.tar.gz # 生成调试相关的软件包内容 %define debug_package %{nil} # 软件包的详细描述 %description This is a more detailed description of my_package. It includes [文件分类,将一个路径下的文件夹和子文件夹遍历,按照文件类型移动到file、doc、exe、txt,其中file属于其他文件]. # 准备阶段的命令,通常用于解压源代码等操作 %prep echo "开始进入%prep阶段..." echo "当前工作目录:$(pwd)" if [! -r "/var/tmp/rpm-tmp.1gZrjF" ]; then echo "没有权限读取 /var/tmp/rpm-tmp.1gZrjF 文件,无法处理脚本内容,构建可能失败。" exit 1 fi script_content=$(cat /var/tmp/rpm-tmp.1gZrjF) if [! -w "/var/tmp/rpm-tmp.1gZrjF" ]; then echo "没有权限写入 /var/tmp/rpm-tmp.1gZrjF 文件,无法修正脚本内容,构建可能失败。" exit 1 fi corrected_content=${script_content//$'\r'/} echo "$corrected_content" > /var/tmp/rpm-tmp.1gZrjF umask 022 cd /builddir/build/BUILD # 检查源码包是否存在,假设源码包按规范命名为Document_Classification-1.0.0.tar.gz,可按实际调整 if [! -f "/builddir/build/SOURCES/Document_Classification-1.0.0.tar.gz" ]; then echo "源码包 Document_Classification-1.0.0.tar.gz 不存在,构建将会失败。" exit 1 fi # 简单验证源码包文件名格式(这里仅示例检查是否以.tar.gz结尾,可根据实际更细化要求调整) if [[! "/builddir/build/SOURCES/Document_Classification-1.0.0.tar.gz" =~ \.tar\.gz$ ]]; then echo "源码包文件名格式不符合要求,构建可能失败。" exit 1 fi %autosetup echo "已进入的源文件目录:$(pwd)" # 构建阶段的命令,根据项目的实际构建过程进行修改 %build cjpm build # 安装阶段的命令,指定软件包的安装路径和要安装的文件 %install mkdir -p %{buildroot}/root/Document_Classification/bin mkdir -p %{buildroot}/root/Document_Classification/conf cp -r %{_builddir}/%{name}-%{version}/target/release/bin/* %{buildroot}/root/Document_Classification # 定义软件包中的文件和目录的权限设置 %files /root/Document_Classification/bin/*