【问题标题】:What are the options to set base packaged directory for a package using sbt-native-packager?使用 sbt-native-packager 为包设置基本打包目录的选项有哪些?
【发布时间】:2014-08-08 16:10:46
【问题描述】:

我正在尝试使用 sbt-native-packager 构建 Debian 软件包,如 this build.sbt 中所述。

我设置appName 使用

val appName = "megamgateway"

project/Build.scala.

一切正常。只是内容存储在/usr/share/megamgateway中。

我想要/usr/share/megam/gateway下的内容。

我能找到的唯一方法是使用

linuxPackageMapping

如图here

在继续之前,我想了解其他方法。

【问题讨论】:

    标签: scala sbt sbt-native-packager


    【解决方案1】:

    您可以尝试添加到您的项目设置中

    name := "gateway"
    defaultLinuxInstallLocation := "/usr/share/megam/" 
    

    【讨论】:

    • 解决了一半的问题。罐子等移动到/usr/share/megam/gateway 下。但现在我的 debian 包名称是“网关”,我们需要 megamgateway
    • 我改成了下面的name := "megamgateway" defaultLinuxInstallLocation := "/usr/share/megam/" defaultLinuxLogsLocation := "/var/log/megam" linuxPackageMappings in Debian += packageTemplateMapping("/var/run/megam")()。安装位置更改,日志位置更改,但 pid 位置没有。知道如何调整 pid 位置的包映射吗?
    • 不幸的是 /var/run 是硬编码的。见github.com/sbt/sbt-native-packager/blob/master/src/main/scala/…
    • 是的。所以我检查了代码并添加了这个// === /var/run/app pid folder === linuxPackageMappings <+= (normalizedName, daemonUser in Linux, daemonGroup in$ packageTemplateMapping("/var/run/megam/" + name)() withUser user withGrou$ } 但它现在创建了两个目录/var/run/megamgateway 和/var/run/megam/megamgateway。我将对其进行测试,并尝试添加rm /var/run/megamgateway。这应该可以解决这个问题。
    猜你喜欢
    • 2016-09-01
    • 2013-09-15
    • 2016-02-14
    • 2014-01-27
    • 2015-09-17
    • 2014-05-28
    • 2014-04-08
    • 2015-03-31
    • 2018-05-18
    相关资源
    最近更新 更多