Debian based Linux: Ban "apt-get install moodle"!

Debian based Linux: Ban "apt-get install moodle"!

by Visvanath Ratnaweera -
Number of replies: 26
Picture of Particularly helpful Moodlers Picture of Translators
We had many cases of "apt-get install moodle" colliding with other methods of installing Moodle on Debian based Linux distributions.

In addition I get personal messages regularly on the same problem. Although I just request them to report back to this forum, it is still annoying. This one is from yesterday:

<quote>
I'm equally going through a closely similar hell over here. Wanted to test
moodle on my ubuntu 10.10 DKT. So did install from the CLI by issuing sudo
apt-get install moodle. Unfortunately, this installed ver. 1.9.4 which is not
compatible with PHP ver 5.3.x. This means that I can't edit anything on my
moodle site. I've tried all the workarounds from various moodle documentations
(CLI upgrade) but in vain.
</quote>

I suggest:
either
- we request the maintainer of the Moodle Debian package to remove "moodle" and replace it with "moodle19", "moodle20", etc. where all these should be the most recent stable (minor) versions of Moodle.
- the documenters here correct the wiki pages accordingly

or
- the maintainer must remove the package from Debian repositories completely
- the documenters remove "apt-get install moodle" from the wiki.

Please comment. If you agree to the complete version, please vote by rating this post!

Average of ratings: Useful (1)
In reply to Visvanath Ratnaweera

Re: Debian based Linux: Ban "apt-get install moodle"!

by Kanika Goyal -

Hi Visvanath,

I beleive your suggestion -
 'we request the maintainer of the Moodle Debian package to remove "moodle" and replace it with "moodle19", "moodle20", etc. where all these should be the most recent stable (minor) versions of Moodle.' -
- is a better option, if it is not that difficult to maintain.

Thanks!

Average of ratings: Useful (1)
In reply to Kanika Goyal

Re: Debian based Linux: Ban "apt-get install moodle"!

by Visvanath Ratnaweera -
Picture of Particularly helpful Moodlers Picture of Translators
Hi Kanika

I don't know the package maintainers nor have the authority to convey them requests from the Moodle community. I am mildly irritated by all the mishaps reported here by the "apt-get install moodle" crowd. IMO it is unnecessary, outdates (1.9.4?) and limits one's choice. See http://docs.moodle.org/en/Installing_Moodle_on_Debian_based_distributions for an alternative.

For whatever its worth, this security alert was published two days ago: http://lwn.net/Articles/484753/.
In reply to Visvanath Ratnaweera

Re: Debian based Linux: Ban "apt-get install moodle"!

by Jeremy Davis -

I agree.

Whilst your first suggestion seems ok. I don't think it will resolve the current Ubuntu issue. IMO your naming scheme makes sense, and php5.2 should be a dependancy of moodle19 and php5.3 a dependancy of moodle20/21/22. But the issue (at least with Ubuntu) is that it only includes v1.9 which doesn't work with php v5.3.

So perhaps it would be better to have them removed althogether. I still think that an Ubuntu/Debian repo would be really nice. I'd be great if Moodle had an official 3rd party Moodle repo. If you used the naming convention suggested then they could probably be all in together and just set appropriate dependancies.

OTOH I understand that this is potentially a bit of a pain to create and maintain and really it's pretty easy to install Moodle on top of LAMP. So how about another suggestion... A prep-for-moodle metapackage that could prepare your LAMP ready to install, or even just a script...

In reply to Jeremy Davis

Re: Debian based Linux: Ban "apt-get install moodle"!

by Visvanath Ratnaweera -
Picture of Particularly helpful Moodlers Picture of Translators
> and php5.2 should be a dependancy of moodle19 and php5.3 a dependancy of moodle20/21/22. But the issue (at least with Ubuntu) is that it only includes v1.9 which doesn't work with php v5.3.

Are you sure? I thought I tested even Moodle 1.6 under Debian Squeeze for this http://docs.moodle.org/en/Installing_Moodle_on_Debian_based_distributions#Get_the_Code.

> So perhaps it would be better to have them removed althogether.

AFAIAC yes. The way I've documented in the article above, I've a bigger choice.

> A prep-for-moodle metapackage that could prepare your LAMP ready to install, or even just a script...

Again, just my personal experience. You can make people happy by telling them, you don't have to understand anything, click here and you'll have a full Moodle site. There are big surprises waiting once they move on the the maintenance phase.
In reply to Jeremy Davis

Re: Debian based Linux: Ban "apt-get install moodle"!

by Visvanath Ratnaweera -
Picture of Particularly helpful Moodlers Picture of Translators
The Debian Moodle package struck again: http://moodle.org/mod/forum/discuss.php?d=206637#p901241.
sad

According to http://packages.qa.debian.org/m/moodle.html the packaging team is: Penny Leach, Xavier Oswald, Tomasz Muras. Could somebody bring this thread to their attention, please?
In reply to Visvanath Ratnaweera

Re: Debian based Linux: Ban "apt-get install moodle"!

by Visvanath Ratnaweera -
Picture of Particularly helpful Moodlers Picture of Translators
More damage: "Edubuntu Install gone awry"
http://moodle.org/mod/forum/discuss.php?d=208870#p910591
In reply to Visvanath Ratnaweera

Re: Debian based Linux: Ban "apt-get install moodle"!

by Tomasz Muras -
Picture of Core developers Picture of Plugin developers Picture of Plugins guardians Picture of Translators

Hello Dear Moodlers,

My name is Tomasz Muras and I'm currently the maintainer of Moodle package in Debian (but not in Ubuntu). I will try to clear up some of the confusion around packaging - and maybe we will come up with a way to improve things.

I am maintaining Moodle package for Debian, and not for Ubuntu. apt-get install moodle works in Debian and Moodle version is matched with the PHP version. I'm fixing all the bugs that I get reported and I'm patching security vulnerabilities as they come in. The security alert mentioned earlier: http://lwn.net/Articles/484753 is an example of security notification of fixed security issues (in Debian).
The useful page about the state of Moodle package in Debian is: http://packages.qa.debian.org/m/moodle.html . As you can see, we have Moodle 1.8.13 in Debian "oldstable" (lenny), Moodle 1.9.9 (with security patches) in Debian stable - squeeze and Moodle 2.2.3 in testing/unstable. Moodle 2.2.3 (or later) will go into the next Debian stable release.
Any issues with the Debian package shuold be reported to Debian and will be fixed by me.

From what I've read the above, your complains are about Ubuntu Moodle package. Currently old Debian package is taken into Ubuntu, which doesn't work with the recent PHP version. There are many other bugs on Ubuntu about the package: https://bugs.launchpad.net/ubuntu/+source/moodle/ . I think the biggest issue here is that nobody maintains Ubuntu package, it's simply copied from Debian without checking if the package works.
What we ideally need is a person that would maintain the package in Ubuntu but until that happens I'd suggest using Debian for your Moodle deployments - with the upcoming Debian Stable release you will get Moodle 2.2 by simply apt-get'ting it. And again - I will fix any errors reported to Debian about the package.


Tomasz (Tomek) Muras

Average of ratings: Useful (3)
In reply to Tomasz Muras

Re: Debian based Linux: Ban "apt-get install moodle"!

by Dan Poltawski -
Having previously co-maintained the moodle package in debian, I know that it is a hell of a lot of work.

Thanks a lot for all your work on it Tomasz, especially, critically getting us up to the 2.2.3 point so the upgrade path can continue.
In reply to Tomasz Muras

Re: Debian based Linux: Ban "apt-get install moodle"!

by Visvanath Ratnaweera -
Picture of Particularly helpful Moodlers Picture of Translators
Hi Tomasz

If I knew that you're in moodle.org, I would have contacted you earlier. I could remember Penny Leach but haven't seen her in moodle.org for a long time. What ever, from the news on Debian qa, you and Britney do the work.

As an admirer of the Debian project I appreciate the effort put into the Debian Moodle package. My experience is unfortunately, that it is the wrong solution, for the following major reasons:

1. inflexible
You say, "we have Moodle 1.8.13 in Debian "oldstable" (lenny), Moodle 1.9.9 (with security patches) in Debian stable - squeeze and Moodle 2.2.3 in testing/unstable. Moodle 2.2.3 (or later) will go into the next Debian stable release." In other words to get a particular Moodle version I have to change the whole system, the Debian version I mean. I might have a running Debian system, every thing configured, tuned, etc. am I supposed to throw that overboard?

Compared to that a manual installation as in http://docs.moodle.org/en/Installing_Moodle_on_Debian_based_distributions gives me any Moodle version between 1.9 and 2.3 on my running Debian (tested for Lenny and Squeeze) and Ubuntu Server (tested for 10.04 LTS and 12.04 LTS).

2. black box
"One click" (apt-get install moodle, I mean) is nice and convenient. But that is only 5% of the work, maintaining the server in the years to come makes the remaining 95%.

On the other hand, if I did it manually, I know a bit more. That makes debugging easier. A stupid example: where is config.php of Moodle? http://moodle.org/mod/forum/discuss.php?d=206637#p901169. Quoting Howard, "you know what you did" in this thread http://moodle.org/mod/forum/discuss.php?d=196512&parent=901436.

3. no support in this forum
There are quite a few Debian advocates in this forum, can't remember anybody going into the details of the Debian "moodle" package. For me, this is a dilemma. Debian is supposed to work (it works, doesn't it) but I can't help with its moodle package. Or is there is a place where they can go for help?
In reply to Tomasz Muras

Re: Debian based Linux: Ban "apt-get install moodle"!

by Edmund Edgar -

Thanks for all your work on this, Tomasz. Just sort-of pondering:

One thing I wondered when I saw the agile Moodle release schedule (release every 6 months, EOL after 18) was how it was going to fit in with the Debian Stable philosophy of install the thing, test it to destruction and don't mess with it unless you absolutely have to. Moodle HQ are understandably always very keen to get people using the latest thing they've worked hard on, while a lot of battle-scarred admins out there with limited budgets for testing have learned the hard way not to upgrade things unless they actually need the new features.

It sounds like you're doing quite a lot of work back-porting security fixes to old Moodle versions that Moodle HQ isn't supporting any more. I wonder if there's any duplication of effort going on where people are independently back-porting to multiple old versions of Moodle, or non-Debian users who want old versions for whatever reason are running without security fixes that you've applied to the same version, or a similar one.

For example, 2.2 is scheduled to have security fixes from Moodle HQ until June 2013, but the next stable Debian looks like its lifetime will be from late 2012 (since it just froze, and needs a few months before release) until at least late 2014, and maybe some years after that. Meanwhile right now Catalyst IT are maintaining an old 1.9 version, which I think is different from the version you're maintaining. Maybe other people out there are also independently back-porting fixes?

At the risk of annoying Martin, who was twittering he wanted to go around and personally upgrade everyone to 2.3, is there any sense in the community unilaterally declaring that 2.2 is the de-facto unofficial Long-Term Support release, so that any long-term-stability folks can pool their effort in that maintaining that, and people who need long-term stability don't end up installing 2.1 or 2.3 and finding they backed the wrong horse?

Average of ratings: Useful (1)
In reply to Edmund Edgar

Re: Debian based Linux: Ban "apt-get install moodle"!

by Howard Miller -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers
While I'm cautious not to advocate wreckless upgrading of Moodle sites. This is another nail in the coffin in many ways...

I find that apt-get is fabulous for system software that can be complicated to install and, as long as there isn't generally a big security issue or such, you aren't that bothered what version you run.

When you are bothered, it's far from ideal. When Ubuntu 10.04 (iirc) was the last LTS release - a lot of us had problems because the PHP version was too old to use Moodle 2. Not the end of the world, but a hassle. Once it all caught up with the 12.04LTS we just forgot about it again and everything worked nicely in the background

With something like Moodle, with frequent updates and fixes I would advocate that you *never* want to put yourself in a position were upgrading to the latest release is a hassle or a problem. You are much better to get apache and PHP etc from the ubuntu repositories and pull Moodle from Git/download etc. It's just not an onerous task vs. the potential problems with being tied into whatever happens to be in the Debian/Ubuntu package.

I'm really sorry - but I just don't see a great benefit and I see lots of downsides.
Average of ratings: Useful (2)
In reply to Howard Miller

Re: Debian based Linux: Ban "apt-get install moodle"!

by Edmund Edgar -

Howard, you're sort-of missing the point of the package manager there. It's not just about making the original install quick and easy, although it does do that. It's about helping you keep all the different bits of software on all the servers you manage consistent and up-to-date.

If you have a bunch of manual steps involved in each setup, you're inevitably going to end up with little wrinkles where something got set up in one place in one box and another place on another box, or you did something but forgot to document it. Ideally you want all your software in a package manager, and everything on your servers managed by a configuration management system like Puppet, so that you can be absolutely certain you know what's running on the box, and you know it's secure. A lot of sites, when they occasionally need a piece of software that doesn't have an available package, or need something at a different version, will build the package themselves then install that, rather than deploy something that the package manager and the configuration management system can't handle.

Relatedly, the point of long-term support is that you want to be confident that you can stay secure without changing the ui or the feature set. You want to do this because you may have all kinds of other people, all with their own timetables and priorities, involved in testing, checking and adapting to a new version. If you use contrib modules (one of the main benefits of using a system that's both open source and modular), you may not even know these people, and since Moodle minor version updates often break compatibility, updating and re-testing may not be a trivial job for them either.

In reply to Edmund Edgar

Re: Debian based Linux: Ban "apt-get install moodle"!

by Howard Miller -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers
I'm not. I use Debian packages all the time on some mission critical servers and very much appreciate what they do for me.

However, to suggest that using a Moodle upgrade script somehow gets around any possible upgrade wrinkles (in Moodle) really requires some supporting evidence. Are you suggesting that the debian maintainers do more Moodle testing that is (hopefully) done in Moodle Q&A testing?
In reply to Howard Miller

Re: Debian based Linux: Ban "apt-get install moodle"!

by Edmund Edgar -

Sorry Howard, I wasn't clear. When I talk about avoiding "wrinkles", I don't mean bugs, or even problems. I mean inconsistencies - how you name your database, where you install your files, which user you set up as the owner of which files, what permissions you set on the files, how you configure your web server to see them.

These are things that don't have one single right answer for all the possible environments Moodle might run on, so they're beyond the scope of Moodle's upgrade scripts.

This is all stuff that benefits from being standardized across your systems according to a common set of principles, which makes things easier to understand, verify and automate.

In reply to Edmund Edgar

Re: Debian based Linux: Ban "apt-get install moodle"!

by Martin Dougiamas -
Picture of Core developers Picture of Documentation writers Picture of Moodle HQ Picture of Particularly helpful Moodlers Picture of Plugin developers Picture of Testers
Moodle 1.9 had long term support.

2.x also has long term support - we keep releasing new .x releases for Moodle 2. We spend a LOT of time making sure we don't break things (even 3rd party things) in the 2.x upgrades.

But if we are going to have one 2.x release that we support for a long time with definitely zero new features then please don't get stuck on 2.2. At least get onto 2.3 or 2.4. To me we are finally getting to where 2.0 was supposed to be (in my mind).

Then we can stop developing 2.x and start working on 3.x.
In reply to Martin Dougiamas

Re: Debian based Linux: Ban "apt-get install moodle"!

by Edmund Edgar -

"2.x also has long term support - we keep releasing new .x releases for Moodle 2. We spend a LOT of time making sure we don't break things (even 3rd party things) in the 2.x upgrades."

That's how Drupal does things, and there's a lot to be said for it. (I'm not sure whether or not that would be stable enough for the kind of people who run Debian Stable.) In Drupal's case it's stable enough that Drupal contrib modules are usually pegged to - say - Drupal 6.x, rather than doing what Moodle does and tying each plugin release to a minor version of core, with a branch in Git corresponding to each Moodle minor version.

But as a contrib maintainer, it's not my experience with Moodle. The changes in quiz from 2.0 to 2.1 (a very nice piece of work BTW) were really big and non-backwards-compatible and broke anything that touched it. Is that the exception to the rule, and something Moodle won't be doing again?

Average of ratings: Useful (1)
In reply to Edmund Edgar

Re: Debian based Linux: Ban "apt-get install moodle"!

by Visvanath Ratnaweera -
Picture of Particularly helpful Moodlers Picture of Translators
Hi Edmond

Thanks a lot for your detailed observations!

Allow me to put your observations into three categories:
a) the (accelerated) release cycle of Moodle in general
b) "debianzed" maintenance of servers, in general
c) a "moodle" package for Debian (and Ubuntu) in particular

The topic area a) has been discussed over and over, always with the same (non)result. I don't want to reopen that in this thread as long as I'm the OP and the Subj. says, 'Debian based Linux: Ban "apt-get install moodle"!'

b) I too maintain a couple of Debian servers. Coming from Slackware I know that there is a whole spectrum between - installing everything incl. Kernel from source tar-balls to apt-getting everything. I have found my band, which is different from your's. Let's leave it at that.

c) I'm completely stumped by the idea, that the PHP version of a Debian release decides what Moodle version goes in. I find no words for that.
sad

But I found an observation thought provoking. The planned 6 monthly cycle of Moodle against approx. 2 yearly cycle of Debian and the whole thing against the 6 monthly cycle of Ubuntu (normal) and the 2 yearly cycle of Ubuntu LTS. I would love to see the quadrature of that cycle, oops, circle I mean.

@Mod, I would very much appreciate if we discuss b) and c) in this thread (I'm the OP). As such Martin's post above is OT. Could you pl. split it together with its subthread with a new Subj.?
In reply to Edmund Edgar

Re: Debian based Linux: Ban "apt-get install moodle"!

by Tomasz Muras -
Picture of Core developers Picture of Plugin developers Picture of Plugins guardians Picture of Translators

Very good point Edmund,


This is what worries me a bit as well but this is the reality - unfortunately I can't order every project in the Open Source world to stick to my schedule ;). As the upgrade path for 2.X is through 2.2 I have to have Moodle 2.2 in next Debian, to allow users to upgrade from 1.9 to 2.2 and then to the next - as new version as I can deliver.

While it would be possible to maintain different versions of Moodle in Debian, it would be impractical and require bigger team of maintainers (Britney from http://packages.qa.debian.org/m/moodle.html is an automated script and Moritz is only pushing my fixes as security releases, so the current number of manitainers is... 1 smile). If 1.9 and 2.3 were to run together, it would require maintaing two separate lamp stacks with different PHP version. Imagine number of all dependencies that would need to be managed.

If Moodle HQ finishes support for the serurity fixes for Moodle, then it's my responsibility to close them for the version used in Debian, as long as Debian supports security updates for stable. If there will be a security issue logged in Debian (they usually come there reported by Debian Security Team when CVE is created) I'll do my best to fix it.

Have a look how Drupal is doing its releases: it releases two versions at the same time: 7.x and 7.(x+1). The odd numbers (e.g. now it is 7.13) will contain security fixes only and even (7.14) contain bugfixes and security fixes. Debian maintened package would be equivalent to those odd numbered (7.13) releases. Drupal does it this way, just to be nice to maintainers like myself. I think that Edmunt explained well in this thread why would you want to have the software maintained like this (http://moodle.org/mod/forum/discuss.php?d=196512#p902369) - although I agree that it's hard to comprehend and I found it difficult to understand at the beginning.

Best regards,
Tomek

In reply to Tomasz Muras

Re: Debian based Linux: Ban "apt-get install moodle"!

by Dan Poltawski -

Have a look how Drupal is doing its releases: it releases two versions at the same time: 7.x and 7.(x+1). The odd numbers (e.g. now it is 7.13) will contain security fixes only and even (7.14) contain bugfixes and security fixes. Debian maintened package would be equivalent to those odd numbered (7.13) releases. Drupal does it this way, just to be nice to maintainers like myself.

Personally, i'd quite like to see us moving to something similar to that for Moodle. Having maintained many Moodle sites I recognise the value of being able to apply security fixes only, as many bug fixes turn into slight alterations in functionality.

But, this would require a change in 'Moodle culture'. As a project we tend to be quite liberal with our changes going into stable branches, back-porting etc. So many times its difficult to seperate security fixes like that (and this is one of the challenges as a debian maintainer). On the whole, I get the impression there is a vocal majority of users who prefer this 'liberally bugfixed' stable releases rather than tighter only necessary changes releases.

On drupal, do they sync up after each point (e.g. 7.15 contains new security fixes + 7.14 bugfixes and security) or are the odd numbers completely separate branch to even?

Average of ratings: Useful (3)
In reply to Dan Poltawski

Re: Debian based Linux: Ban "apt-get install moodle"!

by Tomasz Muras -
Picture of Core developers Picture of Plugin developers Picture of Plugins guardians Picture of Translators

Personally, i'd quite like to see us moving to something similar to that for Moodle. Having maintained many Moodle sites I recognise the value of being able to apply security fixes only, as many bug fixes turn into slight alterations in functionality.

But, this would require a change in 'Moodle culture'. As a project we tend to be quite liberal with our changes going into stable branches, back-porting etc. So many times its difficult to seperate security fixes like that (and this is one of the challenges as a debian maintainer). On the whole, I get the impression there is a vocal majority of users who prefer this 'liberally bugfixed' stable releases rather than tighter only necessary changes releases.

That is my opinion as well - I think that in general people would like to see all/any bugfixes coming into a stable release. Things change when you move into corporate world and similar environments - where any change should be avoided unless absolutely necessary (e.g. security fix). Even if it's a bug fix - it is still a code change that brings extra risks and should be (in those environments) avoided. I have some real life examples where a bug fix would cause extra problems - just because it has changed something in UI.


Tomek

Average of ratings: Useful (1)
In reply to Visvanath Ratnaweera

Re: Debian based Linux: Ban "apt-get install moodle"!

by Howard Miller -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers
I don't want to rain on anybody's parade but I firmly believe that, even if it worked, using a package installer for something like Moodle is pointless.

The temptation to "Debian-ise" things seems to be irresistable. And that instantly makes the thing unsupportable by the Moodle community. This would all be fine if there was a significant community of real users for this package but you will notice that we don't have a forum for "Debian packages, Fantastico, Scriptalicious and the like" wink

I'll say what I always say. It takes ten minutes to install Moodle on a Debian box from a moodle.org download and you know what you did. Plus, there are lots of people who can help you - there's Visvanath and myself at the very least.
Average of ratings: Useful (1)
In reply to Visvanath Ratnaweera

Re: Debian based Linux: Ban "apt-get install moodle"!

by Visvanath Ratnaweera -
Picture of Particularly helpful Moodlers Picture of Translators