#!/usr/bin/bash
#######################
# Make sure some unused services are disabled.
# Dependent on running in an 'upgrade' or 'new install' context.
#######################

function disable_service() {
    if type systemctl &>/dev/null; then
        systemctl disable $1 2>/dev/null
    else
        /sbin/chkconfig $1 off 2>/dev/null
    fi
}

if [ "$1" == "new" ]; then
    disable_service apmd
    disable_service acpid
    disable_service autofs
    disable_service avahi-daemon
    disable_service avahi-dnsconfd
    disable_service bluetooth
    disable_service chronyd
    disable_service cpuspeed
    disable_service cups
    disable_service firstboot
    disable_service gpm
    disable_service hidd
    disable_service irda
    disable_service iscsi
    disable_service iscsid
    disable_service kudzu
    disable_service mdmonitor
    disable_service mdmpd
    disable_service ndt
    disable_service netfs
    disable_service nfs
    disable_service nfslock
    disable_service npad
    disable_service pcscd
    disable_service portmap
    disable_service psacct
    disable_service readahead_early
    disable_service readahead_later
    disable_service rpcbind
    disable_service rpcgssd
    disable_service rpcidmapd
    disable_service rpcsvcgssd
    disable_service smartd
    disable_service tuned
    disable_service ypbind
    disable_service yum-updatesd

    # NetworkManager gets disabled on EL8 and earlier and left alone
    # on EL9+.

    if [ -e /etc/redhat-release ]
    then
        MAJOR_VERSION=$(sed -e 's/^.*release\s\+//; s/[^0-9].*$//' /etc/redhat-release)
        if [ "${MAJOR_VERSION}" -lt 9 ]
        then
            disable_service NetworkManager
        fi
    fi

fi
