mirror of
git://slackware.nl/current.git
synced 2024-12-28 09:59:53 +01:00
8c9271e25c
a/kernel-generic-4.14.47-x86_64-1.txz: Upgraded. a/kernel-huge-4.14.47-x86_64-1.txz: Upgraded. SCSI_DPT_I2O m -> y SCSI_ISCI m -> y (thanks to wael_h) a/kernel-modules-4.14.47-x86_64-1.txz: Upgraded. a/pkgtools-15.0-noarch-14.txz: Rebuilt. installpkg: rarely, an uncompressed size that's not quite to the next level (e.g., 1020K) will exceed the expected length and cause a --terse line to be one character longer than --terselength. Chop lines to --terselength before outputting them. The trailing ']' might be dropped, but no big deal. ap/slackpkg-2.83.0-noarch-1.txz: Upgraded. Release 2.83.0; thanks to orbea, Didier Spaier, burdi01, David Allen, Eduard Rozenberg, and Stuart Winter for various fixes and enhancements. Allow using vimdiff to compare .new and original files Numerous fixups for alternate $ROOT .new config files are sorted so that display order should be consistent among multiple machines Abort operation if system date is near epoch (mostly relevant for ARM machines and others with no RTC) Update Slackware ARM gpg key Update Slackware ARM mirror list No longer offer to run lilo - simply advise user that the kernel image has changed and give advice, but also require a keypress to (hopefully) confirm that the message was actually read mandoc lint fixes to slackpkg.8 Warn user if a -current mirror is selected (but only warn once) d/git-2.17.1-x86_64-1.txz: Upgraded. d/kernel-headers-4.14.47-x86-1.txz: Upgraded. d/rust-1.26.1-x86_64-1.txz: Upgraded. k/kernel-source-4.14.47-noarch-1.txz: Upgraded. l/fftw-3.3.8-x86_64-1.txz: Upgraded. l/imagemagick-6.9.9_48-x86_64-1.txz: Upgraded. n/network-scripts-15.0-noarch-8.txz: Rebuilt. Allow setting an interface in promiscuous mode; this is needed for networking to function properly in containers Fixup setting of IPALIASES (allow non /32 masks; not only is the /32 mask not required and even undesirable in some cases, this makes ipv6 support easier to integrate (and Darren is working on that as well) Thanks to Darren Austin. n/stunnel-5.46-x86_64-1.txz: Upgraded. n/ulogd-2.0.7-x86_64-2.txz: Rebuilt. Fixed empty logrotate file. x/xorg-server-1.20.0-x86_64-2.txz: Rebuilt. Patched to fix nouveau segfault. Thanks to Rod3775 for the patch. x/xorg-server-xephyr-1.20.0-x86_64-2.txz: Rebuilt. x/xorg-server-xnest-1.20.0-x86_64-2.txz: Rebuilt. x/xorg-server-xvfb-1.20.0-x86_64-2.txz: Rebuilt. xap/network-manager-applet-1.8.12-x86_64-2.txz: Rebuilt. Patched crash bug. Thanks to gmgf. isolinux/initrd.img: Rebuilt. kernels/*: Upgraded. usb-and-pxe-installers/usbboot.img: Rebuilt.
242 lines
6.1 KiB
Bash
242 lines
6.1 KiB
Bash
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
|
|
}
|
|
|
|
runvimdiff() {
|
|
BASENAME=$(basename $i .new)
|
|
FILEPATH=$(dirname $i)
|
|
FULLNAME="${FILEPATH}/${BASENAME}"
|
|
|
|
if [ -e ${FULLNAME} ]; then
|
|
vimdiff ${FULLNAME} ${FULLNAME}.new
|
|
else
|
|
echo "file $FULLNAME doesn't exist"
|
|
fi
|
|
}
|
|
|
|
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 ${ROOT}/etc ${ROOT}/var/yp ${ROOT}/usr/share/vim -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 | sort 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" "(V)imdiff"
|
|
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
|
|
;;
|
|
V|v)
|
|
runvimdiff $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 ] && [ -r /etc/lilo.conf ] && grep -q initrd /etc/lilo.conf ; then
|
|
echo -e "\n
|
|
Your kernel image was updated, and your /etc/lilo.conf indicates
|
|
the use of an initrd for at least one of your kernels. Be sure to
|
|
regenerate the initrd for the new kernel and handle any needed
|
|
updates to your bootloader.
|
|
"
|
|
elif [ -x /sbin/lilo ] && [ -r /etc/lilo.conf ] ; then
|
|
echo -e "\n
|
|
Your kernel image was updated. Be sure to handle any needed updates
|
|
to your bootloader (possibly as simple as running /sbin/lilo).
|
|
"
|
|
else
|
|
echo -e "\n
|
|
Your kernel image was updated, and lilo does not appear to be used on
|
|
your system. You may need to adjust your boot manager (like GRUB) to
|
|
boot the appropriate kernel (after generating an initrd if required)."
|
|
fi
|
|
echo -e "Press any key to continue...\n "
|
|
read _junk
|
|
fi
|
|
}
|