返回顶部
r

rpm-packagerRPM打包工具

Build RPM packages from source code for CentOS/RHEL systems. Use when user needs to: (1) package software source into installable RPM, (2) create SPEC files, (3) build packages for CentOS 7/8/9 or RHEL, (4) prepare software for distribution on RPM-based Linux systems.

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.0
安全检测
已通过
349
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

rpm-packager

RPM打包技能

将源代码转换为适用于CentOS/RHEL系统的可安装RPM包。

快速开始

bash

基本用法


./scripts/build-rpm.sh <源代码目录> <包名称> <版本号> <发布号>

示例

./scripts/build-rpm.sh ./myapp myapp 1.0.0 1

工作流程

1. 准备源代码

确保源代码已就绪:

  • - 包含构建系统(Makefile、CMakeLists.txt、setup.py等)
  • 目录结构清晰
  • 无构建产物

2. 检查前置条件

CentOS/RHEL系统上所需的工具(需要sudo权限):
bash
sudo yum install rpm-build mock gcc make

注意: 安装系统包需要sudo权限。构建过程本身将以您的用户账户运行。

3. 运行构建脚本

bash
cd ~/.openclaw/workspace/skills/rpm-packager
chmod +x scripts/build-rpm.sh
./scripts/build-rpm.sh /path/to/source package-name 1.0.0 1

4. 验证输出

构建生成:

  • - 二进制RPM:~/rpmbuild/RPMS/x8664/package-name-1.0.0-1.el8.x8664.rpm
  • 源码RPM:~/rpmbuild/SRPMS/package-name-1.0.0-1.el8.src.rpm

5. 安装与测试

bash

安装RPM


sudo rpm -ivh ~/rpmbuild/RPMS/x8664/package-name-1.0.0-1.el8.x8664.rpm

或使用yum/dnf进行依赖解析

sudo yum localinstall ~/rpmbuild/RPMS/x8664/package-name-1.0.0-1.el8.x8664.rpm

验证安装

rpm -q package-name

SPEC文件定制

对于复杂包,可自定义SPEC文件:

  1. 1. 审查模板:参见references/spec-template.md
  2. 编辑生成的SPEC:修改~/rpmbuild/SPECS/package-name.spec
  3. 重新构建:rpmbuild -ba ~/rpmbuild/SPECS/package-name.spec

常见定制

添加依赖:
spec
BuildRequires: python3-devel openssl-devel
Requires: python3 openssl-libs

自定义安装路径:
spec
%install
mkdir -p %{buildroot}%{_bindir}
mkdir -p %{buildroot}%{_sysconfdir}/package-name
install -m 755 myapp %{buildroot}%{_bindir}/
install -m 644 config.conf %{buildroot}%{_sysconfdir}/package-name/

包含文档:
spec
%files
%doc README.md LICENSE CHANGELOG.md
%{_bindir}/myapp

为不同CentOS版本构建

使用mock进行针对特定版本的干净构建:

bash

CentOS 7


mock -r centos-7-x86_64 package-name.spec

CentOS 8

mock -r centos-8-x86_64 package-name.spec

CentOS 9

mock -r centos-9-x86_64 package-name.spec

环境变量

变量默认值描述
RPMBUILDERNAMEOpenClaw Builder变更日志中的构建者名称
RPMBUILDDIR
~/rpmbuild | 自定义构建目录 |

故障排除

构建失败,提示没有那个文件或目录

  • - 检查BuildRequires中是否缺少工具
  • 验证源代码压缩包是否正确解压

RPM安装成功但命令找不到

  • - 确保%files部分包含正确的路径
  • 检查%install中的可执行权限

安装时出现依赖错误

  • - 在SPEC文件中添加缺失的Requires条目
  • 使用yum localinstall代替rpm -i以自动解析依赖

输出位置

成功构建后:

  • - 二进制RPM:~/rpmbuild/RPMS/<架构>/
  • 源码RPM:~/rpmbuild/SRPMS/
  • 构建日志:~/rpmbuild/BUILDLOGS/
  • SPEC文件:~/rpmbuild/SPECS/

安全说明

  • - 构建目录默认为~/rpmbuild,以避免与系统级构建冲突
  • 构建者身份默认匿名化(使用OpenClaw Builder)
  • 除非显式配置,否则生成的RPM中不会嵌入个人信息

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 rpm-packager-1776277334 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 rpm-packager-1776277334 技能

通过命令行安装

skillhub install rpm-packager-1776277334

下载

⬇ 下载 rpm-packager v1.0.0(免费)

文件大小: 5.59 KB | 发布时间: 2026-4-16 17:26

v1.0.0 最新 2026-4-16 17:26
Initial release of rpm-packager.

- Build RPM packages from source code for CentOS/RHEL systems.
- Includes automated script for building packages with sample usage.
- Guides for preparing source, installing prerequisites, and running the build process.
- Instructions for customizing SPEC files and handling dependencies.
- Supports builds for CentOS 7/8/9 using mock.
- Documents output locations, environment variables, and security notes.

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部