问题标签 [rpm-spec]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
164 浏览

rpm - 如何制作一个只运行 shell 命令的更新 rpm?

我构建了一个名为 rsv-1.0 的 rpm,当您安装 rsv-1.0.rpm 时,它会自动将 rsv.cfg 文件安装到 /etc

该软件包仅包含一个文件 etc/rsc.cfg

如果我想在文件 rsv.cfg 中为更新的 rpm 做一些更改,比如 rsv-2.0.rpm

然后我创建了一个空目录并将它的皮重到 rsv-2.0.tar.gz 包括在新的 SPEC 文件中

作为 shell 命令

但我发现它仅在您使用 rpm -ivh rsv-2.0.rpm 时才有效

如果使用 rpm -Uvh rsv-2.0.rpm,/etc/rsv.cfg 中的文件会消失

所以我的问题是,如何制作一个除了运行 shell 命令之外什么都不做的更新 rpm?

更新 v2 的规范文件

v1.0 的规范文件只是取消注释 %config 和 #cp

0 投票
2 回答
41 浏览

build-process - 如何在 rpm 5.1.6 中替换 rrpmrc 文件功能

在我的项目中,我使用 --rcfile 选项进行 rpmbuild 设置...但是对于新的 rpm 版本(5.1.6),此选项不可用...如何将 rpmrc 文件替换为新版本..任何文档寻求帮助?

0 投票
1 回答
84 浏览

linux - RPM 包允许安装不同的文件集

我想构建一个允许安装程序选择安装软件组件的 RPM。

更具体地说,我们在 RPM 中有 5 个 EAR 文件。我想让安装程序在安装时指定一个选项,以选择要安装哪个 EAR 或全部安装。

RPM有可能吗?

谢谢。

0 投票
1 回答
849 浏览

dependencies - 在 RPM 规范中需要 openjdk6 或 openjdk7

我正在构建一个 RPM,它现在将 openjdk-6 标记为要求;我还想添加对 openjdk-7 的支持;但我不确定如何修改规范文件以查找 openjdk6 或 openjdk7 作为要求。我读到了虚拟包的概念,我正在尝试使用它。我正在添加

在我的规范中;并在我的 %pre 部分检查 6 或 7。但是构建的 RPM 包无法识别 libjvm.so 。

我试过 rpm -q --provides java-1.6.0-openjdk 并列出

我做错了虚拟包dep吗?是否有更清晰/更明显的方式来提及 JDK6/7 或 JDK6/7 作为依赖项?

0 投票
1 回答
8993 浏览

rpm - 使用 rpmbuild 时如何使用 %debug_package?

Linux 版本 2.6.18-131.el5 gcc 版本 4.1.2 RPM 版本 4.4.2.3

我使用以下命令来构建包:$ sudo rpmbuild -ba xxx.spec

原以为debuginfo包应该是默认构建的,但是只得到了xxx.src.rpm和xxx.x86_64.rpm,没有debuginfo包。

然后我在我的 xxx.spec 中添加一行,“#%debug_package”:

在此处输入图像描述

然后调试包就建好了!但我认为前面带'#'的行被认为是评论!这是如何运作的?

我完全糊涂了。

0 投票
1 回答
2813 浏览

rpmbuild - rpm 4.7.2 和 4.9.1 之间的 %defattr 行为变化?

是否允许%defattr在规范文件中多次使用?在 Ubuntu 10(rpm 版本 4.7.1)下,以下定义将导致 777 权限应用于/var/log/testdir2

升级到 Ubuntu 12.04.1(x86_64RPM 版本 4.9.1.1)后,使用相同的规范文件重新生成 rpm 并部署到同一目标机器导致/var/log/testdir2的权限为 755。我必须将规范文件更改为%attr在上面的/var/log/testdir3中定义以获得所需的权限。

规范文件有一个%defattr定义,后面是具有这些权限的文件集,然后是另一个%defattr定义,后面是具有这些权限的文件集。这是不允许的吗?或者在权限方面如何处理目录和文件之间是否存在差异?

0 投票
1 回答
4001 浏览

rpm-spec - 如何在规范 rpm 中使用时间戳?

我可以使用当前时间戳(或日期,或者 uniq 参数)作为规范 rpm 文件中的版本吗?

例如,像这样:

0 投票
1 回答
3793 浏览

linux - %config(noreplace) 文件上出现意外的 RPM 冲突

正在使用rpmbuild.
我的 RPM包含永远不会被覆盖的配置文件的配置文件,即使 RPM 包含这些配置文件的新版本。

为了存档这个,我用

在规范文件中。

根据文档和本网站,在这种情况下,本地修改的文件永远不会被覆盖,这正是我想要的。

但是,在执行以下操作时:

  1. 安装 RPM 版本 1
  2. 更改配置文件etc/myconfig
  3. 使用 RPM 版本 2 更新软件包

我遇到了冲突:

问题:

  • 如何解释这种冲突?(我希望配置文件的新版本将被存储为myconfig.rpmnew现有的保持不变)
  • 我做错了什么?


更新(附加信息)

的输出rpm -qcp dist/mypackage-1.0.1-1.x86_64.rpm是:

完整的%files部分:

0 投票
2 回答
2573 浏览

rpmbuild - 有条件地在 RPM 中包含文件

如何.rpm根据_foobar是否设置定义有条件地包含文件?定义_foobar将包含构建根目录内的绝对路径。文件在那里。

根据文档,我希望以下工作(注意:本%files节中有更多文件,但这是要点):

但是,这给了我错误:

其中/path/to/specfile:LINENO.spec文件的路径和带有 . 的行的行号%if

0 投票
0 回答
1124 浏览

java - rpm-maven-plugin 和 OS X

我正在尝试在 OSX 上建立一个 maven 项目并使用它rpm-maven-plugin来构建它作为 RPM 包。然而,即使是最简单的插件配置似乎也失败了。我得到的错误是Bad exit status from /usr/local/Cellar/rpm/5.4.10/var/tmp/rpm-tmp.50667 (%install). 详细的输出并没有提供太多信息。生成的规范文件如下所示:

构建 RPM 的命令是/usr/local/bin/rpmbuild -vvv -bb --target noarch --buildroot /Users/me/Projects/projectname/server/target/rpm/server/buildroot --define '_topdir /tmp' server.spec

我不确定这是 OSX 问题还是一般 rpm-maven-plugin 问题,但我怀疑这是 OSX 问题,因为我一直在其他平台上使用 rpm-maven-plugin 构建 RPM。

有没有其他人rpm-maven-plugin在 OSX 上成功使用过?

编辑

我正在使用rpm-maven-plugin2.1-alpha-3、OS X 10.8.4 并通过自制软件安装 rpm。我还验证了相同的配置适用于 CentOS Vagrant 盒子。