问题标签 [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 回答
6437 浏览

linux - rpmbuild 规范文件 %install 部分错误

我有一个类似于以下的规范文件:

当我运行 rpmbuild 时出现错误:

我可以通过在目录中手动创建/etc/然后/etc/logrotate.d目录来解决这个问题/tmp/build_my_app-1.0-2/

当我重新运行 rpmbuild 时,它会起作用。

我想这是因为我没有在我的安装部分创建这个目录,而是因为它与我的应用程序没有直接关系,我不想把它放进去。

我的猜测是,我可以使用一些聪明的标签来解决这个问题,这样构建就可以在没有任何人工干预的情况下工作。

我的问题: 有人可以为我建议一种方法来实现这一点(假设它可能),或者我是否需要围绕 rpmbuild 编写一个脚本来首先设置它。

0 投票
2 回答
7680 浏览

python - 我构建的 Python RPM 无法安装

因为我必须在通过 kickstart 过程构建的多个 Oracle Linux 服务器上安装多个版本的 Python,所以我想为我们的 yum 存储库构建一个 python rpm。我能够使用“make altinstall”手动构建 Python,它不会安装在您的默认系统 Python 安装上,所以我认为这将是可行的方法。

经过多次试验和错误,我设法从 .bz2 python 2.7 包开始构建了一个 rpm - 但是现在当我尝试安装它时,我收到一个错误:

什么……???Python是我要安装的!!!并且系统默认的 Python (2.4) 在 /usr/bin/python !!!我的python目录的原型位置是/tmp/python2.7(可执行文件是/tmp/python2.7/bin/python2.7)。那么为什么它在 /usr/local/bin 中查找呢?

这是我的 RPM SPEC 的核心:

我仔细查看了 rpm 构建日志,我看到:

好的,那么 /usr/local/bin 就派上用场了……现在,问题是,它是如何确定这些要求的?我是否指定了错误?我需要覆盖一些东西吗?

像许多 rpm 新手一样,我得到了构建部分,但我并没有真正“了解”在 rpmbuild 结束时会发生什么以及实际放入 rpm 文件(除了您在 %files 中指定的文件之外)的内容,然后是什么实际发生在您进行 rpm 安装时。

谁能提出我的安装失败的原因或者我可能会阅读什么来理解为什么我的 rpm 构建需要我正在尝试构建的内容?

0 投票
3 回答
16004 浏览

symlink - 通过 rpmbuild 打包符号链接?

是否可以使 rpmbuild 保留包装上的符号链接?

当前的行为是创建文件的副本,我想避免这种情况。

0 投票
1 回答
2198 浏览

rpm - RPM : 如何获取 Requires(post) 列表

已生成带有 spec 文件的 rpm 包,其中使用 Requires(post) 指定安装后部分所需的工具。

那么如何从 rpm 包中获取 Requires(post) 工具列表呢?rpm -qp --whatrequires .rpm - 不列出任何工具

0 投票
1 回答
1310 浏览

rpm - 使用运行时库和可执行文件创建 RPM 包

我在 redhat linux 环境下创建了一个 C++ 应用程序。除了这个应用程序,我还创建了许多应用程序所需的 *.so 库。创建的应用程序使用了一些 Boost C++ 库,例如 -lboost_system、-lboost_thread 等

我希望将此应用程序及其所需的运行时库部署到生产机器上,而无需公开/重新编译源代码,也无需在生产机器上完全安装 Boost C++。可能吗?

开发机中的应用程序目录结构如下:

我试图按如下方式制作我的第一个 RPM SPEC 文件,但卡住了:

希望有人可以帮助我...

0 投票
1 回答
996 浏览

rpm - 防止 RPM 更改目录权限

是否可以在更新完成时阻止 RPM 更改目录的权限。即,我们有一些应用程序正常工作所需的目录。但是,用户也可能使用其他应用程序添加更多功能,为此需要在安装后更改这些目录的权限。但是,如果我们的应用程序随后更新,它会将这些目录的权限更改回安装后的权限。

有什么方法可以更改规范文件,以便在更新后保留这些权限?目前我们遵循的路线是,我们从 rpm 中排除了这些目录,因此它们不会被更改(但也不会在新安装完成时创建)。有没有更好的方法来处理这个?

同样在一种情况下,有问题的目录后来被其他目录的符号链接替换。然后,符号链接上的权限更改会传播到真实目录。这需要与上述设置不同的设置,还是相同的解决方案仍然有效?

0 投票
1 回答
130 浏览

rpm - rpmbuild -bb SPECS/netxtream....... 在 main 中重新定义 skb_end_pointer

我正在尝试从带有内核 2.6.32-131.0.15.el6.x86_64 的 Red Hat Enterprise Linux 6.1 的 Broadcom NetXtreme Gigabit Ethernet 驱动程序的 rpm 安装 NIC 驱动程序

命令工作正常但是当我尝试

这给了我很多重新定义错误,说变量已经在文件 /usr/src/main.h 中定义,依此类推

我该如何解决这个问题或者我错过了什么?我必须卸载旧版本的 nic 吗?

0 投票
1 回答
2225 浏览

rpm - 如何检测 rpm 后脚本失败

如何检测 rpm 包安装的安装后部分代码是否失败?

我有一堆 rpm 包,想在安装后部分找到失败的包。安装后意味着,spec 文件的 post 部分中的 bash 脚本。

0 投票
1 回答
54 浏览

unix - 如何在安装过程中知道 RPM 的版本

我创建了一个部署脚本。在pre脚本期间,是否有可能知道我正在部署的 rpm 版本。

我想用 RPM 的版本(以其名称)创建一个备份文件,以便我可以追溯 RPM 文件的版本。

0 投票
1 回答
73 浏览

unix - 使用 RPM 更新安装程序

我的应用程序有一个 RPM 包,安装路径是 /company/application/version。

我发现这很困难,因为它是一个 unix 平台并且没有注册表概念。

我需要澄清几件事:

  • 如何查看之前安装的版本号?

每次我安装不同版本的应用程序时都会安装(即,由于安装目录结构,2.5 和 2.6 都被视为 2 个不同的软件。)

  • 已安装旧版本时如何停止较新版本?