如何从 sbt 创建 rpm
How to create an rpm out of sbt
我有一个名为 post_install.sh 的脚本,它存在于 src/main/scripts/post_install.sh 中。我的 sbt 文件是
import com.typesafe.sbt.packager.rpm.RpmPlugin.autoImport.RpmConstants._
maintainerScripts in Rpm := maintainerScriptsAppendFromFile((maintainerScripts in Rpm).value)(
Post -> (baseDirectory.value / "scripts" / "install" / "post-install.sh")
)
当我 运行 sbt rpm:packageBin 我得到以下错误
[错误] (rpm:maintainerScripts) 此处不存在维护者脚本 post:/Users/spachari/IdeaProjects/aws-customer-email-change-history/scripts/install/post-install.sh
请告诉我如何从 sbt 包创建 rpm。
看看你的错误,你的 baseDirectory
似乎是 /Users/spachari/IdeaProjects/aws-customer-email-change-history
而脚本实际上是 /Users/spachari/IdeaProjects/aws-customer-email-change-history/src/main/scripts/post_install.sh
。因此,您可以尝试将代码更改为
import com.typesafe.sbt.packager.rpm.RpmPlugin.autoImport.RpmConstants._
maintainerScripts in Rpm := maintainerScriptsAppendFromFile((maintainerScripts in Rpm).value)(
Post -> (baseDirectory.value / "src" / "main" / "scripts" / "post-install.sh")
)
假设位于目录中的脚本从中可以正常工作。
可能为时已晚,但以下 sbt 插件可以在不使用依赖于平台的外部工具的情况下创建 rpm。
看看这个 github 项目:
https://github.com/en-vee/sbt-rpm/blob/master/README.md
我有一个名为 post_install.sh 的脚本,它存在于 src/main/scripts/post_install.sh 中。我的 sbt 文件是
import com.typesafe.sbt.packager.rpm.RpmPlugin.autoImport.RpmConstants._
maintainerScripts in Rpm := maintainerScriptsAppendFromFile((maintainerScripts in Rpm).value)(
Post -> (baseDirectory.value / "scripts" / "install" / "post-install.sh")
)
当我 运行 sbt rpm:packageBin 我得到以下错误
[错误] (rpm:maintainerScripts) 此处不存在维护者脚本 post:/Users/spachari/IdeaProjects/aws-customer-email-change-history/scripts/install/post-install.sh
请告诉我如何从 sbt 包创建 rpm。
看看你的错误,你的 baseDirectory
似乎是 /Users/spachari/IdeaProjects/aws-customer-email-change-history
而脚本实际上是 /Users/spachari/IdeaProjects/aws-customer-email-change-history/src/main/scripts/post_install.sh
。因此,您可以尝试将代码更改为
import com.typesafe.sbt.packager.rpm.RpmPlugin.autoImport.RpmConstants._
maintainerScripts in Rpm := maintainerScriptsAppendFromFile((maintainerScripts in Rpm).value)(
Post -> (baseDirectory.value / "src" / "main" / "scripts" / "post-install.sh")
)
假设位于目录中的脚本从中可以正常工作。
可能为时已晚,但以下 sbt 插件可以在不使用依赖于平台的外部工具的情况下创建 rpm。 看看这个 github 项目: https://github.com/en-vee/sbt-rpm/blob/master/README.md