[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Help wanted for packaging postgresql application

On Sun, May 25, 2003 at 09:56:04PM +0200, Andreas Tille wrote:

> I want to package GnuMed which is a Python application accessing
> PostgreSQL server.
>      http://bugs.debian.org/166282
> It comes with a Python bootstrap routine.  That means the postinst script
> would need a working Python and PostgreSQL server installed.
> I think I would solve this by a simple check whether Python and PostgreSQL
> are working. If not I would use a Debconf message to tell the user, what
> to do after installation of all prerequsites is done.  If there is any
> better way to accomplish this I would be happy for hints.

For python, you only need to declare Depends: python to ensure that python
is installed and configured when your postinst runs.

postgresql is more complex, because (presumably) you want to allow for a
remote database.  If so, you must prompt the user for the hostname,
authentication information, etc. and fail if you are unable to connect to
it.  If you only support a local database, you can just depend on
postgresql-server or whatever is appropriate.

> The bootstrap routine creates a postgres user where the user is asked for
> a password.  I would like to ask via debconf for the password.  Is there
> any method to access the debconf database with Python?  Currently I have
> the plan to use a shell procedure to create a temporary configfile via
> tempfile which stores the password in plain for the installation time.
> This config file is read by the bootstrap method.  This is no way I would
> be really happy about but for the time beeing (regarding to the alpha
> status of the programm it is not yet used in production) it would do the
> trick until I would find a better solution.  Hints are welcome here.

I believe someone is working on a python debconf interface, but I do not
know its status.  You can probably find out with some searching and email.
If you store the password in a temporary file, make sure that you do it
securely, using e.g. $(tempfile -m 0600) so that it is created with O_EXCL
and secure permissions before you try to put any data into it.

> This ends in
>    psql: FATAL:  IDENT authentication failed for user "mytestuser"
> Now I would llike to know the following two things:
>   1. How to change the postgresql configuration in a way which just
>      adds minimum off additional rights?
>   2. How to accomplish this change?

Presumably you use a GRANT command as in ANSI SQL92.  The specifics may be
slightly different for postgresql's unix socket authentication; I am not so
familiar with it.

 - mdz

Reply to: