【发布时间】:2014-08-12 23:38:34
【问题描述】:
我想从 centos 6.4 中生成的二进制包创建二进制 rpm 文件,并注意到在我的一个构建系统中 ${buildroot} 是自动创建的,我想知道它是如何实现的。
示例wget.spec 如下所示。详细规格在我的主旨https://gist.github.com/larrycai/1ffe134bce1860f1cf87
%install
tar xf ~/wget.tar.gz -C %{buildroot}/
%files
%defattr(-,root,root)
/usr/bin/wget
wget.tar.gz 可以创建为tar -zcvf ~/wget.tar.gz /usr/bin/wget
当我使用rpmbuild -bb wget.spec 构建它时,我得到了
+ rpmbuild -bb wget.spec
Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.VNDZg4
+ umask 022
+ cd /home/larry/rpmbuild/BUILD
+ LANG=C
+ export LANG
+ unset DISPLAY
+ exit 0
Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.S8koPW
+ umask 022
+ cd /home/larry/rpmbuild/BUILD
+ '[' /home/larry/rpmbuild/BUILDROOT/wget-1.12-1.x86_64 '!=' / ']'
+ rm -rf /home/larry/rpmbuild/BUILDROOT/wget-1.12-1.x86_64
++ dirname /home/larry/rpmbuild/BUILDROOT/wget-1.12-1.x86_64
+ mkdir -p /home/larry/rpmbuild/BUILDROOT
+ mkdir /home/larry/rpmbuild/BUILDROOT/wget-1.12-1.x86_64
+ LANG=C
+ export LANG
+ unset DISPLAY
+ tar xf /home/larry/wget.tar.gz -C /home/larry/rpmbuild/BUILDROOT/wget-1.12-1.x86_64/
+ /usr/lib/rpm/check-buildroot
... (it is successful)
我想知道为什么mkdir /home/larry/rpmbuild/BUILDROOT/wget-1.12-1.x86_64 行会自动执行。
是否为此启用了任何脚本或 rpmmacros?
【问题讨论】: