Sindbad~EG File Manager

Current Path : /var/lib/dpkg/info/
Upload File :
Current File : /var/lib/dpkg/info/omi.preinst

#!/bin/sh

# Verify that the proper version of SSL is installed
is_suse11_platform_with_openssl1(){
  if [ -e /etc/SuSE-release ];then
     VERSION=`cat /etc/SuSE-release|grep "VERSION = 11"|awk 'FS=":"{print $3}'`
     if [ ! -z "$VERSION" ];then
        which openssl1>/dev/null 2>&1
        if [ $? -eq 0 -a $VERSION -eq 11 ];then
           return 0
        fi
     fi
  fi
  return 1
}

is_suse11_platform_with_openssl1

if [ $? -eq 0 ];then
   SSL_VERSION=`openssl1 version | awk '{print $2}'`
else
   SSL_VERSION=`openssl version | awk '{print $2}'`
fi
case "$SSL_VERSION" in
    1.0.*)
        SSL_FOUND=1.0.0
        ;;
    1.1.*)
        SSL_FOUND=1.1.0
        ;;
    *)
        echo "Preinstall script error: Unrecognized version of SSL on the system: $SSL_VERSION" >&2
        exit 2
        ;;
esac

if [ "$SSL_FOUND" != "1.1.0" ]; then
    echo "Expecting SSL version (compatible with): 1.1.0" >&2
    echo "SSL version found on system:             ${SSL_VERSION}" >&2
    echo "" >&2
    echo "Incorrect version of OMI for your system, please check SSL version." >&2
    exit 3
fi

# Various distributions have different paths for systemd unit files ...

SYSTEMD_UNIT_DIR=""
ResolveSystemdPaths()
{
    local UNIT_DIR_LIST="/usr/lib/systemd/system /lib/systemd/system"

    if [ -d /run/systemd/system ]; then
        # Find systemd unit directory
        for i in ${UNIT_DIR_LIST}; do
            if [ -d $i ]; then
                SYSTEMD_UNIT_DIR=${i}
                return 0
            fi
        done

        # Didn't fine unit directory, that's fatal
        echo "FATAL: Unable to resolve systemd unit directory!" 1>&2
        exit 1
    else
	return 1
    fi
}

RemoveGenericService() {
    if [ -f /etc/.omi_disable_service_control ]; then
        return 0
    fi

    SERVICE=$1
    if [ -z "$SERVICE" ]; then
        echo "FATAL: RemoveGenericService requires parameter (service name)" 1>&2
        exit 1
    fi

    # Stop the service in case it's running

    ResolveSystemdPaths
    # Does systemd install on this system
    if [ -d /run/systemd/system ]; then
        # Do we have a systemd unit file?
        if [ -f ${SYSTEMD_UNIT_DIR}/${SERVICE}.service ]; then
            /bin/systemctl stop ${SERVICE}
        fi
    fi

    if  [ -f /etc/init/${SERVICE}.conf ]; then
        initctl stop omid
    fi

    if [ -f /etc/init.d/${SERVICE} ]; then
        if [ -x /bin/systemctl ]; then
            /bin/systemctl stop ${SERVICE}
        elif [ -x /sbin/service ]; then
            /sbin/service ${SERVICE} stop
        elif [ -x /usr/sbin/service ]; then
            /usr/sbin/service ${SERVICE} stop
        elif [ -x /usr/sbin/invoke-rc.d ]; then
            /usr/sbin/invoke-rc.d ${SERVICE} stop
        else
            echo "Unrecognized service controller to stop ${SERVICE} service" 1>&2
            exit 1
        fi
    fi

    # Registered as a systemd service?
    #
    # Note: We've never deployed systemd unit files automatically in the %Files
    # section. Thus, for systemd services, it's safe to remove the file.

    if [ -f ${SYSTEMD_UNIT_DIR}/${SERVICE}.service ]; then
        echo "Unconfiguring ${SERVICE} (systemd) service ..."
        /bin/systemctl disable ${SERVICE}
        rm -f ${SYSTEMD_UNIT_DIR}/${SERVICE}.service
        /bin/systemctl daemon-reload
    fi

    if [ -f /etc/init/omid.conf ]; then
        echo "Unconfiguring omid (upstart) service ..."
        rm -f /usr/init/omid.conf
        initctl reload-configuration
    fi

    if [ -f /etc/init.d/${SERVICE} ]; then
        echo "Unconfiguring ${SERVICE} service ..."
        if [ -f /usr/sbin/update-rc.d ]; then
            /usr/sbin/update-rc.d -f ${SERVICE} remove
        elif [ -x /usr/lib/lsb/remove_initd ]; then
            /usr/lib/lsb/remove_initd /etc/init.d/${SERVICE}
        elif [ -x /sbin/chkconfig ]; then
            chkconfig --del ${SERVICE} > /dev/null
        else
            echo "Unrecognized Service Controller to unregister ${SERVICE} Service."
            exit 1
        fi
    fi
}

StopOmiService() {
    /opt/omi/bin/service_control stop
}

RemoveOmiService() {
    if [ -f /etc/.omi_disable_service_control ]; then
        return 0
    fi

    RemoveGenericService omid
    [ -f /etc/init.d/omid ] && rm /etc/init.d/omid
    [ -f /etc/init/omid.conf ] && rm /etc/init/omid.conf
}

ConfigureOmiService() {
    # If the marker file /etc/.omi_disable_service_control exists,
    # OMI will not be configured with service manager. This may be used in a container
    # environment, where service manager does not work reliably.
    if [ ! -f /etc/.omi_disable_service_control ]; then
      echo "Configuring OMI service ..."
      if [ -d /run/systemd/system ]; then
          # systemd
          ResolveSystemdPaths
          cp /opt/omi/bin/support/omid.systemd ${SYSTEMD_UNIT_DIR}/omid.service
          /bin/systemctl daemon-reload
          /bin/systemctl enable omid
      elif [ -x /sbin/initctl -a -f /etc/init/networking.conf -a ! -z "$(/sbin/initctl list >/dev/null 2>&1 && echo $?)" ]; then
          # If we have /sbin/initctl, we have upstart.
          # Note that the upstart script requires networking,
          # so only use upstart if networking is controlled by upstart (not the case in RedHat 6)
          cp /opt/omi/bin/support/omid.upstart /etc/init/omid.conf

          # initctl registers it with upstart
          initctl reload-configuration
      else
          cp /opt/omi/bin/support/omid.initd /etc/init.d/omid

          if [ -x /usr/sbin/update-rc.d ]; then
              update-rc.d omid defaults > /dev/null
          elif [ -x /usr/lib/lsb/install_initd ]; then
              /usr/lib/lsb/install_initd /etc/init.d/omid
          elif [ -x /sbin/chkconfig ]; then
              chkconfig --add omid > /dev/null
          else
              echo "Unrecognized Service Controller to configure OMI Service."
              exit 1
          fi
      fi
    fi
    
    /opt/omi/bin/service_control start
}

ConfigureCronForLogRotate()
{
    echo "Checking if cron is installed..."
    # warn user that he need to install cron if cron doesn't install
    which cron >/dev/null 2>&1
    if [ $? -ne 0 ]; then
        which crond >/dev/null 2>&1
        if [ $? -ne 0 ]; then
            echo "WARNING: LogRotate can't be enabled, please install cron at first!"
            return
        fi
    fi

    echo "Checking if cron/crond service is started..."
    # warn user that he need to start cron/crond service if cron doesn't start
    cronid=$(pidof cron > /dev/null 2>&1)
    crondid=$(pidof crond > /dev/null 2>&1)
    if [ ! -z "$cronid" -a ! -z "$crondid" ]; then
        echo "WARNING: LogRotate can be enabled, but please start cron/crond service!"
    fi

    echo "Set up a cron job to OMI logrotate every 15 minutes"
    # create the cron file if it doesn't exist
    if [ ! -f /etc/cron.d/omilogrotate ]; then
        (echo "*/15 * * * * root /usr/sbin/logrotate /etc/logrotate.d/omi --state /var/opt/omi/log/omi-logrotate.status >/dev/null 2>&1" > /etc/cron.d/omilogrotate) > /dev/null 2>&1
    fi
}


RemoveGenericService omiserverd
RemoveGenericService scx-cimd
RemoveOmiService

egrep -q "^omiusers:" /etc/group
if [ $? -ne 0 ]; then
    echo "Creating omiusers group ..."
    groupadd -r omiusers
fi
egrep -q "^omi:" /etc/group
if [ $? -ne 0 ]; then
    echo "Creating omi group ..."
    groupadd -r omi
fi

egrep -q "^omi:" /etc/passwd
if [ $? -ne 0 ]; then
    echo "Creating omi service account ..."
    useradd -g omi -s /bin/false -r omi
fi


exit 0

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists