From 0fab85013ef072414d780daf5b08af761ccf6db2 Mon Sep 17 00:00:00 2001 From: Jan Grulich Date: Tue, 7 Apr 2015 12:56:27 +0200 Subject: [PATCH 5/6] Check whether 99-sap-limits.conf file exists to prevent an error while trying to update it Also check whether required configuration is already configured in limits.conf file BUG:1205229 --- sapconf | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) mode change 100644 => 100755 sapconf diff --git a/sapconf b/sapconf old mode 100644 new mode 100755 index 5bd8dcd..58096fe --- a/sapconf +++ b/sapconf @@ -383,17 +383,31 @@ fi #[ $ec -eq 0 ] function update_limits_conf() { local date olds oldval news newval LIMITS LIMITS=/etc/security/limits.d/99-sap-limits.conf + LIMITS_CONF=/etc/security/limits.conf date=`date -u +"%Y-%m-%d %H:%M:%S %Z"` newval=($1 $2 $3 $4) news=${newval[*]} - olds=`tac "$LIMITS" | grep -E "^[^#]*$1" | grep "$2" | grep -m1 "$3"` + + olds=`tac "$LIMITS_CONF" | grep -E "^[^#]*$1" | grep "$2" | grep -m1 "$3"` if [ $? -eq 0 ]; then # entry there, update oldval=($olds); if [ "${oldval[3]}" != "${newval[3]}" ]; then - sed -i "s@$olds@# Changed by sapconf on $date\n#&\n$news@" "$LIMITS" + sed -i "s/$olds/# Changed by sapconf on $date\n#\ &\n$news/" "$LIMITS_CONF" + fi + else + if [ -e "$LIMITS" ]; then + olds=`tac "$LIMITS" | grep -E "^[^#]*$1" | grep "$2" | grep -m1 "$3"` + if [ $? -eq 0 ]; then # entry there, update + oldval=($olds); + if [ "${oldval[3]}" != "${newval[3]}" ]; then + sed -i "s/$olds/# Changed by sapconf on $date\n#\ &\n$news/" "$LIMITS" + fi + else # no entry, make one + echo -e "# Added by sapconf on $date\n$news" >> "$LIMITS" + fi + else + echo -e "# Added by sapconf on $date\n$news" >> "$LIMITS" fi - else # no entry, make one - echo -e "# Added by sapconf on $date\n$news" >> "$LIMITS" fi } -- 2.1.0