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?