@ -28,7 +28,7 @@ source "$where"/customization.cfg
# Load external configuration file if present. Available variable values will overwrite customization.cfg ones.
if [ -e " $_EXT_CONFIG_PATH " ] ; then
source " $_EXT_CONFIG_PATH " && msg2 " External configuration file $_EXT_CONFIG_PATH will be used to override customization.cfg values." && msg2 ""
source " $_EXT_CONFIG_PATH " && msg2 " External configuration file ' $_EXT_CONFIG_PATH ' will be used to override customization.cfg values." && plain ""
fi
# Auto-add kernel userpatches to source
@ -126,6 +126,42 @@ if [ -e options ]; then
source options
fi
# Check if the version we are going for is newer or not if enabled
if [ [ " $_only_update_if_newer " = = "true" ] ] ; then
# Check current version, if possible
if pacman -Qs "nvidia-utils" >/dev/null; then
# We have enough packages installed to get the version
# returns a string, like "460.39" or "455.45.01"
# HACK Checks the first nvidia-utils match, does not catch potential missmatches and other stuff
_current_version = $( pacman -Q "nvidia-utils" | grep -oP '\d+(\.\d+)+' | head -n 1)
_current_package_example = $( pacman -Q "nvidia-utils" | grep -oP '[a-z]+(\-[a-z]+)+' | head -n 1)
msg2 " Found version $_current_version installed (from package ' $_current_package_example ') "
## HACK Stupid string compare
## TODO Ensure that nvidia versions do not differ from this format
if [ [ $_driver_version > $_current_version ] ] ; then
# We have a newer version to install, do nothing
msg2 " Selected version ( $_driver_version , $_driver_branch ) is newer than installed version, continuing. "
else
# Older version, or at least not newer version
msg2 " Selected version ( $_driver_version , $_driver_branch ) is not newer than installed version, exiting. "
plain ""
if [ -e " $_EXT_CONFIG_PATH " ] ; then
plain " If this is not intended, have a look at ' $_EXT_CONFIG_PATH ' "
else
plain "If this is not intended, have a look at '" $where "/customization.cfg'"
fi
# We shouldn't have done anything yet, so no cleanup needed?
exit 0
fi
else
warning "'\$_only_update_if_newer' is enabled, but no installed driver found."
warning "Continuing on as if '\$_only_update_if_newer' was not enabled."
plain ""
fi
fi
msg2 " Building driver version $_driver_version on branch $_driver_branch . "
# Skip header check for dkms-only builds with explicit target kernel version