Lines 77-86
scan() {
Link Here
|
77 |
[[ ! -f ${path} ]] && continue |
77 |
[[ ! -f ${path} ]] && continue |
78 |
local my_basename="${path##*/}" |
78 |
local my_basename="${path##*/}" |
79 |
path="${path%/*}" |
79 |
path="${path%/*}" |
80 |
find_opts=( -maxdepth 1 -name "._cfg????_${my_basename}" ) |
80 |
find_opts=( -maxdepth 1 \( -name "._cfg????_${my_basename}" -o -name "${my_basename}.rpmnew" \) ) |
81 |
else |
81 |
else |
82 |
# Do not traverse hidden directories such as .svn or .git. |
82 |
# Do not traverse hidden directories such as .svn or .git. |
83 |
find_opts=( -name '.*' -type d -prune -o -name '._cfg????_*' ) |
83 |
find_opts=( -name '.*' -type d -prune -o \( -name '._cfg????_*' -o -name '*.rpmnew' \) ) |
84 |
fi |
84 |
fi |
85 |
find_opts+=( ! -name '.*~' ! -iname '.*.bak' -print ) |
85 |
find_opts+=( ! -name '.*~' ! -iname '.*.bak' -print ) |
86 |
|
86 |
|
Lines 93-99
scan() {
Link Here
|
93 |
for file in $(find "${path}"/ "${find_opts[@]}" | |
93 |
for file in $(find "${path}"/ "${find_opts[@]}" | |
94 |
sed \ |
94 |
sed \ |
95 |
-e 's://*:/:g' \ |
95 |
-e 's://*:/:g' \ |
96 |
-e "s:\(^.*/\)\(\._cfg[0-9]*_\)\(.*$\):\1\2\3$b\1$b\2$b\3:" | |
96 |
-e "s:\(^.*/\)\(\._cfg[0-9]*_\)\(.*$\):\1\2\3$b\1$b\2$b\3:" \ |
|
|
97 |
-e "s:\(^.*/\)\(.*\)\(\.rpmnew\):\1\2\3$b\1$b\3$b\2:" | |
97 |
sort -t"$b" -k2,2 -k4,4 -k3,3 | |
98 |
sort -t"$b" -k2,2 -k4,4 -k3,3 | |
98 |
LC_ALL=C cut -f1 -d"$b") |
99 |
LC_ALL=C cut -f1 -d"$b") |
99 |
do |
100 |
do |
Lines 101-107
scan() {
Link Here
|
101 |
rpath=${file%/*} |
102 |
rpath=${file%/*} |
102 |
rfile=${file##*/} |
103 |
rfile=${file##*/} |
103 |
cfg_file="${rpath}/${rfile}" |
104 |
cfg_file="${rpath}/${rfile}" |
104 |
live_file="${rpath}/${rfile:10}" |
105 |
live_file="${cfg_file%.rpmnew}" |
|
|
106 |
[[ "${live_file}" != "${cfg_file}" ]] || live_file="${rpath}/${rfile:10}" |
105 |
|
107 |
|
106 |
local mpath |
108 |
local mpath |
107 |
for mpath in ${CONFIG_PROTECT_MASK}; do |
109 |
for mpath in ${CONFIG_PROTECT_MASK}; do |
Lines 620-636
while [[ -n $1 ]] ; do
Link Here
|
620 |
done |
622 |
done |
621 |
${SET_X} && set -x |
623 |
${SET_X} && set -x |
622 |
|
624 |
|
623 |
type portageq >/dev/null || die "missing portageq" |
625 |
if type portageq 2>/dev/null; then |
624 |
portage_vars=( |
626 |
portage_vars=( |
625 |
CONFIG_PROTECT{,_MASK} |
627 |
CONFIG_PROTECT{,_MASK} |
626 |
PORTAGE_CONFIGROOT |
628 |
PORTAGE_CONFIGROOT |
627 |
PORTAGE_INST_{G,U}ID |
629 |
PORTAGE_INST_{G,U}ID |
628 |
PORTAGE_TMPDIR |
630 |
PORTAGE_TMPDIR |
629 |
EROOT |
631 |
EROOT |
630 |
USERLAND |
632 |
USERLAND |
631 |
NOCOLOR |
633 |
NOCOLOR |
632 |
) |
634 |
) |
633 |
eval $(portageq envvar -v ${portage_vars[@]}) |
635 |
eval $(portageq envvar -v ${portage_vars[@]}) |
|
|
636 |
else |
637 |
[[ ! -f /etc/gentoo-release ]] || die "missing portageq" |
638 |
PORTAGE_CONFIGROOT='/' |
639 |
PORTAGE_TMPDIR='/tmp' |
640 |
CONFIG_PROTECT='/etc' |
641 |
CONFIG_PROTECT_MASK='' |
642 |
[[ ! -f /etc/sysconfig/etc-update ]] || . /etc/sysconfig/etc-update |
643 |
fi |
634 |
export PORTAGE_TMPDIR |
644 |
export PORTAGE_TMPDIR |
635 |
SCAN_PATHS=${*:-${CONFIG_PROTECT}} |
645 |
SCAN_PATHS=${*:-${CONFIG_PROTECT}} |
636 |
|
646 |
|