Package: dpkg

Hi.

Currently dpkg has logic to detect the terminal width and then to adjust
its output. If the terminal is too narrow this has the effect of
truncating useful information such as the package names and versions.
Truncating this information has the effect of rendering the output
useless. For instance:

  dima@scrawny:~$ echo $COLUMNS       
  88

  dima@scrawny:~$ dpkg -l '*sundials*'
  Desired=Unknown/Install/Remove/Purge/Hold
  | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
  |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
  ||/ Name             Version       Architecture  Description
  
+++-================-=============-=============-=====================================
  ii  libsundials-arko 2.7.0+dfsg-2+ amd64         differential equation solver 
(SUNDIAL
  ii  libsundials-cvod 2.7.0+dfsg-2+ amd64         ordinary differential 
equation solver
  ii  libsundials-cvod 2.7.0+dfsg-2+ amd64         ODE solver with sensistivity 
analysis
  ii  libsundials-dev  2.7.0+dfsg-2+ amd64         Package providing everything 
for SUND
  ii  libsundials-ida2 2.7.0+dfsg-2+ amd64         differential-algebraic 
system solver 
  ii  libsundials-idas 2.7.0+dfsg-2+ amd64         IDA solver with sensitivity 
capabilit
  ii  libsundials-kins 2.7.0+dfsg-2+ amd64         KINSOL solver (SUNDIALS 
library)
  ii  libsundials-nvec 2.7.0+dfsg-2+ amd64         HYPRE vector operations 
library (SUND
  ii  libsundials-nvec 2.7.0+dfsg-2+ amd64         MPI vector operations 
library (SUNDIA
  ii  libsundials-nvec 2.7.0+dfsg-2+ amd64         OpenMP vector operations 
library (SUN
  ii  libsundials-nvec 2.7.0+dfsg-2+ amd64         PETSc vector operations 
library (SUND
  ii  libsundials-nvec 2.7.0+dfsg-2+ amd64         Pthread vector operations 
library (SU
  ii  libsundials-nvec 2.7.0+dfsg-2+ amd64         Non-parallel vector 
operations librar
  un  libsundials-seri <none>        <none>        (no description available)

I asked dpkg to tell me about all the '*sundials*' packages it knows
about. And it then lied to me about both the names and the versions of
these packages. To get the requested information out I have to prevent
dpkg from knowing my terminal settings:

  dima@scrawny:~$ dpkg -l '*sundials*' | cat
  Desired=Unknown/Install/Remove/Purge/Hold
  | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
  |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
  ||/ Name                                    Version         Architecture 
Description
  
+++-=======================================-===============-============-===========================================================
  ii  libsundials-arkode1:amd64               2.7.0+dfsg-2+b2 amd64        
differential equation solver (SUNDIALS library)
  ii  libsundials-cvode2:amd64                2.7.0+dfsg-2+b2 amd64        
ordinary differential equation solver (SUNDIALS library)
  ii  libsundials-cvodes2:amd64               2.7.0+dfsg-2+b2 amd64        ODE 
solver with sensistivity analysis (SUNDIALS library)
  ii  libsundials-dev                         2.7.0+dfsg-2+b2 amd64        
Package providing everything for SUNDIALS dev work
  ii  libsundials-ida2:amd64                  2.7.0+dfsg-2+b2 amd64        
differential-algebraic system solver (SUNDIALS library)
  ii  libsundials-idas1:amd64                 2.7.0+dfsg-2+b2 amd64        IDA 
solver with sensitivity capabilities (SUNDIALS library)
  ii  libsundials-kinsol2:amd64               2.7.0+dfsg-2+b2 amd64        
KINSOL solver (SUNDIALS library)
  ii  libsundials-nvecparallel-hypre2:amd64   2.7.0+dfsg-2+b2 amd64        
HYPRE vector operations library (SUNDIALS library)
  ii  libsundials-nvecparallel-mpi2:amd64     2.7.0+dfsg-2+b2 amd64        MPI 
vector operations library (SUNDIALS library)
  ii  libsundials-nvecparallel-openmp2:amd64  2.7.0+dfsg-2+b2 amd64        
OpenMP vector operations library (SUNDIALS library)
  ii  libsundials-nvecparallel-petsc2:amd64   2.7.0+dfsg-2+b2 amd64        
PETSc vector operations library (SUNDIALS library)
  ii  libsundials-nvecparallel-pthread2:amd64 2.7.0+dfsg-2+b2 amd64        
Pthread vector operations library (SUNDIALS library)
  ii  libsundials-nvecserial2:amd64           2.7.0+dfsg-2+b2 amd64        
Non-parallel vector operations library (SUNDIALS library)
  un  libsundials-serial-dev                  <none>          <none>       (no 
description available)

Can we please strip out this logic? I don't think 'dpkg -l' should cut
out any information ever. Want a patch?

Reply via email to