问题标签 [rpmbuild]

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 回答
6227 浏览

java - MacOsX rpmbuild --target noarch 不起作用

我有一个由 maven 构建 rpm 的 java 项目。需要创建 noarch 数据包,但我看到具体的拱门。我通过 MacOsX 上的 macports 安装 rpm(4.4.9 或 5.2.0),并从 maven rpm 插件运行命令:

Maven 插件使用选项“--target noarch”,但 rpmbuild 完全忽略它。预期 noarch.rpm 文件,为什么 rpmbuild 在 4.4.9 版本和 x86 上创建 i386?

更新

我发现调用 rpmbuilder 的一种工作变体,构建 *.noarch.rpm 文件:

另一个变体,构建 *.i386.rpm 文件:

我无法理解。有任何想法吗?

PS对不起我的英语,这对我来说是困难的语言。

0 投票
2 回答
203 浏览

rpm - 是否可以在全新安装操作系统后为系统配置构建 RPM?

我要做的是创建一个 RPM,我将在全新安装操作系统后运行该 RPM。我希望它运行我创建的自定义脚本,该脚本当前将一堆东西复制到操作系统并配置不同的服务等,以及安装一堆 rpm。如果可以做到这一点,那么我只需要我的闪存驱动器上的单个 rpm 文件,其中包含里面的所有内容(我需要输入的只是 rpm -i xxx.rpm),而不是一堆乱七八糟的目录和文件我目前有(我目前在其中键入 install.sh)。这可以做到吗?

0 投票
2 回答
1290 浏览

java - rpmbuild 创建 tmp 文件并在尝试删除它们时由于“权限被拒绝”而失败

背景

我正在尝试构建一个简单的 rpm,它只是将一些 Web 应用程序源文件复制到安装目录。Web 应用程序是用Java 编写的,由供应商提供(即不是我编写的)。

由于下述错误,rpm 无法构建。但是,我已经成功地为来自同一供应商的另一个基于 Java 的 Web 应用程序构建了几乎相同的 rpm。除了安装路径和源文件名之类的名称之外,规范文件是相同的。

问题

rpmbuild -v -bb --clean SPECS/web-app.specPermission denied它尝试删除{BUILDROOT}/web-app-1.0/tmp.

我检查了rpmbuild无法删除的文件的权限。下面的一些例子:

他们拥有我的构建用户 ( signer) 的正确所有权和组,但没有写入权限。

这些文件不是我在 rpm 规范中明确定义的任何进程的一部分。我的规范文件所做的就是运行%setup、创建一个目录并将文件复制到其中。在此期间提取的源 tarball%setup对其所有文件都具有正确的权限;我可以提取和删除它创建的树。这些文件不是源 tarball 的一部分。我认为这些tmp文件与一些Java文件处理有关;rpmbuild在构建结束时花了很长时间“重新打包” jar 文件。我不确定它有什么用途,我怀疑我正在部署的应用程序是否需要它。

问题

我可以禁用 jar 文件重新打包来解决这个问题吗?还有其他想法吗?

0 投票
1 回答
3137 浏览

rpm - rpm -e 没有删除安装目录

全部,

我使用 rpm.spec 文件创建了一个 RPM 包。包安装成功。当我使用 rpm -e 删除软件包时,它从 RPM 数据库中删除

但是 pkg 创建的目录结构没有被删除。

请帮我解决这个问题。

0 投票
3 回答
3297 浏览

rpmbuild - rpm包信息:自动递增版本

我想知道是否有人知道是否有一种方法可以为 rpm 包中的信息自动增加版本/发布号。

IE

rpm -qil 'package_name'

会返回类似:

有没有办法在我每次执行 rpmbuild 时自动增加版本号?rpm 信息位于规范文件中。

提前致谢!

0 投票
1 回答
2048 浏览

rpm - 如何仅使用源代码而不是 tarball 构建 rpm

我有这个为一组 linux 发行版创建 rpm 的构建过程。

这个创作花费了很多时间,为此我正在优化它。我研究了 rpmbuild 并意识到 rpmbuild 需要一个 tarball 并将其解压缩以启动构建过程。

有一种方法可以避免使用 tarball?因为我已经从源代码开始了这个过程,然后我将它压缩在一个 tarball 中,这似乎没用,因为 rpmbuild 适用于源代码,而不是 tarball

0 投票
3 回答
30974 浏览

centos - /var/tmp/rpm-tmp.ajKra4 (%prep) 的错误退出状态

我遇到了一个奇怪的 RPM 问题,我是新手,所以请耐心等待...我创建了规范文件,当我运行构建时出现错误:

/var/tmp/rpm-tmp.ajKra4: line 36: cd: hero-01: No such file or directory error: Bad exit status from /var/tmp/rpm-tmp.ajKra4 (%prep)

然后我检查那个临时文件,它正在尝试 CD 到一个不存在的目录。它应该在规范文件中创建它吗?如果是在哪里?

这是我的规格文件:

也许我错过了什么?不会是第一个大声笑,谢谢

这也是该 tmp 文件输出的内容:

0 投票
4 回答
13081 浏览

compression - rpmbuild 更改压缩格式

我尝试在内部 rpm 包中为我们的地理服务器打包一些地图文件。对于构建部分,这只是复制文件。我认为这按预期工作。但是打包这 20GB 的图像需要很长时间。

我读过 rpm 在内部压缩数据,这可以通过几种不同的压缩算法来完成。但是,我不知道我的 rpm 选择哪种压缩方式以及如何影响它。我找不到 rpmbuild 命令的任何选项,也找不到 specfile 或我可以列出的一般 rpm 选项rpmbuild --showrc

我对 rpmbuild 和规范文件不是很有经验,但是在阅读了 rpm.org 上的大量手册页和教程之后,我没有进一步的想法。

我使用的规范文件如下所示:

我这样调用 rpmbuild:

有什么建议么?

0 投票
1 回答
3195 浏览

rpmbuild - RPM %files,如何为文件指定不同的构建和安装路径,而不是让它们相同

我想为文件指定不同的构建和部署路径,我该如何指定?我在路径A 的构建框中有一个文件目录,并希望将它们安装在路径B 上。

感谢您的任何想法

0 投票
0 回答
597 浏览

rhel - RHEL 5.7 和 RHEL 6.1 中的 rpmbuild 差异

我正在尝试使用 rpmbuild 构建一个 RPM,它适用于 RHEL 5.7 机器和 RHEL 6.1 机器,但我在理解如何构建我的 rpmbuild/SOURCE 目录时遇到了一些麻烦。

据我了解,如果我的包名是XXX,那么我需要准备rpmbuild/SOURCE/XXX.tar.gz,一个tarball,里面包含: 1. 一个名为XXX的目录;2.在其中,我正在安装的所有目录和文件都应该按照相对于根目录(即/)的路径进行排序

例如,如果我想将一个名为 foo.sh 的文件安装到 /tmp/XXXdir/,我需要让 rpmbuild/SOURCE/XXX.tar.gz 包含 XXX/tpm/xxxdir/foo.sh

这就是我所理解的,当我在我的 RHEL 5.7 机器上安装我的 RPM 时,这就是有效的(即在上面的示例中,文件安装到 /tmp/XXXdir/foo.sh)。但是,在 RHEL 6.1 机器上,我得到了将文件安装到新创建的 /XXX 目录的不良行为,从那里我得到了我想要 / 的相同树结构(即在上面的示例中,我在 / 处获取文件XXX/tmp/XXXdir/foo.sh)。

知道为什么会这样吗?也许我弄错了,我的 rpmbuild/SOURCE 结构不是应有的?任何见解都会非常有帮助。

提前非常感谢, Lior