You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
98 lines
1.9 KiB
98 lines
1.9 KiB
7 years ago
|
looknew() {
|
||
|
|
||
|
# with ONLY_NEW_DOTNEW set, slackpkg will search only for
|
||
|
# .new files installed in actual slackpkg's execution
|
||
|
if [ "$ONLY_NEW_DOTNEW" = "on" ]; then
|
||
|
ONLY_NEW_DOTNEW="-cnewer $TMPDIR/timestamp"
|
||
|
else
|
||
|
ONLY_NEW_DOTNEW=""
|
||
|
fi
|
||
|
|
||
|
echo -e "\nSearching for NEW configuration files"
|
||
|
FILES=""
|
||
|
|
||
|
find /var/log/packages -maxdepth 1 -type f ${ONLY_NEW_DOTNEW} | xargs sed -n -e '/^FILE LIST:$/,/^$/p' | fgrep -xv 'FILE LIST:' > $TMPDIR/allfiles
|
||
|
|
||
|
local IFS=$'\n'
|
||
|
for f in $(grep '\.new$' $TMPDIR/allfiles | sed -e 's/\.new$//'); do
|
||
|
x=$f.new
|
||
|
if [ -f "/$f" -a -f "/$x" ]; then
|
||
|
if ! fgrep -x "$f" $TMPDIR/allfiles 1> /dev/null 2>&1; then
|
||
|
FILES+="/$x
|
||
|
"
|
||
|
fi
|
||
|
fi
|
||
|
done
|
||
|
|
||
|
if [ "$FILES" != "" ]; then
|
||
|
echo -e "\n\
|
||
|
Some packages had new configuration files installed.
|
||
|
You have four choices:
|
||
|
|
||
|
(K)eep the old files and consider .new files later
|
||
|
|
||
|
(O)verwrite all old files with the new ones. The
|
||
|
old files will be stored with the suffix .orig
|
||
|
|
||
|
(R)emove all .new files
|
||
|
|
||
|
(P)rompt K, O, R selection for every single file
|
||
|
|
||
|
What do you want (K/O/R/P)?"
|
||
|
answer
|
||
|
case $ANSWER in
|
||
|
K|k)
|
||
|
break
|
||
|
;;
|
||
|
O|o)
|
||
|
for i in $FILES; do
|
||
|
overold $i
|
||
|
done
|
||
|
break
|
||
|
;;
|
||
|
R|r)
|
||
|
for i in $FILES; do
|
||
|
removeold $i
|
||
|
done
|
||
|
break
|
||
|
;;
|
||
|
P|p)
|
||
|
echo "Select what you want file-by-file"
|
||
|
for i in $FILES; do
|
||
|
GOEX=0
|
||
|
while [ $GOEX -eq 0 ]; do
|
||
|
echo
|
||
|
showmenu $i "(K)eep" "(O)verwrite" "(R)emove" "(D)iff" "(M)erge"
|
||
|
read ANSWER
|
||
|
case $ANSWER in
|
||
|
O|o)
|
||
|
overold $i
|
||
|
GOEX=1
|
||
|
;;
|
||
|
R|r)
|
||
|
removeold $i
|
||
|
GOEX=1
|
||
|
;;
|
||
|
D|d)
|
||
|
showdiff $1
|
||
|
;;
|
||
|
M|m)
|
||
|
mergenew $1
|
||
|
;;
|
||
|
K|k|*)
|
||
|
GOEX=1
|
||
|
;;
|
||
|
esac
|
||
|
done
|
||
|
done
|
||
|
break
|
||
|
;;
|
||
|
*)
|
||
|
echo "OK! Your choice is nothing! slackpkg will Keep the old files for you to deal with later"
|
||
|
;;
|
||
|
esac
|
||
|
else
|
||
|
echo -e "\t\tNo .new files found."
|
||
|
fi
|
||
|
}
|