问题标签 [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.
rpm - Rpmbuild - 创建的 .rpm 的设置名称
我一直在尝试找出在rpm
创建过程中设置固定文件名的最简单方法。它可以设置在 .spec 文件中的某处或作为rpmbuild
参数吗?默认名称取决于版本和发行号。我的 rpm 名称必须始终相同。
谢谢
同步
linux - rpmbuild 生成 RPM 在哪个子目录
rpmbuild 在哪个目录下生成 RPM?
我检查了 RPMS 目录:-
如何确定 rpmbuild 输出在上述哪个子目录中?它是由规范文件控制的吗?默认选项是什么?
我想uname -p
,但它不是很可能uname -i
使用的情况。
链接到我的上一个问题“机器硬件”和“硬件平台”之间的区别
redhat - 如何设置 rpmbuild 目标文件夹
我注意到 rpmbuild(-bb 和 --buildroot 选项)根据您使用的操作系统在不同的位置创建 .rpm:
- GNU/Linux Ubuntu <= 9.04:/usr/src/rpm/...
- GNU/Linux Ubuntu >= 9.10: /home/rpmbuild/...
- GNU/Linux Fedora: /usr/src/redhat/...
那么如何手动设置所有操作系统的目标文件夹?
linux - 了解 rpmbuild 的工作原理
似乎 RPM 逻辑与我已经知道的完全不同,我在理解“RPM 逻辑”时遇到了一些问题。对于我的工作,我必须创建一个关于“如何在 Red Hat 5 上创建 RPM 包”的文档。
我习惯了 Debian 及其衍生产品(Ubuntu 等),因此习惯了Debian 软件包(又名.deb
文件)。
根据我的阅读,似乎需要root
创建一个 RPM 包。虽然我理解为什么root
需要安装一个包,但我仍然不明白为什么只需要提升权限来创建一个包。
如果我尝试以用户身份创建 RPM 包,buildroot
则在该步骤中更改它会失败,%install
因为我无权将文件写入/usr/bin
. 很公平但是......为什么要/usr/bin
在这一步复制我的文件?!我只想创建包,而不是安装它!
我确定我在这里遗漏了一些东西。有没有人可以让我至少对它的rpmbuild
工作原理和原因有一个基本的了解?
linux - 构建 RPM 包的开发版和普通版
我有一个库,我想从中创建两个 RPM 包。
虽然我找到了几个关于如何创建基本 RPM 包的链接,但我找不到如何创建devel
包(如果你想知道包是什么,请参阅这个问题devel
)。
我必须做什么来生成我的 RPM 包的版本devel
和版本?non-devel
谢谢。
svn - rpmbuild 可以忽略 buildroot 中的文件吗?
我有一个签入 svn 的目标目录。我在运行 rpmbuild 时将目标用作 --buildroot。由于每个目录中的 .svn 目录,这会导致 rpmbuild 失去理智。有没有办法告诉 rpmbuild 放松?
我查看了 svn export target target-build,但它只知道 rpm 跟踪的文件。也许不是一个坏方法,但我不太确定这是最好的方法。
build-process - 如何为每次调用的 rpmbuild 设置构建区域
我正在修改一个自动构建,并想在调用它时告诉rpmbuild
它使用特定的构建区域。
这类似于现有问题,但更具体。
我不想以 root 用户身份运行任何构建命令;目的只是拥有一个 RPM,而不是在系统中安装任何东西。
我不想要求用户更改他们的点文件(例如
$HOME/.rpmrc
);构建应该是独立的,并且不会影响用户的现有设置。我不想将位置硬编码到
foo.spec
文件中;如果用户想在不同的位置构建,该文件应该可以按原样使用。该
--buildroot
选项不是我需要的;它为构建过程的一部分设置了一个伪根文件系统make
,但我需要为整个RPM 构建过程指定“构建区域”。
我正在寻找的是可以赋予命令的假设--build-area FOODIR
选项rpmbuild
,或等效的环境变量。因此,它应该只影响命令的单个调用,并使其使用指定的用户可写位置作为其构建区域。
我已经看到了对_topdir
宏的引用,这似乎就是我正在谈论的内容,但它似乎不是每次调用都可以配置的。
如果rpmbuild
可以在需要时在该位置设置自己的环境,那将是理想的,但我不介意为每个构建设置目录,因为这可以作为构建的一部分自动化。目标是让该用户可写位置仅在构建运行期间存在,然后在生成 RPM 文件后通过删除该整个位置进行清理。
linux - 如何在安装过程中获取用户输入
因此,当我创建一个 debian 包时,我能够编写一个运行良好的安装后 shell 脚本。目前我的配置为
这适用于 Ubuntu。但是,我似乎无法让用户输入使用 Fedora 的 RPM。有没有接受用户输入的好方法?据我了解,RPM 旨在不允许交互式安装。但是我看不到更好的方法来做到这一点..
有没有办法在不询问用户的情况下自动查找本地 MySQL 设置?否则,询问用户输入的最佳方式是什么?
rpm - 为什么在安装 rpm 时调用 adduser 和 groupadd 不起作用?
我在我的 rpm 安装程序的 build.spec 中添加了以下“Pre”部分。当我安装 rpm 时没有创建新的组或用户?
如果我将其粘贴到脚本中并运行,那么它会按预期工作。我错过了什么?
提前致谢,
-埃德
RHEL 5.2
rpm - 如何在安装新的 rpm 时卸载 rpm
对于基于 rpm 的系统,我需要在安装新软件包时将软件包更改为另一个软件包。fg, package2.rpm 的安装将卸载 package1.rpm 并继续稍微安装。为此,我计划在安装 package2 时擦除 package1,并在 package2.rpm 的 %pre 部分调用 rpm -e。但我不能确定 rpm 是在它工作之后还是在安装进度开始之前锁定 rpm 数据库。可悲的是,由于现在这是一个概念问题,我没有任何 linux 系统可以快速尝试。是否可以在 %pre 部分使用 rpm -e ?或者有什么方法可以使用单个 rpm 包来执行此操作,因为我必须将包作为 rpm 包分发。