【问题标题】:Couldn't package a cron job using sbt-native-packager when building a deb bundle构建 deb 包时无法使用 sbt-native-packager 打包 cron 作业
【发布时间】:2014-04-08 15:44:12
【问题描述】:

我正在尝试将 cron 打包为我的 debian 包 (https://github.com/indykish/megam_akka.git) 的一部分。

debian 软件包是使用 sbt-native-packager 构建的。 我将 cron 脚本放在我的 bin 目录中,如下所示https://github.com/indykish/megam_akka/blob/master/bin/megamherk.cron.d

我改变了我的 build.sbt 来拾取 megamher.cron.d 就像这里 https://github.com/indykish/megam_akka/blob/master/build.sbt

我在这里附上了代码的sn-p:

 linuxPackageMappings in Debian <+= (baseDirectory) map { bd =>
 (packageMapping((bd / "bin/herk_stash") -> "/usr/share/megamherk/bin/herk_stash")
 withUser "root" withGroup "root" withPerms "0755")
 }

linuxPackageMappings in Debian <+= (baseDirectory) map { bd =>
(packageMapping((bd / "bin/megamherk.cron.d") -> "/etc/cron.d/megamherk")
withUser "root" withGroup "root" withPerms "0755")
}

我跑了:

sbt clean compile

sbt dist:dist

sbt debian:packageBin

在目标目录中生成的 debian 包没有捆绑 cron。

我参考了这个 debian 文档 (http://www.debian.org/doc/manuals/maint-guide/dother.en.html#crond)

我在这里遗漏了什么吗?如何使 sbt-native-package 拾取一项 cron 工作?

【问题讨论】:

  • 我认为您应该将 bin 目录放在 src 中,因为 sn-p 中的 baseDirectory 是源目录

标签: scala maven sbt akka sbt-native-packager


【解决方案1】:

打包简单文件最简单的方法是使用默认目录结构。

src/linux/...

在您的情况下,您会将文件放入

src/linux/etc/cron.d/megamherk

您的区域设置将被重新应用。因此,如果 megamherk 是可执行的,它将保持可执行。

如果这对您不起作用,请打开带有小测试用例的 ticket

干杯, 渚

【讨论】:

    猜你喜欢
    • 2014-08-08
    • 2015-12-22
    • 2016-12-14
    • 2014-01-09
    • 2016-09-01
    • 2017-02-17
    • 2019-02-27
    • 2014-12-04
    • 2014-05-28
    相关资源
    最近更新 更多