Skip to content

Commit

Permalink
Ensure RPM preinst script continues normally when rpmPrefix is not de…
Browse files Browse the repository at this point in the history
…clared

Use normal bash `if` statement as opposed to `[ -n "${MY_VAR}" ] && ...` as the latter
will cause the preinst script to fail if the condition check returns false
  • Loading branch information
fsat committed Sep 10, 2015
1 parent 1305e89 commit f8fbfd1
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 4 deletions.
Expand Up @@ -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
11 changes: 9 additions & 2 deletions src/sbt-test/rpm/sysvinit-rpm/build.sbt
Expand Up @@ -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)
()
}

0 comments on commit f8fbfd1

Please sign in to comment.