slackware-current/source/ap/slackpkg/files/dialog-functions.sh
Patrick J Volkerding 970784a8a8 Mon Feb 8 05:13:26 UTC 2021
a/aaa_elflibs-15.0-x86_64-30.txz:  Removed.
  Renamed to aaa_libraries.
a/aaa_glibc-solibs-2.32-x86_64-2.txz:  Added.
  This package has been renamed from glibc-solibs, which helps avoid trouble
  if someone upgrades using "upgradepkg --install-new */*.txz" by upgrading
  this package before aaa_libraries. Otherwise, if aaa_libraries is upgraded
  first any libraries in it that are linked against a newer version of glibc
  than the one installed on the system would refuse to load.
a/aaa_libraries-15.0-x86_64-1.txz:  Added.
  This package has been renamed from aaa_elflibs to insure that it will come
  after aaa_glibc-solibs when upgraded in alphabetical order.
  Upgraded: libcap.so.2.48, libelf-0.183.so, libglib-2.0.so.0.6600.6,
  libgmodule-2.0.so.0.6600.6, libgobject-2.0.so.0.6600.6,
  libgthread-2.0.so.0.6600.6.
  Added: libtirpc.so.3.0.0.
a/btrfs-progs-5.10.1-x86_64-1.txz:  Upgraded.
a/glibc-solibs-2.32-x86_64-1.txz:  Removed.
  Renamed to aaa_glibc-solibs.
a/kernel-generic-5.10.14-x86_64-1.txz:  Upgraded.
a/kernel-huge-5.10.14-x86_64-1.txz:  Upgraded.
a/kernel-modules-5.10.14-x86_64-1.txz:  Upgraded.
ap/slackpkg-15.0-noarch-1.txz:  Upgraded.
  These are some of the important changes (see the ChangeLog for more):
  Note that this slackpkg release contains a backwards-incompatible change to
  the blacklisting syntax (e.g. glibc ---> glibc-*). This changes the prior
  behavior of the blacklist function; previously, adding "glibc" to the
  blacklist would cause glibc, glibc-profile, glibc-zoneinfo, et al to be
  ignored by slackpkg. The new behavior is that *only* the glibc package is
  ignored. If you want to blacklist all packages whose names begin with glibc,
  you would need to add "glibc.*" to the blacklist now. Also note that any
  special characters, e.g. "+", will need to be escaped in the blacklist file.
  To blacklist entire package sets, a trailing slash is now required: e.g. kde/
  Another backwards-incompatibility warning: check-updates will now return 1 if
  there are updates available - this will make it easier to use this feature
  with cron (thanks to Peter Hyman).
  Added support for Slackware-AArch64 (thanks to Stuart Winter).
  Added aaa_glibc-solibs and aaa_libraries to the "do these first" routine.
  Thanks to Robby Workman for the new slackpkg release!
ap/soma-3.3.7-noarch-1.txz:  Upgraded.
  Thanks to David Woodfall.
ap/xorriso-1.5.4.pl02-x86_64-1.txz:  Upgraded.
d/help2man-1.48.1-x86_64-1.txz:  Upgraded.
d/kernel-headers-5.10.14-x86-1.txz:  Upgraded.
k/kernel-source-5.10.14-noarch-1.txz:  Upgraded.
l/elfutils-0.183-x86_64-1.txz:  Upgraded.
l/glibc-2.32-x86_64-2.txz:  Rebuilt.
l/glibc-i18n-2.32-x86_64-2.txz:  Rebuilt.
l/glibc-profile-2.32-x86_64-2.txz:  Rebuilt.
l/lcms2-2.12-x86_64-1.txz:  Upgraded.
l/libburn-1.5.4-x86_64-1.txz:  Upgraded.
x/xf86-input-wacom-0.40.0-x86_64-1.txz:  Upgraded.
isolinux/initrd.img:  Rebuilt.
kernels/*:  Upgraded.
usb-and-pxe-installers/usbboot.img:  Rebuilt.
2021-02-08 17:12:01 +01:00

75 lines
2.4 KiB
Bash

# Dialog functions
# Original functions from slackpkg modified by Marek Wodzinski (majek@mamy.to)
#
export DIALOG_CANCEL="1"
export DIALOG_ERROR="126"
export DIALOG_ESC="1"
export DIALOG_EXTRA="3"
export DIALOG_HELP="2"
export DIALOG_ITEM_HELP="2"
export DIALOG_OK="0"
# Show the lists and asks if the user want to proceed with that action
# Return accepted list in $SHOWLIST
#
if [ "$DIALOG" = "on" ] || [ "$DIALOG" = "ON" ]; then
function showlist() {
if [ "$ONOFF" != "off" ]; then
ONOFF=on
fi
rm -f $TMPDIR/dialog.tmp
if [ "$2" = "upgrade" ]; then
ls -1 $ROOT/var/log/packages/ > $TMPDIR/tmplist
for i in $1; do
BASENAME=$(cutpkg $i)
PKGFOUND=$(grep -m1 -e "^${BASENAME}-[^-]\+-\(noarch\|fw\|${ARCH}\)" $TMPDIR/tmplist)
echo "$i \"\" $ONOFF \"currently installed: $PKGFOUND\"" >>$TMPDIR/dialog.tmp
done
HINT="--item-help"
else
for i in $1; do
echo "$i \"\" $ONOFF" >>$TMPDIR/dialog.tmp
done
HINT=""
fi
# This is needed because dialog have a limit of arguments.
# This limit is around 20k characters in slackware 10.x
# Empiric tests on slackware 13.0 got a limit around 139k.
# If we exceed this limit, dialog got a terrible error, to
# avoid that, if the number of arguments is bigger than
# DIALOG_MAXARGS we remove the hints. If even without hints
# we can't got less characters than DIALOG_MAXARGS we give an
# error message to the user ask him to not use dialog
if [ $(wc -c $TMPDIR/dialog.tmp | cut -f1 -d\ ) -ge $DIALOG_MAXARGS ]; then
mv $TMPDIR/dialog.tmp $TMPDIR/dialog2.tmp
awk '{ NF=3 ; print $0 }' $TMPDIR/dialog2.tmp > $TMPDIR/dialog.tmp
HINT=""
fi
cat $TMPDIR/dialog.tmp|xargs dialog --title $2 --backtitle "slackpkg $VERSION" $HINT --checklist "Choose packages to $2:" 19 70 13 2>$TMPDIR/dialog.out
case "$?" in
0|123)
dialog --clear
;;
1|124|125|126|127)
dialog --clear
echo -e "DIALOG ERROR:\n-------------" >> $TMPDIR/error.log
cat $TMPDIR/dialog.out >> $TMPDIR/error.log
echo -e "-------------
If you want to continue using slackpkg, disable the DIALOG option in
/etc/slackpkg/slackpkg.conf and try again.
Help us to make slackpkg a better tool - report bugs to the slackpkg
developers" >> $TMPDIR/error.log
cleanup
;;
esac
SHOWLIST=$(cat $TMPDIR/dialog.out | tr -d \")
rm -f $TMPDIR/dialog.*
if [ -z "$SHOWLIST" ]; then
echo "No packages selected for $2, exiting."
cleanup
fi
}
fi