标签: rpmbuild

RPM 构建错误:空 %files 文件 debugfiles.list

问题和环境

Korora 23 (Fedora 23)
rpmbuild --versionRPM version 4.13.0-rc1

我正在尝试为自己制作一个本地的freefilesync包。该站点提供了一个 openSUSE 版本,我正在尝试为 Fedora 打包该版本。

我的规范文件

错误

Processing files: freefilesync-8.2-1.fc23.x86_64
Provides: config(freefilesync) = 8.2-1.fc23 freefilesync = 8.2-1.fc23 freefilesync(x86-64) = 8.2-1.fc23
Requires(interp): /bin/sh /bin/sh
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
Requires(post): /bin/sh
Requires(postun): /bin/sh
Requires: libX11.so.6()(64bit) libXxf86vm.so.1()(64bit) libatk-1.0.so.0()(64bit) libc.so.6()(64bit) libc.so.6(GLIBC_2.10)(64bit) libc.so.6(GLIBC_2.14)(64bit) libc.so.6(GLIBC_2.17)(64bit) libc.so.6(GLIBC_2.2.5)(64bit) libc.so.6(GLIBC_2.3)(64bit) libc.so.6(GLIBC_2.3.2)(64bit) libc.so.6(GLIBC_2.4)(64bit) libc.so.6(GLIBC_2.6)(64bit) libcairo.so.2()(64bit) libdl.so.2()(64bit) libdl.so.2(GLIBC_2.2.5)(64bit) libexpat.so.1()(64bit) libfontconfig.so.1()(64bit) libfreetype.so.6()(64bit) libgcc_s.so.1()(64bit) libgcc_s.so.1(GCC_3.0)(64bit) libgdk-x11-2.0.so.0()(64bit) libgdk_pixbuf-2.0.so.0()(64bit) libgio-2.0.so.0()(64bit) libglib-2.0.so.0()(64bit) libgobject-2.0.so.0()(64bit) libgthread-2.0.so.0()(64bit) libgtk-x11-2.0.so.0()(64bit) libm.so.6()(64bit) …
Run Code Online (Sandbox Code Playgroud)

fedora rpmbuild

17
推荐指数
2
解决办法
1万
查看次数

是否可以在没有 srpm 的情况下修改/重建 rpm?

我有一个 rpm,我需要更改安装前脚本以进行测试。

但是,我没有从中构建的 SRPM。

是否可以在没有SRPM 的情况下更改 scriptlet 和/或重建 rpm ?

如果是这样,如何?

我曾尝试使用 Midnight Commander ( mc) 将 rpm 作为目录结构打开并编辑内容,但即使有666权限,它也不会让我保存任何更改。

package-management rpm rpmbuild

8
推荐指数
1
解决办法
3万
查看次数

为什么在构建 RPM 时文件会被列出两次?

我的理解是,如果我在 %files 列表下指定 %dir 指令,RPM 将不会列出该目录下的任何文件。这样做可以让您为相关目录(或用户、组等)设置特定权限。但是,当除了指定的目录外,我还明确列出了文件时,我仍然收到“文件列出两次警告”消息。我知道这听起来很愚蠢,但是这些文件对目录具有不同的权限,这就是为什么我需要使用 %dir 指令单独定义目录。

如果我没有使用 %dir 指令,那么是的,我希望看到这些警告消息。

我对么?

更新:

实际上,列出两次的文件似乎只有在我将 %dir 指令与 %config 指令结合使用时才会出现。

所以下面没有警告消息就可以了:

%files
%dir %attr(0755,testuser,test) /app/product/tracking-tool/bin/
%dir %attr(0755,testuser,test) /app/product/tracking-tool/bin/scripts/

%attr(0755,vscc_prod,vscc) /app/product/tracking-tool/bin/run.sh
%attr(0755,vscc_prod,vscc) /app/product/tracking-tool/bin/count.sh
%attr(0755,vscc_prod,vscc) /app/product/tracking-tool/bin/delete.sh
%attr(0755,vscc_prod,vscc) /app/product/tracking-tool/bin/scripts/script1.sh
Run Code Online (Sandbox Code Playgroud)

但以下结果会产生警告消息:

%config %dir %attr(0755,testuser,test)  /app/product/tracking-tool/config/
%config %dir %attr(0755,testuser,test)  /app/product/tracking-tool/config/properties
%config %dir %attr(0755,testuser,test)  /app/product/tracking-tool/config/other

%config %attr(0644,testuser,test)  /app/product/tracking-tool/config/xmlconfig.xml
%config %attr(0644,testuser,test)  /app/product/tracking-tool/config/properties/logging.properties
%config %attr(0600,testuser,test)  /app/product/tracking-tool/config/properties/test.txt
%config %attr(0600,testuser,test)  /app/product/tracking-tool/config/other/other.txt

Warning appear as follows:

[WARNING] warning: File listed twice: /app/product/tracking-tool/config/xmlconfig.xml
[WARNING] warning: File listed twice: /app/product/tracking-tool/config/properties/logging.properties
[WARNING] warning: File listed twice: …
Run Code Online (Sandbox Code Playgroud)

rpm rpmbuild

7
推荐指数
1
解决办法
6219
查看次数

如何防止 rpmbuild 将需求注入 RPM 包?

我正在从本机 Python 2.5 中创建一个 RPM 包。公司政策是默认使用 python2.4,所以我添加了一个字符串

Requires: python25
Run Code Online (Sandbox Code Playgroud)

.spec 文件。但是,当我查看创建的 RPM 文件时,我看到以下依赖项:

rpm -qR -p ZSI-2.1_a1-py25.noarch.rpm
/usr/bin/python2.5
python(abi) = 2.5
python25  
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
Run Code Online (Sandbox Code Playgroud)

我添加的依赖存在,但其他依赖也在这里。我无法提供 python(abi) = 2.5 依赖项,因为我们 IT 部门生成的愚蠢的 python25 包提供的标签不正确。

如何从生成的 RPM 中删除自动添加的依赖项?

python rpmbuild

2
推荐指数
1
解决办法
7205
查看次数

标签 统计

rpmbuild ×4

rpm ×2

fedora ×1

package-management ×1

python ×1