slackware-current/source/a/pkgtools/scripts/upgradepkg
Patrick J Volkerding 752db33dbe Sun May 14 17:03:16 UTC 2023
a/grep-3.11-x86_64-1.txz:  Upgraded.
a/pkgtools-15.1-noarch-5.txz:  Rebuilt.
  installpkg, removepkg, upgradepkg: make all of these scripts accept either
  --dry-run or --warn for consistency. Thanks to Brent Spillner.
d/poke-3.2-x86_64-1.txz:  Upgraded.
kde/akonadi-23.04.1-x86_64-1.txz:  Upgraded.
kde/akonadi-calendar-23.04.1-x86_64-1.txz:  Upgraded.
kde/akonadi-calendar-tools-23.04.1-x86_64-1.txz:  Upgraded.
kde/akonadi-contacts-23.04.1-x86_64-1.txz:  Upgraded.
kde/akonadi-import-wizard-23.04.1-x86_64-1.txz:  Upgraded.
kde/akonadi-mime-23.04.1-x86_64-1.txz:  Upgraded.
kde/akonadi-notes-23.04.1-x86_64-1.txz:  Upgraded.
kde/akonadi-search-23.04.1-x86_64-1.txz:  Upgraded.
kde/akonadiconsole-23.04.1-x86_64-1.txz:  Upgraded.
kde/akregator-23.04.1-x86_64-1.txz:  Upgraded.
kde/alligator-23.04.1-x86_64-1.txz:  Upgraded.
kde/analitza-23.04.1-x86_64-1.txz:  Upgraded.
kde/ark-23.04.1-x86_64-1.txz:  Upgraded.
kde/artikulate-23.04.1-x86_64-1.txz:  Upgraded.
kde/attica-5.106.0-x86_64-1.txz:  Upgraded.
kde/audiocd-kio-23.04.1-x86_64-1.txz:  Upgraded.
kde/baloo-5.106.0-x86_64-1.txz:  Upgraded.
kde/baloo-widgets-23.04.1-x86_64-1.txz:  Upgraded.
kde/blinken-23.04.1-x86_64-1.txz:  Upgraded.
kde/bluez-qt-5.106.0-x86_64-1.txz:  Upgraded.
kde/bomber-23.04.1-x86_64-1.txz:  Upgraded.
kde/bovo-23.04.1-x86_64-1.txz:  Upgraded.
kde/breeze-icons-5.106.0-noarch-1.txz:  Upgraded.
kde/calendarsupport-23.04.1-x86_64-1.txz:  Upgraded.
kde/cantor-23.04.1-x86_64-1.txz:  Upgraded.
kde/cervisia-23.04.1-x86_64-1.txz:  Upgraded.
kde/dolphin-23.04.1-x86_64-1.txz:  Upgraded.
kde/dolphin-plugins-23.04.1-x86_64-1.txz:  Upgraded.
kde/dragon-23.04.1-x86_64-1.txz:  Upgraded.
kde/elisa-23.04.1-x86_64-1.txz:  Upgraded.
kde/eventviews-23.04.1-x86_64-1.txz:  Upgraded.
kde/extra-cmake-modules-5.106.0-x86_64-1.txz:  Upgraded.
kde/falkon-23.04.1-x86_64-1.txz:  Upgraded.
kde/ffmpegthumbs-23.04.1-x86_64-1.txz:  Upgraded.
kde/filelight-23.04.1-x86_64-1.txz:  Upgraded.
kde/frameworkintegration-5.106.0-x86_64-1.txz:  Upgraded.
kde/ghostwriter-23.04.1-x86_64-1.txz:  Upgraded.
kde/granatier-23.04.1-x86_64-1.txz:  Upgraded.
kde/grantlee-editor-23.04.1-x86_64-1.txz:  Upgraded.
kde/grantleetheme-23.04.1-x86_64-1.txz:  Upgraded.
kde/gwenview-23.04.1-x86_64-1.txz:  Upgraded.
kde/incidenceeditor-23.04.1-x86_64-1.txz:  Upgraded.
kde/itinerary-23.04.1-x86_64-1.txz:  Upgraded.
kde/juk-23.04.1-x86_64-1.txz:  Upgraded.
kde/k3b-23.04.1-x86_64-1.txz:  Upgraded.
kde/kactivities-5.106.0-x86_64-1.txz:  Upgraded.
kde/kactivities-stats-5.106.0-x86_64-1.txz:  Upgraded.
kde/kaddressbook-23.04.1-x86_64-1.txz:  Upgraded.
kde/kalarm-23.04.1-x86_64-1.txz:  Upgraded.
kde/kalendar-23.04.1-x86_64-1.txz:  Upgraded.
kde/kalgebra-23.04.1-x86_64-1.txz:  Upgraded.
kde/kalzium-23.04.1-x86_64-1.txz:  Upgraded.
kde/kamera-23.04.1-x86_64-1.txz:  Upgraded.
kde/kamoso-23.04.1-x86_64-1.txz:  Upgraded.
kde/kanagram-23.04.1-x86_64-1.txz:  Upgraded.
kde/kapidox-5.106.0-x86_64-1.txz:  Upgraded.
kde/kapman-23.04.1-x86_64-1.txz:  Upgraded.
kde/kapptemplate-23.04.1-x86_64-1.txz:  Upgraded.
kde/karchive-5.106.0-x86_64-1.txz:  Upgraded.
kde/kate-23.04.1-x86_64-1.txz:  Upgraded.
kde/katomic-23.04.1-x86_64-1.txz:  Upgraded.
kde/kauth-5.106.0-x86_64-1.txz:  Upgraded.
kde/kbackup-23.04.1-x86_64-1.txz:  Upgraded.
kde/kblackbox-23.04.1-x86_64-1.txz:  Upgraded.
kde/kblocks-23.04.1-x86_64-1.txz:  Upgraded.
kde/kbookmarks-5.106.0-x86_64-1.txz:  Upgraded.
kde/kbounce-23.04.1-x86_64-1.txz:  Upgraded.
kde/kbreakout-23.04.1-x86_64-1.txz:  Upgraded.
kde/kbruch-23.04.1-x86_64-1.txz:  Upgraded.
kde/kcachegrind-23.04.1-x86_64-1.txz:  Upgraded.
kde/kcalc-23.04.1-x86_64-1.txz:  Upgraded.
kde/kcalendarcore-5.106.0-x86_64-1.txz:  Upgraded.
kde/kcalutils-23.04.1-x86_64-1.txz:  Upgraded.
kde/kcharselect-23.04.1-x86_64-1.txz:  Upgraded.
kde/kcmutils-5.106.0-x86_64-1.txz:  Upgraded.
kde/kcodecs-5.106.0-x86_64-1.txz:  Upgraded.
kde/kcolorchooser-23.04.1-x86_64-1.txz:  Upgraded.
kde/kcompletion-5.106.0-x86_64-1.txz:  Upgraded.
kde/kconfig-5.106.0-x86_64-1.txz:  Upgraded.
kde/kconfigwidgets-5.106.0-x86_64-1.txz:  Upgraded.
kde/kcontacts-5.106.0-x86_64-1.txz:  Upgraded.
kde/kcoreaddons-5.106.0-x86_64-1.txz:  Upgraded.
kde/kcrash-5.106.0-x86_64-1.txz:  Upgraded.
kde/kcron-23.04.1-x86_64-1.txz:  Upgraded.
kde/kdav-5.106.0-x86_64-1.txz:  Upgraded.
kde/kdbusaddons-5.106.0-x86_64-1.txz:  Upgraded.
kde/kde-cli-tools-5.27.5-x86_64-2.txz:  Rebuilt.
  [PATCH] kinfo: Use kcmshell5 with Plasma *5*.
  Thanks to marav.
kde/kde-dev-scripts-23.04.1-x86_64-1.txz:  Upgraded.
kde/kde-dev-utils-23.04.1-x86_64-1.txz:  Upgraded.
kde/kde-inotify-survey-23.04.1-x86_64-1.txz:  Upgraded.
kde/kdebugsettings-23.04.1-x86_64-1.txz:  Upgraded.
kde/kdeclarative-5.106.0-x86_64-1.txz:  Upgraded.
kde/kdeconnect-kde-23.04.1-x86_64-1.txz:  Upgraded.
kde/kded-5.106.0-x86_64-1.txz:  Upgraded.
kde/kdeedu-data-23.04.1-x86_64-1.txz:  Upgraded.
kde/kdegraphics-mobipocket-23.04.1-x86_64-1.txz:  Upgraded.
kde/kdegraphics-thumbnailers-23.04.1-x86_64-1.txz:  Upgraded.
kde/kdelibs4support-5.106.0-x86_64-1.txz:  Upgraded.
kde/kdenetwork-filesharing-23.04.1-x86_64-1.txz:  Upgraded.
kde/kdenlive-23.04.1-x86_64-1.txz:  Upgraded.
kde/kdepim-addons-23.04.1-x86_64-1.txz:  Upgraded.
kde/kdepim-runtime-23.04.1-x86_64-1.txz:  Upgraded.
kde/kdesdk-kio-23.04.1-x86_64-1.txz:  Upgraded.
kde/kdesdk-thumbnailers-23.04.1-x86_64-1.txz:  Upgraded.
kde/kdesignerplugin-5.106.0-x86_64-1.txz:  Upgraded.
kde/kdesu-5.106.0-x86_64-1.txz:  Upgraded.
kde/kdev-php-23.04.1-x86_64-1.txz:  Upgraded.
kde/kdev-python-23.04.1-x86_64-1.txz:  Upgraded.
kde/kdevelop-23.04.1-x86_64-1.txz:  Upgraded.
kde/kdewebkit-5.106.0-x86_64-1.txz:  Upgraded.
kde/kdf-23.04.1-x86_64-1.txz:  Upgraded.
kde/kdialog-23.04.1-x86_64-1.txz:  Upgraded.
kde/kdiamond-23.04.1-x86_64-1.txz:  Upgraded.
kde/kdnssd-5.106.0-x86_64-1.txz:  Upgraded.
kde/kdoctools-5.106.0-x86_64-1.txz:  Upgraded.
kde/keditbookmarks-23.04.1-x86_64-1.txz:  Upgraded.
kde/kemoticons-5.106.0-x86_64-1.txz:  Upgraded.
kde/keysmith-23.04.1-x86_64-1.txz:  Upgraded.
kde/kfilemetadata-5.106.0-x86_64-1.txz:  Upgraded.
kde/kfind-23.04.1-x86_64-1.txz:  Upgraded.
kde/kfloppy-23.04.1-x86_64-1.txz:  Upgraded.
kde/kfourinline-23.04.1-x86_64-1.txz:  Upgraded.
kde/kgeography-23.04.1-x86_64-1.txz:  Upgraded.
kde/kget-23.04.1-x86_64-1.txz:  Upgraded.
kde/kglobalaccel-5.106.0-x86_64-1.txz:  Upgraded.
kde/kgoldrunner-23.04.1-x86_64-1.txz:  Upgraded.
kde/kgpg-23.04.1-x86_64-1.txz:  Upgraded.
kde/kguiaddons-5.106.0-x86_64-1.txz:  Upgraded.
kde/khangman-23.04.1-x86_64-1.txz:  Upgraded.
kde/khelpcenter-23.04.1-x86_64-1.txz:  Upgraded.
kde/kholidays-5.106.0-x86_64-1.txz:  Upgraded.
kde/khtml-5.106.0-x86_64-1.txz:  Upgraded.
kde/ki18n-5.106.0-x86_64-1.txz:  Upgraded.
kde/kiconthemes-5.106.0-x86_64-1.txz:  Upgraded.
kde/kidentitymanagement-23.04.1-x86_64-1.txz:  Upgraded.
kde/kidletime-5.106.0-x86_64-1.txz:  Upgraded.
kde/kig-23.04.1-x86_64-1.txz:  Upgraded.
kde/kigo-23.04.1-x86_64-1.txz:  Upgraded.
kde/killbots-23.04.1-x86_64-1.txz:  Upgraded.
kde/kimageformats-5.106.0-x86_64-1.txz:  Upgraded.
kde/kimagemapeditor-23.04.1-x86_64-1.txz:  Upgraded.
kde/kimap-23.04.1-x86_64-1.txz:  Upgraded.
kde/kinit-5.106.0-x86_64-1.txz:  Upgraded.
kde/kio-5.106.0-x86_64-1.txz:  Upgraded.
kde/kio-admin-23.04.1-x86_64-1.txz:  Upgraded.
kde/kio-extras-23.04.1-x86_64-1.txz:  Upgraded.
kde/kio-gdrive-23.04.1-x86_64-1.txz:  Upgraded.
kde/kio-zeroconf-23.04.1-x86_64-1.txz:  Upgraded.
kde/kipi-plugins-23.04.1-x86_64-1.txz:  Upgraded.
kde/kirigami-gallery-23.04.1-x86_64-1.txz:  Upgraded.
kde/kirigami2-5.106.0-x86_64-1.txz:  Upgraded.
kde/kiriki-23.04.1-x86_64-1.txz:  Upgraded.
kde/kitemmodels-5.106.0-x86_64-1.txz:  Upgraded.
kde/kitemviews-5.106.0-x86_64-1.txz:  Upgraded.
kde/kiten-23.04.1-x86_64-1.txz:  Upgraded.
kde/kitinerary-23.04.1-x86_64-1.txz:  Upgraded.
kde/kjobwidgets-5.106.0-x86_64-1.txz:  Upgraded.
kde/kjs-5.106.0-x86_64-1.txz:  Upgraded.
kde/kjsembed-5.106.0-x86_64-1.txz:  Upgraded.
kde/kjumpingcube-23.04.1-x86_64-1.txz:  Upgraded.
kde/kldap-23.04.1-x86_64-1.txz:  Upgraded.
kde/kleopatra-23.04.1-x86_64-1.txz:  Upgraded.
kde/klickety-23.04.1-x86_64-1.txz:  Upgraded.
kde/klines-23.04.1-x86_64-1.txz:  Upgraded.
kde/kmag-23.04.1-x86_64-1.txz:  Upgraded.
kde/kmahjongg-23.04.1-x86_64-1.txz:  Upgraded.
kde/kmail-23.04.1-x86_64-1.txz:  Upgraded.
kde/kmail-account-wizard-23.04.1-x86_64-1.txz:  Upgraded.
kde/kmailtransport-23.04.1-x86_64-1.txz:  Upgraded.
kde/kmbox-23.04.1-x86_64-1.txz:  Upgraded.
kde/kmediaplayer-5.106.0-x86_64-1.txz:  Upgraded.
kde/kmime-23.04.1-x86_64-1.txz:  Upgraded.
kde/kmines-23.04.1-x86_64-1.txz:  Upgraded.
kde/kmix-23.04.1-x86_64-1.txz:  Upgraded.
kde/kmousetool-23.04.1-x86_64-1.txz:  Upgraded.
kde/kmouth-23.04.1-x86_64-1.txz:  Upgraded.
kde/kmplot-23.04.1-x86_64-1.txz:  Upgraded.
kde/knavalbattle-23.04.1-x86_64-1.txz:  Upgraded.
kde/knetwalk-23.04.1-x86_64-1.txz:  Upgraded.
kde/knewstuff-5.106.0-x86_64-1.txz:  Upgraded.
kde/knights-23.04.1-x86_64-1.txz:  Upgraded.
kde/knotes-23.04.1-x86_64-1.txz:  Upgraded.
kde/knotifications-5.106.0-x86_64-1.txz:  Upgraded.
kde/knotifyconfig-5.106.0-x86_64-1.txz:  Upgraded.
kde/kolf-23.04.1-x86_64-1.txz:  Upgraded.
kde/kollision-23.04.1-x86_64-1.txz:  Upgraded.
kde/kolourpaint-23.04.1-x86_64-1.txz:  Upgraded.
kde/kompare-23.04.1-x86_64-1.txz:  Upgraded.
kde/konqueror-23.04.1-x86_64-1.txz:  Upgraded.
kde/konquest-23.04.1-x86_64-1.txz:  Upgraded.
kde/konsole-23.04.1-x86_64-1.txz:  Upgraded.
kde/kontact-23.04.1-x86_64-1.txz:  Upgraded.
kde/kontactinterface-23.04.1-x86_64-1.txz:  Upgraded.
kde/kontrast-23.04.1-x86_64-1.txz:  Upgraded.
kde/konversation-23.04.1-x86_64-1.txz:  Upgraded.
kde/kopeninghours-23.04.1-x86_64-1.txz:  Upgraded.
kde/kopete-23.04.1-x86_64-1.txz:  Upgraded.
kde/korganizer-23.04.1-x86_64-1.txz:  Upgraded.
kde/kosmindoormap-23.04.1-x86_64-1.txz:  Upgraded.
kde/kpackage-5.106.0-x86_64-1.txz:  Upgraded.
kde/kparts-5.106.0-x86_64-1.txz:  Upgraded.
kde/kpat-23.04.1-x86_64-1.txz:  Upgraded.
kde/kpeople-5.106.0-x86_64-1.txz:  Upgraded.
kde/kpimtextedit-23.04.1-x86_64-1.txz:  Upgraded.
kde/kpkpass-23.04.1-x86_64-1.txz:  Upgraded.
kde/kplotting-5.106.0-x86_64-1.txz:  Upgraded.
kde/kpmcore-23.04.1-x86_64-1.txz:  Upgraded.
kde/kpty-5.106.0-x86_64-1.txz:  Upgraded.
kde/kpublictransport-23.04.1-x86_64-1.txz:  Upgraded.
kde/kqtquickcharts-23.04.1-x86_64-1.txz:  Upgraded.
kde/kquickcharts-5.106.0-x86_64-1.txz:  Upgraded.
kde/krdc-23.04.1-x86_64-1.txz:  Upgraded.
kde/kreversi-23.04.1-x86_64-1.txz:  Upgraded.
kde/krfb-23.04.1-x86_64-1.txz:  Upgraded.
kde/kross-5.106.0-x86_64-1.txz:  Upgraded.
kde/kross-interpreters-23.04.1-x86_64-1.txz:  Upgraded.
kde/kruler-23.04.1-x86_64-1.txz:  Upgraded.
kde/krunner-5.106.0-x86_64-1.txz:  Upgraded.
kde/ksanecore-23.04.1-x86_64-1.txz:  Upgraded.
kde/kservice-5.106.0-x86_64-1.txz:  Upgraded.
kde/kshisen-23.04.1-x86_64-1.txz:  Upgraded.
kde/ksirk-23.04.1-x86_64-1.txz:  Upgraded.
kde/ksmtp-23.04.1-x86_64-1.txz:  Upgraded.
kde/ksnakeduel-23.04.1-x86_64-1.txz:  Upgraded.
kde/kspaceduel-23.04.1-x86_64-1.txz:  Upgraded.
kde/ksquares-23.04.1-x86_64-1.txz:  Upgraded.
kde/ksudoku-23.04.1-x86_64-1.txz:  Upgraded.
kde/ksystemlog-23.04.1-x86_64-1.txz:  Upgraded.
kde/kteatime-23.04.1-x86_64-1.txz:  Upgraded.
kde/ktextaddons-1.3.1-x86_64-1.txz:  Upgraded.
kde/ktexteditor-5.106.0-x86_64-1.txz:  Upgraded.
kde/ktextwidgets-5.106.0-x86_64-1.txz:  Upgraded.
kde/ktimer-23.04.1-x86_64-1.txz:  Upgraded.
kde/ktnef-23.04.1-x86_64-1.txz:  Upgraded.
kde/ktorrent-23.04.1-x86_64-1.txz:  Upgraded.
kde/ktouch-23.04.1-x86_64-1.txz:  Upgraded.
kde/kturtle-23.04.1-x86_64-1.txz:  Upgraded.
kde/kubrick-23.04.1-x86_64-1.txz:  Upgraded.
kde/kunitconversion-5.106.0-x86_64-1.txz:  Upgraded.
kde/kwallet-5.106.0-x86_64-1.txz:  Upgraded.
kde/kwalletmanager-23.04.1-x86_64-1.txz:  Upgraded.
kde/kwave-23.04.1-x86_64-1.txz:  Upgraded.
kde/kwayland-5.106.0-x86_64-1.txz:  Upgraded.
kde/kwidgetsaddons-5.106.0-x86_64-1.txz:  Upgraded.
kde/kwindowsystem-5.106.0-x86_64-1.txz:  Upgraded.
kde/kwordquiz-23.04.1-x86_64-1.txz:  Upgraded.
kde/kxmlgui-5.106.0-x86_64-1.txz:  Upgraded.
kde/kxmlrpcclient-5.106.0-x86_64-1.txz:  Upgraded.
kde/libgravatar-23.04.1-x86_64-1.txz:  Upgraded.
kde/libkcddb-23.04.1-x86_64-1.txz:  Upgraded.
kde/libkcompactdisc-23.04.1-x86_64-1.txz:  Upgraded.
kde/libkdcraw-23.04.1-x86_64-1.txz:  Upgraded.
kde/libkdegames-23.04.1-x86_64-1.txz:  Upgraded.
kde/libkdepim-23.04.1-x86_64-1.txz:  Upgraded.
kde/libkeduvocdocument-23.04.1-x86_64-1.txz:  Upgraded.
kde/libkexiv2-23.04.1-x86_64-1.txz:  Upgraded.
kde/libkgapi-23.04.1-x86_64-1.txz:  Upgraded.
kde/libkipi-23.04.1-x86_64-1.txz:  Upgraded.
kde/libkleo-23.04.1-x86_64-1.txz:  Upgraded.
kde/libkmahjongg-23.04.1-x86_64-1.txz:  Upgraded.
kde/libkomparediff2-23.04.1-x86_64-1.txz:  Upgraded.
kde/libksane-23.04.1-x86_64-1.txz:  Upgraded.
kde/libksieve-23.04.1-x86_64-1.txz:  Upgraded.
kde/libktorrent-23.04.1-x86_64-1.txz:  Upgraded.
kde/lokalize-23.04.1-x86_64-1.txz:  Upgraded.
kde/lskat-23.04.1-x86_64-1.txz:  Upgraded.
kde/mailcommon-23.04.1-x86_64-1.txz:  Upgraded.
kde/mailimporter-23.04.1-x86_64-1.txz:  Upgraded.
kde/marble-23.04.1-x86_64-1.txz:  Upgraded.
kde/markdownpart-23.04.1-x86_64-1.txz:  Upgraded.
kde/mbox-importer-23.04.1-x86_64-1.txz:  Upgraded.
kde/messagelib-23.04.1-x86_64-1.txz:  Upgraded.
kde/minuet-23.04.1-x86_64-1.txz:  Upgraded.
kde/modemmanager-qt-5.106.0-x86_64-1.txz:  Upgraded.
kde/networkmanager-qt-5.106.0-x86_64-1.txz:  Upgraded.
kde/okular-23.04.1-x86_64-1.txz:  Upgraded.
kde/oxygen-icons5-5.106.0-noarch-1.txz:  Upgraded.
kde/palapeli-23.04.1-x86_64-1.txz:  Upgraded.
kde/parley-23.04.1-x86_64-1.txz:  Upgraded.
kde/partitionmanager-23.04.1-x86_64-1.txz:  Upgraded.
kde/picmi-23.04.1-x86_64-1.txz:  Upgraded.
kde/pim-data-exporter-23.04.1-x86_64-1.txz:  Upgraded.
kde/pim-sieve-editor-23.04.1-x86_64-1.txz:  Upgraded.
kde/pimcommon-23.04.1-x86_64-1.txz:  Upgraded.
kde/plasma-framework-5.106.0-x86_64-1.txz:  Upgraded.
kde/poxml-23.04.1-x86_64-1.txz:  Upgraded.
kde/print-manager-23.04.1-x86_64-1.txz:  Upgraded.
kde/prison-5.106.0-x86_64-1.txz:  Upgraded.
kde/purpose-5.106.0-x86_64-1.txz:  Upgraded.
kde/qqc2-desktop-style-5.106.0-x86_64-1.txz:  Upgraded.
kde/rocs-23.04.1-x86_64-1.txz:  Upgraded.
kde/skanlite-23.04.1-x86_64-1.txz:  Upgraded.
kde/skanpage-23.04.1-x86_64-1.txz:  Upgraded.
kde/solid-5.106.0-x86_64-1.txz:  Upgraded.
kde/sonnet-5.106.0-x86_64-1.txz:  Upgraded.
kde/spectacle-23.04.1-x86_64-1.txz:  Upgraded.
kde/step-23.04.1-x86_64-1.txz:  Upgraded.
kde/svgpart-23.04.1-x86_64-1.txz:  Upgraded.
kde/sweeper-23.04.1-x86_64-1.txz:  Upgraded.
kde/syndication-5.106.0-x86_64-1.txz:  Upgraded.
kde/syntax-highlighting-5.106.0-x86_64-1.txz:  Upgraded.
kde/threadweaver-5.106.0-x86_64-1.txz:  Upgraded.
kde/tokodon-23.04.1-x86_64-1.txz:  Upgraded.
kde/umbrello-23.04.1-x86_64-1.txz:  Upgraded.
kde/yakuake-23.04.1-x86_64-1.txz:  Upgraded.
kde/zanshin-23.04.1-x86_64-1.txz:  Upgraded.
l/at-spi2-core-2.48.2-x86_64-1.txz:  Upgraded.
l/mpfr-4.2.0p07-x86_64-1.txz:  Upgraded.
l/qtkeychain-0.14.0-x86_64-1.txz:  Upgraded.
l/rpcsvc-proto-1.4.4-x86_64-1.txz:  Upgraded.
n/openvpn-2.6.4-x86_64-1.txz:  Upgraded.
n/php-8.2.6-x86_64-1.txz:  Upgraded.
  This is a bugfix release.
  For more information, see:
    https://www.php.net/ChangeLog-8.php#8.2.6
x/libXaw3d-1.6.5-x86_64-1.txz:  Upgraded.
xap/mozilla-firefox-113.0.1-x86_64-1.txz:  Upgraded.
  This is a bugfix release.
  For more information, see:
    https://www.mozilla.org/en-US/firefox/113.0.1/releasenotes/
xfce/mousepad-0.6.1-x86_64-1.txz:  Upgraded.
2023-05-14 20:55:20 +02:00

441 lines
15 KiB
Bash

#!/bin/bash
# Copyright 1999 Patrick Volkerding, Moorhead, Minnesota, USA
# Copyright 2001, 2002, 2003 Slackware Linux, Inc., Concord, California, USA
# Copyright 2009, 2015, 2021 Patrick J. Volkerding, Sebeka, MN, USA
# Copyright 2015 Michal Nazarewicz <mina86@mina86.com>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
# permitted provided that the following conditions are met:
#
# 1. Redistributions of this script must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
# Wed May 19 04:46:53 UTC 2021
# export PRE_INSTALL_PASS="true" if we'll be running installpkg a second time
# for each package. Perhaps then we could skip some expensive install script
# functions until the final pass. Thanks to Stuart Winter.
#
# Mon Jun 4 21:17:58 UTC 2018
# Use /var/lib/pkgtools, not /var/log.
#
# Thu May 24 20:23:55 UTC 2018
# Added --terselength option to set the line length in --terse mode.
# Use a lockfile to prevent output collisions in --terse mode.
#
# Wed May 23 03:35:28 UTC 2018
# Added --terse, which limits screen output to one line per package.
#
# Sat 17 Jan 16:21:32 UTC 2015 mina86
# Various optimisation mostly resolving around avoiding having to fork
# and call cut, basename and other helper commands. Slight
# refactoring of code calling removepkg.
#
# Sat Apr 25 21:18:53 UTC 2009
# Support new compression types and package extensions.
# Converted to use new pkgbase() function to remove pathname and
# valid package extensions.
#
# Added --dry-run, Sat Apr 26 18:13:29 PDT 2003
#
# Added --install-new and --reinstall, Fri May 31 14:11:14 PDT 2002 volkerdi
#
# Rewritten to clean out _all_ old packages of a given basename, not just
# the first one found, Thu Apr 4 01:01:05 PST 2002 volkerdi
#
# Modified to handle either old 8.3 or new package-version-arch-build.tgz
# packages, Sat Nov 17 14:25:58 PST 2001 volkerdi
# Return a package name that has been stripped of the dirname portion
# and any of the valid extensions (only):
pkgbase() {
PKGRETURN=${1##*/}
case "$PKGRETURN" in *.t[gblx]z)
PKGRETURN=${PKGRETURN%.*}
esac
echo "$PKGRETURN"
}
usage() {
cat << EOF
Usage: upgradepkg [options] <newpackage> ...
upgradepkg [options] <oldpackage%newpackage> ...
Upgrade, install, or reinstall Slackware packages (.tgz, .tbz, .tlz, .txz).
To operate on an alternate directory, such as /mnt:
ROOT=/mnt upgradepkg package.txz
Options:
--dry-run only display what would be done
--warn same as --dry-run
--install-new install new packages also
--reinstall upgrade packages of the same version
--terse display a single line for each package operation
--terselength <length> maximum line length of terse output
--verbose display all the gory details of the upgrade
--help display this help
For more details see upgradepkg(8).
EOF
}
# Set the prefix for the package database directories (packages, scripts).
ADM_DIR="$ROOT/var/lib/pkgtools"
# Make sure there's a proper temp directory:
TMP=$ADM_DIR/setup/tmp
# If the $TMP directory doesn't exist, create it:
if [ ! -d $TMP ]; then
mkdir -p $TMP
chmod 700 $TMP # no need to leave it open
fi
# This script expects an 022 umask:
umask 022
# $ROOT defined?
if [ -d "$ROOT" ]; then
export ROOT
else
unset ROOT
fi
# --help or no args?
if [ "$1" = "" -o "$1" = "-help" -o "$1" = "--help" -o "$1" = "-?" ]; then
usage;
exit 1;
fi
# Create a lockfile directory if it doesn't exist. We can use it to prevent
# output line collisions in --terse mode.
INSTLOCKDIR=${INSTLOCKDIR:-/run/lock/pkgtools}
if [ ! -d $INSTLOCKDIR ]; then
mkdir -p $INSTLOCKDIR
fi
# Set default line length for terse mode:
if tty -s && which tput 1> /dev/null 2> /dev/null ; then
TERSELENGTH=$(tput cols)
else
TERSELENGTH=80
fi
# Arg processing loop. These must come before any packages are listed.
while [ 0 ]; do
if [ "$1" = "-no-paranoia" -o "$1" = "--no-paranoia" ]; then
# Enable --no-paranoia mode. This is so not-recommended that we're
# not even going to document it. ;) If a file used to be directly
# managed and now is moved into place, using --no-paranoia will cause
# it to improperly disappear. It does slightly speed things up, though.
# Don't use it.
NOT_PARANOID="true"
shift 1
elif [ "$1" = "-install-new" -o "$1" = "--install-new" ]; then
# Install packages that do not already have an installed version.
# The usual default is to skip them.
INSTALL_NEW="yes"
shift 1
elif [ "$1" = "-reinstall" -o "$1" = "--reinstall" ]; then
# Reinstall packages even if the installed one is the same version.
REINSTALL="true"
shift 1
elif [ "$1" = "-verbose" -o "$1" = "--verbose" -o "$1" = "-v" ]; then
# We're adding a --verbose mode that doesn't filter removepkg as much
VERBOSE="verbose"
shift 1
elif [ "$1" = "-dry-run" -o "$1" = "--dry-run" -o "$1" = "-warn" -o "$1" = "--warn" ]; then
# Output a report about which packages would be installed or upgraded
# but don't actually perform the upgrades.
DRY_RUN="true"
shift 1
elif [ "$1" = "-terse" -o "$1" = "--terse" ]; then
# Output one line per installed/upgraded package by calling installpkg
# with --terse. Use TERSE=0 for true, so we can check with test.
TERSE=0
shift 1
elif [ "$1" = "-terselength" -o "$1" = "--terselength" ]; then
# Set line length in --terse mode:
TERSELENGTH=$2
shift 2
else # no more args
break;
fi
done # processing args
# A couple not-really-documented features to adjust the behavior of --terse
# mode. These need to be used in addition to --terse, and passed in as
# environment variables.
# PLAINTERSE=0 (This outputs the standard terse line from installpkg, rather
# than prefixing it with "Upgrading:" or "Installing:")
# INFOBOX=0 (This outputs the installpkg --infobox instead of a terse line)
# Here's a function to figure out the package name from one of those
# new long filenames. We'll need this to double check the name of the
# old package.
package_name() {
STRING=$(pkgbase "$1")
case "$STRING" in
*-*-*-*)
# At least four segments, strip version arch and build and return name:
echo "${STRING%-*-*-*}"
# cruft for later ;)
# BUILD=${STRING##*-}
# STRING=${STRING%*-}
# ARCH=${STRING##*-}
# STRING=${STRING%*-}
# VER=${STRING%*-}
;;
*)
# Old style package name with one segment or we don't have four
# segments: return the old-style (or out of spec) package name.
echo $STRING
esac
}
ERRCODE=0
# Main processing loop:
for ARG; do
OLD=${ARG%'%'*} # first segment, = $ARG if no %
NEW=${ARG#*'%'} # second segment, = $ARG if no %
# Simple package integrity check:
if ! [ -f "$NEW" ]; then
ERRCODE=4
echo "Cannot install $NEW: file not found"
continue;
fi
# Figure out the names of the old and new packages:
INCOMINGDIR=$(dirname $NEW)
# These are the package names with the extension:
NNAME=${NEW##*/}
ONAME=${OLD##*/}
# These are the package names without the extension:
OLD=$(pkgbase $OLD)
NEW=$(pkgbase $NEW)
# Make sure the extension is valid:
if [ "$NNAME" = "$NEW" ]; then
# We won't throw an ERRCODE for this, but the package is skipped:
echo "Cannot install $OLD: invalid package extension"
continue;
fi
# Check and fix the old package name:
SHORT="$(package_name $OLD)"
if [ ! -r $ADM_DIR/packages/$OLD ]; then
if ls $ADM_DIR/packages/$SHORT* 1> /dev/null 2> /dev/null ; then
for installed_package in $ADM_DIR/packages/$SHORT* ; do
if [ "$(package_name $installed_package)" = "$SHORT" ]; then # found one
OLD="${installed_package##*/}"
break
fi
done
fi
fi
# Test to see if both the old and new packages are where we expect them
# to be - skip to the next package (or package pair) if anything's wrong:
if [ ! -r $ADM_DIR/packages/$OLD ]; then
if [ ! "$INSTALL_NEW" = "yes" ]; then
if [ "$DRY_RUN" = "true" ]; then
echo "$OLD would not be upgraded (no installed package named $SHORT)."
else
! [ $TERSE ] && echo
echo "Error: there is no installed package named $OLD."
! [ $TERSE ] && echo " (looking for $ADM_DIR/packages/$OLD)"
! [ $TERSE ] && echo
fi
ERRCODE=1
else # --install-new was given, so install the new package:
if [ "$DRY_RUN" = "true" ]; then
echo "$NEW would be installed (new package)."
else
if [ $PLAINTERSE ]; then
/sbin/installpkg --terse --terselength $TERSELENGTH $INCOMINGDIR/$NNAME
elif [ $INFOBOX ]; then
/sbin/installpkg --infobox $INCOMINGDIR/$NNAME
elif [ $TERSE ]; then
OUTPUTLINE="$(/sbin/installpkg --terse --terselength $(expr $TERSELENGTH - 12) $INCOMINGDIR/$NNAME)"
( flock 9 || exit 11
echo "Installing: ${OUTPUTLINE}"
) 9> $INSTLOCKDIR/outputline.lock
else
cat << EOF
+==============================================================================
| Installing new package $INCOMINGDIR/$NNAME
+==============================================================================
EOF
/sbin/installpkg $INCOMINGDIR/$NNAME
fi
fi
fi
continue;
elif [ ! -r "$INCOMINGDIR/$NNAME" ]; then
if [ "$DRY_RUN" = "true" ]; then
echo "$NEW incoming package not found (command line)."
else
! [ $TERSE ] && echo
echo "Error: incoming package $INCOMINGDIR/$NNAME not found."
! [ $TERSE ] && echo
fi
ERRCODE=1
continue;
fi
# Unless --reinstall was given, compare the package names
# and skip any exact matches:
if [ ! "$REINSTALL" = "true" ]; then
if [ "$OLD" = "$NEW" ]; then
if [ "$DRY_RUN" = "true" ]; then
echo "$NEW would be skipped (already installed)."
else
if ! [ $TERSE ]; then
cat << EOF
+==============================================================================
| Skipping package $NEW (already installed)
+==============================================================================
EOF
fi
fi
continue;
fi
fi
# Showtime. Let's do the upgrade. First, we will rename all the
# installed packages with this basename to make them easy to remove later:
TIMESTAMP=$(date +%Y-%m-%d,%T)
SHORT="$(package_name $OLD)"
if [ "$DRY_RUN" = "true" ]; then
echo -n "$NEW would upgrade:"
for installed_package in $ADM_DIR/packages/$SHORT* ; do
if [ "$(package_name $installed_package)" = "$SHORT" ]; then
echo -n " $(pkgbase $installed_package)"
fi
done
echo
continue
fi
for installed_package in $ADM_DIR/packages/$SHORT* ; do
if [ "$(package_name $installed_package)" = "$SHORT" ]; then
mv $installed_package ${installed_package}-upgraded-$TIMESTAMP
fi
done
for installed_script in $ADM_DIR/scripts/$SHORT* ; do
if [ "$(package_name $installed_script)" = "$SHORT" ]; then
if [ -r $installed_script ]; then
mv $installed_script ${installed_script}-upgraded-$TIMESTAMP
fi
fi
done
# Print a banner for the current upgrade:
if ! [ $TERSE ]; then
cat << EOF
+==============================================================================
| Upgrading $OLD package using $INCOMINGDIR/$NNAME
+==============================================================================
EOF
fi
# Next, the new package is pre-installed:
# Signal to the install script that this is a pre-install, in case it cares:
if [ ! "$NOT_PARANOID" = "true" ]; then
export PRE_INSTALL_PASS="true"
fi
if [ "$VERBOSE" = "verbose" ]; then
if ! [ $TERSE ]; then
/sbin/installpkg $INCOMINGDIR/$NNAME
RETCODE=$?
else
/sbin/installpkg $INCOMINGDIR/$NNAME 1> /dev/null
RETCODE=$?
fi
else
if [ $PLAINTERSE ]; then
/sbin/installpkg --terse --terselength $TERSELENGTH $INCOMINGDIR/$NNAME
elif [ $INFOBOX ]; then
/sbin/installpkg --infobox $INCOMINGDIR/$NNAME
elif [ $TERSE ]; then
OUTPUTLINE="$(/sbin/installpkg --terse --terselength $(expr $TERSELENGTH - 12) $INCOMINGDIR/$NNAME)"
RETCODE=$?
( flock 9 || exit 11
echo "Upgrading: ${OUTPUTLINE}"
) 9> $INSTLOCKDIR/outputline.lock
else
echo "Pre-installing package $NEW..."
/sbin/installpkg $INCOMINGDIR/$NNAME 1> /dev/null
RETCODE=$?
fi
fi
# At this stage, if the operator supplied --no-paranoia, the package
# installation process (as far as unpacking content and running setup scripts
# is concerned) is complete.
# By default there will be a second and final installation pass, and to avoid
# executing expensive actions (such as re-generating data files or creating
# a large number of symlinks) installpkg skips running the install script on
# that first pass. Now we'll unset the PRE_INSTALL_PASS environment variable
# so that installpkg will run the install script.
unset PRE_INSTALL_PASS
# Make sure that worked:
if [ ! $RETCODE = 0 ]; then
echo "ERROR: Package $INCOMINGDIR/$NNAME did not install"
echo "correctly. You may need to reinstall your old package"
echo "to avoid problems. Make sure the new package is not"
echo "corrupted."
sleep 15
# Skip this package, but still try to proceed. Good luck...
continue;
fi
# Now, the leftovers from the old package(s) can go. Pretty simple, huh? :)
( flock 9 || exit 11
for rempkg in "$ADM_DIR/packages/"*"-$TIMESTAMP"; do
if [ "$VERBOSE" = "verbose" ]; then
/sbin/removepkg "${rempkg##*/}"
elif ! [ $TERSE ]; then
/sbin/removepkg "${rempkg##*/}" | grep -v 'Skipping\.\|Removing files:'
else
/sbin/removepkg "${rempkg##*/}" > /dev/null
fi
done
) 9> $INSTLOCKDIR/removepkg.lock
# Again! Again!
# Seriously, the reinstalling of a package can be crucial if any files
# shift location, so we should always reinstall as the final step:
if [ ! "$NOT_PARANOID" = "true" ]; then
if ! [ $TERSE ]; then
/sbin/installpkg --no-overwrite $INCOMINGDIR/$NNAME
else
/sbin/installpkg --no-overwrite $INCOMINGDIR/$NNAME 1> /dev/null
fi
fi
! [ $TERSE ] && echo "Package $OLD upgraded with new package $INCOMINGDIR/$NNAME."
ERRCODE=0
done
exit $ERRCODE