[英]Sbt-Native-Packager Control file inconsistent name to .deb created
我對Scala或sbt-native-packager不太熟悉,但是有一個我們創建debian的scala項目。 我注意到的是,創建的.deb名稱正確,但是控制文件不正確-是否可以更改此名稱?
版本:
Play: 2.2.3 (also tried with 2.2.6)
Sbt-Native-Packager: 0.7.6
在plugins.sbt中
addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.2.6")
addSbtPlugin("com.typesafe.sbt" % "sbt-native-packager" % "0.7.6")
這就是我得到的(減去敏感信息):
Build.scala:
val main = play.Project(appName, appVersion, appDependencies)
.settings(scalaVersion := "2.10.4")
.settings(DebPackageSettings.packageSettings(appName, appVersion, baseDirectory): _*)
在DebPackageSettings中:
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中):
Source: project-name
Package: project-name
Priority: optional
Architecture: all
...
創建的.deb: 前綴項目名稱_version_all.deb
我想念什么嗎? 我已經查看了sbt-native-packager文檔,並用谷歌搜索了一些答案,但是沒有運氣:(
似乎name in Debian
中的name in Debian
僅影響.deb
文件名,而不影響控制文件中的軟件包名稱。 為此,您應該使用packageName
。 該插件在名稱空間和繼承方面非常混亂。
經過一些測試,我發現以下應該可以使它工作:
name in Linux := baseName,
packageName in Linux := baseName,
如果in Debian
使用,則會得到某種混合產品,其中一半名稱來自主作用域名稱,另一半名稱來自debian作用域。
我發現這行得通-但是首選/正確的方法是什么?
進口:
import sbt._
import sbt.Keys._
import com.typesafe.sbt.SbtNativePackager._
import NativePackagerKeys._
添加的行:
normalizedName in Debian := "%s".format(baseName),
不確定什么是可取的!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.