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

rpm - 为什么 rpmbuild(1) 会忽略 RPM "spec" 文件中以 "Source:" 标记命名的压缩 tar(1) 文件?

该文件ldm.spec包含该行

在它的第一部分。%{name} 和 %{version} 设置正确。给定的文件确实存在。

命令rpmbuild --nobuild ldm.spec错误退出并显示消息

必须做些什么才能让它发挥作用?

附加信息:

0 投票
1 回答
2059 浏览

unix - How to get automake, libtool, and rpmbuild to work together

I'm trying to create an RPM of my package, which is built using automake and libtool, and I've encountered a problem: rpmbuild aborts upon discovering that the installed programs of the package contain the pathname of the installation directory for the package's sharable libraries (due to automake's use of the -rpath option of ld).

I understand that rpmbuild does this in order to guarantee that the package is relocatable. My question is what to do about it. I could eliminate the use of sharable libraries (and lose their benefits) or I could tell automake to not install the sharable libraries (which would stop it from using the -rpath option) and then install them anyway. The cost of this latter option is that it would require that the user always have a correctly-set LD_LIBRARY_PATH environment variable -- plus it seems like a bit of a kludge.

Is there another option?

What would you do?

0 投票
1 回答
9129 浏览

rpm - 通过添加前缀使 RPM 规范可重定位,但在安装时我看不到已安装的文件

0 投票
1 回答
1427 浏览

packaging - RPM 规范中同一文件的多个列表的问题

我对多次列出同一个文件的 rpm 规范文件有一些问题。对于这个规范,我们进行了一些正常的编译,然后我们有脚本将所有内容复制到 buildroot。在这个 buildroot 中,我们有很多通用脚本需要安装在最终系统上,所以我们只列出这个目录。

但是问题是,其中一个脚本可能会更改,并且脚本中的配置选项可能会更改。因此,我们将这个具有不同属性的脚本列为%config. 然而,这意味着该脚本被多次定义且属性冲突,因此 rpmbuild 会报错并且在安装包中根本不包含该脚本。

有没有一种好的方法来处理这个问题并告诉 rpmbuild 只使用第二个定义,还是我们必须将脚本分成两部分,一个包含配置,一个包含实际逻辑?

0 投票
1 回答
1256 浏览

linux - 如何在 RPM 规范文件中创建额外的 README %doc 文件?

创建规范文件时,当该文本文件不是原始源代码的一部分时,创建要由 RPM 安装的附加文本 doc 文件的正确程序是什么?

例如,如果当前 %doc 行包含源中的以下文件

我希望规范文件创建一个 README_FOO ,它将写入同一个文档目录(其中包含特定于包的配置说明),这样做的正确方法是什么?

我知道我可以在规范文件的 %install 部分创建一个文本文件:

但我不确定在 $RPM_BUILD_ROOT 之后使用的正确路径,或者如何在现有的 %doc 行或新文件中引用新文件。

提前致谢。

0 投票
1 回答
849 浏览

linux - SPEC 文件构建两个 RPM,但依赖使 -Uvh 无法升级

我正在处理一个规范文件(foo.spec),该文件在构建时会产生两个 RPM:foo-1-1.i386.rpm(主程序)和libfoo-1-1.i386.rpm(所需的库文件)。foo.spec 文件指出 foo 需要相同版本和发行级别的 libfoo:

foo-1-1 安装得很好:

它安装依赖库,然后:

但是由于对库的依赖,升级到较新的版本(foo-2-1)不起作用:

所以我被困住了。我希望用户能够执行 rpm -Uvh 来升级 foo 包(要求他们忽略依赖项等,这对新手用户要求太多)。

关于如何解决这个问题的任何想法,以便在新版本可用时可以使用 rpm -Uvh 升级包的所有部分?

提前致谢。

0 投票
1 回答
732 浏览

linux - 如何动态定义子包

我的目标是提出一个动态定义子包的规范文件。

目前,我在规范文件中定义了一个宏,以便我可以使用不同的参数调用它来生成不同的 %package 部分。例如。

%define create_pkg(n:)\ %package -n subpackage-%1\ 摘要:子包 %1\ ...\ %{nil}

%create_pkg sub1 %create_pkg sub2 %create_pkg sub3

但是,我只能在 specfile 中硬编码 create_pkg 宏的参数(sub1、sub2、sub3)。有没有办法让规范文件读取一个单独的文件,其中包含我想要的子包的名称?例如。subpackages.txt 将具有以下内容:

子 1 子 2 子 3

并且规范文件将读取 subpackages.txt 并使用从 txt 文件中读取的名称调用 %create_pkg 。

0 投票
2 回答
2246 浏览

linux - 我应该在规范文件的哪个位置添加操作系统,以便生成的 RPM 包含操作系统和拱门?

我正在几个不同的虚拟机(CentOS5 32 和 64、CentOS6 32 和 64、Fedora 等)上构建软件包。生成的 RPM 文件包含 name.version.release.arch.rpm,如下所示:

但相反,我希望它输出为:

在哪里(在规范文件中?.rpmmacros?),我该怎么做?

提前致谢。

0 投票
1 回答
4551 浏览

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

不确定这是否是发布问题的正确位置。我正在尝试为我的项目创建 rpm,这是我第一次编写规范文件。当我使用命令构建规范时

rpmbuild -ba name.spec

请找到规范文件的链接 ( http://pastie.org/2426321 )。非常感谢您对此的任何帮助。提前致谢。

0 投票
1 回答
10360 浏览

linux - RPM 构建在安装部分失败

我正在尝试构建我的第一个 rpm 包,它是一个简单的可执行文件 (mysh)。

我的规格文件:

它失败并出现以下错误:

当然这个文件在那里不存在。我试过复制它仍然有同样的错误。不确定我的安装部分是否应该将任何内容放入 BUILDROOT 文件夹。

我在 Ubuntu 11.04 上。