随笔分类 -  【06】rpm

摘要:宏定义 宏 定义 注释 %{_syscongdir} /etc %{prefix} /usr macro definition comment %{_sysconfdir} /etc %{_prefix} /usr can be defined to /app for flatpak builds 阅读全文
posted @ 2023-09-11 11:45 苏格拉底的落泪 阅读(224) 评论(0) 推荐(0)
摘要:使用条件依赖 在编写rpm包的spec文件过程中,我们通常会遇到如下字段: %bcond_without tests 这类定义一般出现在spec文件的开头,通常在后文中还会有引用,作为某个判断的标准,来确定是否执行这个if block,如 %if %{with tests} 如果按如上方式编写,会不 阅读全文
posted @ 2023-09-11 11:07 苏格拉底的落泪 阅读(402) 评论(0) 推荐(0)
摘要:在安装和升级 %pre、%post、%preun 或者 %postun 阶段执行脚本 RPM 规范文件有几个部分,允许包在安装和删除时运行代码。这些代码被称为scriptlet,主要用于使用包中的信息更新正在运行的系统。当调用 scriptlet 时,它们将被提供一个参数。这个参数,通过 $1 访问 阅读全文
posted @ 2023-09-11 10:49 苏格拉底的落泪 阅读(1335) 评论(0) 推荐(0)
摘要:rpm命令 命令选项: -a 查询所有的软件包 -b或-t 设置包装套件的完成阶段,并指定套件档的文件名称; -c 只列出组态配置文件,本参数需配合”-l”参数使用 -d 只列出文本文件,本参数需配合”-l”参数使用 -e或--erase 卸载软件包 -f 查询文件或命令属于哪个软件包 -h或--h 阅读全文
posted @ 2023-04-28 14:52 苏格拉底的落泪 阅读(125) 评论(0) 推荐(0)
摘要:RPM 1. rpm包构建位置设置: -sh-4.2$ vim .rpmmacros -sh-4.2$ pwd /home/sunbin01 -sh-4.2$ cat .rpmmacros %_topdir /da1/sunbin01/rpmbuild 参考资料 1. RPM 包的构建 - SPEC 阅读全文
posted @ 2022-07-24 21:46 苏格拉底的落泪 阅读(48) 评论(0) 推荐(0)
摘要:%file语法 1. %exclude用法:在 spec 文件的 %files 部分,你可以使用 exclude 参数来排除文件或目录。语法如下: %files %exclude /path/to/file_or_directory 假设你正在打包一个应用程序,但你不希望将文档文件夹(/usr/sh 阅读全文
posted @ 2022-05-22 20:46 苏格拉底的落泪 阅读(70) 评论(0) 推荐(0)
摘要:563. 二叉树的坡度 %autosetup 是 RPM 宏之一,通常用于自动化源代码包的设置过程,特别是在 RPM 构建过程中。 主要作用: 解压源代码包:当你在 RPM spec 文件中使用 %autosetup 时,它会自动解压 tarball 文件(源代码包)到构建目录,并且如果源代码包包含 阅读全文
posted @ 2022-05-19 21:29 苏格拉底的落泪 阅读(127) 评论(0) 推荐(0)
摘要:%if 0%{?fedora} || 0%{?rhel} # 如果是 Fedora 或 RHEL 系统,执行这里的内容 %endif 这个语句的意思是:如果当前的构建环境是 Fedora 或 RHEL,那么执行 %if 和 %endif 之间的内容。 假设你希望在 Fedora 或 RHEL 系统下 阅读全文
posted @ 2022-05-19 21:21 苏格拉底的落泪 阅读(33) 评论(0) 推荐(0)
摘要:%patch 在 RPM 包构建中,%patch0 -p1 语法用于在构建过程中应用补丁。具体来说,这个命令通常出现在 .spec 文件中,用于指定补丁文件的应用方式。它的作用是将补丁文件(通常是一个 .diff 文件)应用到源代码中,以便修改或修复软件包的源代码。 %patch0 -p1 语法详解 阅读全文
posted @ 2022-05-19 20:57 苏格拉底的落泪 阅读(72) 评论(0) 推荐(0)
摘要:%setup %setup 主要用于解压源代码包并可选地设置解压目录,比较灵活,你可以指定是否应用补丁、是否定义补丁的级别等。 -n <directory>:指定解压目录。 -a <n>:处理多个源包。 -p <num>:指定补丁的级别。 示例对比: 假设你有如下源代码包和补丁文件: spec 复制 阅读全文
posted @ 2022-05-19 20:50 苏格拉底的落泪 阅读(52) 评论(0) 推荐(0)
摘要:debuginfo子包设置 _debuginfo_subpackages 是 RPM(Red Hat Package Manager) 打包过程中用于自动生成调试信息子包的宏。当该值设置为 1 时,打包工具会在构建过程中提取二进制文件和库的调试符号和相关的源代码信息。自动创建一个单独的调试信息子包( 阅读全文
posted @ 2022-03-01 21:02 苏格拉底的落泪 阅读(72) 评论(0) 推荐(0)
摘要:rpm打包错误 Installed (but unpackaged) file(s) found 的解决办法 方法一: 在/usr/lib/rpm/macros文件中有一个定义: %_unpackaged_files_terminate_build 1 解决方法:把1改为0只警告,即改为: %_un 阅读全文
posted @ 2021-06-27 20:39 苏格拉底的落泪 阅读(39) 评论(0) 推荐(0)
摘要:参数 参数意义 Summary 本软件的主要说明,例如上表中说明了本软件是针对 NTP 的软件功能与工具等啦! Name 本软件的软件名称 (最终会是 RPM 文件的文件名构成之一) Version 本软件的版本 (也会是 RPM 文件名的构成之一) Release 这个是该版本打包的次数说明 (也 阅读全文
posted @ 2021-04-05 20:41 苏格拉底的落泪 阅读(120) 评论(0) 推荐(0)
摘要:rpm打包时包含python脚本,需要忽略掉pyc, pyo字节码文件 制作rpm包时,有时包含python程序,一般默认的行为:打包时对python脚本会编译成pyc,pyo字节码文件并一起放在rpm包中,这可能导致打包时引用文件缺失的错误。 如果不需要这些字节码文件,可以修改/usr/lib/r 阅读全文
posted @ 2019-03-23 21:29 苏格拉底的落泪 阅读(132) 评论(0) 推荐(0)
摘要:设置rpm打包完成后不删除BUILROOT 目录的文件 在RPM打包过程中,如果要保留BUILDROOT目录,你可以通过修改spec文件中的清理部分来实现。下面是具体的做法: 1. 在spec文件中找到或添加%clean部分: %clean # 注释掉原来的清理命令 # rm -rf $RPM_BU 阅读全文
posted @ 2018-06-24 15:17 苏格拉底的落泪 阅读(121) 评论(0) 推荐(0)
摘要:创建子包 参考资料 1. 创建子包 阅读全文
posted @ 2018-06-03 17:22 苏格拉底的落泪 阅读(264) 评论(0) 推荐(0)