首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >rpmbuild失败,找到已安装(但未打包)的文件

rpmbuild失败,找到已安装(但未打包)的文件
EN

Stack Overflow用户
提问于 2017-02-03 05:27:53
回答 1查看 1.5K关注 0票数 1

您好,我正在尝试使用python构建一个rpm,但它失败了,并显示以下错误。

代码语言:javascript
复制
RPM build errors:
Installed (but unpackaged) file(s) found:
( a list of files )
error: command 'rpmbuild' failed with exit status 1

这是python生成的.spec文件:

代码语言:javascript
复制
%define name prova
%define version 1.0.0
%define unmangled_version 1.0.0
%define unmangled_version 1.0.0
%define release 1

Name: %{name}
Version: %{version}
Release: %{release}
Source0: %{name}-%{unmangled_version}.tar.gz
License: LGPL-3
Group: Development/Libraries
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot
Prefix: %{_prefix}
BuildArch: noarch
Requires:  [...]

%prep
%setup -n %{name}-%{unmangled_version} -n %{name}-%{unmangled_version}

%build
python setup.py build

%install
#!/bin/sh
set -e
python setup.py install --single-version-externally-managed --prefix=/usr --root=$RPM_BUILD_ROOT --record=INSTALLED_FILES


%clean
rm -rf $RPM_BUILD_ROOT

%post
[...]

%files -f INSTALLED_FILES
%defattr(-,root,root)

我用来构建所有东西的命令是这样的。

代码语言:javascript
复制
python setup.py bdist_rpm

据我所知,安装脚本应该在INSTALLED_FILES中编写一个已安装文件的列表,然后我们将已安装文件的列表传递给%files -f INSTALLED_FILES。但是,--record选项接受一个文件名,在这个文件名中,安装脚本会写入已安装文件的列表,并且这是有效的。问题是%file -f命令不能读取该列表。

该命令是否已弃用?我有rpmbuild的4.11版本。

EN

回答 1

Stack Overflow用户

发布于 2017-02-03 18:53:47

不要使用--record,因为它不会记录目录。请参阅https://fedoraproject.org/wiki/Packaging:Python#Byte_compiling

省略该选项,只需使用:

代码语言:javascript
复制
%files
%{python_sitelib}/
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42012601

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档