slackware-current/source/a/pkgtools/scripts/removepkg
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

464 lines
17 KiB
Bash

#!/bin/bash
# Slackware remove package script
#
# Copyright 1994, 1995, 1998 Patrick Volkerding, Moorhead, Minnesota USA
# Copyright 2001, Slackware Linux, Inc., Concord, CA USA
# Copyright 2009, 2015, 2016, 2018, 2020 Patrick J. Volkerding, Sebeka, MN, USA
# 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 Apr 1 22:14:46 UTC 2020
# Add --skip-douninst option to skip running the uninstall script.
# Save removed uninstall scripts in /var/log/removed_uninstall_scripts.
#
# Tue Mar 31 03:06:25 UTC 2020
# Support an uninstall script to be executed when the package is removed.
# The script should be a standard sh script with the same name as the package
# (without the .txz or other extension), and should be installed in
# /var/lib/pkgtools/douninst.sh.
#
# Tue Jun 5 20:04:45 UTC 2018
# Use /var/lib/pkgtools for the package database, not /var/log.
# Logs of the removed packages and scripts will remain in /var/log, but moved
# into /var/log/pkgtools.
#
# Sun May 27 18:02:23 UTC 2018
# Added --terse mode to print one line per removed package.
#
# Wed May 23 17:31:23 UTC 2018
# Use file locking to prevent more than one copy of ldconfig from running at
# a time.
#
# Thu Sep 15 17:46:28 UTC 2016 <volkerdi>
# If removepkg is called with a short package name (no -$VERSION-$ARCH-$BUILD),
# remove the most recently installed matching package, not the oldest one.
#
# Thu Sep 15 08:09:01 BST 2016 <mozes>
# - Handle finding >1 match for a package. Thanks to SeB on LQ for the feedback.
#
# Wed Sep 14 20:44:00 BST 2016 <mozes>
# - Modify package_name function to cater for package file names that contain
# >=4 hyphens.
# Thanks to coralfang on LQ for the report and to Jim Hawkins for the patch.
# - Modified to handle packages that contain file names with backslashes
# Thanks to aaazen on LQ for the report and the patch.
#
# Thu Sep 24 03:31:58 UTC 2015 <alphageek>
# extract_links() sed adjusted to handle symlinks with spaces.
#
# Sun Sep 6 21:58:36 BST 2009
# Replaced pkgbase & package_name code with 'sed' script by Jim Hawkins.
#
# Sat Apr 25 21:18:53 UTC 2009 (12.34567890b)
# Converted to use new pkgbase() function to remove pathname and
# valid package extensions.
#
# Revision 12.34567890 Sun Apr 5 20:59:32 CDT 2009 <volkerdi>
# - Support packages with the extensions: .tgz, .tbz, .tlz, .txz
#
# Revision 1.9 Wed Oct 31 14:04:28 CDT 2007 volkerding
# - Fix problem removing packages with a large number of fields.
# Thanks to Niki Kovacs for noticing this, and to Piter Punk
# for the patch.
# - Use LC_ALL=C locale, which is much faster with "sort".
# Thanks to Tsomi.
# - Don't try to remove any package that starts with '-'. This
# is not a proper package name (usually a typo), and results
# in the package database being broken. Thanks to Jef Oliver.
# - Patched cat_except() to allow the last Slackware package on
# a partition to be removed (using ROOT=, of course)
# Thanks to Selkfoster for the patch, and to everyone else who
# proposed solutions before. This issue really wasn't given
# the highest priority before, but I figured while I'm in here...
#
# Revision 1.8 Thu Nov 22 14:00:13 PST 2001 volkerding Rel $
# - Move $TMP underneath $ROOT
# - Understand the idea of a base package name, so that packages
# can be removed with any of these notations:
# removepkg foo-1.0-i386-1.tgz
# removepkg foo-1.0-i386-1
# removepkg foo.tgz
# removepkg foo
#
# Revision 1.7 2001/03/30 12:36:28 volkerding
# - Strip extra ".tgz" from input names.
#
# Revision 1.6 1999/03/25 18:26:41 volkerding
# - Use external $ROOT variable, like installpkg.
#
# Revision 1.5.1 1998/03/18 15:37:28 volkerding
# - Since removepkg is always run by root, the temp directory has been
# moved from /tmp to a private directory to avoid symlink attacks from
# malicious users.
#
# Revision 1.5 1997/06/26 12:09:53 franke
# - Fixed old bug in TRIGGER regex setting
# - -preserve/-copy options now preserve non-unique files
# and empty directories also
#
# Revision 1.4 1997/06/09 13:21:36 franke
# - Package file preserve (-preserve, -copy) added.
# - Don't execute "rm -rf" lines from doinst.sh, removing links explicit.
# - Warning on no longer existing files added.
# - Warning on files changed after package installation added.
# - Intermediate file preserve (-keep) added.
# - Check for required files/links now done on a combined list.
# - Write access to /var/log/{packages,scripts} no longer necessary for -warn.
#
# Revision 1.3 1997/06/08 13:03:05 franke
# Merged with revision 1.1.1.1
#
# Revision 1.2 1996/06/01 20:04:26 franke
# Delete empty directories & formated manual pages added
#
# Revision 1.1.1.1 1995/12/18 21:20:42 volkerding
# Original Version from Slackware 3.1
#
# Revision 1.1 1995/06/05 22:49:11 volkerding
# Original Version from Slackware 3.0
#
# Needed to find package names within the 'remove_packages' function:
shopt -s extglob
# Return a package name that has been stripped of the dirname portion
# and any of the valid extensions (only):
pkgbase() {
# basename + strip extensions .tbz, .tgz, .tlz and .txz
echo "$1" | sed 's?.*/??;s/\.t[bglx]z$//'
}
# This makes "sort" run much faster:
export LC_ALL=C
# Set the prefix for the package database directories (packages, scripts).
ADM_DIR="$ROOT/var/lib/pkgtools"
# Set the prefix for the removed packages/scripts log files:
LOG_DIR="$ROOT/var/log/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
PRES_DIR=$TMP/preserved_packages
# Lock directory for ldconfig... share it with installpkg so that upgradepkg
# becomes properly ldconfig-locked, too.
INSTLOCKDIR=${INSTLOCKDIR:-/run/lock/pkgtools}
if [ ! -d $INSTLOCKDIR ]; then
mkdir -p $INSTLOCKDIR
fi
# This simple cat_except() should be used on the installer,
# since the busybox "find" can't handle the complex find
# syntax:
#cat_except() {
# ( cd "$1" && cat $(ls * | sed "/^$2\$/d"))
#}
# This version of cat_except() allows the last package to be
# removed when ROOT= is used:
cat_except() {
( cd "$1" && \
if [ $(find . -type f -maxdepth 1 2> /dev/null | wc -l) -ne 1 ]; then
cat $(find . -type f -maxdepth 1 2> /dev/null | grep -v "$2") 2> /dev/null
fi
)
}
extract_links() {
sed -n 's,^[ ]*( [ ]*cd[ ]* \(.*\) [ ]*; [ ]*rm [ ]*-rf[ ]* \(.*\) [ ]*)[ ]*$,\1/\2,p'
}
preserve_file() {
if [ "$PRESERVE" = "true" ]; then
F="$(basename "$1")"
D="$(dirname "$1")"
if [ ! -d "$PRES_DIR/$PKGNAME/$D" ]; then
mkdir -p "$PRES_DIR/$PKGNAME/$D" || return 1
fi
cp -p "$ROOT/$D/$F" "$PRES_DIR/$PKGNAME/$D" || return 1
fi
return 0
}
preserve_dir() {
if [ "$PRESERVE" = "true" ]; then
if [ ! -d "$PRES_DIR/$PKGNAME/$1" ]; then
mkdir -p "$PRES_DIR/$PKGNAME/$1" || return 1
fi
fi
return 0
}
keep_files() {
while read FILE ; do
if [ ! -d "$ROOT/$FILE" ]; then
if [ -r "$ROOT/$FILE" ]; then
! [ $TERSE ] && echo " --> $ROOT/$FILE was found in another package. Skipping."
preserve_file "$FILE"
else
if [ "$(echo $FILE | cut -b1-8)" != "install/" ]; then
! [ $TERSE ] && echo "WARNING: Nonexistent $ROOT/$FILE was found in another package. Skipping."
fi
fi
else
preserve_dir "$FILE"
fi
done
}
keep_links() {
while read LINK ; do
if [ -L "$ROOT/$LINK" ]; then
! [ $TERSE ] && echo " --> $ROOT/$LINK (symlink) was found in another package. Skipping."
else
! [ $TERSE ] && echo "WARNING: Nonexistent $ROOT/$LINK (symlink) was found in another package. Skipping."
fi
done
}
delete_files() {
local unset LC_ALL # Locally (within this delete_files function) allow handling of backslashes
while read -r AFILE ; do # do not expand backslashes on read
FILE=$(printf "%b" "$AFILE") # unescape octal characters
if [ ! -d "$ROOT/$FILE" ]; then
if [ -r "$ROOT/$FILE" ]; then
if [ "$ROOT/$FILE" -nt "$ADM_DIR/packages/$PKGNAME" ]; then
! [ $TERSE ] && echo "WARNING: $ROOT/$FILE changed after package installation."
fi
if [ ! "$WARN" = "true" ]; then
! [ $TERSE ] && echo " --> Deleting $ROOT/$FILE"
preserve_file "$FILE" && rm -f "$ROOT/$FILE"
else
! [ $TERSE ] && echo " --> $ROOT/$FILE would be deleted"
preserve_file "$FILE"
fi
else
if [ "$(echo $FILE | cut -b1-8)" != "install/" ]; then
! [ $TERSE ] && echo " --> $ROOT/$FILE no longer exists. Skipping."
fi
fi
else
preserve_dir "$FILE"
fi
done
}
delete_links() {
while read LINK ; do
if [ -L "$ROOT/$LINK" ]; then
if [ ! "$WARN" = "true" ]; then
! [ $TERSE ] && echo " --> Deleting symlink $ROOT/$LINK"
rm -f "$ROOT/$LINK"
else
! [ $TERSE ] && echo " --> $ROOT/$LINK (symlink) would be deleted"
fi
else
! [ $TERSE ] && echo " --> $ROOT/$LINK (symlink) no longer exists. Skipping."
fi
done
}
delete_dirs() {
sort -r | \
while read DIR ; do
if [ -d "$ROOT/$DIR" ]; then
if [ ! "$WARN" = "true" ]; then
if [ $(ls -a "$ROOT/$DIR" | wc -l) -eq 2 ]; then
! [ $TERSE ] && echo " --> Deleting empty directory $ROOT/$DIR"
rmdir "$ROOT/$DIR" 2> /dev/null # Using 2> /dev/null to prevent noise from upgradepkg when a directory changes to a symlink.
else
! [ $TERSE ] && echo "WARNING: Unique directory $ROOT/$DIR contains new files"
fi
else
! [ $TERSE ] && echo " --> $ROOT/$DIR (dir) would be deleted if empty"
fi
fi
done
}
delete_cats() {
sed -n 's,/man\(./[^/]*$\),/cat\1,p' | \
while read FILE ; do
if [ -f "$ROOT/$FILE" ]; then
if [ ! "$WARN" = "true" ]; then
! [ $TERSE ] && echo " --> Deleting $ROOT/$FILE (fmt man page)"
rm -f $ROOT/$FILE
else
! [ $TERSE ] && echo " --> $ROOT/$FILE (fmt man page) would be deleted"
fi
fi
done
}
# Conversion to 'comm' utility by Mark Wisdom.
# is pretty nifty! :^)
remove_packages() {
for PKGLIST in $*
do
PKGNAME=$(pkgbase $PKGLIST)
# If we don't have a package match here, then we will attempt to find
# a package using the long name format (name-version-arch-build) for
# which the base package name was given. On a properly-managed machine,
# there should only be one package installed with a given basename, but
# we don't enforce this policy. If there's more than one, only one will
# be removed. If you want to remove them all, you'll need to run
# removepkg again until it removes all the same-named packages.
if [ ! -e $ADM_DIR/packages/$PKGNAME ]; then
# Short name not found - finally try looking for full name - e.g. foo-1.0-arm-1
pushd $ADM_DIR/packages > /dev/null
# Don't set PKGNAME if there are no matches:
if [ ! "$( ls -1 $PKGNAME-+([^-])-+([^-])-+([^-]) 2>/dev/null | wc -l )" = "0" ]; then
# If there is more than one package with the same name, set PKGNAME to the
# most recently installed version. This does not affect the behavior of
# upgradepkg, which always removes all other existing versions of the
# same package.
PKGNAME=$( ls -1t $PKGNAME-+([^-])-+([^-])-+([^-]) 2> /dev/null | head -n1 )
fi
popd > /dev/null
fi
if [ -r $ADM_DIR/packages/$PKGNAME ]; then
if [ ! "$WARN" = true ]; then
echo "Removing package: $(basename $ADM_DIR/packages/$PKGNAME)"
# If there's an uninstall script, save it:
if [ -r $ADM_DIR/douninst.sh/$PKGNAME -a ! "$SKIP_DOUNINST" = "true" ]; then
cp -a $ADM_DIR/douninst.sh/$PKGNAME $TMP/$PKGNAME
elif [ -r $ADM_DIR/douninst.sh/$(echo ${PKGNAME} | sed "s/-upgraded.*//") -a ! "$SKIP_DOUNINST" = "true" ]; then
cp -a $ADM_DIR/douninst.sh/$(echo ${PKGNAME} | sed "s/-upgraded.*//") $TMP/$PKGNAME
else
rm -f $TMP/$PKGNAME
fi
fi
if grep -F "./" $ADM_DIR/packages/$PKGNAME 1> /dev/null 2>&1; then
TRIGGER="^\.\/"
else
TRIGGER="FILE LIST:"
fi
if [ ! "$WARN" = true ]; then
! [ $TERSE ] && echo "Removing files:"
fi
sed -n "/$TRIGGER/,/^$/p" < $ADM_DIR/packages/$PKGNAME | \
grep -F -v "FILE LIST:" | sort -u > $TMP/delete_list$$
# Pat's new-new && improved pre-removal routine.
cat_except $ADM_DIR/packages $PKGNAME | sort -u > $TMP/required_list$$
if [ -r $ADM_DIR/scripts/$PKGNAME ]; then
extract_links < $ADM_DIR/scripts/$PKGNAME | sort -u > $TMP/del_link_list$$
cat_except $ADM_DIR/scripts $PKGNAME | extract_links | \
sort -u > $TMP/required_links$$
mv $TMP/required_list$$ $TMP/required_files$$
sort -u $TMP/required_links$$ $TMP/required_files$$ > $TMP/required_list$$
comm -12 $TMP/del_link_list$$ $TMP/required_list$$ | keep_links
comm -23 $TMP/del_link_list$$ $TMP/required_list$$ | delete_links
else
cat $ADM_DIR/scripts/* 2> /dev/null | extract_links | \
sort -u > $TMP/required_links$$
mv $TMP/required_list$$ $TMP/required_files$$
sort -u $TMP/required_links$$ $TMP/required_files$$ >$TMP/required_list$$
fi
comm -12 $TMP/delete_list$$ $TMP/required_list$$ | keep_files
comm -23 $TMP/delete_list$$ $TMP/required_list$$ > $TMP/uniq_list$$
delete_files < $TMP/uniq_list$$
delete_dirs < $TMP/uniq_list$$
delete_cats < $TMP/uniq_list$$
if [ ! "$KEEP" = "true" ]; then
rm -f $TMP/delete_list$$ $TMP/required_files$$ $TMP/uniq_list$$
rm -f $TMP/del_link_list$$ $TMP/required_links$$ $TMP/required_list$$
fi
if [ "$PRESERVE" = "true" ]; then
if [ -r $ADM_DIR/scripts/$PKGNAME ]; then
if [ ! -d "$PRES_DIR/$PKGNAME/install" ]; then
mkdir -p "$PRES_DIR/$PKGNAME/install"
fi
cp -p $ADM_DIR/scripts/$PKGNAME $PRES_DIR/$PKGNAME/install/doinst.sh
fi
fi
if [ ! "$WARN" = "true" ]; then
# We won't assume that anything in /var/log can be trusted to remain there,
# so we'll remake the directories and symlinks first:
mkdir -p $LOG_DIR/removed_packages $LOG_DIR/removed_scripts $LOG_DIR/removed_uninstall_scripts
for symlink in removed_packages removed_scripts removed_uninstall_scripts ; do
if [ ! -L $LOG_DIR/../$symlink ]; then
rm -rf $LOG_DIR/../$symlink
( cd $LOG_DIR/.. ; ln -sf pkgtools/$symlink . )
fi
done
# Now that we know we have log directories, move the files:
mv $ADM_DIR/packages/$PKGNAME $LOG_DIR/removed_packages
if [ -r $ADM_DIR/scripts/$PKGNAME ]; then
mv $ADM_DIR/scripts/$PKGNAME $LOG_DIR/removed_scripts
fi
# If there is an uninstall script, run it here:
if [ -r $TMP/$PKGNAME ]; then
( cd $ROOT/ ; sh $TMP/$PKGNAME )
# Move the uninstall script to $LOG_DIR/removed_uninstall_scripts:
mv $TMP/$PKGNAME $LOG_DIR/removed_uninstall_scripts
fi
# In the case where a library and symlink are removed but an earlier version
# remains on the machine, this will link it up and save potential problems:
if [ "$ROOT" = "" ] && [ -x /sbin/ldconfig ]; then
( flock 9 || exit 11
/sbin/ldconfig 2> /dev/null
) 9> $INSTLOCKDIR/ldconfig.lock
fi
fi
else
echo "No such package: $(basename $ADM_DIR/packages/$PKGNAME). Can't remove."
fi
done
}
if [ "$#" = "0" ]; then
echo "Usage: $(basename $0) [--copy] [--keep] [--preserve] [--skip-douninst] [--terse] [--warn] [--dry-run] packagename ..."; exit 1
fi
while : ; do
case "$1" in
-copy | --copy) WARN=true; PRESERVE=true; shift;;
-keep | --keep) KEEP=true; shift;;
-preserve | --preserve) PRESERVE=true; shift;;
-skip-douninst | --skip-douninst) SKIP_DOUNINST=true; shift;;
-terse | --terse) TERSE=0; shift;;
-warn | --warn | -dry-run | --dry-run) WARN=true; shift;;
-* | --*) echo "Usage: $(basename $0) [--copy] [--keep] [--preserve] [--warn] [--dry-run] packagename ..."; exit 1;;
*) break
esac
done
if [ "$WARN" = "true" ]; then
unset TERSE
echo "Only warning... not actually removing any files."
if [ "$PRESERVE" = "true" ]; then
echo "Package contents is copied to $PRES_DIR."
fi
echo "Here's what would be removed (and left behind) if you"
echo "removed the package(s):"
echo
else
if [ "$PRESERVE" = "true" ]; then
echo "Package contents is copied to $PRES_DIR."
fi
fi
remove_packages $*