我试图覆盖sbt native packer插件生成的debain控制脚本。 Allas,插件只允许我附加到生成的脚本。而不是追加我想/需要替换一些脚本。有谁知道怎么做?
答案 0 :(得分:1)
您可以覆盖所有支持的控制脚本的设置。例如debianControlFile或debianMakePreinstScript。
DebianPlugin提供了一些默认值。如果你使用原型,你会得到一些额外的东西。服务器原型overrides some tasks提供其他映射。
<强>更新强>
这种行为就像我描述的那样。但是这适用于sbt-native-packager 1.0.0-RC1。这意味着
将addSbtPlugin("com.typesafe.sbt" % "sbt-native-packager" % "1.0.0-RC1")
添加到您的plugins.sbt
从build.sbt
在src/debian/DEBIAN
文件夹中添加你的debian脚本(就像你一样)。他们将覆盖标准的。
因此,您的build.sbt
将如下所示
import com.typesafe.sbt.packager.archetypes.ServerLoader.SystemV
name := """play-debian-ctrl"""
version := "1.0-SNAPSHOT"
lazy val root = (project in file("."))
.enablePlugins(PlayScala, JDebPackaging)
daemonUser in Linux := "sometest"
serverLoading in Debian := SystemV
maintainer in Debian := "Jan Friderici <jnfrd@outlook.com>"
packageSummary := "Some More Tests"
packageDescription := """Even much more test, or text?."""
scalaVersion := "2.11.1"
libraryDependencies ++= Seq(
jdbc,
anorm,
cache,
ws
)
答案 1 :(得分:0)
不附加到默认脚本的最佳方法是通过将以下内容添加到build.sbt来删除它们:
// disable all default control scripts
debianMakePreinstScript := None
debianMakePrermScript := None
debianMakePostinstScript := None
debianMakePostrmScript := None
现在你不应该有任何默认值,你可以自由使用你的自定义。