替换本机打包器中的debian控制脚本

时间:2015-03-19 16:47:20

标签: sbt-native-packager

我试图覆盖sbt native packer插件生成的debain控制脚本。 Allas,插件只允许我附加到生成的脚本。而不是追加我想/需要替换一些脚本。有谁知道怎么做?

2 个答案:

答案 0 :(得分:1)

您可以覆盖所有支持的控制脚本的设置。例如debianControlFiledebianMakePreinstScript

DebianPlugin提供了一些默认值。如果你使用原型,你会得到一些额外的东西。服务器原型overrides some tasks提供其他映射。

<强>更新

这种行为就像我描述的那样。但是这适用于sbt-native-packager 1.0.0-RC1。这意味着

  1. addSbtPlugin("com.typesafe.sbt" % "sbt-native-packager" % "1.0.0-RC1")添加到您的plugins.sbt

  2. build.sbt

  3. 中删除所有debian脚本内容
  4. src/debian/DEBIAN文件夹中添加你的debian脚本(就像你一样)。他们将覆盖标准的。

  5. 因此,您的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

现在你不应该有任何默认值,你可以自由使用你的自定义。