问题标签 [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 投票
3 回答
4996 浏览

centos - 如何制作基于arch的将库安装到/usr/lib xor /usr/lib64的rpm规范?

我正在为centos 制定一个RPM 规范,如果arch 是64 位,它需要将共享库安装到/usr/lib64,否则需要安装/usr/lib?

0 投票
1 回答
479 浏览

makefile - Makefile:安装可从 CLI 或打包系统使用的目标?

鉴于我的 Makefile 的这个简单安装目标:

我可以简单地make installroot身份(或使用sudo),它会安装得很漂亮。作为 foo(非特权)用户,调用make install会返回错误(-o 选项需要超级用户)。

我需要更改它以便我可以两者sudo make installmake install DESTDIR=/tmp/foo甚至将它打包到 .deb 或 .rpm 中,然后从我的 Makefile 中调用安装目标。

对我来说最好的解决方案是什么?替换对 cp 的安装调用?删除 -o 并放一个 chown/chmod ?

谢谢你。

0 投票
5 回答
12419 浏览

rpm - 我可以使用 rpm 来扩展 specfile 中的宏吗?

具体的例子是我有很多带有Source0: 或其他Source包含宏的行的规范文件。如何在不实际开始构建规范文件或编写自己的解析器的情况下扩展这些宏?

0 投票
2 回答
3556 浏览

rpm - RPM 需要 i386 版本的软件包

不确定这是否属于这里……但是……

我正在成功地为 Centos 构建 RPM,问题是它是 32 位二进制文​​件(不要问..) - rpm 规范的要求部分仅安装所需库的 64 位/x86_64 版本。

我正在链接 libicu,我希望 rpm 自动安装 32 位版本作为依赖项。我的 rpmspec 文件中的要求如下所示:

构建 rpm 工作正常,除非我尝试在一个完全干净的系统上安装 rpm,它 yum 想要将其安装为依赖项:

这不起作用,因为那只是库的 x86_64 版本。如果我尝试手动安装 libicu:

我得到:

它还安装了 32 位版本的库,并且我的应用程序可以正常工作。如何让 rpm 自动安装该库的 32 位版本?任何想法,将不胜感激...

0 投票
1 回答
2374 浏览

maven-plugin - Maven RPM 插件不生成指定的 scriptlet

我正在尝试在 rpm-maven-plugin 的帮助下创建一个 rpm 包。

一切顺利,直到我尝试让它生成 %pre scriptlet(或任何相关的 scriptlet)

pom.xml 摘录是:

...生成的规范文件是:

注意:映射标签确实会产生相关的映射,但为了清楚起见,此处已将其删除。无论哪种方式 - sciptlet 都不会生成。

有输入吗?

谢谢大家

编辑1:

使用 Maven 2 和 3 构建 - 结果是相同的。

0 投票
6 回答
5139 浏览

macros - 是否有任何语法或技巧可以创建多行 rpm 规范文件宏

背景。

我正在处理一个规范文件,该文件需要处理多个小脚本中的文件列表。DRY(不要重复自己)让我将列表定义为一个宏,该宏扩展为各种帮助脚本。维护列表很痛苦,因为我还没有看到避免将所有文件放在同一行的方法。

给出错误

也给出了错误

由于递归错误而失败

0 投票
1 回答
189 浏览

linux - 或 RPM 中的依赖项?

我可以生成一个 RPM 包,其中几个依赖项以一种选择的方式列出吗?我问的原因是,我的应用程序需要可扩展的 Mincho 风格的日文字体,而且看起来不同风格的基于 RPM 的 Linux 提供了不同的风格,没有共同点。我不想为不同的发行版创建不同的 RPM。

0 投票
1 回答
2088 浏览

python - Distutils、旧版 rpm 和自定义规范文件

昨天我终于在 Fedora 14 上将我的程序打包成 RPM,我认为在 CentOS 4.8 机器上以同样的方式构建它会很容易。事实证明,旧版本的 rpm 和 distutils 都受到限制,我没有任何运气来解决它。

基本问题是 Python 2.7 的 distutils 支持一个名为“--post-install”的选项,我可以在其中指定一个脚本。该脚本包含在内,并在我使用 yum 或 rpm 安装时运行。一切都很好。但是,对于 Python 2.3,没有 --post-install 选项(它实际上在 RPM 中不可用)。不管怎样,我可以将它添加到我的 .spec 文件中的“%install”部分。所以我开始 RPM 构建过程

python setup.py bdist_rpm --spec-only

这创建了我的 .spec。我编辑它并将我的脚本粘贴到 .spec 中。然后,我去构建源代码

python setup.py bdist_rpm --source-only

这就是问题似乎开始出现的地方。distutils 创建以下子目录 ./build/bdist.linux-i686/rpm/。里面有一个叫做 SPECS/netinfo.spec 的文件夹(我的程序叫做 netinfo)。但是,这并没有使用我刚刚创建的自定义 .spec。这很奇怪,因为它应该使用生成的 .spec。如果我尝试使用默认的 .spec 进行构建,那么可以预见我的脚本不会包含在 RPM 中。如果我用我的自定义 .spec 覆盖它,它仍然不起作用。就像它为每个命令重新创建 .spec 一样。

bdist_rpm 有多种命令,可以用

我希望找到一个可以指定要使用的 .spec 文件的选项。然而,在 Python 2.3 和 2.7 上,不存在任何选项。

必须有一些简单的方法让 distutils 使用我的自定义 .spec 文件。有谁知道如何指定这个?

谢谢,

0 投票
4 回答
11619 浏览

linux - CentOS 5.5 - 在 RPM 规范文件中创建符号链接

我需要在 RPM 文件中创建以下符号链接

在我的 RPM 规范文件中:

/lib/libcrypto.so.0.9.8e 和 /lib/libssl.so.0.9.8e 存在于我的 PC 上,但是当我尝试安装 RPM 时,出现错误:

怎么了?为了在 RPM 安装过程中创建符号链接,我需要做什么?

谢谢

0 投票
1 回答
177 浏览

linux - 为软件包构建 rpm

谁能告诉我如何创建一个可以安装另一个 rpm 的 rpm,如何找到这个的规范文件。或者请指出构建这样一个规范文件的教程