* Guillem Jover [2012-05-16 22:46 +0200]:
> As long as the user enabled a foreign architecture, and the
> dependencies are fulfilled, I don't see why the fact that it's
> foreign or not is really important.

There are cases where knowing that a package is installed from arch foo
is interesting, anyhow, collecting examples like filing bugs against
segfaulting programs would not lead us to anywhere.


> If the user really wants to know there's always more explicit and
> reliable ways to query that, with dpkg-query -W for example.

The dpkg-query -W syntax is too long to type and too complicated to be
used by non-experienced users, but I think there should be an easy way
to query information like the list of all installed packages, their
state, their version and their architecture.

If we ignore multi-arch and dpkg frontends like apt, I see two problems
with dpkg -l:

  * The output is designed to be human readable and thus the column
    headings are included in the output.  People use this human readable
    output in scripts and thus hack up ways to remove this headings. One
    way to prevent this need for such hacks would have been adding an
    additional option (for example --quiet or --verbose to disable or
    enable printing of the headings), an other way would have been to
    print the headings to stderr, flush stderr and then print the actual
    information to stderr.

  * There is no way to add a new column without breaking existing
    scripts.  Currently, the short description starts at column 4, if
    a column would be added before the description, the description
    would start at column 5; appending a column would be weird because
    the description contains spaces, which are also used as column
    separator.

If a new option would be added, the above could be prevented easily. The
column's headings and explanations could be send to stderr, and what is
sent to stdout after flushing stderr could be equivalent to:

  dpkg-query -W -f 
'${db:Status-Abbrev}\t${binary:Package}\t${Version}\t${Architecture}\n' | 
column -t

In the man page, it could be mentioned that new columns might be added
in future and that the same package name could occur in the output
multiple times in future versions, and possibly that db:Status-Abbrev
might be extended but the first two letters will not change their
meaning.


Regards
Carsten



-- 
To UNSUBSCRIBE, email to debian-dpkg-bugs-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to