From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from pigeon.gentoo.org ([208.92.234.80] helo=lists.gentoo.org) by finch.gentoo.org with esmtp (Exim 4.60) (envelope-from ) id 1QgBhq-0000V8-0l for garchives@archives.gentoo.org; Mon, 11 Jul 2011 08:19:06 +0000 Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id A72CA21C036; Mon, 11 Jul 2011 08:18:57 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) by pigeon.gentoo.org (Postfix) with ESMTP id 33AB321C036 for ; Mon, 11 Jul 2011 08:18:57 +0000 (UTC) Received: from pelican.gentoo.org (unknown [66.219.59.40]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id A6B601B4076 for ; Mon, 11 Jul 2011 08:18:56 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by pelican.gentoo.org (Postfix) with ESMTP id D7D358003D for ; Mon, 11 Jul 2011 08:18:55 +0000 (UTC) From: "Anthony G. Basile" To: gentoo-commits@lists.gentoo.org Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Anthony G. Basile" Message-ID: <9e49fb4154cacffeb6057c3475b27f19a95f8c4f.blueness@gentoo> Subject: [gentoo-commits] dev/blueness:master commit in: www-apps/moodle/files/, www-apps/moodle/ X-VCS-Repository: dev/blueness X-VCS-Files: www-apps/moodle/ChangeLog www-apps/moodle/Manifest www-apps/moodle/files/config.php www-apps/moodle/files/postinstall-en.txt www-apps/moodle/files/postinstall-nodb-en.txt www-apps/moodle/metadata.xml www-apps/moodle/moodle-1.9.12.ebuild www-apps/moodle/moodle-2.0.3.ebuild www-apps/moodle/moodle-2.1.ebuild X-VCS-Directories: www-apps/moodle/files/ www-apps/moodle/ X-VCS-Committer: blueness X-VCS-Committer-Name: Anthony G. Basile X-VCS-Revision: 9e49fb4154cacffeb6057c3475b27f19a95f8c4f Date: Mon, 11 Jul 2011 08:18:55 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: quoted-printable X-Archives-Salt: X-Archives-Hash: 5be00bfdc42b6850f417a3d382b21c6a commit: 9e49fb4154cacffeb6057c3475b27f19a95f8c4f Author: Anthony G. Basile gentoo org> AuthorDate: Mon Jul 11 08:18:35 2011 +0000 Commit: Anthony G. Basile gentoo org> CommitDate: Mon Jul 11 08:18:35 2011 +0000 URL: http://git.overlays.gentoo.org/gitweb/?p=3Ddev/blueness.git;a= =3Dcommit;h=3D9e49fb41 www-apps/moodle: address bug #374605 (Portage version: 2.1.10.3/git/Linux x86_64, signed Manifest commit with = key 0xD0455535) --- www-apps/moodle/ChangeLog | 54 ++++++ www-apps/moodle/Manifest | 21 +++ www-apps/moodle/files/config.php | 29 ++++ www-apps/moodle/files/postinstall-en.txt | 220 +++++++++++++++++++= ++++++ www-apps/moodle/files/postinstall-nodb-en.txt | 6 + www-apps/moodle/metadata.xml | 9 + www-apps/moodle/moodle-1.9.12.ebuild | 126 ++++++++++++++ www-apps/moodle/moodle-2.0.3.ebuild | 139 ++++++++++++++++ www-apps/moodle/moodle-2.1.ebuild | 139 ++++++++++++++++ 9 files changed, 743 insertions(+), 0 deletions(-) diff --git a/www-apps/moodle/ChangeLog b/www-apps/moodle/ChangeLog new file mode 100644 index 0000000..c6fa69e --- /dev/null +++ b/www-apps/moodle/ChangeLog @@ -0,0 +1,54 @@ +# ChangeLog for www-apps/moodle +# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/www-apps/moodle/ChangeLog,v 1.8 2011/= 07/09 20:25:29 blueness Exp $ + +*moodle-2.1 (09 Jul 2011) + + 09 Jul 2011; Anthony G. Basile -moodle-1.9.11.eb= uild, + -moodle-2.0.2.ebuild, +moodle-2.1.ebuild: + Version bump, removed depcreated + +*moodle-2.0.3 (11 May 2011) +*moodle-1.9.12 (11 May 2011) + + 11 May 2011; Anthony G. Basile +moodle-1.9.12.eb= uild, + +moodle-2.0.3.ebuild: + Version bumps address several security issues. + See http://docs.moodle.org/en/Moodle_1.9.12_release_notes + and http://docs.moodle.org/en/Moodle_2.0.3_release_notes + + 10 Mar 2011; Anthony G. Basile -moodle-1.9.9.ebu= ild, + -moodle-1.9.9-r1.ebuild, -moodle-1.9.10.ebuild, -moodle-2.0.1.ebuild: + Removed decprecated versions, bug #353431 + +*moodle-2.0.2 (22 Feb 2011) +*moodle-1.9.11 (22 Feb 2011) + + 22 Feb 2011; Anthony G. Basile + +moodle-1.9.11.ebuild, +moodle-2.0.2.ebuild, files/postinstall-en.txt: + Version bumps. + +*moodle-2.0.1 (08 Jan 2011) + + 08 Jan 2011; Anthony G. Basile +moodle-2.0.1.ebu= ild: + Version bump + +*moodle-1.9.10 (29 Oct 2010) + + 29 Oct 2010; Anthony G. Basile + +moodle-1.9.10.ebuild: + Version bump + +*moodle-1.9.9-r1 (13 Aug 2010) + + 13 Aug 2010; Anthony G. Basile + +moodle-1.9.9-r1.ebuild, files/postinstall-en.txt: + Ported to EAPI 2 USE deps. Bug #332165 + +*moodle-1.9.9 (19 Jul 2010) + + 19 Jul 2010; Anthony G. Basile +moodle-1.9.9.ebu= ild, + +files/config.php, +files/postinstall-en.txt, + +files/postinstall-nodb-en.txt, +metadata.xml: + New ebuild by Anthony G. Basile. Bug #104275 + diff --git a/www-apps/moodle/Manifest b/www-apps/moodle/Manifest new file mode 100644 index 0000000..d640512 --- /dev/null +++ b/www-apps/moodle/Manifest @@ -0,0 +1,21 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA256 + +AUX config.php 718 RMD160 9e4b97aafca65da8648466d11728c457fff439ab SHA1 = d71fc86158e82f706ca2cdfe1efe2e8de62cc607 SHA256 c62a37c0d81043ee4ca7fc4d7= 610d19dc2df426d556eb3285d7b1fe367a44a8d +AUX postinstall-en.txt 6524 RMD160 d3799bc5cdc283e787c1b5d08935a8d7851d0= c8d SHA1 097744447c046848611bfe53d5191518465f1c6d SHA256 dad8831abc23179e= bcd2c2431f11d83346c142175c59da47cf5f913c928de667 +AUX postinstall-nodb-en.txt 171 RMD160 88ff71d95c63f1b5d76e398c3566ada75= 954cdf4 SHA1 26748e5f24207ef5cb145e3668e1f17cdcddf699 SHA256 f39ff660a1ca= fbbd96ce18c46f056450ace04df5ac401eeccaf16441d54f3b6a +DIST moodle-1.9.12.tgz 14044589 RMD160 32054256881037026454c41e7dd4c3683= cc361b2 SHA1 838d2fb9c17903c1835aee2154527158e5c7a83d SHA256 fc4fbe600102= fc0fc878f6db423d5bac5ef9362aba8d97720939f1078f905f80 +DIST moodle-2.0.3.tgz 22438221 RMD160 e204249cb439754ed7c484815b763a4515= c14ff0 SHA1 3dc8b1a46f94b54442b907461daaf453b955d1e6 SHA256 91ffa120a2674= d835a0f087d472c789ddeaac305181c80c8a0af33351d065945 +DIST moodle-2.1.tgz 23128617 RMD160 ed0758ffd1534c907ff27f5b9c5d1b285e49= 9239 SHA1 9d7830f7b16621c22813634f19baae56cd565315 SHA256 8739ab133be9973= 6ae7d9f004b4163b332dfd135c064899f84b24b8867ea2810 +EBUILD moodle-1.9.12.ebuild 3169 RMD160 5c093b37a4321f6fdaf41a849e26009a= 0cb46584 SHA1 d2d281bd4426337a55da42e475985ad2da3a84b5 SHA256 4af9fc29209= 0859e4a9f214f59f73b3fab3de38016cd4dbeca46ffd43c1c7b01 +EBUILD moodle-2.0.3.ebuild 4021 RMD160 c1b112fbc29341a5f172396a88e971211= 1da3e21 SHA1 f403c21c02979b39ee90facaa6dae67feeb4f5ad SHA256 81b739a5e8a4= 0e1842d38f17ebcb0be66b615c5af9cd449e550fc32940cec5ce +EBUILD moodle-2.1.ebuild 4019 RMD160 305eedf08ce9c1fa89ecff13298f614eb97= 6e5b6 SHA1 5b4ff5fd167d2dcde75eefc3658d72427db6809f SHA256 cfd9091edab13f= 17a0e0f534fcafe1597572b04dcddcb549f03f61e056341900 +MISC ChangeLog 1798 RMD160 77b471a3cd73d422264c4c2550fa04072bc91773 SHA1= 1da01141d75dfdf5ef00ada252b0ae65031af46c SHA256 aead15ac1fd81e7e177fc0d5= 5c1c1c2b590d447e530345fb862beeeefba927e4 +MISC metadata.xml 256 RMD160 7cd5a16a6eade95f71d40edbb4729baadfbc7649 SH= A1 809eeef12d97ae39db024aea151a70c7363475b7 SHA256 8230894d717ea9f2e42f9c= 7de54671126820f89bf05ca96ec5f03842b12378e1 +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v2.0.17 (GNU/Linux) + +iEYEAREIAAYFAk4asdsACgkQl5yvQNBFVTUirQCfSphcGoGkkGRZBC52rrKeCaFO +AbwAn2am3n27VKMQIAas578uml+KtnyG +=3Duaw4 +-----END PGP SIGNATURE----- diff --git a/www-apps/moodle/files/config.php b/www-apps/moodle/files/con= fig.php new file mode 100644 index 0000000..c959b4a --- /dev/null +++ b/www-apps/moodle/files/config.php @@ -0,0 +1,29 @@ +dbtype =3D 'mydb'; +$CFG->dbhost =3D 'localhost'; +$CFG->dbname =3D 'moodle_db'; +$CFG->dbuser =3D 'moodle_user'; +$CFG->dbpass =3D 'moodle_pass'; +$CFG->prefix =3D 'mdl_'; + +$CFG->dbpersist =3D false; + +$CFG->wwwroot =3D 'http://localhost/moodle'; +$CFG->dirroot =3D '/var/www/localhost/htdocs/moodle'; +$CFG->dataroot =3D '/var/www/localhost/moodle' ; + +$CFG->directorypermissions =3D 02777; + +$CFG->admin =3D 'admin'; + +if (file_exists("$CFG->dirroot/lib/setup.php")) { + include_once("$CFG->dirroot/lib/setup.php"); +} else { + echo "

Could not find this file: $CFG->dirroot/lib/setup.php

"; + echo "

Please supply this file or reinstall moodle

"; + die; +} +?> diff --git a/www-apps/moodle/files/postinstall-en.txt b/www-apps/moodle/f= iles/postinstall-en.txt new file mode 100644 index 0000000..6a5b44b --- /dev/null +++ b/www-apps/moodle/files/postinstall-en.txt @@ -0,0 +1,220 @@ +NEW INSTALLS + +0 Check to see if webapp-config automatically installed + moodle for you in /var/www/localhost/htdocs. You should + see a directory in there called moodle. If it didn't + install it manually: + + webapp-config -d moodle -I moodle X.Y.Z + + Replace X.Y.Z with whatever version you just emerged. + +1 Edit the config.php file found at + + /var/www/localhost/htdocs/moodle/config.php + + You should probably change the database password, + $CFG->dbpass =3D 'moodle_pass' to something more + obscure. Also, if your system has a FQDN, change + the $CFG->wwwroot =3D 'http://localhost/moodle' + to match the URL of your moodle installation. + =20 + =20 + IF YOU ARE USING MYSQL, do step 2a + IF YOU ARE USING POSTGRESQL, do step 2b + + +2a Create a new mysql database and account with the + appropriate privileges. Make sure the username, + password and database match their values in + config.php from step 1. + =20 + Connect to your mysql server using + =20 + mysql -p -u root + + and at the mysql> prompt issue the following commands + + CREATE DATABASE moodle_db; + GRANT ALL ON moodle_db.* + TO moodle_user@localhost + IDENTIFIED BY 'moodle_pass'; + flush privileges; + +2b Issue the following commands at a shell, making sure + the username, password and database match their values + in config.php from step 1. + + su - postgres + psql -c "create user moodle_user createdb;" template1 + psql -c "alter user moodle_user with encrypted password 'moodle_pass'= ;" template1 + psql -c "create database moodle_db with encoding 'unicode';" -U moodl= e_user template1 + psql -c "alter user moodle_user nocreatedb;" template1 + su - root + /etc/init.d/postgresql-X.Y reload + + Replace X.Y with your version postgresql. + + NOTE: Moodle docs say that moodle only works with + postgresql-7, but I've used it with 8 no problems. + +3 Direct your browser to the URL in step 1. You should see + the license agreement. Click "Yes" to continue. + +4 You are now about to install. Click the checkbox for + "Unattended operation" and "Continue" to start. Follow + the wizard as you "Setup administrator account" and configure + the "Front Page settings". + +5 You now have a working installation. Before putting it + into production, you'll probably want to check that + everything is sane. In the "Site Administration" block, + click on + + Server -> Environment + + Make sure that you've got the green okay on all the + Server Checks. If you don't, click on the ? icons for + popup help. + +6 Add a cron-job to root's crontab. + + su - root + crontab -e # fcrontab -e if you use fcron + + then add the line + + */30 * * * * root php -q /var/www/localhost/htdocs/moodle/admin/cron.= php > /dev/null + +7 For more information on installing moodle, see + + http://docs.moodle.org/en/Installing_Moodle + + For information on working with moodle, see + + http://moodle.org/support/ + +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D + +UPGRADES + +0 Before any upgade you should backup your database in case you have + to roll back. The moodle dirroot directory ($CFG->dirroot in the + config.php file) isn't as critical since you can always reinstall + that with web-apps. The moodle data root ($CFG->dataroot in config.p= hp), + where files are uploaded, will not be touched. But the upgrade will + probably change your db schema, and the new format may not be backwar= d + compatible. For mysql use + + mysqldump -u moodle_user -p -C -Q -e --create-options moodle_db > moodl= e-backup.sql + + or for postgresql use + + su - postgres + pg_dump moodle_db > moodle-backup.sql + + If you have to fall back, you can do so using + + mysql -p -u moodle_user moodle_db < moodle-backup.sql + + or + + su - postgres + psql moodle_db < moodle-backup.sql + + TEST THIS! PRACTICE THIS! Make sure it will work for you if you + have to fall back. + +1 Emerge the new moodle ebuild. Be prepared to add USE flags for + php and re-emerge it since upgrades may require new functionality + from php. Remember to restart apache after re-emerging php! + +2 If the ebuild didn't do it for you, update using + + webapp-config -d moodle -U moodle X.Y.Z + +3 Aim your browser to the URL in the config.php file defined + by $CFG->wwwroot. You will get a message that you are about + to automatically upgrade your server and cannot go back. + This is why you backed up your db in step 1. You can go back + if you use webapp-config to install the older version AND + drop the new db and restart the old one. You did practice + restoring, right? + +4 Click "Continue" and follow through with the upgrade. + + +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D + +UNINSTALL + +1 Make sure you really want to do this. I mean REALLY! + After step 3 you will be past the point of no return. + +2 If you just want to uninstall the webapp, do the following + and no more! + + emerge --unmerge moodle + + Your data is still in the db and in the moodledata dir. + + + !!!!!!!!! POINT OF NO RETURN !!!!!!!!! + +3 Uninstall the uploaded files + + rm -rf /var/lib/moodledata + + + IF YOU ARE USING MYSQL, do step 4a + IF YOU ARE USING POSTGRESQL, do step 4b + + +4a Connect to your mysql server using 'mysql -p -u root' and + at the mysql> prompt issue the following commands: + + DROP DATABASE moodle_db; + DROP USER moodle_user@localhost ; + +4b Issue the following commands + + su - postgres + psql -c "drop database moodle_db;" template1 + psql -c "drop user moodle_user;" template1 + +5 Remove the root cron-job + + su - root + crontab -e # fcrontab -e if you use fcron + + and delete the line added above. + +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D + +ADDITIONAL PHP REQUIREMENTS + + Moodle allows for many method of authentication. To see + what these are, in the "Site Administration" block, click + on + + Users -> Authentication -> Manage Authentication + + Moodle will try to authenticate by each method in order + until it either succeeds or exhausts the list and fails. + + In order to use some of these methods, you need to make + sure PHP was compiled with the correct support. You will + know that you do not have the correct support compiled in + if authentication by all previous methods fails, and you + encounter a method for which PHP does not have support. + An error will be thrown and reported in the web page. + =20 + Currently, the ebuild has support for the following + + Auth Method USE flag + + IMAP(S) or POP3(S) imap + LDAP or CAS ldap + External database odbc + RADIUS radius + diff --git a/www-apps/moodle/files/postinstall-nodb-en.txt b/www-apps/moo= dle/files/postinstall-nodb-en.txt new file mode 100644 index 0000000..9126994 --- /dev/null +++ b/www-apps/moodle/files/postinstall-nodb-en.txt @@ -0,0 +1,6 @@ +You have not specified which database you are going to use. +You are on your own! Go to + + http://docs.moodle.org/en/Installing_Moodle + +and follow the instructions there. diff --git a/www-apps/moodle/metadata.xml b/www-apps/moodle/metadata.xml new file mode 100644 index 0000000..3cf0cd5 --- /dev/null +++ b/www-apps/moodle/metadata.xml @@ -0,0 +1,9 @@ + + + +web-apps + + blueness@gentoo.org + Anthony G. Basile + + diff --git a/www-apps/moodle/moodle-1.9.12.ebuild b/www-apps/moodle/moodl= e-1.9.12.ebuild new file mode 100644 index 0000000..5c20029 --- /dev/null +++ b/www-apps/moodle/moodle-1.9.12.ebuild @@ -0,0 +1,126 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/www-apps/moodle/moodle-1.9.12.ebuild,= v 1.1 2011/05/11 19:14:39 blueness Exp $ + +EAPI=3D"2" + +inherit versionator webapp + +AVC=3D( $(get_version_components) ) +MY_BRANCH=3D"stable${AVC[0]}${AVC[1]}" + +DESCRIPTION=3D"The Moodle Course Management System" +HOMEPAGE=3D"http://moodle.org" +SRC_URI=3D"http://download.moodle.org/${MY_BRANCH}/${P}.tgz" +S=3D"${WORKDIR}/${PN}" + +LICENSE=3D"GPL-2" +KEYWORDS=3D"~alpha ~amd64 ~hppa ~ppc ~ppc64 ~sparc ~x86" +#SLOT empty due to webapp + +DBFLAGS=3D"mysql?,postgres?" +DBTYPES=3D${DBFLAGS//\?/} +DBTYPES=3D${DBTYPES//,/ } + +AUTHFLAGS=3D"imap?,ldap?,odbc?" +AUTHMODES=3D${AUTHFLAGS//\?/} +AUTHMODES=3D${AUTHMODES//,/ } + +PHPFLAGS_A=3D"ctype,curl,gd,iconv,ssl,tokenizer,xml,xmlrpc,zlib" +PHPFLAGS_B=3D"ctype,curl,gd-external,iconv,ssl,tokenizer,xml,xmlrpc,zlib= " + +IUSE=3D"${DBTYPES} ${AUTHMODES} vhosts" + +# No forced dependency on +# mysql? ( virtual/mysql ) +# postgres? ( dev-db/postgresql-server-7* ) +# which may live on another server +DEPEND=3D"" +RDEPEND=3D" + || ( + >=3Ddev-lang/php-4.3.0[${DBFLAGS},${AUTHFLAGS},${PHPFLAGS_A}] + >=3Ddev-lang/php-4.3.0[${DBFLAGS},${AUTHFLAGS},${PHPFLAGS_B}] + ) + virtual/httpd-php + virtual/cron" + +pkg_setup() { + webapp_pkg_setup + + # How many dbs were selected? If one and only one, which one is it? + MYDB=3D"" + DBCOUNT=3D0 + for db in ${DBTYPES}; do + if use ${db}; then + MYDB=3D${db} + DBCOUNT=3D$(($DBCOUNT+1)) + fi + done + + if [[ ${DBCOUNT} -eq 0 ]]; then + eerror + eerror "\033[1;31m**************************************************\0= 33[1;31m" + eerror "No database selected in your USE flags," + eerror "You must select at least one." + eerror "\033[1;31m**************************************************\0= 33[1;31m" + eerror + die + fi + + if [[ ${DBCOUNT} -gt 1 ]]; then + MYDB=3D"" + ewarn + ewarn "\033[1;33m**************************************************\03= 3[1;33m" + ewarn "Multiple databases selected in your USE flags," + ewarn "You will have to choose your database manually." + ewarn "\033[1;33m**************************************************\03= 3[1;33m" + ewarn + fi +} + +src_prepare() { + rm COPYING.txt + cp "${FILESDIR}"/config.php . + + # + # Moodle expect postgres7, not postgres + # + MYDB=3D${MYDB/postgres/postgres7} + if [[ ${DBCOUNT} -eq 1 ]] ; then + sed -i -e "s|mydb|${MYDB}|" config.php + fi +} + +src_install() { + webapp_src_preinst + + local MOODLEDATA=3D"${MY_HOSTROOTDIR}"/moodle + dodir ${MOODLEDATA} + webapp_serverowned -R "${MOODLEDATA}" + + local MOODLEROOT=3D"${MY_HTDOCSDIR}" + insinto ${MOODLEROOT} || die "Unable to insinto ${MOODLEROOT}" + doins -r * + + webapp_configfile "${MOODLEROOT}"/config.php + + if [[ ${DBCOUNT} -eq 1 ]]; then + webapp_postinst_txt en "${FILESDIR}"/postinstall-en.txt + else + webapp_postinst_txt en "${FILESDIR}"/postinstall-nodb-en.txt + fi + + webapp_src_install +} + +pkg_postinst() { + einfo + einfo "\033[1;32m**************************************************\033= [1;32m" + einfo + einfo "To see the post install instructions, do" + einfo + einfo " webapp-config --show-postinst ${PN} ${PVR}" + einfo + einfo "\033[1;32m**************************************************\033= [1;32m" + einfo +} diff --git a/www-apps/moodle/moodle-2.0.3.ebuild b/www-apps/moodle/moodle= -2.0.3.ebuild new file mode 100644 index 0000000..4afe8fb --- /dev/null +++ b/www-apps/moodle/moodle-2.0.3.ebuild @@ -0,0 +1,139 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/www-apps/moodle/moodle-2.0.3.ebuild,v= 1.1 2011/05/11 19:14:39 blueness Exp $ + +EAPI=3D"2" + +inherit versionator webapp + +AVC=3D( $(get_version_components) ) +MY_BRANCH=3D"stable${AVC[0]}${AVC[1]}" + +DESCRIPTION=3D"The Moodle Course Management System" +HOMEPAGE=3D"http://moodle.org" +SRC_URI=3D"http://download.moodle.org/${MY_BRANCH}/${P}.tgz" +S=3D"${WORKDIR}/${PN}" + +LICENSE=3D"GPL-2" +KEYWORDS=3D"~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86" +#SLOT empty due to webapp + +DB_FLAGS=3D"mysqli?,postgres?" +DB_TYPES=3D${DB_FLAGS//\?/} +DB_TYPES=3D${DB_TYPES//,/ } + +AUTHENTICATION_FLAGS=3D"imap?,ldap?,odbc?" +AUTHENTICATION_MODES=3D${AUTHENTICATION_FLAGS//\?/} +AUTHENTICATION_MODES=3D${AUTHENTICATION_MODES//,/ } + +PHP_REQUIRED_FLAGS_52=3D"ctype,curl,iconv,json,pcre,simplexml,spl,xml,zi= p" +PHP_OPTIONAL_FLAGS_52_A=3D"gd,soap,ssl,tokenizer,xmlrpc" +PHP_OPTIONAL_FLAGS_52_B=3D"gd-external,soap,ssl,tokenizer,xmlrpc" +PHP_FLAGS_52_A=3D"${PHP_REQUIRED_FLAGS_52},${PHP_OPTIONAL_FLAGS_52_A}" +PHP_FLAGS_52_B=3D"${PHP_REQUIRED_FLAGS_52},${PHP_OPTIONAL_FLAGS_52_B}" + +PHP_REQUIRED_FLAGS_53=3D"ctype,curl,iconv,json,simplexml,xml,zip" +PHP_OPTIONAL_FLAGS_53_A=3D"gd,intl,soap,ssl,tokenizer,xmlrpc" +PHP_OPTIONAL_FLAGS_53_B=3D"gd-external,intl,soap,ssl,tokenizer,xmlrpc" +PHP_FLAGS_53_A=3D"${PHP_REQUIRED_FLAGS_53},${PHP_OPTIONAL_FLAGS_53_A}" +PHP_FLAGS_53_B=3D"${PHP_REQUIRED_FLAGS_53},${PHP_OPTIONAL_FLAGS_53_B}" + +IUSE=3D"${DB_TYPES} ${AUTHENTICATION_MODES} vhosts" + +# No forced dependency on +# mysql? ( virtual/mysql ) +# postgres? ( dev-db/postgresql-server-7* ) +# which may live on another server +DEPEND=3D"" +RDEPEND=3D" + || ( + =3Ddev-lang/php-5.2*[${DB_FLAGS},${AUTHENTICATION_FLAGS},${PHP_FLAGS_5= 2_A}] + =3Ddev-lang/php-5.2*[${DB_FLAGS},${AUTHENTICATION_FLAGS},${PHP_FLAGS_5= 2_B}] + =3Ddev-lang/php-5.3*[${DB_FLAGS},${AUTHENTICATION_FLAGS},${PHP_FLAGS_5= 3_A}] + =3Ddev-lang/php-5.3*[${DB_FLAGS},${AUTHENTICATION_FLAGS},${PHP_FLAGS_5= 3_B}] + ) + virtual/httpd-php + virtual/cron" + +pkg_setup() { + webapp_pkg_setup + + # How many dbs were selected? If one and only one, which one is it? + MYDB=3D"" + DB_COUNT=3D0 + for db in ${DB_TYPES}; do + if use ${db}; then + MYDB=3D${db} + DB_COUNT=3D$(($DB_COUNT+1)) + fi + done + + if [[ ${DB_COUNT} -eq 0 ]]; then + eerror + eerror "\033[1;31m**************************************************\0= 33[1;31m" + eerror "No database selected in your USE flags," + eerror "You must select at least one." + eerror "\033[1;31m**************************************************\0= 33[1;31m" + eerror + die + fi + + if [[ ${DB_COUNT} -gt 1 ]]; then + MYDB=3D"" + ewarn + ewarn "\033[1;33m**************************************************\03= 3[1;33m" + ewarn "Multiple databases selected in your USE flags," + ewarn "You will have to choose your database manually." + ewarn "\033[1;33m**************************************************\03= 3[1;33m" + ewarn + fi +} + +src_prepare() { + rm COPYING.txt + cp "${FILESDIR}"/config.php . + + # Moodle expect postgres7, not postgres + MYDB=3D${MYDB/postgres/postgres7} + + # Moodle expects mysql, not mysqli + MYDB=3D${MYDB/mysqli/mysql} + + if [[ ${DB_COUNT} -eq 1 ]] ; then + sed -i -e "s|mydb|${MYDB}|" config.php + fi +} + +src_install() { + webapp_src_preinst + + local MOODLEDATA=3D"${MY_HOSTROOTDIR}"/moodle + dodir ${MOODLEDATA} + webapp_serverowned -R "${MOODLEDATA}" + + local MOODLEROOT=3D"${MY_HTDOCSDIR}" + insinto ${MOODLEROOT} || die "Unable to insinto ${MOODLEROOT}" + doins -r * + + webapp_configfile "${MOODLEROOT}"/config.php + + if [[ ${DB_COUNT} -eq 1 ]]; then + webapp_postinst_txt en "${FILESDIR}"/postinstall-en.txt + else + webapp_postinst_txt en "${FILESDIR}"/postinstall-nodb-en.txt + fi + + webapp_src_install +} + +pkg_postinst() { + einfo + einfo "\033[1;32m**************************************************\033= [1;32m" + einfo + einfo "To see the post install instructions, do" + einfo + einfo " webapp-config --show-postinst ${PN} ${PVR}" + einfo + einfo "\033[1;32m**************************************************\033= [1;32m" + einfo +} diff --git a/www-apps/moodle/moodle-2.1.ebuild b/www-apps/moodle/moodle-2= .1.ebuild new file mode 100644 index 0000000..53321a5 --- /dev/null +++ b/www-apps/moodle/moodle-2.1.ebuild @@ -0,0 +1,139 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/www-apps/moodle/moodle-2.1.ebuild,v 1= .1 2011/07/09 20:25:29 blueness Exp $ + +EAPI=3D"2" + +inherit versionator webapp + +AVC=3D( $(get_version_components) ) +MY_BRANCH=3D"stable${AVC[0]}${AVC[1]}" + +DESCRIPTION=3D"The Moodle Course Management System" +HOMEPAGE=3D"http://moodle.org" +SRC_URI=3D"http://download.moodle.org/${MY_BRANCH}/${P}.tgz" +S=3D"${WORKDIR}/${PN}" + +LICENSE=3D"GPL-2" +KEYWORDS=3D"~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86" +#SLOT empty due to webapp + +DB_FLAGS=3D"mysqli?,postgres?" +DB_TYPES=3D${DB_FLAGS//\?/} +DB_TYPES=3D${DB_TYPES//,/ } + +AUTHENTICATION_FLAGS=3D"imap?,ldap?,odbc?" +AUTHENTICATION_MODES=3D${AUTHENTICATION_FLAGS//\?/} +AUTHENTICATION_MODES=3D${AUTHENTICATION_MODES//,/ } + +PHP_REQUIRED_FLAGS_52=3D"ctype,curl,iconv,json,pcre,simplexml,spl,xml,zi= p" +PHP_OPTIONAL_FLAGS_52_A=3D"gd,soap,ssl,tokenizer,xmlrpc" +PHP_OPTIONAL_FLAGS_52_B=3D"gd-external,soap,ssl,tokenizer,xmlrpc" +PHP_FLAGS_52_A=3D"${PHP_REQUIRED_FLAGS_52},${PHP_OPTIONAL_FLAGS_52_A}" +PHP_FLAGS_52_B=3D"${PHP_REQUIRED_FLAGS_52},${PHP_OPTIONAL_FLAGS_52_B}" + +PHP_REQUIRED_FLAGS_53=3D"ctype,curl,iconv,json,simplexml,xml,zip" +PHP_OPTIONAL_FLAGS_53_A=3D"gd,intl,soap,ssl,tokenizer,xmlrpc" +PHP_OPTIONAL_FLAGS_53_B=3D"gd-external,intl,soap,ssl,tokenizer,xmlrpc" +PHP_FLAGS_53_A=3D"${PHP_REQUIRED_FLAGS_53},${PHP_OPTIONAL_FLAGS_53_A}" +PHP_FLAGS_53_B=3D"${PHP_REQUIRED_FLAGS_53},${PHP_OPTIONAL_FLAGS_53_B}" + +IUSE=3D"${DB_TYPES} ${AUTHENTICATION_MODES} vhosts" + +# No forced dependency on +# mysql? ( virtual/mysql ) +# postgres? ( dev-db/postgresql-server-7* ) +# which may live on another server +DEPEND=3D"" +RDEPEND=3D" + || ( + =3Ddev-lang/php-5.2*[${DB_FLAGS},${AUTHENTICATION_FLAGS},${PHP_FLAGS_5= 2_A}] + =3Ddev-lang/php-5.2*[${DB_FLAGS},${AUTHENTICATION_FLAGS},${PHP_FLAGS_5= 2_B}] + =3Ddev-lang/php-5.3*[${DB_FLAGS},${AUTHENTICATION_FLAGS},${PHP_FLAGS_5= 3_A}] + =3Ddev-lang/php-5.3*[${DB_FLAGS},${AUTHENTICATION_FLAGS},${PHP_FLAGS_5= 3_B}] + ) + virtual/httpd-php + virtual/cron" + +pkg_setup() { + webapp_pkg_setup + + # How many dbs were selected? If one and only one, which one is it? + MYDB=3D"" + DB_COUNT=3D0 + for db in ${DB_TYPES}; do + if use ${db}; then + MYDB=3D${db} + DB_COUNT=3D$(($DB_COUNT+1)) + fi + done + + if [[ ${DB_COUNT} -eq 0 ]]; then + eerror + eerror "\033[1;31m**************************************************\0= 33[1;31m" + eerror "No database selected in your USE flags," + eerror "You must select at least one." + eerror "\033[1;31m**************************************************\0= 33[1;31m" + eerror + die + fi + + if [[ ${DB_COUNT} -gt 1 ]]; then + MYDB=3D"" + ewarn + ewarn "\033[1;33m**************************************************\03= 3[1;33m" + ewarn "Multiple databases selected in your USE flags," + ewarn "You will have to choose your database manually." + ewarn "\033[1;33m**************************************************\03= 3[1;33m" + ewarn + fi +} + +src_prepare() { + rm COPYING.txt + cp "${FILESDIR}"/config.php . + + # Moodle expect postgres7, not postgres + MYDB=3D${MYDB/postgres/postgres7} + + # Moodle expects mysql, not mysqli + MYDB=3D${MYDB/mysqli/mysql} + + if [[ ${DB_COUNT} -eq 1 ]] ; then + sed -i -e "s|mydb|${MYDB}|" config.php + fi +} + +src_install() { + webapp_src_preinst + + local MOODLEDATA=3D"${MY_HOSTROOTDIR}"/moodle + dodir ${MOODLEDATA} + webapp_serverowned -R "${MOODLEDATA}" + + local MOODLEROOT=3D"${MY_HTDOCSDIR}" + insinto ${MOODLEROOT} || die "Unable to insinto ${MOODLEROOT}" + doins -r * + + webapp_configfile "${MOODLEROOT}"/config.php + + if [[ ${DB_COUNT} -eq 1 ]]; then + webapp_postinst_txt en "${FILESDIR}"/postinstall-en.txt + else + webapp_postinst_txt en "${FILESDIR}"/postinstall-nodb-en.txt + fi + + webapp_src_install +} + +pkg_postinst() { + einfo + einfo "\033[1;32m**************************************************\033= [1;32m" + einfo + einfo "To see the post install instructions, do" + einfo + einfo " webapp-config --show-postinst ${PN} ${PVR}" + einfo + einfo "\033[1;32m**************************************************\033= [1;32m" + einfo +}