首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Native控制文件与创建的.deb名称不一致

问Native控制文件与创建的.deb名称不一致
EN

Stack Overflow用户
提问于 2016-02-16 16:28:43
回答 2查看 57关注 0票数 0

我不太熟悉Scala或sbt-本机包程序,但是有一个scala项目,我们在这里创建一个debian。我注意到,创建的.deb的名称是正确的,但是控制文件不是--有什么方法可以改变这种情况吗?

版本:

代码语言:javascript
复制
Play: 2.2.3 (also tried with 2.2.6)

Sbt-Native-Packager: 0.7.6

在plugins.sbt中

代码语言:javascript
复制
addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.2.6")
addSbtPlugin("com.typesafe.sbt" % "sbt-native-packager" % "0.7.6")

这是我得到的(减去敏感信息):

Build.scala:

代码语言:javascript
复制
val main = play.Project(appName, appVersion, appDependencies)
.settings(scalaVersion := "2.10.4")
.settings(DebPackageSettings.packageSettings(appName, appVersion, baseDirectory): _*)

在DebPackageSettings中:

代码语言:javascript
复制
def packageSettings(appName: String , appVersion: String, baseDirectory: SettingKey[java.io.File]): Seq[sbt.Setting[_]] = {

  val baseName = "prefix-project-name"
  val appPackageArchitecture = "all"

  Seq(
      name in Debian := "%s".format(baseName),
      version in Debian := "%s".format(appVersion),
      packageDescription in Linux := "something",
      packageSummary in Linux := "something",
      target in Debian <<= (Keys.target) apply ((t) => t / (baseName + "_" + appVersion + "_" + appPackageArchitecture))
  )
 ...

创建的控制文件(在DEBIAN/ control中):

代码语言:javascript
复制
Source: project-name
Package: project-name
Priority: optional
Architecture: all
...

创建的prefix-project-name_version_all.deb:.deb

我是不是遗漏了什么?我查阅了sbt本机打包程序文档,并在googled上搜索了一些答案,但没有运气:

EN

回答 2

Stack Overflow用户

发布于 2016-02-16 17:15:50

name in Debian似乎只影响.deb文件名,而不影响控制文件中的包名。为此,您应该使用packageName。这个插件在名称、空间和继承方面都很混乱。

经过一些测试后,我发现以下几点应该能让它发挥作用:

代码语言:javascript
复制
name        in Linux := baseName,
packageName in Linux := baseName,

如果使用in Debian,您将得到一个混合产品,其中一半的名称来自主作用域名称,另一半来自debian作用域。

票数 0
EN

Stack Overflow用户

发布于 2016-02-17 08:22:10

我发现这是可行的--但哪一种方式更可取呢?

进口:

代码语言:javascript
复制
 import sbt._
 import sbt.Keys._
 import com.typesafe.sbt.SbtNativePackager._
 import NativePackagerKeys._

增加的一行:

代码语言:javascript
复制
  normalizedName in Debian := "%s".format(baseName),

不过,不知道什么更好!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35437849

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档