Skip to content

Commit 4e83b83

Browse files
authored
FIX #855 Syntax Error on RPM Uninstall (#860)
1 parent d474fd7 commit 4e83b83

File tree

3 files changed

+18
-15
lines changed

3 files changed

+18
-15
lines changed

src/main/resources/com/typesafe/sbt/packager/archetypes/java_server/rpm/postun-template

+5-4
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,12 @@ then
1010
echo "Try deleting system user and group [${{daemon_user}}:${{daemon_group}}]"
1111
if getent passwd | grep -q "^${{daemon_user}}:";
1212
then
13-
echo "Deleting system user: ${{daemon_user}}"
14-
deleteUser ${{daemon_user}}
13+
echo "Deleting system user: ${{daemon_user}}"
14+
deleteUser ${{daemon_user}}
1515
fi
1616
if getent group | grep -q "^${{daemon_group}}:" ;
1717
then
18-
echo "Deleting system group: ${{daemon_group}}"
19-
deleteGroup ${{daemon_group}}
18+
echo "Deleting system group: ${{daemon_group}}"
19+
deleteGroup ${{daemon_group}}
20+
fi
2021
fi

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

+9-6
Original file line numberDiff line numberDiff line change
@@ -92,11 +92,11 @@ object SystemloaderPlugin extends AutoPlugin {
9292
maintainerScripts.value,
9393
linuxScriptReplacements.value
9494
)(
95-
DebianConstants.Postinst -> s"""|# ${serverLoading.value} support
95+
DebianConstants.Postinst -> s"""|# ${getOrUnsupported(serverLoading.value)} support
9696
|$${{loader-functions}}
9797
|${addAndStartService(serviceAutostart.value)}
9898
|""".stripMargin,
99-
DebianConstants.Prerm -> s"""|# ${serverLoading.value} support
99+
DebianConstants.Prerm -> s"""|# ${getOrUnsupported(serverLoading.value)} support
100100
|$${{loader-functions}}
101101
|stopService $${{app_name}} || echo "$${{app_name}} wasn't even running!"
102102
|""".stripMargin
@@ -109,7 +109,7 @@ object SystemloaderPlugin extends AutoPlugin {
109109
maintainerScripts.value,
110110
linuxScriptReplacements.value
111111
)(
112-
RpmConstants.Post -> s"""|# ${serverLoading.value} support
112+
RpmConstants.Post -> s"""|# ${getOrUnsupported(serverLoading.value)} support
113113
|$${{loader-functions}}
114114
|# Scriptlet syntax: http://fedoraproject.org/wiki/Packaging:ScriptletSnippets#Syntax
115115
|# $$1 == 1 is first installation and $$1 == 2 is upgrade
@@ -118,12 +118,13 @@ object SystemloaderPlugin extends AutoPlugin {
118118
|${addAndStartService(serviceAutostart.value, " ")}
119119
|fi
120120
|""".stripMargin,
121-
RpmConstants.Postun -> s"""|# ${serverLoading.value} support
122-
|if [ $$1 -ge 1 ]
121+
RpmConstants.Postun -> s"""|# ${getOrUnsupported(serverLoading.value)} support
122+
|if [ $$1 -ge 1 ] ;
123+
|then
123124
| restartService $${{app_name}} || echo "Failed to try-restart $${{app_name}}"
124125
|fi
125126
|""".stripMargin,
126-
RpmConstants.Preun -> s"""|# ${serverLoading.value} support
127+
RpmConstants.Preun -> s"""|# ${getOrUnsupported(serverLoading.value)} support
127128
|$${{loader-functions}}
128129
|if [ $$1 -eq 0 ] ;
129130
|then
@@ -162,4 +163,6 @@ object SystemloaderPlugin extends AutoPlugin {
162163
)
163164
}
164165

166+
private def getOrUnsupported(serverLoader: Option[ServerLoader]): String = serverLoader.map(_.toString).getOrElse("No system loader")
167+
165168
}

src/sbt-test/rpm/sysvinit-rpm/build.sbt

+4-5
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
2+
13
enablePlugins(JavaServerAppPackaging, SystemVPlugin)
24

35
name := "rpm-test"
@@ -40,7 +42,6 @@ TaskKey[Unit]("unzipAndCheck") <<= (baseDirectory, packageBin in Rpm, streams) m
4042

4143
TaskKey[Unit]("check-spec-file") <<= (target, streams) map { (target, out) =>
4244
val spec = IO.read(target / "rpm" / "SPECS" / "rpm-test.spec")
43-
println(spec)
4445
assert(spec contains "addGroup rpm-test", "addGroup not present in \n" + spec)
4546
assert(spec contains "addUser rpm-test", "Incorrect useradd command in \n" + spec)
4647
assert(spec contains "deleteGroup rpm-test", "deleteGroup not present in \n" + spec)
@@ -126,7 +127,6 @@ TaskKey[Unit]("check-spec-file") <<= (target, streams) map { (target, out) =>
126127

127128
TaskKey[Unit]("check-spec-autostart") <<= (target, streams) map { (target, out) =>
128129
val spec = IO.read(target / "rpm" / "SPECS" / "rpm-test.spec")
129-
println(spec)
130130
assert(spec contains
131131
"""
132132
|# Scriptlet syntax: http://fedoraproject.org/wiki/Packaging:ScriptletSnippets#Syntax
@@ -141,9 +141,8 @@ TaskKey[Unit]("check-spec-autostart") <<= (target, streams) map { (target, out)
141141
()
142142
}
143143

144-
TaskKey[Unit]("check-spec-no-autostart") <<= (target, streams) map { (target, out) =>
145-
val spec = IO.read(target / "rpm" / "SPECS" / "rpm-test.spec")
146-
println(spec)
144+
TaskKey[Unit]("check-spec-no-autostart") := {
145+
val spec = IO.read(target.value / "rpm" / "SPECS" / "rpm-test.spec")
147146
assert(spec contains
148147
"""
149148
|# Scriptlet syntax: http://fedoraproject.org/wiki/Packaging:ScriptletSnippets#Syntax

0 commit comments

Comments
 (0)