Question regarding RPM packaging of interactive software.

Adam Williamson awilliam at redhat.com
Mon Jan 10 11:32:48 UTC 2011


On Sun, 2011-01-09 at 11:37 -0700, susmit shannigrahi wrote:
> > My understanding was that we never touch databases in RPMs, period.  We
> > don't create, modify, update, or remove.  I can't recall at the moment
> > where this stems from, but the rationale, as I recall, was that we can
> > never be sure if the database is available at RPM install/upgrade time.
> > Plus, the consquences of a failed or interrupted RPM transaction on the DB
> > could be. . interesting.
> >
> > So, in short, don't do it, and but if no one can find a citation in the
> > guidelines someone ought to write a draft, for that way lies madness. :)
> 
> Thanks for your help.
> I shall take these to upstream.

I think, just in case it's not clear, that the typical way this should
be handled is that on installation the software should not create the
necessary database; instead the creation process should be documented
for the user to complete manually. So when the software is packaged,
there's no problem, as there's no database operation to handle. This is
how all mature, popular apps that rely on databases work. For instance,
when you install Wordpress, you then go through a short 'setup' process
which prompts you to manually create the necessary databases and
configure Wordpress to be able to access them.

Normally, when the software is updated, on the next run it should
automatically make any necessary changes to its own database (since
obviously it now has the required access privileges). If there is a
major update that requires changes to the database that cannot be
automated, then again, these should be documented for the user to carry
out, no crazy 'overwrite or no' interactive options during package
install.

Your next step should be to outline this to upstream, and show examples
of widely-used database apps such as Wordpress and MythTV and so on.
-- 
Adam Williamson
Fedora QA Community Monkey
IRC: adamw | Fedora Talk: adamwill AT fedoraproject DOT org
http://www.happyassassin.net



More information about the devel mailing list