diff --git a/src/main/scala/com/typesafe/sbt/packager/GenericPackageSettings.scala b/src/main/scala/com/typesafe/sbt/packager/GenericPackageSettings.scala index 42ecfdffd..a66f1d365 100644 --- a/src/main/scala/com/typesafe/sbt/packager/GenericPackageSettings.scala +++ b/src/main/scala/com/typesafe/sbt/packager/GenericPackageSettings.scala @@ -88,7 +88,7 @@ trait GenericPackageSettings if !file.isDirectory if name startsWith "bin/" if !(name endsWith ".bat") // IGNORE windows-y things. - } yield LinuxSymlink("/usr/" + name, installLocation.stripPrefix("/usr/")+"/"+pkg+"/"+name) + } yield LinuxSymlink("/usr/" + name, installLocation+"/"+pkg+"/"+name) }, // Map configuration files linuxPackageSymlinks <++= (normalizedName in Universal, mappings in Universal, defaultLinuxInstallLocation) map { (pkg, mappings, installLocation) => diff --git a/src/sbt-test/debian/upstart-deb/build.sbt b/src/sbt-test/debian/upstart-deb/build.sbt index bec91bc91..67390d4cc 100644 --- a/src/sbt-test/debian/upstart-deb/build.sbt +++ b/src/sbt-test/debian/upstart-deb/build.sbt @@ -31,3 +31,13 @@ TaskKey[Unit]("check-control-files") <<= (target, streams) map { (target, out) = () } +InputKey[Unit]("check-softlink") <<= inputTask { (argTask: TaskKey[Seq[String]]) => + (argTask) map { (args: Seq[String]) => + assert(args.size >= 2, "Usage: check-softlink link to target") + val link = args(0) + val target = args(args.size - 1) + val absolutePath = ("readlink -m " + link).!!.trim + assert(link != absolutePath, "Expected symbolic link '" + link + "' does not exist") + assert(target == absolutePath, "Expected symbolic link '" + link + "' to point to '" + target + "', but instead it's '" + absolutePath + "'") + } +} diff --git a/src/sbt-test/debian/upstart-deb/test b/src/sbt-test/debian/upstart-deb/test index 4949f1a21..050ce9630 100644 --- a/src/sbt-test/debian/upstart-deb/test +++ b/src/sbt-test/debian/upstart-deb/test @@ -12,3 +12,4 @@ $ exists target/debian-test-0.1.0/DEBIAN/postinst # Check files for defaults > check-control-files +> check-softlink target/debian-test-0.1.0/usr/bin/debian-test points to /usr/share/debian-test/bin/debian-test