summarylogtreecommitdiffstats
path: root/mhwd-db.install
diff options
context:
space:
mode:
Diffstat (limited to 'mhwd-db.install')
-rw-r--r--mhwd-db.install88
1 files changed, 88 insertions, 0 deletions
diff --git a/mhwd-db.install b/mhwd-db.install
new file mode 100644
index 000000000000..e2741127fdcd
--- /dev/null
+++ b/mhwd-db.install
@@ -0,0 +1,88 @@
+#!/bin/sh
+# arg 1: the new package version
+# arg 2: the old package version
+
+local_config_dir="/var/lib/mhwd/local/pci"
+db_config_dir="/var/lib/mhwd/db/pci"
+
+err() {
+ ALL_OFF="\e[1;0m"
+ BOLD="\e[1;1m"
+ RED="${BOLD}\e[1;31m"
+ local mesg=$1; shift
+ printf "${RED}==>${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&2
+}
+
+msg() {
+ ALL_OFF="\e[1;0m"
+ BOLD="\e[1;1m"
+ GREEN="${BOLD}\e[1;32m"
+ local mesg=$1; shift
+ printf "${GREEN}==>${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&2
+}
+
+# $1: old config name
+# $2: new config name
+# $3: new config path
+rename_config() {
+ if [ -e "${local_config_dir}/${1}/MHWDCONFIG" ] ; then
+ msg "Renaming config: '${local_config_dir}/${1}'"
+ mkdir -p ${local_config_dir}/${2}
+ cp -f ${db_config_dir}/graphic_drivers/${3}/MHWDCONFIG ${local_config_dir}/${2}/MHWDCONFIG
+ rm -Rf ${local_config_dir}/${1}
+ fi
+}
+
+update_configs() {
+ local_configs=$(ls ${local_config_dir})
+ db_configs="$(ls ${db_config_dir}/graphic_drivers) $(ls ${db_config_dir}/network_drivers)"
+
+ # Rename old configs
+ rename_config "video-hybrid-amd-nvidia-dkms-prime-render-offloading" "video-nvidia-prime-render-offload" "nvidia-prime-render-offload"
+ rename_config "video-hybrid-intel-nvidia-dkms-prime-render-offloading" "video-nvidia-prime-render-offload" "nvidia-prime-render-offload"
+ rename_config "video-hybrid-amd-chaotic-nvidia-dev-dkms-tkg-prime-render-offloading" "video-chaotic-nvidia-dev-tkg-prime-render-offload" "chaotic-nvidia-dev-tkg-prime-render-offload"
+ rename_config "video-hybrid-intel-chaotic-nvidia-dev-dkms-tkg-prime-render-offloading" "video-chaotic-nvidia-dev-tkg-prime-render-offload" "chaotic-nvidia-dev-tkg-prime-render-offload"
+ rename_config "video-hybrid-amd-chaotic-nvidia-dkms-tkg-prime-render-offloading" "video-chaotic-nvidia-tkg-prime-render-offload" "chaotic-nvidia-tkg-prime-render-offload"
+ rename_config "video-hybrid-intel-chaotic-nvidia-dkms-tkg-prime-render-offloading" "video-chaotic-nvidia-tkg-prime-render-offload" "chaotic-nvidia-tkg-prime-render-offload"
+
+ # check for newer configs
+ for db_config in ${db_configs} ; do
+ if [ -e "${db_config_dir}/graphic_drivers/${db_config}/MHWDCONFIG" ] ; then
+ . "${db_config_dir}/graphic_drivers/${db_config}/MHWDCONFIG"
+ elif [ -e "${db_config_dir}/network_drivers/${db_config}/MHWDCONFIG" ] ; then
+ . "${db_config_dir}/network_drivers/${db_config}/MHWDCONFIG"
+ else
+ continue
+ fi
+ db_config_ver=${VERSION}
+ if [ -e "${local_config_dir}/${NAME}/MHWDCONFIG" ] ; then
+ . "${local_config_dir}/${NAME}/MHWDCONFIG"
+ local_config_ver=${VERSION}
+ if [ "$(echo ${local_config_ver} | sed -e 's/\.//g')" -lt "$(echo ${db_config_ver} | sed -e 's/\.//g')" ]; then
+ msg "Updating Config: '${local_config_dir}/${NAME}'"
+ if [ -e "${db_config_dir}/graphic_drivers/${db_config}/MHWDCONFIG" ] ; then
+ cp -f ${db_config_dir}/graphic_drivers/${db_config}/MHWDCONFIG ${local_config_dir}/${NAME}
+ else
+ cp -f ${db_config_dir}/network_drivers/${db_config}/MHWDCONFIG ${local_config_dir}/${NAME}
+ fi
+ fi
+ fi
+ done
+ # Update outdated configs
+ if [ -e "${local_config_dir}/video-nvidia/MHWDCONFIG" ] ; then
+ msg "Updating Config: '${local_config_dir}/video-nvidia-430xx'"
+ mkdir -p ${local_config_dir}/video-nvidia-430xx
+ cp -f ${db_config_dir}/graphic_drivers/nvidia-430xx/MHWDCONFIG ${local_config_dir}/video-nvidia-430xx/MHWDCONFIG
+ rm -Rf ${local_config_dir}/video-nvidia
+ fi
+ if [ -e "${local_config_dir}/video-hybrid-intel-nvidia-bumblebee/MHWDCONFIG" ] ; then
+ msg "Updating Config: '${local_config_dir}/video-hybrid-intel-nvidia-430xx-bumblebee'"
+ mkdir -p ${local_config_dir}/video-hybrid-intel-nvidia-430xx-bumblebee
+ cp -f ${db_config_dir}/graphic_drivers/hybrid-intel-nvidia-430xx-bumblebee/MHWDCONFIG ${local_config_dir}/video-hybrid-intel-nvidia-430xx-bumblebee/MHWDCONFIG
+ rm -Rf ${local_config_dir}/video-hybrid-intel-nvidia-bumblebee
+ fi
+}
+
+post_upgrade() {
+ update_configs
+}