我正在尝试创建一个仅更新系统文件的程序包,但是在运行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)