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