【发布时间】:2017-06-20 03:17:53
【问题描述】:
您好,我正在尝试使用 python 构建一个 rpm,但由于此错误而失败。
RPM build errors:
Installed (but unpackaged) file(s) found:
( a list of files )
error: command 'rpmbuild' failed with exit status 1
这是python生成的.spec文件:
%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)
而我用来构建一切的命令就是这个。
python setup.py bdist_rpm
据我了解,安装脚本应该在 INSTALLED_FILES 中写入已安装文件的列表,然后我们将已安装文件的列表传递给 %files -f INSTALLED_FILES。但是 --record 选项接受一个文件名,安装脚本在其中写入已安装文件的列表,这是有效的。问题是 %file -f 命令没有读取列表。
该命令是否已弃用?我有 rpmbuild 的 4.11 版本。
【问题讨论】:
-
您查看过
INSTALLED_FILES以确保它不是空白的吗?