Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error while sbt debian:packageBin #479

Closed
behrad opened this issue Feb 5, 2015 · 7 comments
Closed

Error while sbt debian:packageBin #479

behrad opened this issue Feb 5, 2015 · 7 comments

Comments

@behrad
Copy link

behrad commented Feb 5, 2015

dpkg-deb: error: control directory has bad permissions 777 (must be >=0755 and <=0775)
java.lang.RuntimeException: Failure packaging debian file.  Exit code: 2
    at scala.sys.package$.error(package.scala:27)
    at com.typesafe.sbt.packager.debian.NativePackaging$$anonfun$debianNativeSettings$4.apply(NativePackaging.scala:76)
    at com.typesafe.sbt.packager.debian.NativePackaging$$anonfun$debianNativeSettings$4.apply(NativePackaging.scala:70)
    at scala.Function9$$anonfun$tupled$1.apply(Function9.scala:35)
    at scala.Function9$$anonfun$tupled$1.apply(Function9.scala:34)
    at scala.Function1$$anonfun$compose$1.apply(Function1.scala:47)
    at sbt.$tilde$greater$$anonfun$$u2219$1.apply(TypeFunctions.scala:42)
    at sbt.std.Transform$$anon$4.work(System.scala:64)
    at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:237)
    at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:237)
    at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:18)
    at sbt.Execute.work(Execute.scala:244)
    at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:237)
    at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:237)
    at sbt.ConcurrentRestrictions$$anon$4$$anonfun$1.apply(ConcurrentRestrictions.scala:160)
    at sbt.CompletionService$$anon$2.call(CompletionService.scala:30)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)

my build.sbt is here:

import _root_.sbtassembly.Plugin.AssemblyKeys
import _root_.sbtassembly.Plugin._
import com.typesafe.sbt.SbtAspectj._
import com.typesafe.sbt.SbtNativePackager._
import NativePackagerKeys._
import AssemblyKeys._

name := """adp-core"""

version := "1.0"

scalacOptions := Seq("-unchecked", "-deprecation", "-encoding", "utf8")

scalaVersion := "2.10.4"
//scalaVersion := "2.11.1"

fork in run := true

val adpCore = project in file(".") dependsOn adpCommon

lazy val adpCommon = RootProject(file("../adp-common"))

resolvers ++= Seq(
  "ConSol* Labs Repository" at "http://labs.consol.de/maven/repository",
  "Typesafe Maven Repository" at "http://repo.typesafe.com/typesafe/maven-releases/",
  "ReactiveCouchbase Releases" at "https://raw.github.com/ReactiveCouchbase/repository/master/releases/",
  "ReactiveCouchbase Snapshots" at "https://raw.github.com/ReactiveCouchbase/repository/master/snapshots/",
  "Element Releases" at "http://repo.element.hr/nexus/content/repositories/releases/"
)

libraryDependencies ++= {
  val akkaVersion = "2.3.9"
  val camelVersion = "2.14.0"
  val kamonVersion = "0.3.5"
  Seq(
    "com.typesafe.akka" %% "akka-remote" % akkaVersion,
    "com.typesafe.akka" %% "akka-camel" % akkaVersion,
    "com.typesafe.akka" %% "akka-contrib" % akkaVersion,
    "com.typesafe.akka" %% "akka-kernel" % akkaVersion,
    "com.typesafe.akka" %% "akka-testkit" % akkaVersion,
    "com.typesafe.akka" %% "akka-cluster" % akkaVersion,
    "com.typesafe.akka" %% "akka-persistence-experimental" % akkaVersion,
    "com.typesafe.akka" %% "akka-multi-node-testkit" % akkaVersion,
    "org.apache.camel" % "camel-core" % camelVersion,
    "org.apache.camel" % "camel-scala" % camelVersion,
    "org.apache.camel" % "camel-smpp" % camelVersion,
//    "org.apache-extras.camel-extras" % "camel-couchbase" % "2.13.2",
    "org.reactivecouchbase" %% "reactivecouchbase-core" % "0.4-SNAPSHOT",
    "io.kamon" %% "kamon-core" % kamonVersion,
    "io.kamon" %% "kamon-statsd" % kamonVersion,
    "io.kamon" %% "kamon-datadog" % kamonVersion,
    "io.kamon" %% "kamon-log-reporter" % kamonVersion,
    "io.kamon" %% "kamon-system-metrics" % kamonVersion,
    "org.slf4j" % "slf4j-api" % "1.7.2",
    "ch.qos.logback" % "logback-classic" % "1.0.7",
    "io.spray" %%  "spray-json" % "1.3.1",
    "org.jolokia" % "jolokia-jvm" % "1.2.2" classifier "agent",
    "org.fusesource" % "sigar" % "1.6.4" classifier "native" classifier "",
    "org.scalatest" %% "scalatest" % "2.2.1" % "test"
  )
}

libraryDependencies ~= { _.map(_.exclude("org.slf4j", "slf4j-simple")) }

aspectjSettings

javaOptions in run <++= AspectjKeys.weaverOptions in Aspectj

javaOptions in run ++= Seq(
  "-Djava.library.path=src/main/resources/sigar",
// or Use org.jolokia.jvmagent.JolokiaServer programatically
  "-javaagent:" + System.getProperty("user.home") + s"/.ivy2/cache/org.jolokia/jolokia-jvm/jars/jolokia-jvm-1.2.2-agent.jar=port=8181",
//"-XX:+ExtendedDTraceProbes"
  "-Xms128m",
  "-Xmx4G"
)

val buildSettings = Defaults.defaultSettings ++ Seq(
  javaOptions += "-Xmx4G"
)

mainClass in Compile := Some("ir.behrad.adp.boot.Run")

//packageArchetype.akka_application
//packageArchetype.java_application
packageArchetype.java_server

Revolver.settings.settings

maintainer in Linux := "Behrad Zari <[email protected]>"

packageSummary in Linux := "ADP Digital Co. Core Message Gateway"

packageDescription := "ADP Digital Co. Core Message Gateway"

rpmRelease := "1"

rpmVendor := "com.adpdigital"

rpmLicense := Some("Apache v2")

packageArchitecture in Rpm := "x86_64"

mappings in Universal <+= (packageBin in Compile, sourceDirectory ) map { (_, src) =>
  val conf = src / "main" / "resources" / "application.conf"
  conf -> "conf/application.conf"
}

my main class is actually an Akka Bootable

@kardapoltsev
Copy link
Member

What OS, native packager version do you use?

@behrad
Copy link
Author

behrad commented Feb 5, 2015

ubuntu 14.04.1

addSbtPlugin("com.typesafe.sbt" % "sbt-native-packager" % "0.8.0-M2")

sbt=0.13.5

@kardapoltsev
Copy link
Member

Is it still relevant? Could you try 0.8.0 release?

@behrad
Copy link
Author

behrad commented Mar 30, 2015

will test it in a week @kardapoltsev

@behrad
Copy link
Author

behrad commented Apr 4, 2015

I am not sure I've passed this Ok or not, I updated to 0.8.0 however I've changes to my sbt and getting:

[info] Done packaging.
java.lang.RuntimeException: Could not create directory /home/behrad/workspace/adp-core/target/adp-core-1.0/${app_home}/../conf
    at scala.sys.package$.error(package.scala:27)
    at sbt.IO$.createDirectory(IO.scala:155)
    at sbt.OpenFile$class.open(Using.scala:45)
    at sbt.Using$$anon$2.open(Using.scala:70)
    at sbt.Using$$anon$2.open(Using.scala:70)
    at sbt.Using.apply(Using.scala:24)
    at sbt.IO$$anonfun$copyFile$3.apply(IO.scala:583)
    at sbt.IO$$anonfun$copyFile$3.apply(IO.scala:582)
    at sbt.Using.apply(Using.scala:25)
    at sbt.IO$.copyFile(IO.scala:582)
    at com.typesafe.sbt.packager.debian.DebianPlugin$class.copyAndFixPerms(DebianPlugin.scala:167)
    at com.typesafe.sbt.SbtNativePackager$.copyAndFixPerms(PackagerPlugin.scala:10)
    at com.typesafe.sbt.packager.debian.DebianPlugin$$anonfun$debianSettings$24$$anonfun$apply$9$$anonfun$apply$13.apply(DebianPlugin.scala:132)
    at com.typesafe.sbt.packager.debian.DebianPlugin$$anonfun$debianSettings$24$$anonfun$apply$9$$anonfun$apply$13.apply(DebianPlugin.scala:131)
    at scala.collection.immutable.List.foreach(List.scala:318)
    at com.typesafe.sbt.packager.debian.DebianPlugin$$anonfun$debianSettings$24$$anonfun$apply$9.apply(DebianPlugin.scala:131)
    at com.typesafe.sbt.packager.debian.DebianPlugin$$anonfun$debianSettings$24$$anonfun$apply$9.apply(DebianPlugin.scala:119)
    at scala.collection.immutable.List.foreach(List.scala:318)
    at com.typesafe.sbt.packager.debian.DebianPlugin$$anonfun$debianSettings$24.apply(DebianPlugin.scala:119)
    at com.typesafe.sbt.packager.debian.DebianPlugin$$anonfun$debianSettings$24.apply(DebianPlugin.scala:116)
    at scala.Function11$$anonfun$tupled$1.apply(Function11.scala:35)
    at scala.Function11$$anonfun$tupled$1.apply(Function11.scala:34)
    at scala.Function1$$anonfun$compose$1.apply(Function1.scala:47)
    at sbt.$tilde$greater$$anonfun$$u2219$1.apply(TypeFunctions.scala:42)
    at sbt.std.Transform$$anon$4.work(System.scala:64)
    at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:237)
    at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:237)
    at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:18)
    at sbt.Execute.work(Execute.scala:244)
    at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:237)
    at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:237)
    at sbt.ConcurrentRestrictions$$anon$4$$anonfun$1.apply(ConcurrentRestrictions.scala:160)
    at sbt.CompletionService$$anon$2.call(CompletionService.scala:30)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:744)

Here is my sbt:

import com.typesafe.sbt.SbtAspectj._
import com.typesafe.sbt.SbtNativePackager._
import NativePackagerKeys._

name := """adp-core"""

version := "1.0"

scalacOptions := Seq("-unchecked", "-deprecation", "-encoding", "utf8")

scalaVersion := "2.10.4"
//scalaVersion := "2.11.1"

fork in run := true

val adpCore = project in file(".") dependsOn adpCommon

lazy val adpCommon = RootProject(file("../adp-common"))


resolvers ++= Seq(
  "Akka Snapshot Repository" at "http://repo.akka.io/snapshots/",
  "ConSol* Labs Repository" at "http://labs.consol.de/maven/repository",
  "Typesafe Maven Repository" at "http://repo.typesafe.com/typesafe/maven-releases/",
  "ReactiveCouchbase Releases" at "https://raw.github.com/ReactiveCouchbase/repository/master/releases/",
  "ReactiveCouchbase Snapshots" at "https://raw.github.com/ReactiveCouchbase/repository/master/snapshots/",
  "Element Releases" at "http://repo.element.hr/nexus/content/repositories/releases/"
)

libraryDependencies ++= {
  val akkaVersion = "2.3-20150327-161435"
//  val akkaVersion = "2.4-SNAPSHOT"
  val camelVersion = "2.14.0"
  val kamonVersion = "0.3.5"
  Seq(
    "com.typesafe.akka" %% "akka-remote" % akkaVersion,
    "com.typesafe.akka" %% "akka-camel" % akkaVersion,
    "com.typesafe.akka" %% "akka-contrib" % akkaVersion,
    "com.typesafe.akka" %% "akka-kernel" % akkaVersion,
    "com.typesafe.akka" %% "akka-testkit" % akkaVersion,
    "com.typesafe.akka" %% "akka-cluster" % akkaVersion,
    "com.typesafe.akka" %% "akka-multi-node-testkit" % akkaVersion,
    "org.apache.camel" % "camel-core" % camelVersion,
    "org.apache.camel" % "camel-scala" % camelVersion,
    "org.apache.camel" % "camel-smpp" % camelVersion,
    "org.reactivecouchbase" %% "reactivecouchbase-core" % "0.4-SNAPSHOT",
    "com.couchbase.client" % "java-client" % "2.1.1",
    "io.kamon" %% "kamon-core" % kamonVersion,
    "io.kamon" %% "kamon-statsd" % kamonVersion,
    "io.kamon" %% "kamon-log-reporter" % kamonVersion,
    "io.kamon" %% "kamon-system-metrics" % kamonVersion,
    "org.slf4j" % "slf4j-api" % "1.7.2",
    "ch.qos.logback" % "logback-classic" % "1.0.7",
    "io.spray" %%  "spray-json" % "1.3.1",
    "org.aspectj" % "aspectjweaver" % "1.8.2",
    "org.jolokia" % "jolokia-jvm" % "1.2.2" classifier "agent",
    "org.scalatest" %% "scalatest" % "2.2.1" % "test"
  )
}

libraryDependencies ~= { _.map(_.exclude("org.slf4j", "slf4j-simple")) }

aspectjSettings

javaOptions in run <++= AspectjKeys.weaverOptions in Aspectj

javaOptions in run ++= Seq(
  "-Djava.library.path=src/linux/usr/share/sigar",
// or Use org.jolokia.jvmagent.JolokiaServer programatically
  "-javaagent:" + System.getProperty("user.home") + s"/.ivy2/cache/org.jolokia/jolokia-jvm/jars/jolokia-jvm-1.2.2-agent.jar=port=8181",
//"-XX:+ExtendedDTraceProbes"
  "-Xms256m"
)

val buildSettings = Defaults.defaultSettings ++ Seq(
  javaOptions += "-Xmx1G"
)

mainClass in Compile := Some("ir.behrad.adp.boot.Run")

Revolver.settings.settings

packageArchetype.java_server

//mappings in Universal <+= (packageBin in Compile, sourceDirectory ) map { (_, src) =>
//  (src / "main" / "resources" / "application.conf") -> "conf/application.conf"
//}

mappings in Universal ++= Seq(
  file("src/main/resources/application.conf") -> "conf/application.conf",
  file("src/main/resources/logback.xml") -> "conf/logback.xml"
)

bashScriptConfigLocation := Some("${app_home}/../conf/jvmopts")

maintainer in Linux := "Behrad Zari <[email protected]>"

packageSummary in Linux := "ADP Digital Co. Core Message Gateway"

packageDescription := "ADP Digital Co. Core Message Gateway"

rpmRelease := "1"

rpmVendor := "com.adpdigital"

rpmLicense := Some("Apache v2")

//https://github.com/kamon-io/Kamon/blob/master/kamon-examples/kamon-play-example/project/Build.scala

@kardapoltsev
Copy link
Member

bashScriptConfigLocation := Some("${app_home}/../conf/jvmopts")

Seems that ${app_home} wasn't replaced.

@behrad
Copy link
Author

behrad commented Apr 26, 2015

yes, thats the issue

@muuki88 muuki88 closed this as completed Apr 23, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants