new: compare /etc/* before create ._ file
This commit is contained in:
8
leaf
8
leaf
@@ -223,8 +223,12 @@ leaf_merge_package() {
|
||||
_group=$(stat -c %g ."${_item}")
|
||||
if [[ "${_item}" == /etc/* && -e "${_item}" ]]; then
|
||||
_item_conflict="$(dirname "${_item}")/._$(basename "${_item}").conflict_${PKG_NAME}_${_time}"
|
||||
install -D -m ${_mode} -o ${_owner} -g ${_group} ."${_item}" "${_item_conflict}"
|
||||
leaf_record_message "Config file confliction on ${_item}, the package provided version is installed as ${_item_conflict}."
|
||||
if (diff ."${_item}" "${_item}" > /dev/null); then
|
||||
install -D -m ${_mode} -o ${_owner} -g ${_group} ."${_item}" "${_item}"
|
||||
else
|
||||
install -D -m ${_mode} -o ${_owner} -g ${_group} ."${_item}" "${_item_conflict}"
|
||||
leaf_record_message "Config file confliction on ${_item}, the package provided version is installed as ${_item_conflict}."
|
||||
fi
|
||||
else
|
||||
install -D -m ${_mode} -o ${_owner} -g ${_group} ."${_item}" "${_item}"
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user