【问题标题】:Is there a way to override the init script template in sbt-native-packager?有没有办法覆盖 sbt-native-packager 中的初始化脚本模板?
【发布时间】:2017-02-14 15:08:45
【问题描述】:

使用 sbt-native-packager 1.0.0

sbt-native-packager 在构建 rpm 时使用 this init script template 创建启动脚本(在 /etc/init.d/<package-name> 中)。我想用我自己的一个来覆盖这个初始化脚本,但我似乎找不到最好的方法来做到这一点。我很可能只是忽略了一些东西(我是 Scala 新手,仔细阅读源代码有点困难),因此我们将不胜感激。

我只想从我在 build.sbt 文件中指定的文件中获取随 rpm 安装的 init 脚本的内容。非常感谢任何帮助(您提供的越详细越好)。

提前致谢。

【问题讨论】:

    标签: scala sbt sbt-native-packager


    【解决方案1】:

    你应该把你的初始化脚本放到scr/templates/systemloader/systemv。 更多详情请关注http://www.scala-sbt.org/sbt-native-packager/archetypes/systemloaders.html#override-start-script

    【讨论】:

    • 这似乎不起作用。我创建了一个名为src/templates/rpm/systemv 的文件,并在该文件中放置了“hello world”字样,但仍会安装默认的初始化脚本。我找到了一个debian example,它将覆盖模板放在src/templates/systemloader 中,所以我也尝试了。两种解决方案都不起作用:(还有什么我可能遗漏的吗?即我是否需要在 build.sbt 中指定任何内容?
    • sbt-native-packager 代码中的 This line 也支持我上面的评论,关于从 src/templates/systemloader 加载的模板。不幸的是,我还没有让它工作。我会继续挖掘,但如果您有任何建议,请告诉我
    • 看看github.com/sbt/sbt-native-packager/pull/891 作为一种解决方法,您可以使用src/main/templates/systemloader/systemv,直到此 PR 被合并。
    • 1.2.0-M6 版本包含此修复程序。
    猜你喜欢
    • 2014-06-20
    • 2015-01-30
    • 1970-01-01
    • 2015-06-30
    • 2020-09-14
    • 2013-01-05
    • 2014-07-24
    • 2016-12-27
    • 1970-01-01
    相关资源
    最近更新 更多