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

linux - RPM包中的几个组

单个 rpm 包是否可以属于多个组?

在规范文件中,您可以设置包组:

组:系统环境/基础

我需要的是能够为这个包设置几个组(比如System|Util|MyCompanyName)——它们就像分配给包的标签。

安装软件包后,我想像这样查询它

或者

在这两种情况下,我都应该看到我的包裹(以及属于该组的其他人)


编辑:

许多包可能属于 MyCompanyName 组,但可能安装的只有少数。我需要一种方法来区分我们的包和 linux 系统包 - 我打算使用组名来做


我尝试放置几Group:行,但它只使用最后一行。之后的所有Group:内容似乎都被视为一个字符串,我找不到拆分它们的方法。

我能想到的另一个解决方案是将这些东西作为PROVIDES然后查询

但我不喜欢这样。

还有其他方法可以完成请求的功能吗?

0 投票
2 回答
3228 浏览

linux - rpm 安装图标到桌面

在 Fedora 侏儒...

在我的 rpm 中使用 .desktop 文件,我已成功地将我的 gui 软件放入 gnome 应用程序菜单。

我想知道在安装 rpm 时是否有办法将图标也放到 gnome 桌面上?

更新:

现在我可以通过in ...rpmbuild成功使用 rpmbuild并在此过程中在我的桌面上放置一个图标(甚至在安装 rpm 之前!)我做错了。有什么建议么?xdg-desktop-icon%install

这是我的规范文件的相关部分:

0 投票
1 回答
177 浏览

linux - 为软件包构建 rpm

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

0 投票
1 回答
3016 浏览

rpmbuild - RPMBUILD //来源

我正在尝试为 barnyard2-1.9 构建一个 RPM,但是当我尝试它时,我收到了这个错误。这些是 rpmbuild 输出的最后几行:

RPM 构建错误:

我不确定“/home/snort/rpm/barnyard2-1.9//SOURCES/barnyard2.config”行中的“//”在哪里。以下是 rpm-tmp.66176 文件的前几行:

有任何想法吗?

0 投票
3 回答
7588 浏览

rpm - rpmbuild 错误:找到已安装(但未打包)的文件

我正在构建一个自定义 rpm 来安装 apache,等等。当我尝试构建时,我得到了上述错误,然后它列出了 /httpd-2.2.17/ 及其所有子文件。

据我所知,这是构建目录,因此不应打包。为了尝试解决这个问题,我添加了 rm -rf /httpd-2.2.17 但这似乎没有帮助。

我不想将它添加到 %files 部分,因为我们完成后不应将它们安装在系统上。

有人知道我在做什么错吗?

值得注意的是 apache 是第二个源文件,第一个是未编译的 tar 文件

0 投票
2 回答
1252 浏览

rpm - 将 RPM 依赖项指定为“以下之一”

我正在为内部包开发 RPM 规范文件。软件包依赖于libuuid,它libuuid在 Fedora 上作为软件包提供,但标准 RPM 存储库中没有libuuidCentOS 5 的软件包。e2fsprogs-devel我们可以使用 e2fsprogs-devel 开发 RPM(安装libuuid和相关的头文件)来满足对 CentOS 的依赖。我想指定我们的 RPM 依赖于libuuid,这样libuuid软件包在安装我们的 RPM 期间安装在 Fedora 上,但e2fsprogs-devel在安装期间安装在 CentOS 上。有没有办法在 RPM 规范文件中将依赖项指定为“libuuid 或 e2fsprogs-devel 中的一个”?

0 投票
2 回答
17080 浏览

rpm - rpmbuild %{dist} 没有在 CentOS 5.5 上定义?

我正在尝试使用%{dist}我的 RPM 规范文件中的标签来提供 Fedora Core(例如fc12)、CentOS 5(例如el5)和 Amazon 的 Linux AMI 之间的特定于发行版的依赖关系:

不幸的是,%{dist}在 CentOS 5.5 中似乎没有定义,而且我还没有找到与 CentOS 5.5 匹配的特定于发行版的条件(我认为el5会匹配,但似乎没有)。这张票在 2008 年报告了 CentOS 中的失踪%{dist},但自 2009 年以来一直没有更新。

如何%{dist}在 CentOS 中定义,我应该使用什么条件来匹配 CentOS 5?任何 RPM 专家都可以为我指明正确的方向吗?

0 投票
2 回答
11505 浏览

ubuntu - 在 Ubuntu 下使用 rpmbuild 构建

我需要在 Ubuntu 10.4 下使用补丁构建 yum(原因是我的虚拟服务器实例需要一个支持 chroot 的 yum)

由于 ubuntu 的 yum src 不可用(第 3 方存储库),我从官方存储库下载了源代码,并从 linux-vserver 下载了补丁。

但是,当我尝试用

它失败了

现在我已经安装了所有这些,但我不知道如何解决这个问题,因为我不会每天都去重建我的东西。

问候,V。

0 投票
1 回答
919 浏览

rpm - 如何从自解压可执行文件创建 rpm?

我有一个 .bin 文件(Linux 自解压二进制文件),比如 installme.bin

我想用它制作一个 RPM。

什么是最简单的策略?

一个几乎空的规范文件:
%post
./installme.bin

它会起作用吗?

提前谢谢了