transitioning from a single to split package

View: New views
6 Messages — Rating Filter:   Alert me  

transitioning from a single to split package

by Penny Leach-4 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

[ please cc both me and the package team ]

Hi debian-devel

The Moodle package team is currently evaluating how to best upgrade the
existing not very well working, and out of date package.

Moodle is a webapp that works with both mysql and postgres. We currently
have a single package that supports both (badly) and we're talking about
migrating to a split package, using dbconfig-common.

The problem we've come across is how to handle migrations.  If we have a
moodle package, that depends on moodle-mysql | moodle-pgsql, then package
managers that just install the first dependency, could cause a situation,
for example, where someone has configured their moodle installation to work
on postgres, but the upgrade installs moodle-mysql, which is obviously a
problem.   We could detect this case in preinst, and complain bitterly and
refuse to install, but that's going to break upgrades, so is obviously a
no-goer.

I think the best way to handle this, is stop having a moodle package at
all, but instead have a moodle-common package, that depends on either
moodle-mysql and moodle-pgsql.  These two obviously depend on
moodle-common, and conflict with each other, and all three new packages
conflict with the old "moodle" package.

This, I believe avoids the migration problem, and forces a manual
installation.  If we ship with a NEWS.Debian (inside moodle-common, I
guess), which announces that one must manually install moodle-mysql or
moodle-pgsql, is this a good enough way to migrate from a single to a split
package without breaking the upgrade?

Cheers,
Penny




--
/* ---------------------------------------------------
Penny Leach | http://mjollnir.org | http://she.geek.nz
GPG: 8347 00FC B5BF 6CC0 0FC9 AB90 1875 120A A30E C22B
--------------------------------------------------- */


signature.asc (205 bytes) Download Attachment

Re: transitioning from a single to split package

by Raphael Geissert-4 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Penny Leach wrote:
[...]
>
> I think the best way to handle this, is stop having a moodle package at
> all, but instead have a moodle-common package, that depends on either
> moodle-mysql and moodle-pgsql.  These two obviously depend on
> moodle-common, and conflict with each other, and all three new packages
> conflict with the old "moodle" package.
>

I think I'm not understanding the situation very well.
First of all, why do you want to split moodle? there's for example phpbb3
which uses dbconfig and allows multiple different DBMS as backends.
Second, why wouldn't users be allowed to install both, together, the -mysql
and -pgsql versions?

Cheers,
--
Raphael Geissert - Debian Developer
www.debian.org - get.debian.net


--
To UNSUBSCRIBE, email to debian-devel-REQUEST@...
with a subject of "unsubscribe". Trouble? Contact listmaster@...


Re: transitioning from a single to split package

by Penny Leach-4 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi,

On Sun, Nov 01, 2009 at 08:01:20PM -0600, Raphael Geissert wrote:
> First of all, why do you want to split moodle? there's for example phpbb3
> which uses dbconfig and allows multiple different DBMS as backends.

Fair question.  There's also quite a few packages that depend on
dbconfig-common and have split between -mysql and -pgsql - to be honest, we
thought that was the general direction packages were taking that supported
both, but that may have been based on a faulty assumption.

Personally, I think it's tidier, and less ambiguous for users.

> Second, why wouldn't users be allowed to install both, together, the -mysql
> and -pgsql versions?

Well, that's logically equivalent to installing multiple versions of the
same package.  At the moment,  there's one moodle installation, which has
code that lives in /usr/share/moodle, and connects to one database.   This
is determined by its one config file.  You can do tricks in the config file
to fool Moodle into connecting to different databases, based on some rule
(like virtualhost), but I don't see the use case here, and I don't think
any other web applications support being installed multiple times, do they?

Cheers,
Penny




--
/* ---------------------------------------------------
Penny Leach | http://mjollnir.org | http://she.geek.nz
GPG: 8347 00FC B5BF 6CC0 0FC9 AB90 1875 120A A30E C22B
--------------------------------------------------- */


signature.asc (205 bytes) Download Attachment

Re: transitioning from a single to split package

by Neil McGovern :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Sun, Nov 01, 2009 at 12:25:51PM +0100, Penny Leach wrote:
> The problem we've come across is how to handle migrations.  If we have a
> moodle package, that depends on moodle-mysql | moodle-pgsql, then package
> managers that just install the first dependency, could cause a situation,
> for example, where someone has configured their moodle installation to work
> on postgres, but the upgrade installs moodle-mysql, which is obviously a
> problem.   We could detect this case in preinst, and complain bitterly and
> refuse to install, but that's going to break upgrades, so is obviously a
> no-goer.
>

Hi Penny,

I'm slightly confused about the need to depend. Are the
moodle-mysql/pgsql packages providing the support for the database
schemes in moodle, or utilising the dependency structure to pull in the
databases themselves (or both)?

I'm thinking specifically of the case when the database is on a remote
host, so the relevant db-connection libraries should be depended on, but
not the database itself.

Thanks,
Neil
--
<pixie> hermanr_: I never studied german
<pixie> I can just read some of it because it makes sense
<Tolimar> . o O ( There is stuff Ganneff writes, which makes sense? )


--
To UNSUBSCRIBE, email to debian-devel-REQUEST@...
with a subject of "unsubscribe". Trouble? Contact listmaster@...


Re: transitioning from a single to split package

by gregor herrmann-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Mon, 02 Nov 2009 07:15:35 +0100, Penny Leach wrote:

> Well, that's logically equivalent to installing multiple versions of the
> same package.  At the moment,  there's one moodle installation, which has
> code that lives in /usr/share/moodle, and connects to one database.   This
> is determined by its one config file.  You can do tricks in the config file
> to fool Moodle into connecting to different databases, based on some rule
> (like virtualhost), but I don't see the use case here,

Having several separate moodle instances on one machine seems like a
normal use case to me.

> and I don't think
> any other web applications support being installed multiple times, do they?

wordpress for example allows "multiple blog" setups.

mediawiki can at least be tricked into it, and I remember a host with
one mediawiki instance using postgres and two or three others mysql.


Cheers,
gregor
--
 .''`.   http://info.comodo.priv.at/ -- GPG Key IDs: 0x00F3CFE4, 0x8649AA06
 : :' :  Debian GNU/Linux user, admin, & developer - http://www.debian.org/
 `. `'   Member of VIBE!AT, SPI Inc., fellow of FSFE | http://got.to/quote/
   `-    NP: Funny van Dannen: Eurythmieschuhe


signature.asc (205 bytes) Download Attachment

Re: transitioning from a single to split package

by Paul Wise-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Tue, Nov 3, 2009 at 3:56 AM, gregor herrmann <gregoa@...> wrote:

> On Mon, 02 Nov 2009 07:15:35 +0100, Penny Leach wrote:
>
>> Well, that's logically equivalent to installing multiple versions of the
>> same package.  At the moment,  there's one moodle installation, which has
>> code that lives in /usr/share/moodle, and connects to one database.   This
>> is determined by its one config file.  You can do tricks in the config file
>> to fool Moodle into connecting to different databases, based on some rule
>> (like virtualhost), but I don't see the use case here,
>
> Having several separate moodle instances on one machine seems like a
> normal use case to me.
>
>> and I don't think
>> any other web applications support being installed multiple times, do they?
>
> wordpress for example allows "multiple blog" setups.
>
> mediawiki can at least be tricked into it, and I remember a host with
> one mediawiki instance using postgres and two or three others mysql.

Python/Django/etc based web applications support multiple sites quite
well, usually you have to setup a directory where all the data is kept
before actually using the app. This is usually part of an admin tool
installed in $PATH. It seems that mainly PHP apps have an issue with
this.

--
bye,
pabs

http://wiki.debian.org/PaulWise


--
To UNSUBSCRIBE, email to debian-devel-REQUEST@...
with a subject of "unsubscribe". Trouble? Contact listmaster@...