33 changed files with 714 additions and 17 deletions
			
			
		@ -0,0 +1,3 @@ | 
				
			|||||
 | 
					ctrl_interface=/var/run/wpa_supplicant | 
				
			||||
 | 
					ctrl_interface_group=netdev | 
				
			||||
 | 
					update_config=1 | 
				
			||||
@ -0,0 +1,2 @@ | 
				
			|||||
 | 
					ctrl_interface=/var/run/wpa_supplicant | 
				
			||||
 | 
					ctrl_interface_group=root | 
				
			||||
@ -0,0 +1,230 @@ | 
				
			|||||
 | 
					showdiff() { | 
				
			||||
 | 
						BASENAME=$(basename $i .new) | 
				
			||||
 | 
						FILEPATH=$(dirname $i) | 
				
			||||
 | 
						FULLNAME="${FILEPATH}/${BASENAME}" | 
				
			||||
 | 
					
 | 
				
			||||
 | 
						if [ -e ${FULLNAME} ]; then | 
				
			||||
 | 
						    diff -u ${FULLNAME} ${FULLNAME}.new | $MORECMD | 
				
			||||
 | 
						else | 
				
			||||
 | 
						    echo "file $FULLNAME doesn't exist" | 
				
			||||
 | 
						fi | 
				
			||||
 | 
					} | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					showmenu() { | 
				
			||||
 | 
						echo -e "$1 - \c" | 
				
			||||
 | 
						tput sc | 
				
			||||
 | 
						shift | 
				
			||||
 | 
						while [ $# -gt 0 ]; do | 
				
			||||
 | 
							echo -e "$1" | 
				
			||||
 | 
							tput rc | 
				
			||||
 | 
							shift | 
				
			||||
 | 
						done | 
				
			||||
 | 
					} | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					mergenew() { | 
				
			||||
 | 
						BASENAME=$(basename $i .new) | 
				
			||||
 | 
						FILEPATH=$(dirname $i) | 
				
			||||
 | 
						FULLNAME="${FILEPATH}/${BASENAME}" | 
				
			||||
 | 
					
 | 
				
			||||
 | 
						if [ -e "${FULLNAME}" ]; then | 
				
			||||
 | 
							# in media res. we do the merging right away, but we later allow the user to redo it, if not satisfied with the results. | 
				
			||||
 | 
							rm -f "${FULLNAME}.smerge" | 
				
			||||
 | 
							echo "Enter '?' in the prompt (%) to display help." | 
				
			||||
 | 
							cp -p "${FULLNAME}.new" "${FULLNAME}.smerge" # <- this is so that the installed merged file will have the same permissions as the .new file | 
				
			||||
 | 
							sdiff -s -o "${FULLNAME}.smerge" "${FULLNAME}" "${FULLNAME}.new" | 
				
			||||
 | 
					
 | 
				
			||||
 | 
							GOEXM=0 | 
				
			||||
 | 
							while [ $GOEXM -eq 0 ]; do | 
				
			||||
 | 
								showmenu $i "(E)dit the merged file" "(I)nstall the merged file" "View a diff between the merged and the (N)ew file" "View a diff between the (O)ld and the merged file" "(R)edo the merge" "(V)iew the merged file" "(B)ack to previous menu, and delete the merged file" | 
				
			||||
 | 
								read ANSWER | 
				
			||||
 | 
								case "$ANSWER" in | 
				
			||||
 | 
									E|e) | 
				
			||||
 | 
										if [ -f "${FULLNAME}.smerge" ]; then | 
				
			||||
 | 
											$EDITCMD "${FULLNAME}.smerge" | 
				
			||||
 | 
										else | 
				
			||||
 | 
											echo -e "Nothing was merged yet..." | 
				
			||||
 | 
										fi | 
				
			||||
 | 
									;; | 
				
			||||
 | 
									I|i) | 
				
			||||
 | 
										if [ -f "${FULLNAME}.smerge" ]; then | 
				
			||||
 | 
											if [ -e "${FULLNAME}" ]; then | 
				
			||||
 | 
												mv "${FULLNAME}" "${FULLNAME}.orig" | 
				
			||||
 | 
											fi | 
				
			||||
 | 
											mv "${FULLNAME}.smerge" "${FULLNAME}" | 
				
			||||
 | 
											rm -f "${FULLNAME}.new" | 
				
			||||
 | 
											GOEXM=1 | 
				
			||||
 | 
											GOEX=1 | 
				
			||||
 | 
										else | 
				
			||||
 | 
											echo -e "Nothing was merged yet..." | 
				
			||||
 | 
										fi | 
				
			||||
 | 
									;; | 
				
			||||
 | 
									N|n) | 
				
			||||
 | 
										if [ -f "${FULLNAME}.smerge" ]; then | 
				
			||||
 | 
											diff -u "${FULLNAME}.smerge" "${FULLNAME}.new" | $MORECMD | 
				
			||||
 | 
										else | 
				
			||||
 | 
											echo -e "Nothing was merged yet..." | 
				
			||||
 | 
										fi | 
				
			||||
 | 
									;; | 
				
			||||
 | 
									O|o) | 
				
			||||
 | 
										if [ -f "${FULLNAME}.smerge" ]; then | 
				
			||||
 | 
											diff -u "${FULLNAME}" "${FULLNAME}.smerge" | $MORECMD | 
				
			||||
 | 
										else | 
				
			||||
 | 
											echo -e "Nothing was merged yet..." | 
				
			||||
 | 
										fi | 
				
			||||
 | 
									;; | 
				
			||||
 | 
									R|r) | 
				
			||||
 | 
										rm -f "${FULLNAME}.smerge" | 
				
			||||
 | 
										echo "Enter '?' in the prompt (%) to display help." | 
				
			||||
 | 
										cp -p "${FULLNAME}.new" "${FULLNAME}.smerge" # <- this is so that the installed merged file will have the same permissions as the .new file | 
				
			||||
 | 
										sdiff -s -o "${FULLNAME}.smerge" "${FULLNAME}" "${FULLNAME}.new" | 
				
			||||
 | 
									;; | 
				
			||||
 | 
									V|v) | 
				
			||||
 | 
										if [ -f "${FULLNAME}.smerge" ]; then | 
				
			||||
 | 
											$MORECMD "${FULLNAME}.smerge" | 
				
			||||
 | 
										else | 
				
			||||
 | 
											echo -e "Nothing was merged yet..." | 
				
			||||
 | 
										fi | 
				
			||||
 | 
									;; | 
				
			||||
 | 
									B|b) | 
				
			||||
 | 
										rm -f "${FULLNAME}.smerge" | 
				
			||||
 | 
										GOEXM=1 | 
				
			||||
 | 
									;; | 
				
			||||
 | 
								esac | 
				
			||||
 | 
							done | 
				
			||||
 | 
						else | 
				
			||||
 | 
							echo "file $FULLNAME doesn't exist" | 
				
			||||
 | 
						fi | 
				
			||||
 | 
					} | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					overold() { | 
				
			||||
 | 
						BASENAME=$(basename $i .new) | 
				
			||||
 | 
						FILEPATH=$(dirname $i) | 
				
			||||
 | 
						FULLNAME="${FILEPATH}/${BASENAME}" | 
				
			||||
 | 
					
 | 
				
			||||
 | 
						if [ -e ${FULLNAME} ]; then | 
				
			||||
 | 
						    mv ${FULLNAME} ${FULLNAME}.orig | 
				
			||||
 | 
						fi | 
				
			||||
 | 
						mv ${FULLNAME}.new ${FULLNAME} | 
				
			||||
 | 
					} | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					removeold() { | 
				
			||||
 | 
						rm $i | 
				
			||||
 | 
					} | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					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 | 
				
			||||
 | 
					} | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					lookkernel() { | 
				
			||||
 | 
						NEWKERNELMD5=$(md5sum /boot/vmlinuz 2>/dev/null) | 
				
			||||
 | 
						if [ "$KERNELMD5" != "$NEWKERNELMD5" ]; then | 
				
			||||
 | 
							if [ -x /sbin/lilo ]; then | 
				
			||||
 | 
								echo -e "\n | 
				
			||||
 | 
					Your kernel image was updated.  We highly recommend you run: lilo | 
				
			||||
 | 
					Do you want slackpkg to run lilo now? (Y/n)" | 
				
			||||
 | 
								answer | 
				
			||||
 | 
								if [ "$ANSWER" != "n" ] && [ "$ANSWER" != "N" ]; then | 
				
			||||
 | 
									/sbin/lilo | 
				
			||||
 | 
								fi | 
				
			||||
 | 
							else | 
				
			||||
 | 
								echo -e "\n | 
				
			||||
 | 
					Your kernel image was updated and lilo is not found on your system. | 
				
			||||
 | 
					You may need to adjust your boot manager(like GRUB) to boot appropriate | 
				
			||||
 | 
					kernel." | 
				
			||||
 | 
							fi | 
				
			||||
 | 
						fi | 
				
			||||
 | 
					} | 
				
			||||
@ -0,0 +1,221 @@ | 
				
			|||||
 | 
					showdiff() { | 
				
			||||
 | 
						BASENAME=$(basename $i .new) | 
				
			||||
 | 
						FILEPATH=$(dirname $i) | 
				
			||||
 | 
						FULLNAME="${FILEPATH}/${BASENAME}" | 
				
			||||
 | 
					
 | 
				
			||||
 | 
						if [ -e ${FULLNAME} ]; then | 
				
			||||
 | 
						    diff -u ${FULLNAME} ${FULLNAME}.new | $MORECMD | 
				
			||||
 | 
						else | 
				
			||||
 | 
						    echo "file $FULLNAME doesn't exist" | 
				
			||||
 | 
						fi | 
				
			||||
 | 
					} | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					showmenu() { | 
				
			||||
 | 
						echo -e "$1 - \c" | 
				
			||||
 | 
						tput sc | 
				
			||||
 | 
						shift | 
				
			||||
 | 
						while [ $# -gt 0 ]; do | 
				
			||||
 | 
							echo -e "$1" | 
				
			||||
 | 
							tput rc | 
				
			||||
 | 
							shift | 
				
			||||
 | 
						done | 
				
			||||
 | 
					} | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					mergenew() { | 
				
			||||
 | 
						BASENAME=$(basename $i .new) | 
				
			||||
 | 
						FILEPATH=$(dirname $i) | 
				
			||||
 | 
						FULLNAME="${FILEPATH}/${BASENAME}" | 
				
			||||
 | 
					
 | 
				
			||||
 | 
						if [ -e "${FULLNAME}" ]; then | 
				
			||||
 | 
							# in media res. we do the merging right away, but we later allow the user to redo it, if not satisfied with the results. | 
				
			||||
 | 
							rm -f "${FULLNAME}.smerge" | 
				
			||||
 | 
							echo "Enter '?' in the prompt (%) to display help." | 
				
			||||
 | 
							cp -p "${FULLNAME}.new" "${FULLNAME}.smerge" # <- this is so that the installed merged file will have the same permissions as the .new file | 
				
			||||
 | 
							sdiff -s -o "${FULLNAME}.smerge" "${FULLNAME}" "${FULLNAME}.new" | 
				
			||||
 | 
					
 | 
				
			||||
 | 
							GOEXM=0 | 
				
			||||
 | 
							while [ $GOEXM -eq 0 ]; do | 
				
			||||
 | 
								showmenu $i "(E)dit the merged file" "(I)nstall the merged file" "View a diff between the merged and the (N)ew file" "View a diff between the (O)ld and the merged file" "(R)edo the merge" "(V)iew the merged file" "(B)ack to previous menu, and delete the merged file" | 
				
			||||
 | 
								read ANSWER | 
				
			||||
 | 
								case "$ANSWER" in | 
				
			||||
 | 
									E|e) | 
				
			||||
 | 
										if [ -f "${FULLNAME}.smerge" ]; then | 
				
			||||
 | 
											$EDITCMD "${FULLNAME}.smerge" | 
				
			||||
 | 
										else | 
				
			||||
 | 
											echo -e "Nothing was merged yet..." | 
				
			||||
 | 
										fi | 
				
			||||
 | 
									;; | 
				
			||||
 | 
									I|i) | 
				
			||||
 | 
										if [ -f "${FULLNAME}.smerge" ]; then | 
				
			||||
 | 
											if [ -e "${FULLNAME}" ]; then | 
				
			||||
 | 
												mv "${FULLNAME}" "${FULLNAME}.orig" | 
				
			||||
 | 
											fi | 
				
			||||
 | 
											mv "${FULLNAME}.smerge" "${FULLNAME}" | 
				
			||||
 | 
											rm -f "${FULLNAME}.new" | 
				
			||||
 | 
											GOEXM=1 | 
				
			||||
 | 
											GOEX=1 | 
				
			||||
 | 
										else | 
				
			||||
 | 
											echo -e "Nothing was merged yet..." | 
				
			||||
 | 
										fi | 
				
			||||
 | 
									;; | 
				
			||||
 | 
									N|n) | 
				
			||||
 | 
										if [ -f "${FULLNAME}.smerge" ]; then | 
				
			||||
 | 
											diff -u "${FULLNAME}.smerge" "${FULLNAME}.new" | $MORECMD | 
				
			||||
 | 
										else | 
				
			||||
 | 
											echo -e "Nothing was merged yet..." | 
				
			||||
 | 
										fi | 
				
			||||
 | 
									;; | 
				
			||||
 | 
									O|o) | 
				
			||||
 | 
										if [ -f "${FULLNAME}.smerge" ]; then | 
				
			||||
 | 
											diff -u "${FULLNAME}" "${FULLNAME}.smerge" | $MORECMD | 
				
			||||
 | 
										else | 
				
			||||
 | 
											echo -e "Nothing was merged yet..." | 
				
			||||
 | 
										fi | 
				
			||||
 | 
									;; | 
				
			||||
 | 
									R|r) | 
				
			||||
 | 
										rm -f "${FULLNAME}.smerge" | 
				
			||||
 | 
										echo "Enter '?' in the prompt (%) to display help." | 
				
			||||
 | 
										cp -p "${FULLNAME}.new" "${FULLNAME}.smerge" # <- this is so that the installed merged file will have the same permissions as the .new file | 
				
			||||
 | 
										sdiff -s -o "${FULLNAME}.smerge" "${FULLNAME}" "${FULLNAME}.new" | 
				
			||||
 | 
									;; | 
				
			||||
 | 
									V|v) | 
				
			||||
 | 
										if [ -f "${FULLNAME}.smerge" ]; then | 
				
			||||
 | 
											$MORECMD "${FULLNAME}.smerge" | 
				
			||||
 | 
										else | 
				
			||||
 | 
											echo -e "Nothing was merged yet..." | 
				
			||||
 | 
										fi | 
				
			||||
 | 
									;; | 
				
			||||
 | 
									B|b) | 
				
			||||
 | 
										rm -f "${FULLNAME}.smerge" | 
				
			||||
 | 
										GOEXM=1 | 
				
			||||
 | 
									;; | 
				
			||||
 | 
								esac | 
				
			||||
 | 
							done | 
				
			||||
 | 
						else | 
				
			||||
 | 
							echo "file $FULLNAME doesn't exist" | 
				
			||||
 | 
						fi | 
				
			||||
 | 
					} | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					overold() { | 
				
			||||
 | 
						BASENAME=$(basename $i .new) | 
				
			||||
 | 
						FILEPATH=$(dirname $i) | 
				
			||||
 | 
						FULLNAME="${FILEPATH}/${BASENAME}" | 
				
			||||
 | 
					
 | 
				
			||||
 | 
						if [ -e ${FULLNAME} ]; then | 
				
			||||
 | 
						    mv ${FULLNAME} ${FULLNAME}.orig | 
				
			||||
 | 
						fi | 
				
			||||
 | 
						mv ${FULLNAME}.new ${FULLNAME} | 
				
			||||
 | 
					} | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					removeold() { | 
				
			||||
 | 
						rm $i | 
				
			||||
 | 
					} | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					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 /etc -name "*.new" ${ONLY_NEW_DOTNEW} \ | 
				
			||||
 | 
							-not -name "rc.inet1.conf.new" \ | 
				
			||||
 | 
							-not -name "group.new" \ | 
				
			||||
 | 
							-not -name "passwd.new" \ | 
				
			||||
 | 
							-not -name "shadow.new" \ | 
				
			||||
 | 
							-not -name "gshadow.new" 2>/dev/null) | 
				
			||||
 | 
						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 | 
				
			||||
 | 
					} | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					lookkernel() { | 
				
			||||
 | 
						NEWKERNELMD5=$(md5sum /boot/vmlinuz 2>/dev/null) | 
				
			||||
 | 
						if [ "$KERNELMD5" != "$NEWKERNELMD5" ]; then | 
				
			||||
 | 
							if [ -x /sbin/lilo ]; then | 
				
			||||
 | 
								echo -e "\n | 
				
			||||
 | 
					Your kernel image was updated.  We highly recommend you run: lilo | 
				
			||||
 | 
					Do you want slackpkg to run lilo now? (Y/n)" | 
				
			||||
 | 
								answer | 
				
			||||
 | 
								if [ "$ANSWER" != "n" ] && [ "$ANSWER" != "N" ]; then | 
				
			||||
 | 
									/sbin/lilo | 
				
			||||
 | 
								fi | 
				
			||||
 | 
							else | 
				
			||||
 | 
								echo -e "\n | 
				
			||||
 | 
					Your kernel image was updated and lilo is not found on your system. | 
				
			||||
 | 
					You may need to adjust your boot manager(like GRUB) to boot appropriate | 
				
			||||
 | 
					kernel." | 
				
			||||
 | 
							fi | 
				
			||||
 | 
						fi | 
				
			||||
 | 
					} | 
				
			||||
@ -0,0 +1,114 @@ | 
				
			|||||
 | 
					" An example for a vimrc file. | 
				
			||||
 | 
					" | 
				
			||||
 | 
					" Maintainer:	Bram Moolenaar <Bram@vim.org> | 
				
			||||
 | 
					" Last change:	2016 Apr 05 | 
				
			||||
 | 
					" | 
				
			||||
 | 
					" To use it, copy it to | 
				
			||||
 | 
					"     for Unix and OS/2:  ~/.vimrc | 
				
			||||
 | 
					"	      for Amiga:  s:.vimrc | 
				
			||||
 | 
					"  for MS-DOS and Win32:  $VIM\_vimrc | 
				
			||||
 | 
					"	    for OpenVMS:  sys$login:.vimrc | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					" When started as "evim", evim.vim will already have done these settings. | 
				
			||||
 | 
					if v:progname =~? "evim" | 
				
			||||
 | 
					  finish | 
				
			||||
 | 
					endif | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					" Use Vim settings, rather than Vi settings (much better!). | 
				
			||||
 | 
					" This must be first, because it changes other options as a side effect. | 
				
			||||
 | 
					set nocompatible | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					" allow backspacing over everything in insert mode | 
				
			||||
 | 
					set backspace=indent,eol,start | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					if has("vms") | 
				
			||||
 | 
					  set nobackup		" do not keep a backup file, use versions instead | 
				
			||||
 | 
					endif | 
				
			||||
 | 
					set history=50		" keep 50 lines of command line history | 
				
			||||
 | 
					set ruler		" show the cursor position all the time | 
				
			||||
 | 
					set showcmd		" display incomplete commands | 
				
			||||
 | 
					set incsearch		" do incremental searching | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					" For Win32 GUI: remove 't' flag from 'guioptions': no tearoff menu entries | 
				
			||||
 | 
					" let &guioptions = substitute(&guioptions, "t", "", "g") | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					" Don't use Ex mode, use Q for formatting | 
				
			||||
 | 
					map Q gq | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					" CTRL-U in insert mode deletes a lot.  Use CTRL-G u to first break undo, | 
				
			||||
 | 
					" so that you can undo CTRL-U after inserting a line break. | 
				
			||||
 | 
					inoremap <C-U> <C-G>u<C-U> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					" In many terminal emulators the mouse works just fine, thus enable it. | 
				
			||||
 | 
					if has('mouse') | 
				
			||||
 | 
					  set mouse=a | 
				
			||||
 | 
					endif | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					" Switch syntax highlighting on when the terminal has colors or when using the | 
				
			||||
 | 
					" GUI (which always has colors). | 
				
			||||
 | 
					if &t_Co > 2 || has("gui_running") | 
				
			||||
 | 
					  syntax on | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					  " Also switch on highlighting the last used search pattern. | 
				
			||||
 | 
					  set hlsearch | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					  " I like highlighting strings inside C comments. | 
				
			||||
 | 
					  let c_comment_strings=1 | 
				
			||||
 | 
					endif | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					" Only do this part when compiled with support for autocommands. | 
				
			||||
 | 
					if has("autocmd") | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					  " Enable file type detection. | 
				
			||||
 | 
					  " Use the default filetype settings, so that mail gets 'tw' set to 72, | 
				
			||||
 | 
					  " 'cindent' is on in C files, etc. | 
				
			||||
 | 
					  " Also load indent files, to automatically do language-dependent indenting. | 
				
			||||
 | 
					  filetype plugin indent on | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					  " Put these in an autocmd group, so that we can delete them easily. | 
				
			||||
 | 
					  augroup vimrcEx | 
				
			||||
 | 
					  au! | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					  " For all text files set 'textwidth' to 78 characters. | 
				
			||||
 | 
					  autocmd FileType text setlocal textwidth=78 | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					  " When editing a file, always jump to the last known cursor position. | 
				
			||||
 | 
					  " Don't do it when the position is invalid or when inside an event handler | 
				
			||||
 | 
					  " (happens when dropping a file on gvim). | 
				
			||||
 | 
					  autocmd BufReadPost * | 
				
			||||
 | 
					    \ if line("'\"") >= 1 && line("'\"") <= line("$") | | 
				
			||||
 | 
					    \   exe "normal! g`\"" | | 
				
			||||
 | 
					    \ endif | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					  augroup END | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					else | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					  set autoindent		" always set autoindenting on | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					endif " has("autocmd") | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					" Make vim work with the 'crontab -e' command | 
				
			||||
 | 
					set backupskip+=/var/spool/cron/* | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					" Convenient command to see the difference between the current buffer and the | 
				
			||||
 | 
					" file it was loaded from, thus the changes you made. | 
				
			||||
 | 
					" Only define it when not defined already. | 
				
			||||
 | 
					if !exists(":DiffOrig") | 
				
			||||
 | 
					  command DiffOrig vert new | set bt=nofile | r ++edit # | 0d_ | diffthis | 
				
			||||
 | 
							  \ | wincmd p | diffthis | 
				
			||||
 | 
					endif | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					if has('langmap') && exists('+langnoremap') | 
				
			||||
 | 
					  " Prevent that the langmap option applies to characters that result from a | 
				
			||||
 | 
					  " mapping.  If unset (default), this may break plugins (but it's backward | 
				
			||||
 | 
					  " compatible). | 
				
			||||
 | 
					  set langnoremap | 
				
			||||
 | 
					endif | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					" Add optional packages. | 
				
			||||
 | 
					" | 
				
			||||
 | 
					" The matchit plugin makes the % command work better, but it is not backwards | 
				
			||||
 | 
					" compatible. | 
				
			||||
 | 
					packadd matchit | 
				
			||||
@ -0,0 +1,117 @@ | 
				
			|||||
 | 
					" An example for a vimrc file. | 
				
			||||
 | 
					" | 
				
			||||
 | 
					" Maintainer:	Bram Moolenaar <Bram@vim.org> | 
				
			||||
 | 
					" Last change:	2016 Apr 05 | 
				
			||||
 | 
					" | 
				
			||||
 | 
					" To use it, copy it to | 
				
			||||
 | 
					"     for Unix and OS/2:  ~/.vimrc | 
				
			||||
 | 
					"	      for Amiga:  s:.vimrc | 
				
			||||
 | 
					"  for MS-DOS and Win32:  $VIM\_vimrc | 
				
			||||
 | 
					"	    for OpenVMS:  sys$login:.vimrc | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					" When started as "evim", evim.vim will already have done these settings. | 
				
			||||
 | 
					if v:progname =~? "evim" | 
				
			||||
 | 
					  finish | 
				
			||||
 | 
					endif | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					" Use Vim settings, rather than Vi settings (much better!). | 
				
			||||
 | 
					" This must be first, because it changes other options as a side effect. | 
				
			||||
 | 
					set nocompatible | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					" allow backspacing over everything in insert mode | 
				
			||||
 | 
					set backspace=indent,eol,start | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					if has("vms") | 
				
			||||
 | 
					  set nobackup		" do not keep a backup file, use versions instead | 
				
			||||
 | 
					else | 
				
			||||
 | 
					  set backup		" keep a backup file (restore to previous version) | 
				
			||||
 | 
					  set undofile		" keep an undo file (undo changes after closing) | 
				
			||||
 | 
					endif | 
				
			||||
 | 
					set history=50		" keep 50 lines of command line history | 
				
			||||
 | 
					set ruler		" show the cursor position all the time | 
				
			||||
 | 
					set showcmd		" display incomplete commands | 
				
			||||
 | 
					set incsearch		" do incremental searching | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					" For Win32 GUI: remove 't' flag from 'guioptions': no tearoff menu entries | 
				
			||||
 | 
					" let &guioptions = substitute(&guioptions, "t", "", "g") | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					" Don't use Ex mode, use Q for formatting | 
				
			||||
 | 
					map Q gq | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					" CTRL-U in insert mode deletes a lot.  Use CTRL-G u to first break undo, | 
				
			||||
 | 
					" so that you can undo CTRL-U after inserting a line break. | 
				
			||||
 | 
					inoremap <C-U> <C-G>u<C-U> | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					" In many terminal emulators the mouse works just fine, thus enable it. | 
				
			||||
 | 
					if has('mouse') | 
				
			||||
 | 
					  set mouse=a | 
				
			||||
 | 
					endif | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					" Switch syntax highlighting on when the terminal has colors or when using the | 
				
			||||
 | 
					" GUI (which always has colors). | 
				
			||||
 | 
					if &t_Co > 2 || has("gui_running") | 
				
			||||
 | 
					  syntax on | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					  " Also switch on highlighting the last used search pattern. | 
				
			||||
 | 
					  set hlsearch | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					  " I like highlighting strings inside C comments. | 
				
			||||
 | 
					  let c_comment_strings=1 | 
				
			||||
 | 
					endif | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					" Only do this part when compiled with support for autocommands. | 
				
			||||
 | 
					if has("autocmd") | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					  " Enable file type detection. | 
				
			||||
 | 
					  " Use the default filetype settings, so that mail gets 'tw' set to 72, | 
				
			||||
 | 
					  " 'cindent' is on in C files, etc. | 
				
			||||
 | 
					  " Also load indent files, to automatically do language-dependent indenting. | 
				
			||||
 | 
					  filetype plugin indent on | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					  " Put these in an autocmd group, so that we can delete them easily. | 
				
			||||
 | 
					  augroup vimrcEx | 
				
			||||
 | 
					  au! | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					  " For all text files set 'textwidth' to 78 characters. | 
				
			||||
 | 
					  autocmd FileType text setlocal textwidth=78 | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					  " When editing a file, always jump to the last known cursor position. | 
				
			||||
 | 
					  " Don't do it when the position is invalid or when inside an event handler | 
				
			||||
 | 
					  " (happens when dropping a file on gvim). | 
				
			||||
 | 
					  autocmd BufReadPost * | 
				
			||||
 | 
					    \ if line("'\"") >= 1 && line("'\"") <= line("$") | | 
				
			||||
 | 
					    \   exe "normal! g`\"" | | 
				
			||||
 | 
					    \ endif | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					  augroup END | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					else | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					  set autoindent		" always set autoindenting on | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					endif " has("autocmd") | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					" Make vim work with the 'crontab -e' command | 
				
			||||
 | 
					set backupskip+=/var/spool/cron/* | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					" Convenient command to see the difference between the current buffer and the | 
				
			||||
 | 
					" file it was loaded from, thus the changes you made. | 
				
			||||
 | 
					" Only define it when not defined already. | 
				
			||||
 | 
					if !exists(":DiffOrig") | 
				
			||||
 | 
					  command DiffOrig vert new | set bt=nofile | r ++edit # | 0d_ | diffthis | 
				
			||||
 | 
							  \ | wincmd p | diffthis | 
				
			||||
 | 
					endif | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					if has('langmap') && exists('+langnoremap') | 
				
			||||
 | 
					  " Prevent that the langmap option applies to characters that result from a | 
				
			||||
 | 
					  " mapping.  If unset (default), this may break plugins (but it's backward | 
				
			||||
 | 
					  " compatible). | 
				
			||||
 | 
					  set langnoremap | 
				
			||||
 | 
					endif | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					" Add optional packages. | 
				
			||||
 | 
					" | 
				
			||||
 | 
					" The matchit plugin makes the % command work better, but it is not backwards | 
				
			||||
 | 
					" compatible. | 
				
			||||
 | 
					packadd matchit | 
				
			||||
					Loading…
					
					
				
		Reference in new issue