我正在尝试创建一个仅更新系统文件的程序包,但是在运行rpmbuild时,我总是收到错误消息。该错误指示文件丢失。

我已经在CentOS 5和6上尝试了此方法,并获得了相同的结果。

我使用rpmdev-setuptree设置了文件系统,该文件系统也设置了~/.rpmmacros文件。然后,我使用rpmdev-newspec初始化规范文件。

我以非root用户身份运行。

我在~/rpmbuild/SPECS/test.spec中有spec文件,我的来源是:~/rpmbuild/SOURCES/test-1.tar.gz。提取此文件将创建一个名为test-1的目录,其中包含2个文件。我已经确认,当我尝试构建软件包时,确实会将其提取到~/rpmbuild/BUILD/test-1中。

我运行:rpmbuild -ba ~/rpmbuild/SPECS/test.spec
然后我得到这个错误:



这是我的规范文件:

Name:           test
Version:        1
Release:        1%{?dist}
Summary:        Test

Group:          Test
License:        GPL
URL:            http://example.com
Source0:        test-1.tar.gz
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)

#BuildRequires:
#Requires:

%description
This is a test to push files.

%prep
%setup -q

%build
#%configure
#make %{?_smp_mflags}

%install
rm -rf $RPM_BUILD_ROOT
#make install DESTDIR=$RPM_BUILD_ROOT
install -m 0755 -d $RPM_BUILD_ROOT/opt/test

%clean
rm -rf $RPM_BUILD_ROOT

%files
%dir /opt/test
%defattr(-,root,root,-)
%doc

关于我可能做错了什么的任何想法?

最佳答案

看起来好像没有默认的GNU“./configure”脚本,因此您不能在spec文件中使用默认的%setup宏,并且需要自定义的%prep部分... (One source) (mirror)

09-11 23:25