sbt-native-packager,挂钩到 debian 包的生命周期

Posted

技术标签:

【中文标题】sbt-native-packager,挂钩到 debian 包的生命周期【英文标题】:sbt-native-packager, hook into the debian package lifecycle 【发布时间】:2016-05-27 18:00:24 【问题描述】:

我尝试使用 sbt-native-packager 来构建 deb 包。我想加入 debian 包的生命周期。我尝试根据 sbt-native-packager 网站上的说明来实现这一点。在我的 build.sbt 我添加了类似的东西:

import DebianConstants._
maintainerScripts in Debian := maintainerScriptsAppend((maintainerScripts in Debian).value)(
  Preinst -> "echo 'hello, world'",
  Postinst -> s"echo 'installed $(packageName in Debian).value'"
)

但我收到错误 cannot resolve symbol DebianConstants。我使用 sbt 0.13.9、scala 2.11.6 和 sbt-native-packager 1.0.6。我在包中搜索,但找不到像DebianConstants 这样的东西。我也找不到maintainerScriptsDebian 密钥。 sbt-native-packager 站点似乎已过时。有没有办法以编程方式挂钩到 debian 包的生命周期?

PS 我知道有一种方法可以将脚本放入src/debian/DEBIAN。但我想知道build.sbt是否有办法做到这一点(只是为了好玩)

【问题讨论】:

【参考方案1】:

要在您的build.sbt 中使用这种代码,您需要1.1.0-RC 发布版本。只需将此添加到您的project/plugins.sbt

addSbtPlugin("com.typesafe.sbt" % "sbt-native-packager" % "1.1.0-RC1")

【讨论】:

以上是关于sbt-native-packager,挂钩到 debian 包的生命周期的主要内容,如果未能解决你的问题,请参考以下文章

Sbt-native-packager 在两台不同的机器上生成两个不同的包

如何从 sbt-native-packager 发布到 Google Container Engine?

为啥 sbt-native-packager 不生成 bin 目录?

使用 sbt-native-packager 发布到 bintray 一个 zip 文件

将 sbt-web 资源 jar 添加到 sbt-native-packager 的类路径

扩展 sbt-native-packager (Docker)