如何为 sbt-native-package 指定 RPM_BUILD_ROOT
Posted
技术标签:
【中文标题】如何为 sbt-native-package 指定 RPM_BUILD_ROOT【英文标题】:How to specify RPM_BUILD_ROOT for sbt-native-package 【发布时间】:2015-10-28 20:00:02 【问题描述】:我有一个想要通过 RPM 部署的 Play 项目。我正在尝试使用 SBT 在 CentOS 上使用 sbt-native-packager RPM 插件构建 RPM。 最后我 gt rpm 包。 但它存储在 %appname%/target/rpm 下的目录中 如何使用自己的 rpm buildroot 树路径? 比如说 /home/build/buildroot
使用中的 Sbt-native-packager 版本 0.8.0。
【问题讨论】:
这样做的目的是什么?您可以更改target in Rpm
设置,但我强烈建议您不要这样做。该构建只能在具有此路径的机器上运行。
训练解决 sbt rpm:packageBin 任务的问题。它像这样打印我: [info] Executing(%install): /bin/sh -e /tmp/sbt_f3554995/rpm-tmp.SDC7gK [error] + umask 022 [error] + cd /data/src /auth-server/target/rpm/BUILD [错误] + '[' /data/src/auth-server/target/rpm/buildroot '!=' / ']' [错误] + rm -rf /data/src /auth-server/target/rpm/buildroot
【参考方案1】:
简单(以 rpm 配置为中心)的答案是在调用 rpmbuild 之前在 ~/.rpmmacros 中配置 %_topdir。 SBT 可能会增加额外的复杂性。
【讨论】:
它仍然没有帮助我。看起来 sbt-native-apckager 不关心在用户环境级别指定的变量。我有以下宏配置: rpm --showrc|grep topdir -14: _builddir %_topdir/BUILD -14: _buildrootdir %_topdir/BUILDROOT -14: _rpmdir %_topdir/RPMS -14: _sourcedir % _topdir/SOURCES -14: _specdir %_topdir/SPECS -14: _srcrpmdir %_topdir/SRPMS -14: _topdir /home/centos/rpmbuild以上是关于如何为 sbt-native-package 指定 RPM_BUILD_ROOT的主要内容,如果未能解决你的问题,请参考以下文章
Scala SBT - sbt-native-packager,如何指定自定义阶段目录
如何在多个项目中使用 sbt-native-packager
如何为 sbt native packager 的 DockerPlugin 设置基础镜像?