diff --git a/src/main/resources/com/typesafe/sbt/packager/archetypes/java_server/rpm/preinst-template b/src/main/resources/com/typesafe/sbt/packager/archetypes/java_server/rpm/preinst-template index 4a1dff4d0..088b148f9 100644 --- a/src/main/resources/com/typesafe/sbt/packager/archetypes/java_server/rpm/preinst-template +++ b/src/main/resources/com/typesafe/sbt/packager/archetypes/java_server/rpm/preinst-template @@ -10,5 +10,12 @@ then addUser ${{daemon_user}} "${{daemon_user_uid}}" ${{daemon_group}} "${{app_name}} user-daemon" "${{daemon_shell}}" fi -[ -e /etc/sysconfig/${{app_name}} ] && sed -i 's/PACKAGE_PREFIX\=.*//g' /etc/sysconfig/${{app_name}} -[ -n "$RPM_INSTALL_PREFIX" ] && echo "PACKAGE_PREFIX=${RPM_INSTALL_PREFIX}" >> /etc/sysconfig/${{app_name}} +if [ -e /etc/sysconfig/${{app_name}} ] ; +then + sed -i 's/PACKAGE_PREFIX\=.*//g' /etc/sysconfig/${{app_name}} +fi + +if [ -n "$RPM_INSTALL_PREFIX" ] ; +then + echo "PACKAGE_PREFIX=${RPM_INSTALL_PREFIX}" >> /etc/sysconfig/${{app_name}} +fi diff --git a/src/sbt-test/rpm/sysvinit-rpm/build.sbt b/src/sbt-test/rpm/sysvinit-rpm/build.sbt index 771cac1f3..4fbc3b168 100644 --- a/src/sbt-test/rpm/sysvinit-rpm/build.sbt +++ b/src/sbt-test/rpm/sysvinit-rpm/build.sbt @@ -46,8 +46,15 @@ TaskKey[Unit]("check-spec-file") <<= (target, streams) map { (target, out) => assert(spec contains "deleteUser rpm-test", "deleteUser rpm not present in \n" + spec) assert(spec contains """ - |[ -e /etc/sysconfig/rpm-test ] && sed -i 's/PACKAGE_PREFIX\=.*//g' /etc/sysconfig/rpm-test - |[ -n "$RPM_INSTALL_PREFIX" ] && echo "PACKAGE_PREFIX=${RPM_INSTALL_PREFIX}" >> /etc/sysconfig/rpm-test + |if [ -e /etc/sysconfig/rpm-test ] ; + |then + | sed -i 's/PACKAGE_PREFIX\=.*//g' /etc/sysconfig/rpm-test + |fi + | + |if [ -n "$RPM_INSTALL_PREFIX" ] ; + |then + | echo "PACKAGE_PREFIX=${RPM_INSTALL_PREFIX}" >> /etc/sysconfig/rpm-test + |fi |""".stripMargin, "Persisting $RPM_INSTALL_PREFIX not present in \n" + spec) () }