替换本机加壳器中的 debian 控制脚本
Replace debian control scripts in native packer
我正在尝试覆盖由 sbt 本机打包程序插件生成的 debain 控制脚本。唉,这个插件只允许我附加到生成的脚本。而不是附加 I want/need 来替换一些脚本。有人知道怎么做吗?
您可以覆盖所有受支持的控制脚本的设置。例如 debianControlFile or debianMakePreinstScript.
DebianPlugin provides some defaults. If you are using an archetype you get some extras. The server archetype 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
中删除所有 debian 脚本内容
在 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
)
不附加到默认脚本的最佳方法是通过将以下内容添加到您的 build.sbt 来删除它们:
// disable all default control scripts
debianMakePreinstScript := None
debianMakePrermScript := None
debianMakePostinstScript := None
debianMakePostrmScript := None
现在你不应该有任何默认值,你可以自由使用你的自定义一次。
我正在尝试覆盖由 sbt 本机打包程序插件生成的 debain 控制脚本。唉,这个插件只允许我附加到生成的脚本。而不是附加 I want/need 来替换一些脚本。有人知道怎么做吗?
您可以覆盖所有受支持的控制脚本的设置。例如 debianControlFile or debianMakePreinstScript.
DebianPlugin provides some defaults. If you are using an archetype you get some extras. The server archetype 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
中删除所有 debian 脚本内容
在
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
)
不附加到默认脚本的最佳方法是通过将以下内容添加到您的 build.sbt 来删除它们:
// disable all default control scripts
debianMakePreinstScript := None
debianMakePrermScript := None
debianMakePostinstScript := None
debianMakePostrmScript := None
现在你不应该有任何默认值,你可以自由使用你的自定义一次。