I'm trying to override the debain control scripts generated by the sbt native packer plugin. Allas, the plugin only allows me to append to the generated scripts. Instead of appending I want/need to replace some of the scripts. Does anyone know how?
2 回答
1
您可以覆盖所有受支持的控制脚本的设置。例如debianControlFile或debianMakePreinstScript。
DebianPlugin提供了一些默认值。如果你使用的是原型,你会得到一些额外的东西。服务器原型覆盖某些任务以提供其他映射。
更新
这种行为正如我所描述的那样有效。然而,这适用于 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
)
于 2015-03-20T14:50:17.387 回答
0
不附加到默认脚本的最好方法是通过将以下内容添加到您的 build.sbt 来删除它们:
// disable all default control scripts
debianMakePreinstScript := None
debianMakePrermScript := None
debianMakePostinstScript := None
debianMakePostrmScript := None
现在你不应该有任何默认值,你可以自由地使用你的自定义一次。
于 2015-11-18T11:17:43.047 回答