如何使用SBT本机软件包在debian软件包中设置用户和组?

如何使用SBT本机软件包在debian软件包中设置用户和组?,debian,sbt,sbt-native-packager,Debian,Sbt,Sbt Native Packager,我有一个Scala/Play项目,我使用0.6.4创建debian包。默认情况下,所有文件都是使用root用户/组创建的。我怎样才能改变它 这是我在build.sbt中尝试的: import com.typesafe.sbt.SbtNativePackager._ import com.typesafe.sbt.packager.Keys._ linuxPackageMappings in Debian <+= (version) map { (version) => val

我有一个Scala/Play项目,我使用0.6.4创建debian包。默认情况下,所有文件都是使用root用户/组创建的。我怎样才能改变它

这是我在
build.sbt
中尝试的:

import com.typesafe.sbt.SbtNativePackager._
import com.typesafe.sbt.packager.Keys._

linuxPackageMappings in Debian <+= (version) map { (version) =>
  val tmp = IO.createTemporaryDirectory
  val tmpLog = tmp / "my-app" / "my-app.log"
  IO.write(tmpLog, "")
  packageMapping(tmpLog -> "/var/log/my-app/my-app.log") withUser "appuser" withGroup "appuser"
}

linuxPackageMappings <<= linuxPackageMappings map { mappings =>
  mappings map { linuxPackage =>
    linuxPackage.copy(
      fileData = linuxPackage.fileData.copy(
        user = "appuser",
        group = "appuser"
      )
    )
  }
}
导入com.typesafe.sbt.SbtNativePackager_
导入com.typesafe.sbt.packager.Keys_
Debian中的linuxPackageMappings
val tmp=IO.createTemporaryDirectory
val tmpLog=tmp/“我的应用程序”/“我的应用程序日志”
IO.write(tmpLog,“”)
带有用户“appuser”和组“appuser”的packageMapping(tmpLog->“/var/log/my-app/my-app.log”)
}
linuxPackageMappings
linuxPackage.copy(
fileData=linuxPackage.fileData.copy(
user=“appuser”,
group=“appuser”
)
)
}
}
但是,在生成的debian包中(在运行
sbt clean debian:package bin
之后),所有文件都属于
root
。我的系统上存在用户
appuser
。看起来SBT Native Packager忽略了在特定映射和常规映射中设置用户和组


我做错了什么?

我使用的是0.6.4版。看起来升级到0.8.0解决了这个问题。我使用的是0.6.4版。看来升级到0.8.0解决了这个问题。