Skip to content

Commit 0747c4a

Browse files
authored
Merge pull request #891 from mitch-seymour/patch-2
Adding rpm override script tests
2 parents 26a2765 + 787f289 commit 0747c4a

File tree

16 files changed

+151
-1
lines changed

16 files changed

+151
-1
lines changed

src/main/scala/com/typesafe/sbt/packager/archetypes/systemloader/SystemVPlugin.scala

+1-1
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ object SystemVPlugin extends AutoPlugin {
6565
Seq(
6666
// set the template
6767
linuxStartScriptTemplate := linuxStartScriptUrl(
68-
(sourceDirectory in Compile).value,
68+
sourceDirectory.value,
6969
serverLoading.value,
7070
"start-rpm-template"
7171
)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
enablePlugins(JavaServerAppPackaging, SystemdPlugin)
2+
3+
name := "rpm-test"
4+
5+
version := "0.1.0"
6+
7+
maintainer := "Mitch Seymour <[email protected]>"
8+
9+
packageSummary := "Test rpm package"
10+
11+
executableScriptName := "rpm-exec"
12+
13+
packageDescription := """A fun package description of our software,
14+
with multiple lines."""
15+
16+
rpmRelease := "1"
17+
18+
rpmVendor := "typesafe"
19+
20+
rpmUrl := Some("http://github.com/sbt/sbt-native-packager")
21+
22+
rpmLicense := Some("BSD")
23+
24+
rpmGroup := Some("test-group")
25+
26+
TaskKey[Unit]("unzip") <<= (packageBin in Rpm, streams) map { (rpmFile, streams) =>
27+
val rpmPath = Seq(rpmFile.getAbsolutePath)
28+
Process("rpm2cpio", rpmPath) #| Process("cpio -i --make-directories") ! streams.log
29+
()
30+
}
31+
32+
TaskKey[Unit]("checkStartupScript") <<= (target, streams) map { (target, out) =>
33+
val script = IO.read(file("usr/lib/systemd/system/rpm-test.service"))
34+
assert(script.startsWith("# right systemd template"), s"override script wasn't picked, script is\n$script")
35+
()
36+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
addSbtPlugin("com.typesafe.sbt" % "sbt-native-packager" % sys.props("project.version"))
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# check that old start template isn't picked
2+
# wrong start template
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# right systemd template
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# Run the rpm packaging.
2+
> rpm:package-bin
3+
$ exists target/rpm/RPMS/noarch/rpm-test-0.1.0-1.noarch.rpm
4+
5+
> unzip
6+
# Bootscript != executable Script
7+
$ exists /usr/lib/systemd/system/rpm-test.service
8+
# $ exists usr/share/rpm-test/bin/rpm-exec
9+
10+
> checkStartupScript
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
enablePlugins(JavaServerAppPackaging, SystemVPlugin)
2+
3+
name := "rpm-test"
4+
5+
version := "0.1.0"
6+
7+
maintainer := "Mitch Seymour <[email protected]>"
8+
9+
packageSummary := "Test rpm package"
10+
11+
executableScriptName := "rpm-exec"
12+
13+
packageDescription := """A fun package description of our software,
14+
with multiple lines."""
15+
16+
rpmRelease := "1"
17+
18+
rpmVendor := "typesafe"
19+
20+
rpmUrl := Some("http://github.com/sbt/sbt-native-packager")
21+
22+
rpmLicense := Some("BSD")
23+
24+
rpmGroup := Some("test-group")
25+
26+
TaskKey[Unit]("unzip") <<= (packageBin in Rpm, streams) map { (rpmFile, streams) =>
27+
val rpmPath = Seq(rpmFile.getAbsolutePath)
28+
Process("rpm2cpio", rpmPath) #| Process("cpio -i --make-directories") ! streams.log
29+
()
30+
}
31+
32+
TaskKey[Unit]("checkStartupScript") <<= (target, streams) map { (target, out) =>
33+
val script = IO.read(file("etc/init.d/rpm-test"))
34+
assert(script.startsWith("# right systemv template"), s"override script wasn't picked, script is\n$script")
35+
()
36+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
addSbtPlugin("com.typesafe.sbt" % "sbt-native-packager" % sys.props("project.version"))
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# check that old start template isn't picked
2+
# wrong start template
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# right systemv template
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# Run the rpm packaging.
2+
> rpm:package-bin
3+
$ exists target/rpm/RPMS/noarch/rpm-test-0.1.0-1.noarch.rpm
4+
5+
> unzip
6+
# Bootscript != executable Script
7+
$ exists etc/init.d/rpm-test
8+
# $ exists usr/share/rpm-test/bin/rpm-exec
9+
10+
> checkStartupScript
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
enablePlugins(JavaServerAppPackaging, UpstartPlugin)
2+
3+
name := "rpm-test"
4+
5+
version := "0.1.0"
6+
7+
maintainer := "Mitch Seymour <[email protected]>"
8+
9+
packageSummary := "Test rpm package"
10+
11+
executableScriptName := "rpm-exec"
12+
13+
packageDescription := """A fun package description of our software,
14+
with multiple lines."""
15+
16+
rpmRelease := "1"
17+
18+
rpmVendor := "typesafe"
19+
20+
rpmUrl := Some("http://github.com/sbt/sbt-native-packager")
21+
22+
rpmLicense := Some("BSD")
23+
24+
rpmGroup := Some("test-group")
25+
26+
TaskKey[Unit]("unzip") <<= (packageBin in Rpm, streams) map { (rpmFile, streams) =>
27+
val rpmPath = Seq(rpmFile.getAbsolutePath)
28+
Process("rpm2cpio", rpmPath) #| Process("cpio -i --make-directories") ! streams.log
29+
()
30+
}
31+
32+
TaskKey[Unit]("checkStartupScript") <<= (target, streams) map { (target, out) =>
33+
val script = IO.read(file("etc/init/rpm-test.conf"))
34+
assert(script.startsWith("# right upstart template"), s"override script wasn't picked, script is\n$script")
35+
()
36+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
addSbtPlugin("com.typesafe.sbt" % "sbt-native-packager" % sys.props("project.version"))
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# check that old start template isn't picked
2+
# wrong start template
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# right upstart template
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# Run the rpm packaging.
2+
> rpm:package-bin
3+
$ exists target/rpm/RPMS/noarch/rpm-test-0.1.0-1.noarch.rpm
4+
5+
> unzip
6+
# Bootscript != executable Script
7+
$ exists etc/init/rpm-test.conf
8+
# $ exists usr/share/rpm-test/bin/rpm-exec
9+
10+
> checkStartupScript

0 commit comments

Comments
 (0)