欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 教育 > 幼教 > RPM包的制作

RPM包的制作

2025/9/26 17:16:44 来源:https://blog.csdn.net/tkgup/article/details/145329558  浏览:    关键词:RPM包的制作

RPM包使用

  • 1、宏定义文件
  • 2、宏语法
  • 3、常用指令
    • 3.1 %prep --bp
    • 3.2 %build --bc
    • 3.3 %install --bi
    • 3.4 %check
    • 3.5 %files
    • 3.6 %clean
    • 3.7 %changelog
  • 4、源RPM包的使用
  • 5、构建RPM包的常用调试阶段参数
  • 6、rpm包下载网站
  • 7、SPEC文件编写的其它说明
  • 8、其它
    • 8.1、install命令
    • 8.2、查看文件变更情况
    • 8.3 制作补丁文件

1、宏定义文件

/usr/lib/rpm/macros
/usr/lib/rpm/redhat/macros

2、宏语法

https://rpm-software-management.github.io/rpm/manual/macros.html

    rpmbuild --showrc | grep macrofile

	常用宏规范:一个下划线 _ 使用spec或者宏中环境使用两个下划线 __ 使用本地命令

3、常用指令

3.1 %prep --bp

%setup (解压、设定环境、cd切换目录)

3.2 %build --bc

./configure
make %{?_smp_mflags}

3.3 %install --bi

%pre
%post
%preun
%postun

%{__rm} -rf %{buildroot}
%{__make} install DESTDIR=“%{buildroot}”
make install
%{__install}

3.4 %check

3.5 %files

%{buildroot}下的文件 -> RPM包

除了/usr/src下的文件可以不用包含
%config
option: noreplace|missingok
eg: %config(noreplace)
%doc
%doc 绝对路径
放在指定路径下
%doc 文件名
放在 /usr/share/doc/%{name}-%{version}下
%docdir 目录
%defattr
%attr
%dir directory
把direcotory作为空目录,不关心子文件
%exclude

3.6 %clean

%{__rm} -rf %{buildroot}

3.7 %changelog

4、源RPM包的使用

rpmbuild --rebuild ${rpm_name}.src.rpm
yum-builddep ${rpm_name}.src.rpm

5、构建RPM包的常用调试阶段参数

参数结果
-bl检查buildroot的file包含情况
-bp%prep结束
-bc%build结束
-bi%install结束
-bb仅二进制格式RPM包
-bs仅源码格式RPM包
-ba二进制和源码RPM包

6、rpm包下载网站

常用网址
http://rpm.pbone.net/
https://pkgs.org/
https://rpmfind.net/linux/RPM/index.html
https://koji.fedoraproject.org/koji/index

7、SPEC文件编写的其它说明

标签 Name/Version 中不能使用短横线 -
软件包信息必须:Name、Version、Release、Group、Summary、%description
组织信息,必须:License,建议加上:Vendor、URL
Packager: LastName FistName

Requires: a, b>=2.0,perl({模块名})>3.2
Requires(pre): a, b>=2.0,perl({模块名})>3.2

# 注释中使用%要用两个,即%%
定义宏,不要与关键字、标签重名

%define macro_name macro_value

使用宏
%{macro_name} or %macro_name
使用buildroot,需要指定,命令参数或者宏来定义
变量引用:
$RPM_BUILD_ROOT、 %{buildroot}

使用shell命令可以引用宏变量

$0:卸载 $1:安装 $n: 升级( n>1)

rpmbuild --showrc: 显示宏相关定义
一个下划线: 在spec文件中(宏定义中),本身环境使用情况,如环境路径相关宏
两个下划线:引用系统特定命令,因为命令路径在不同系统不一样

rpmbuild --showrc | grep macrofiles   #关注~/.rpmmacros文件
_topdir: 定义顶级目录%_topdir   /home/tkg/rpmbuild    #修改宏的值

8、其它

8.1、install命令

创建目录:-d 全为路径,并创建 -D 最后一个为目标文件

8.2、查看文件变更情况

#查看文件是否被改过
rpm -qV {RPM}

8.3 制作补丁文件

#可以为路径
diff -Naur original_file new_file > patch_file  

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词