EDIT: For the avoidance doubt, this question is not about how to get a list of files that a package installs, as in the suggested duplicate.
Is there a standard way to find out the purpose of a package, that is detailed enough that you can work out what you will get from the package and whether or not it is something that you want?
I'll give a couple of examples to explain what I mean. The first, postgresql-contrib, is what lead me to ask this question. I've come across various installation instructions for PostgreSQL that tell you to install this package in addition to postgresql, without explaining why in any meaningful way (example 1, example 2).
apt-cache show postgresql-contrib only gives me a vague and general description:
additional facilities for PostgreSQL (supported version) This metapackage always depends on the currently supported PostgreSQL database contrib package.
PostgreSQL is a fully featured object-relational database management system. It supports a large part of the SQL standard and is designed to be extensible by users in many aspects. Some of the features are: ACID transactions, foreign keys, views, sequences, subqueries, triggers, user- defined types and functions, outer joins, multiversion concurrency control. Graphical user interfaces and bindings for many programming languages are available as well.
What I'm after is a proper description of what additional facilities I get if I install this package.
Another example is libreoffice-templates, where apt-cache show doesn't provide any useful information about what you'd actually get:
Additional set of templates for LibreOffice
Additional set of templates for:
- LibreOffice Calc spreadsheets
- LibreOffice Writer texts
- LibreOffice Impress presentations
Is there a standard way of getting more detailed information than apt-cache show gives?