rpmbuild faild with:已找到已安装(但未打包)的文件

时间:2017-02-02 21:27:53

标签: python build centos rpm

您好我正在尝试使用python构建rpm,但它失败并出现此错误。

var bravo = React.createClass({

   state: {
     value : this.props.value
   },

   render: function(){
     return <h1>{this.state.value}</h2>
   }
});

这是python生成的.spec文件:

RPM build errors:
Installed (but unpackaged) file(s) found:
( a list of files )
error: command 'rpmbuild' failed with exit status 1

我用来构建一切的命令就是这个。

%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)

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

不会读取列表

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

1 个答案:

答案 0 :(得分:1)

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

省略该选项,只需使用:

%files
%{python_sitelib}/