Bug 5467 - text-mode tl-setup presents unreadable list of packages to install
Summary: text-mode tl-setup presents unreadable list of packages to install
Status: CLOSED FIXED
Alias: None
Product: ThinLinc
Classification: Unclassified
Component: Server Installer (show other bugs)
Version: 4.3.0
Hardware: PC Unknown
: P2 Normal
Target Milestone: 4.18.0
Assignee: Samuel Mannehed
URL:
Keywords: emeer_tester, prosaic, tobfa_tester
Depends on:
Blocks:
 
Reported: 2015-03-12 13:42 CET by Karl Mikaelsson
Modified: 2024-12-04 12:30 CET (History)
4 users (show)

See Also:
Acceptance Criteria:
MUST * The list of packages to be installed in text-mode tl-setup should be separated better to get an easier overview. * The list of packages should contain the same level of detail in both GUI and in text-mode SHOULD * Important information should still be included in the output.


Attachments
Package list in GUI (316.96 KB, image/png)
2024-11-26 20:39 CET, Samuel Mannehed
Details

Description Karl Mikaelsson cendio 2015-03-12 13:42:13 CET
I was trying to make sure tl-setup wouldn't upgrade selinux-policy when it installed packages and I had to try to find something in this horrible list:

> The following dependencies will be installed/updated:
> 
> foomatic-filters-4.0.9.x86_64, gdbm-devel-1.10.x86_64, glibc-
> devel-2.17.x86_64, glibc-headers-2.17.x86_64, kernel-
> headers-3.10.0.x86_64, libdb-devel-5.3.21.x86_64,
> libmng-1.0.10.x86_64, libpng12-1.2.50.x86_64, mailcap-2.1.41.noarch,
> mesa-libGLU-9.0.0.x86_64, patch-2.7.1.x86_64, perl-B-Lint-1.17.noarch,
> perl-Business-ISBN-2.06.noarch, perl-Business-ISBN-
> Data-20120719.001.noarch, perl-CGI-3.63.noarch, perl-
> CPAN-1.9800.noarch, perl-Class-ISA-0.36.noarch, perl-Compress-Raw-
> Bzip2-2.061.x86_64, perl-Compress-Raw-Zlib-2.061.x86_64, perl-Data-
> Dumper-2.145.x86_64, perl-Digest-1.17.noarch, perl-Digest-
> MD5-2.52.x86_64, perl-Digest-SHA-5.85.x86_64, perl-Encode-
> Locale-1.03.noarch, perl-Env-1.04.noarch, perl-ExtUtils-
> Install-1.58.noarch, perl-ExtUtils-MakeMaker-6.68.noarch, perl-
> ExtUtils-Manifest-1.61.noarch, perl-ExtUtils-ParseXS-3.18.noarch,
> perl-FCGI-0.74.x86_64, perl-File-CheckTree-4.42.noarch, perl-File-
> Listing-6.04.noarch, perl-HTML-Parser-3.71.x86_64, perl-HTML-
> Tagset-3.20.noarch, perl-HTTP-Cookies-6.01.noarch, perl-HTTP-
> Daemon-6.01.noarch, perl-HTTP-Date-6.02.noarch, perl-HTTP-
> Message-6.06.noarch, perl-HTTP-Negotiate-6.01.noarch, perl-IO-
> Compress-2.061.noarch, perl-IO-HTML-1.00.noarch, perl-IO-Socket-
> IP-0.21.noarch, perl-IO-Socket-SSL-1.94.noarch, perl-LWP-
> MediaTypes-6.02.noarch, perl-Locale-Codes-3.26.noarch, perl-Locale-
> Maketext-1.23.noarch, perl-Module-Pluggable-4.8.noarch, perl-Net-
> HTTP-6.06.noarch, perl-Net-LibIDN-0.12.x86_64, perl-Net-
> SSLeay-1.55.x86_64, perl-Pod-Checker-1.60.noarch, perl-Pod-
> LaTeX-0.61.noarch, perl-Pod-Parser-1.61.noarch, perl-Pod-
> Plainer-1.03.noarch, perl-Sys-Syslog-0.33.x86_64, perl-Test-
> Harness-3.28.noarch, perl-Test-Simple-0.98.noarch, perl-Text-
> Soundex-3.04.x86_64, perl-Text-Unidecode-0.04.noarch, perl-
> TimeDate-2.30.noarch, perl-URI-1.60.noarch, perl-WWW-
> RobotRules-6.02.noarch, perl-XML-LibXML-2.0018.x86_64, perl-XML-
> NamespaceSupport-1.11.noarch, perl-XML-SAX-0.99.noarch, perl-XML-SAX-
> Base-1.08.noarch, perl-autodie-2.16.noarch, perl-devel-5.16.3.x86_64,
> perl-libwww-perl-6.05.noarch, perl-local-lib-1.008010.noarch,
> pyparsing-1.5.6.noarch, qt-4.8.5.x86_64, qt-settings-19.noarch,
> qt-x11-4.8.5.x86_64, qt3-3.3.8b.x86_64, redhat-lsb-core-4.1.x86_64,
> redhat-lsb-cxx-4.1.x86_64, redhat-lsb-desktop-4.1.x86_64, redhat-lsb-
> languages-4.1.x86_64, redhat-lsb-printing-4.1.x86_64, redhat-lsb-
> submod-multimedia-4.1.x86_64, redhat-lsb-submod-security-4.1.x86_64,
> spax-1.5.2.x86_64, systemtap-sdt-devel-2.6.x86_64

Frustrating. Ideally, I'd like to see something like a two-column layout:

> The following dependencies will be installed/updated:
>
> foomatic-filters-4.0.9.x86_64,           gdbm-devel-1.10.x86_64,
> glibc-devel-2.17.x86_64,                 glibc-headers-2.17.x86_64,
> kernel-headers-3.10.0.x86_64,            libdb-devel-5.3.21.x86_64,
> libmng-1.0.10.x86_64,                    libpng12-1.2.50.x86_64,
> mailcap-2.1.41.noarch,                   mesa-libGLU-9.0.0.x86_64,
> patch-2.7.1.x86_64,                      perl-B-Lint-1.17.noarch,
> perl-Business-ISBN-2.06.noarch,          perl-Business-ISBN-Data-20120719.001.noarch,
> perl-CGI-3.63.noarch,                    perl-CPAN-1.9800.noarch,
> perl-Class-ISA-0.36.noarch,              perl-Compress-Raw-Bzip2-2.061.x86_64,
> perl-Compress-Raw-Zlib-2.061.x86_64,     perl-Data-Dumper-2.145.x86_64,
> perl-Digest-1.17.noarch,                 perl-Digest-MD5-2.52.x86_64,
> perl-Digest-SHA-5.85.x86_64,             perl-Encode-Locale-1.03.noarch,
> perl-Env-1.04.noarch,                    perl-ExtUtils-Install-1.58.noarch,
> perl-ExtUtils-MakeMaker-6.68.noarch,     perl-ExtUtils-Manifest-1.61.noarch,
> perl-ExtUtils-ParseXS-3.18.noarch,       perl-FCGI-0.74.x86_64,
> perl-File-CheckTree-4.42.noarch,         perl-File-Listing-6.04.noarch,
> perl-HTML-Parser-3.71.x86_64,            perl-HTML-Tagset-3.20.noarch,
> perl-HTTP-Cookies-6.01.noarch,           perl-HTTP-Daemon-6.01.noarch,
> perl-HTTP-Date-6.02.noarch,              perl-HTTP-Message-6.06.noarch,
> perl-HTTP-Negotiate-6.01.noarch,         perl-IO-Compress-2.061.noarch,
> perl-IO-HTML-1.00.noarch,                perl-IO-Socket-IP-0.21.noarch,
> perl-IO-Socket-SSL-1.94.noarch,          perl-LWP-MediaTypes-6.02.noarch,
> perl-Locale-Codes-3.26.noarch,           perl-Locale-Maketext-1.23.noarch,
> perl-Module-Pluggable-4.8.noarch,        perl-Net-HTTP-6.06.noarch,
> perl-Net-LibIDN-0.12.x86_64,             perl-Net-SSLeay-1.55.x86_64,
> perl-Pod-Checker-1.60.noarch,            perl-Pod-LaTeX-0.61.noarch,
> perl-Pod-Parser-1.61.noarch,             perl-Pod-Plainer-1.03.noarch,
> perl-Sys-Syslog-0.33.x86_64,             perl-Test-Harness-3.28.noarch,
> perl-Test-Simple-0.98.noarch,            perl-Text-Soundex-3.04.x86_64,
> perl-Text-Unidecode-0.04.noarch,         perl-TimeDate-2.30.noarch,
> perl-URI-1.60.noarch,                    perl-WWW-RobotRules-6.02.noarch,
> perl-XML-LibXML-2.0018.x86_64,           perl-XML-NamespaceSupport-1.11.noarch,
> perl-XML-SAX-0.99.noarch,                perl-XML-SAX-Base-1.08.noarch,
> perl-autodie-2.16.noarch,                perl-devel-5.16.3.x86_64,
> perl-libwww-perl-6.05.noarch,            perl-local-lib-1.008010.noarch,
> pyparsing-1.5.6.noarch,                  qt-4.8.5.x86_64,
> qt-settings-19.noarch,                   qt-x11-4.8.5.x86_64,
> qt3-3.3.8b.x86_64,                       redhat-lsb-core-4.1.x86_64,
> redhat-lsb-cxx-4.1.x86_64,               redhat-lsb-desktop-4.1.x86_64,
> redhat-lsb-languages-4.1.x86_64,         redhat-lsb-printing-4.1.x86_64,
> redhat-lsb-submod-multimedia-4.1.x86_64, redhat-lsb-submod-security-4.1.x86_64,
> spax-1.5.2.x86_64,                       systemtap-sdt-devel-2.6.x86_64

Aaah.. bliss.
Comment 4 Samuel Mannehed cendio 2022-06-17 14:53:52 CEST
Output before the patches on RHEL 7 minimal:

> The following packages will be installed:
> 
> ghostscript-9.25-5.el7.x86_64, libX11-1.6.7-4.el7_9.x86_64,
> xorg-x11-xauth-1.0.9-1.el7.x86_64
> 
> The following dependencies will be installed/updated:
> 
> adobe-mappings-cmap-20171205-3.el7.noarch, adobe-mappings-cmap-
> deprecated-20171205-3.el7.noarch, adobe-mappings-
> pdf-20180407-1.el7.noarch, avahi-libs-0.6.31-20.el7.x86_64, cups-
> libs-1.6.3-51.el7.x86_64, dejavu-fonts-common-2.33-6.el7.noarch, dejavu-
> sans-fonts-2.33-6.el7.noarch, fontconfig-2.13.0-4.3.el7.x86_64,
> fontpackages-filesystem-1.44-8.el7.noarch, jbigkit-
> libs-2.0-11.el7.x86_64, lcms2-2.6-3.el7.x86_64,
> libICE-1.0.9-9.el7.x86_64, libSM-1.2.2-2.el7.x86_64,
> libX11-common-1.6.7-4.el7_9.noarch, libXau-1.0.8-2.1.el7.x86_64,
> libXcursor-1.1.15-1.el7.x86_64, libXext-1.3.3-3.el7.x86_64,
> libXfixes-5.0.3-1.el7.x86_64, libXi-1.7.9-1.el7.x86_64,
> libXinerama-1.1.3-2.1.el7.x86_64, libXmu-1.1.2-2.el7.x86_64,
> libXrandr-1.5.1-2.el7.x86_64, libXrender-0.9.10-1.el7.x86_64,
> libXt-1.1.5-3.el7.x86_64, libXxf86misc-1.0.3-7.1.el7.x86_64,
> libXxf86vm-1.1.4-1.el7.x86_64, libfontenc-1.1.3-3.el7.x86_64,
> libgs-9.25-5.el7.x86_64, libjpeg-turbo-1.2.90-8.el7.x86_64,
> libpaper-1.1.24-9.el7.x86_64, libtiff-4.0.3-35.el7.x86_64,
> libxcb-1.13-1.el7.x86_64, openjpeg2-2.3.1-3.el7_7.x86_64, urw-
> base35-bookman-fonts-20170801-10.el7.noarch, urw-
> base35-c059-fonts-20170801-10.el7.noarch, urw-
> base35-d050000l-fonts-20170801-10.el7.noarch, urw-
> base35-fonts-20170801-10.el7.noarch, urw-base35-fonts-
> common-20170801-10.el7.noarch, urw-base35-gothic-
> fonts-20170801-10.el7.noarch, urw-base35-nimbus-mono-ps-
> fonts-20170801-10.el7.noarch, urw-base35-nimbus-roman-
> fonts-20170801-10.el7.noarch, urw-base35-nimbus-sans-
> fonts-20170801-10.el7.noarch, urw-
> base35-p052-fonts-20170801-10.el7.noarch, urw-base35-standard-symbols-
> ps-fonts-20170801-10.el7.noarch, urw-
> base35-z003-fonts-20170801-10.el7.noarch, xorg-x11-font-
> utils-7.5-21.el7.x86_64, xorg-x11-server-utils-7.7-20.el7.x86_64


Output in text mode after the patches:

> The following packages will be installed:
> 
>   ghostscript
>   libX11
>   xorg-x11-xauth
> 
> The following dependencies will be installed/updated:
> 
>   adobe-mappings-cmap             libXxf86misc
>   adobe-mappings-cmap-deprecated  libXxf86vm
>   adobe-mappings-pdf              libfontenc
>   avahi-libs                      libgs
>   cups-libs                       libjpeg-turbo
>   dejavu-fonts-common             libpaper
>   dejavu-sans-fonts               libtiff
>   fontconfig                      libxcb
>   fontpackages-filesystem         openjpeg2
>   jbigkit-libs                    urw-base35-bookman-fonts
>   lcms2                           urw-base35-c059-fonts
>   libICE                          urw-base35-d050000l-fonts
>   libSM                           urw-base35-fonts
>   libX11-common                   urw-base35-fonts-common
>   libXau                          urw-base35-gothic-fonts
>   libXcursor                      urw-base35-nimbus-mono-ps-fonts
>   libXext                         urw-base35-nimbus-roman-fonts
>   libXfixes                       urw-base35-nimbus-sans-fonts
>   libXi                           urw-base35-p052-fonts
>   libXinerama                     urw-base35-standard-symbols-ps-fonts
>   libXmu                          urw-base35-z003-fonts
>   libXrandr                       xorg-x11-font-utils
>   libXrender                      xorg-x11-server-utils
>   libXt
Comment 9 Samuel Mannehed cendio 2024-11-20 09:27:19 CET
> MUST
> * The list of packages to be installed in text-mode tl-setup should be separated better to get an easier overview.

It is, the output looks really nice. Tested on Fedora 41 and Ubuntu 24.10.

> SHOULD
> * Important information should still be included in the output.

We now show same level of detail as apt shows, i.e. not the version number or the arch of the package.
Comment 10 Tobias cendio 2024-11-25 14:03:25 CET
Getting a division by zero traceback when
  (1) length of element list is <= max columns (defaults to 3)
  (2) some element of length >= total width (defaults to 72) minus one
Comment 12 Samuel Mannehed cendio 2024-11-26 08:06:40 CET
(In reply to Tobias from comment #10)
> Getting a division by zero traceback when
>   (1) length of element list is <= max columns (defaults to 3)
>   (2) some element of length >= total width (defaults to 72) minus one

Good find! Fixed in r41385.
Comment 13 Samuel Mannehed cendio 2024-11-26 20:39:57 CET
Created attachment 1246 [details]
Package list in GUI
Comment 14 Samuel Mannehed cendio 2024-11-26 20:42:39 CET
The GUI still lists both package version and arch, as seen in attachment 1246 [details]. The GUI and text-mode should be in sync in what level of detail they show.
Comment 15 Tobias cendio 2024-11-27 07:32:06 CET
Tested this bug using server build #3838 on RHEL8, Ubuntu22.04, and SLES15.5.

The systems were set up in a minimal fashion such that they’d be lacking quite a few dependencies upon ThinLinc setup and the effect of the column ordering would be more salient.

Packages and dependencies are now neatly ordered alphabetically by column, granting an improved overview than previously and making it easier to find any particular package. In the case of very few packages that would only form one row across the columns, they will file into one single column instead, which is probably the more readable way of presenting few items.

I encountered a very long list of dependencies when installing on SLES15.5, ordered into two columns spanning roughly the height of two screens. I had to scroll down to the bottom and then scroll up to fully read this list alphabetically. Perhaps in such a case there’d be some advantage to ordering elements alphabetically by rows, as suggested in comment #0. However, I found it pleasing to the eye that sequential elements could be tracked alphabetically downwards, like the index of a book.

Moreover, we are presenting the same level of details as the common package managers zypper(8) and apt(8) found natively in SLES15.5 and Ubuntu22.04, respectively. That is, by defaut at least, no arch and versions. In RHEL8, dnf(8) presents also arch and version but separated into different columns, rendering the listing somewhat analogous to the former two package managers in terms of readability.
Comment 16 Tobias cendio 2024-11-27 07:33:41 CET
Acceptance criteria:

> MUST
> The list of packages to be installed in text-mode tl-setup should be separated better to get an easier overview.
✅ Packages are ordered in columns making it much easier to study the list.
> The list of packages should contain the same level of detail in both GUI and in text-mode
❌ This criteria hasn’t been fulfilled yet.
> SHOULD
> Important information should still be included in the output.
✅ Sufficient important information is included, consistent with other common package managers.
Comment 17 Tobias cendio 2024-11-27 07:35:16 CET
What remains to be tested is that the text and GUI modes should be consistent in their level of details.
Comment 19 Samuel Mannehed cendio 2024-11-28 09:10:04 CET
(In reply to Samuel Mannehed from comment #14)
> The GUI still lists both package version and arch, as seen in attachment
> 1246 [details]. The GUI and text-mode should be in sync in what level of
> detail they show.

Fixed in r41407.
Comment 22 Samuel Mannehed cendio 2024-11-28 18:47:23 CET
The package lists are now sorted as well.
Comment 23 Tobias cendio 2024-12-02 13:58:48 CET
Concerning comment #22, it was mistakenly claimed in comment #15 that packages are sorted alphabetically in the columns -- in general. In fact, the list of packages appears to be sorted by default in SLES15.5 and, as a result, also so in tl-setup. When testing the other distributions, this lack of sorting slipped by and wasn't noticed.
Comment 24 Emelie cendio 2024-12-03 14:39:28 CET
Tested build 3851 on Fedora 11, PopOS 22.04, Debian 12 and Red Hat 9, where the packages were presented in alphabetic order and in columns if needed. It works!

When testing on Fedora 11, it listed two packages with the same name, which looks a little strange. In the setup-log, it can be seen that the packages have different versions. This behaviour can be expected when we strip the presented information. Leave it as is, nothing to change.
Comment 25 Tobias cendio 2024-12-04 12:30:44 CET
Regarding the unfulfilled acceptance criteria in comment #16:

> MUST
> The list of packages should contain the same level of detail in both GUI and in text-mode
✅ Check. Both text and GUI modes now display only package names -- no arch or versions.

Everything seems to be in place now, and the acceptance criteria are fulfilled.

Closing.

Note You need to log in before you can comment on or make changes to this bug.