#!/usr/bin/bash -e # just in case of hidden files.. not sure why would someone do that, it's more # like forgotten cache file possibility, but rather do that.. shopt -s dotglob is_dir_empty() { test -z "$(ls -A $1)" } handle_dir() { # Move all files from $1 to $2 when the /etc/yum/$1 is not empty # and not already a link # Then remove the $1 directory and relink it to $2 # param $1: dirname under /etc/yum path # param $2: dirname under /etc/dnf path if [ "$(readlink /etc/yum/$1)" == "../dnf/$2" ]; then return fi if ! is_dir_empty "/etc/yum/$1"; then mv /etc/yum/$1/* /etc/dnf/$2/ fi rm -rf /etc/yum/$1 #relink ln -s ../dnf/$2 /etc/yum/$1 return 0 } # assume the directories are not removed by user.. handle_dir pluginconf.d plugins handle_dir protected.d protected.d handle_dir vars vars