Created attachment 16899 [details] Снимок проблемы Версия пакета: 0.5.15lorg2-alt88 Эмулятор терминала: Konsole (23.08.5-alt1) Размер шрифта и разрешение экрана не играют роли. Команда для воспроизведения (с правами root): apt-get remove libpcre2
ShowEssential оказывается передаёт List с пробелами. Я думал, что такое невозможно: ведь тогда VersionList будет выдан криво. Но разработчики оригинального apt'а оригинальны и хитры: они не заполняют VersionList в ShowEssential, оставляя его закомментированным с тремя знаками вопроса: //VersionsList += string(Cache[I].CurVersion) + "\n"; ??? Это можно использовать, чтобы по традиции запилить минимально инвазивный костыль: https://git.altlinux.org/people/iv/packages/apt.git?a=commitdiff;h=3f21b7afaed7f7bbd4abefbea7c56adeef877952 Я проверял, работает. Назовём его вариант номер 0. Есть и другие варианты решения проблемы: 1. попытаться как-то подетектить круглые скобочки в List и разбить список по ним; 2. бекпортировать с апстрима то, что они сделали с ShowList (они его превратили в template); 3. реализовать свой ShowListEx, который будет брать List и VersionList как вектора строк; текущий ShowList реализовать в терминах ShowListEx и оставить для обратной совместимости; 4. просто поставить APT::Get::List-Columns в false по умолчанию, признать, что мы не готовы к таким продвинутым технологиям. Прошу мейнтейнера выссказаться.
apt-0.5.15lorg2-alt91 -> sisyphus: Tue Apr 08 2025 Ivan Zakharyaschev <imz@altlinux> 0.5.15lorg2-alt91 - Fixes for ShowEssential output (showing the essential to-be-removed packages): + Applied a trick to fix a bad case of columnar output (thx iv@). (ALT#51546) + Restored a missing space in its translated output (be, ja, ru). - New sample configs in apt.conf.d: + 01-Debug-pkgMarkInstall.conf: the common options for bug reports (ALT#49565) + 01-Debug-Acquire.conf: for debugging fetching and connections + 01-UI.conf: to turn off the columnar output from 0.5.15lorg2-alt88 in the UI