Hi Jari!

Jari Aalto [2005-08-31 20:13 +0300]:
> Oops. I didn't notice those symlinks. You mentioned that
> postgresql-client-<version> holds the binaries, but
> postgresql-common reads:
> 
>     Conflicts: postgresql (<< 7.5), 
>              postgresql-client (<< 7.5), 
>              postgresql-7.4 (<< 1:7.4.8-10), 
>              postgresql-8.0 (<< 8.0.3-7)
> 
> which means that lower client packages cannot be used? 

It just means that the current version does not work with older
versions of the client and server packages. It will work with the
current versions (and is in fact required by them). These conflicts
ensure that you can never install versions that will not work
together.

> So,
> in order to connect to database (to use 'psql'), I have to
> install postgresql-common whose name is
> 
> ... is unintuitive

Since you don't actually *want* postgresql-common, you will never have
a reason to explicitly ask for it. You want to install e. g. the 8.0
server package (postgresql-8.0) or the 7.4 client package
(postgresql-client-7.4), and these will pull in p-common as a
dependency. The -common suffix is very common (hehe) in Debian for
packages that factor out functionality of several packages.

So the name of the package actually does not matter at all for users.

> ... and brings utilities (symlinks?) that are not asked for

So what, a few symlinks which not everybody will use (but many users
will use) do not hurt anybody.

> So, from the maintainer (your) point of view I understand
> the reluctance to split, but I feel that the coherence of
> the packaging system would be improved if there were
> consistency and separation of objects like:
> 
>     <package>-client
>     <package>-server

There is a separation; postgresql-client-8.0 provides the client part,
postgresql-8.0 the server part. The latter is just not called
"-server", mainly for historical reasons.

> Just like the openssh finally is shipped in separate
> packages and not in monolithic "one". In postgresql's case,
> it's a bit "doh!, What's postgresql-common?"

First, an user shouldn't actually care. Second, the package
description says:

Description: manager for PostgreSQL database clusters
 postgresql-common provides a structure under which multiple versions of
 PostgreSQL may be installed and/or multiple clusters maintained at one
 time.

> - The name implies infrastructure for all postgresql
>   related 
>   => is it really such package?

Sure; it contains all the actual packaging logic which is shared
between all server and client versions.

> - People searching for client with "apt-cache search"
>   will not recognize the need to look for 
>   "common" package

Since p-common is a dependency, they don't need to.

> The end user asks:
> 
> - Okay, I need client. Where is that client package?

$ apt-cache search postgresql client
postgresql-client-8.0 - front-end programs for PostgreSQL 8.0
postgresql-client-7.4 - front-end programs for PostgreSQL 7.4
[...]

> - Okay I need admin tools, Where is that package?

apt-cache search postgresql admin will also reveal the client
packages, which say

Description: front-end programs for PostgreSQL 8.0
 This package contains client and administrative programs for
 PostgreSQL: these are the interactive terminal client psql and
 programs for creating and removing users and databases.

> - Okay I need server, where is that server?

Likewise, apt-cache search (or your preferred packaging frontend) will find
them.

> I don't think it's the size of the package that should be
> important, but the packages ability to answer to the needs
> of the user. 

Right.

> Even if with 'psql' it is possible to do all the things as with the
> individual helper programs, the mental thinking is that "they are
> admin utilities" and should belong to "admin package".

The distinction between "database usage" and "database administration"
is not really sharp; some people might consider creating a database as
using it (much the same way as an editor can create new files), other
people might regard it as administrative. I don't really see that it
would make sense to forcefully rip apart the packages, it would only
confuse users, clutter the archive, and give you even more hits when
looking for a package.

If you think the package descriptions can be improved in any way, I
will be happy to tweak them, but I don't want to introduce a categoric
split that is done nowhere else for databases.

Thanks and have a nice day!

Martin
-- 
Martin Pitt        http://www.piware.de
Ubuntu Developer   http://www.ubuntu.com
Debian Developer   http://www.debian.org

Attachment: signature.asc
Description: Digital signature

Reply via email to