6.2.2. 使用 %setup 宏


这部分论述了如何使用 %setup 宏的不同变体构建带有源代码 tarball 的软件包。请注意,宏变体可以合并。rpmbuild 输出说明了 %setup 宏的标准行为。在每个阶段开始时,宏输出 Executing(%…​), 如以下示例所示。

例 6.1. %setup 宏输出示例

Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.DhddsG

shell 输出启用了 set -x。要查看 /var/tmp/rpm-tmp.DhddsG 的内容,请使用 --debug 选项,因为 rpmbuild 在成功构建后删除临时文件。这将显示环境变量的设置,后跟:

cd '/builddir/build/BUILD'
rm -rf 'cello-1.0'
/usr/bin/gzip -dc '/builddir/build/SOURCES/cello-1.0.tar.gz' | /usr/bin/tar -xof -
STATUS=$?
if [ $STATUS -ne 0 ]; then
  exit $STATUS
fi
cd 'cello-1.0'
/usr/bin/chmod -Rf a+rX,u+w,g-w,o-w .

%setup 宏:

  • 确保我们在正确的目录中工作。
  • 删除之前构建的恢复。
  • 解包源 tarball。
  • 设置一些默认特权。

6.2.2.1. 使用 %setup -q 宏

-q 选项限制 %setup 宏的详细程度。仅执行 tar -xof 而不是 tar -xvvof。使用这个选项作为第一个选项。

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

关于红帽文档

Legal Notice

Theme

© 2026 Red Hat
返回顶部