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

python - 在 Python 中使用 rpmbuild

我是一个新手,我正在尝试编写一个 python 脚本来构建 rpm 包作为自动构建系统 (Hudson) 的一部分。

我正在查看 rpm-python API,但我似乎看不到任何与 rpmbuild 相关的内容。

我是否遗漏了什么或者没有办法通过 rpm api 构建一个 rpm 包?我希望不必从 shell 调用 rpmbuild,因为构建过程涉及不同的平台,例如 Solaris,并且我希望脚本是可移植的。

谢谢。

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 投票
2 回答
7964 浏览

rpm - 创建一个 RPM 来简单地解压 tar 球

我正在为一个 rpm 编写一个 .spec 文件,它只是将一个 tar 球解压到文件系统上的某个目录中

那么我把原始的 tar 球放在哪里呢?我看到的所有示例都是从 Internet 下载原始 tar 球。但在我的情况下并非如此。

我应该将 tar 球放在 %files 部分中,以便它成为 rpm 的一部分吗?如果是这样,那么我如何在要解压缩它的 %setup 宏中引用它?

0 投票
3 回答
99 浏览

linux - 如何知道系统当前正在安装 ISO

我正在创建一个 RPM。此 RPM 将与 CentOS ISO 打包在一起,并会在安装 CentOs 时安装。这也可以使用普通的 rpm 安装方法进行安装。但是如果是从 ISO 安装和通过 rpm 正常安装方法安装,则 rpm 安装需要表现不同。所以,问题是我如何知道系统当前是否正在安装 ISO。

提前致谢。

0 投票
1 回答
2737 浏览

linux - rpmbuild:如何在没有 %install 的情况下构建软件包?

我正在尝试构建一个 rpm,但不幸的是在我的构建机器中我只有有限的权限,这意味着 %install 中的操作无法在构建机器内完成。如何在不运行 %install 部分的情况下构建包(.rpm 文件)?看起来没有可用于此目的的选项:

http://www.rpm.org/max-rpm-snapshot/ch-rpm-b-command.html

我的 bu.spec 文件:

0 投票
2 回答
10505 浏览

rpm - rpmbuild 中的 find-debuginfo.sh 有什么作用?我怎样才能摆脱它?

我有两个用于构建源 rpm 的盒子。其中一个运行:

它将三个name.debug文件添加到 RPM_BUID_ROOT。

另一个构建框不运行 find-debuginfo.sh 并且不生成这些文件。

  • 做什么find-debuginfo.sh
  • 是什么导致它运行?
  • 我怎样才能让它不运行?
0 投票
1 回答
7233 浏览

rpmbuild - 新手rpmbuild错误

我正在尝试构建我的第一个 RPM,但出现错误。我的 .rpmmarcos 文件如下所示:

当我运行:“rpmbuild -v -bb SPECS/test.spec”时,我收到此错误:
+ STATUS=0
+ '[' 0 -ne 0 ']'
+ cd test-1 /home/snort/test/tmp/ rpm-tmp.55712: line 36: cd: test-1: No such file or directory
error: Bad exit status from /home/snort/test/tmp/rpm-tmp.55712 (%prep)

文件 rpm-tmp.55712 以此结尾:

我猜 rpmbuild 会执行“rm -rf 'test-1'”来删除任何旧的/不需要的目录,然后解压缩 test-1.c55.tar.gz 文件,然后尝试“cd test-1 " 但 untar 命令不会创建目录,因此脚本会出错。我不知道现在该怎么办。

我的规范文件:更多 SPECS/test.spec

有任何想法吗?
感谢您的帮助
加里

0 投票
1 回答
825 浏览

rpmbuild - 我的 RPM 包需要 2 个已安装的共享库

我正在寻找有关制作 rpm 包的帮助。

我刚刚用 rpmbuild 创建了我的第一个 RPM 包。这个包很简单。它只需要复制几个配置文件和一个可执行文件。

我无法安装此 .rpm,因为需要可执行文件使用的 2 个共享库。

这些库已经安装,但它们没有与另一个 .rpm 包链接,因为我是从我的一个项目中构建它们的。位于 /usr/myproject/lib 目录中。

我尝试将符号链接放入 /lib 和 /usr/lib,还尝试从包含 /usr/myproject/lib 目录的 .conf 文件运行“ldconfig”更新,并尝试在没有任何内容的情况下更新 LD_LIBRARY_PATH 环境变量成功。

我知道我可以使用 -nodeps 命令行选项忽略依赖项,但我想在下一步创建我自己的 yum 存储库,但如果依赖项未满足,yum 不允许安装包。

我还希望保持启用 rpmbuild 的自动依赖功能。

提前致谢。

0 投票
6 回答
5139 浏览

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

背景。

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

给出错误

也给出了错误

由于递归错误而失败