summaryrefslogtreecommitdiff
path: root/www-apps
diff options
context:
space:
mode:
authorBertrand Jacquin <beber@meleeweb.net>2008-03-31 03:30:13 +0200
committerBertrand Jacquin <beber@meleeweb.net>2008-03-31 03:30:13 +0200
commit3479b0ff385634a868eecea917faa672ad127ded (patch)
tree020cb4b2a252833ef1000fbe758a1969514b731b /www-apps
parentCorrect check-boot-files.sh (diff)
downloadportage-3479b0ff385634a868eecea917faa672ad127ded.tar.xz
roundcube from webapp-experimental
Diffstat (limited to 'www-apps')
-rw-r--r--www-apps/roundcube/Manifest23
-rw-r--r--www-apps/roundcube/files/postinstall-en.txt92
-rw-r--r--www-apps/roundcube/files/roundcube-0.1-no-sockets-check.patch72
-rw-r--r--www-apps/roundcube/roundcube-0.1.ebuild84
-rw-r--r--www-apps/roundcube/roundcube-0.1_rc1.ebuild42
-rw-r--r--www-apps/roundcube/roundcube-9999.ebuild111
6 files changed, 217 insertions, 207 deletions
diff --git a/www-apps/roundcube/Manifest b/www-apps/roundcube/Manifest
index a76af396..67aede90 100644
--- a/www-apps/roundcube/Manifest
+++ b/www-apps/roundcube/Manifest
@@ -1,19 +1,4 @@
-AUX postinstall-en.txt 1665 RMD160 843b4d96345577a74d42d0a69c7d92ff5d82c830 SHA1 ce763e5f12c21b325035418ffc140ffdf6ec6a0c SHA256 29c3d7d6b13b68a6a8e9ca93defc0b6f36a2d4e638ed9421b41d5e3a57eadb2b
-MD5 97fff2d63553cb30c5640e900d9e9574 files/postinstall-en.txt 1665
-RMD160 843b4d96345577a74d42d0a69c7d92ff5d82c830 files/postinstall-en.txt 1665
-SHA256 29c3d7d6b13b68a6a8e9ca93defc0b6f36a2d4e638ed9421b41d5e3a57eadb2b files/postinstall-en.txt 1665
-DIST roundcubemail-0.1-rc1.tar.gz 584283 RMD160 648a38f170c38f81899bd29368cfe2ec2ab3f4d3 SHA1 c686dacbcaa95269c9f3c06b7170b2b918e83ecc SHA256 46143671d9ccd1d495c87d1ab503784f8bfa3892488f34d64736ec918a4240b0
-EBUILD roundcube-0.1_rc1.ebuild 1114 RMD160 a0509e1c73912d1c00c3b98fe5c7494085ab8123 SHA1 90b57158c0a978169df3a80c11ddf2fc8b293b45 SHA256 b0dd173ed2a31d3752a34504bf2756ef3c7a8dafd2d16aa011f54f34a08a0a70
-MD5 43e3e82d550fff239b9ee3e0bb360160 roundcube-0.1_rc1.ebuild 1114
-RMD160 a0509e1c73912d1c00c3b98fe5c7494085ab8123 roundcube-0.1_rc1.ebuild 1114
-SHA256 b0dd173ed2a31d3752a34504bf2756ef3c7a8dafd2d16aa011f54f34a08a0a70 roundcube-0.1_rc1.ebuild 1114
-EBUILD roundcube-9999.ebuild 3352 RMD160 f33335f3c1a4d4e8906aa9443515daacf02e23cb SHA1 8d598dd8651a6c6a6f7b62e281990f1439d9199f SHA256 1e821514b875620bdd79c1a8870104aa0507d8c24a966b3c1ae2b4c14e2a6bf3
-MD5 84d77d7079abcdf5a9a2f997c73e4ef7 roundcube-9999.ebuild 3352
-RMD160 f33335f3c1a4d4e8906aa9443515daacf02e23cb roundcube-9999.ebuild 3352
-SHA256 1e821514b875620bdd79c1a8870104aa0507d8c24a966b3c1ae2b4c14e2a6bf3 roundcube-9999.ebuild 3352
-MD5 645a05c98ec38c4a8ad3b857861d4d33 files/digest-roundcube-0.1_rc1 265
-RMD160 4ffb5cbf95064eee2d75b57307afcf170c9bc5cf files/digest-roundcube-0.1_rc1 265
-SHA256 17ad05eeedf2e2595da52111baaef2538f5c4ae93ca3ae92e213aff0d4392137 files/digest-roundcube-0.1_rc1 265
-MD5 d41d8cd98f00b204e9800998ecf8427e files/digest-roundcube-9999 0
-RMD160 9c1185a5c5e9fc54612808977ee8f548b2258d31 files/digest-roundcube-9999 0
-SHA256 e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 files/digest-roundcube-9999 0
+AUX postinstall-en.txt 2513 RMD160 c2a04efcdd4007642221797a10877c2fc57ad874 SHA1 8bc888b2944694bbbadeddfe6f193c3a8a995a87 SHA256 5c1fa9d43f29158521188aae417654f968fb41662c46721b8183728df37eb4c4
+AUX roundcube-0.1-no-sockets-check.patch 2435 RMD160 1d03b74d38693edc6f816f2e34422d2b46442751 SHA1 62a5d11dc2bb437543eb449e4e6f4014a95c3ccf SHA256 3075384ee99ce0b5f0077b6a56e2a140afb00af6e12d6e32863ec14d03cd8696
+DIST roundcubemail-0.1.tar.gz 1406854 RMD160 225b3a37c70bcf3b471b7d650233aec30dae2f76 SHA1 8b5b516b41bad98c3bbaf0da0e70b0db82580424 SHA256 ea4f4b23b9a20308cc0b1fef3b7301700c9ce4544189007bc62756e8d5f67051
+EBUILD roundcube-0.1.ebuild 2754 RMD160 a3a6a933b79881d6eb0fbc8e6c4c78e9e3e63a13 SHA1 f63a4ddea99fd306eef8af6f1e0881f1d5edc5ed SHA256 87a066609833ec391a3cd461e24bb1fb803389108c2c7e06e123f61ef31a6c31
diff --git a/www-apps/roundcube/files/postinstall-en.txt b/www-apps/roundcube/files/postinstall-en.txt
index f5279f70..d3d8138b 100644
--- a/www-apps/roundcube/files/postinstall-en.txt
+++ b/www-apps/roundcube/files/postinstall-en.txt
@@ -1,55 +1,77 @@
-Almost done!
+0. DATABASE SETUP
-1. Setup the database tables:
- For MySQL:
+* MySQL 4.1.x/5.x
+-----------------
+For MySQL version 4.1 and up, it's recommended to create the database for
+RoundCube with utf-8 charset. Here's an example of the init procedure:
- New install:
- Create the database:
- mysql -u root -p create DB_NAME
+# mysql
+> CREATE DATABASE roundcubemail DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
+> GRANT ALL PRIVILEGES ON roundcubemail.* TO roundcube@localhost
+ IDENTIFIED BY 'password';
+> quit
- Create the needed tables:
- mysql -u root -p < /usr/share/webapps/roundcube-svn/VERSION/sqlscripts/mysql/VERSION_create.sql DB_NAME
+# mysql roundcubemail < ${MY_INSTALLDIR}/SQL/mysql5.initial.sql
- Create roundcube_webmail MySQL user:
- mysql -u root -p -e "GRANT ALL ON DB_NAME.* TO DB_USER@localhost IDENTIFIED BY 'DB_PASSWORD';FLUSH PRIVILEGES;"
+* SQLite
+--------
+Sqlite requires specifically php5 (sqlite in php4 currently doesn't
+work with roundcube), and you need sqlite 2 (preferably 2.8) to setup
+the sqlite db (sqlite 3.x also doesn't work at the moment). Here is
+an example how you can setup the sqlite.db for roundcube:
+# sqlite -init SQL/sqlite.initial.sql sqlite.db
- Update from 0.1-20051007:
- mysql -u root -p < /usr/share/webapps/roundcube-svn/VERSION/sqlscripts/mysql/0.1-20051007_to_VERSION.sql DB_NAME
+Make sure your configuration points to the sqlite.db file and that the
+webserver can write to the file and the directory containing the file.
+* PostgreSQL
+------------
+To use RoundCube with PostgreSQL support you have to follow these
+simple steps, which have to be done as the postgres system user (or
+which ever is the database superuser):
- For SQLite:
-
- New install:
- sqlite -init /usr/share/webapps/roundcube-svn/VERSION/sqlscripts/sqlite/VERSION_create.sql DB_NAME
+$ createuser roundcube
+$ createdb -O roundcube roundcubemail
+$ psql roundcubemail
+roundcubemail =# ALTER USER roundcube WITH PASSWORD 'the_new_password';
+roundcubemail =# \c - roundcube
+roundcubemail => \i ${MY_INSTALLDIR}/SQL/postgres.initial.sql
- For PostgreSQL:
+All this has been tested with PostgreSQL 8.x and 7.4.x. Older
+versions don't have a -O option for the createdb, so if you are
+using that version you'll have to change ownership of the DB later.
- New install:
- Create roundcube_webmail PostgreSQL user::
- createuser DB_USER
- Create the database:
- createdb -O DB_USER DB_NAME
+1. ROUNDCUBE CONFIGURATION
- Create the needed tables:
- psql DB_NAME
- DB_NAME =# ALTER USER DB_USER WITH PASSWORD 'DB_PASSWORD';
- DB_NAME =# \c - DB_NAME
- DB_NAME => \i /usr/share/webapps/roundcube-svn/VERSION/sqlscripts/pqsql/VERSION_create.sql
+Modify the files in ${MY_INSTALLDIR}/config/* to suit your local environment
+Details about the config parameters can be found in the config files.
+See http://trac.roundcube.net/wiki/Howto_Install for even more guidance.
-2. Edit the files: db.inc.php and main.inc.php in the config sub-directory of
-the roundcube_webmail installation. In order to connect to the database you'll
-need to change the following line in db.inc.php to look something like this:
-For MySQL:
- $rcmail_config['db_dsnw'] = 'mysql://roundcube:roundcube@localhost/roundcube';
+2. PHP CONFIGURATION
-For SQLite:
- $rcmail_config['db_dsnw'] = 'sqlite://./sqlite.db?mode=0646';
+ - error_reporting E_ALL & ~E_NOTICE (or lower)
+ - file_uploads On (for attachment upload features)
+ - session.auto_start Off
+ - magic_quotes_gpc Off
+ - memory_limit (increase as suitable to support large attachments)
-3. Finally, point your browser to http://${VHOST_HOSTNAME}/${VHOST_APPDIR}
+3. WEBSERVER CONFIGURATION
+
+Access through your webserver to at least the following directories should be denied:
+
+ * /conf
+ * /temp
+ * /logs
+
+Roundcube uses .htaccess files to protect these directories if you are using Apache;
+be sure to allow override of the Limit directives to get them taken into account.
+
+If you are NOT using Apache, it is your responsibility to take care of the above as
+needed by your webserver.
diff --git a/www-apps/roundcube/files/roundcube-0.1-no-sockets-check.patch b/www-apps/roundcube/files/roundcube-0.1-no-sockets-check.patch
new file mode 100644
index 00000000..69bd5633
--- /dev/null
+++ b/www-apps/roundcube/files/roundcube-0.1-no-sockets-check.patch
@@ -0,0 +1,72 @@
+http://trac.roundcube.net/changeset/1186
+http://trac.roundcube.net/ticket/1484834
+Index: /trunk/roundcubemail/installer/check.php
+===================================================================
+--- installer/check.php (revision 1169)
++++ installer/check.php (revision 1186)
+@@ -2,5 +2,5 @@
+ <?php
+
+-$required_php_exts = array('PCRE' => 'pcre', 'Session' => 'session', 'Sockets' => 'sockets');
++$required_php_exts = array('PCRE' => 'pcre', 'Session' => 'session');
+
+ $optional_php_exts = array('FileInfo' => 'fileinfo', 'Libiconv' => 'iconv',
+@@ -66,5 +66,5 @@
+ ?>
+
+-<p class="hint">These extensions are <em>optional</em> but recommended to get the best performance:</p>
++<p class="hint">The next couple of extensions are <em>optional</em> but recommended to get the best performance:</p>
+ <?php
+
+Index: /trunk/roundcubemail/installer/test.php
+===================================================================
+--- installer/test.php (revision 1171)
++++ installer/test.php (revision 1186)
+@@ -32,9 +32,36 @@
+ ?>
+
++<h3>Check if directories are writable</h3>
++<p>RoundCube may need to write/save files into these directories</p>
++<?php
++
++if ($RCI->configured) {
++ $pass = false;
++ foreach (array($RCI->config['temp_dir'],$RCI->config['log_dir']) as $dir) {
++ $dirpath = $dir{0} == '/' ? $dir : $docroot . '/' . $dir;
++ if (is_writable(realpath($dirpath))) {
++ $RCI->pass($dir);
++ $pass = true;
++ }
++ else {
++ $RCI->fail($dir, 'not writeable for the webserver');
++ }
++ echo '<br />';
++ }
++
++ if (!$pass)
++ echo '<p class="hint">Use <tt>chmod</tt> or <tt>chown</tt> to grant write privileges to the webserver</p>';
++}
++else {
++ $RCI->fail('Config', 'Could not read config files');
++}
++
++?>
++
+ <h3>Check configured database settings</h3>
+ <?php
+
+ $db_working = false;
+-if (!empty($RCI->config)) {
++if ($RCI->configured) {
+ if (!empty($RCI->config['db_backend']) && !empty($RCI->config['db_dsnw'])) {
+
+Index: /trunk/roundcubemail/installer/welcome.html
+===================================================================
+--- installer/welcome.html (revision 1162)
++++ installer/welcome.html (revision 1186)
+@@ -11,5 +11,4 @@
+ <li>PCRE (perl compatible regular expression)</li>
+ <li>Session support</li>
+- <li>Sockets enabled</li>
+ <li>Libiconv (recommended)</li>
+ <li>OpenSSL (recommended)</li>
diff --git a/www-apps/roundcube/roundcube-0.1.ebuild b/www-apps/roundcube/roundcube-0.1.ebuild
new file mode 100644
index 00000000..eed85f4c
--- /dev/null
+++ b/www-apps/roundcube/roundcube-0.1.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+inherit eutils webapp depend.php depend.apache
+
+MY_PN="${PN}mail"
+MY_P="${MY_PN}-${PV}"
+DESCRIPTION="A browser-based multilingual IMAP client using AJAX"
+HOMEPAGE="http://www.roundcube.net"
+SRC_URI="mirror://sourceforge/${MY_PN}/${MY_P}.tar.gz"
+
+# roundcube is GPL-licensed, the rest of the licenses here are
+# for bundled PEAR components, googiespell and utf8.class.php
+LICENSE="GPL-2 BSD PHP-2.02 PHP-3 MIT public-domain"
+KEYWORDS="~amd64 ~x86"
+IUSE="ldap mysql postgres sqlite ssl spell"
+
+RDEPEND="dev-php/PEAR-PEAR"
+need_httpd_cgi
+need_php_httpd
+
+S="${WORKDIR}/${MY_P}"
+
+pkg_setup() {
+ local flags="crypt iconv imap pcre session unicode"
+ use ldap && flags="${flags} ldap"
+ use ssl && flags="${flags} ssl"
+ use spell && flags="${flags} curl ssl"
+
+ # check for required PHP features
+ if ! use mysql && ! use postgres && ! use sqlite ; then
+ local dbflags="mysql mysqli postgres sqlite"
+ if ! PHPCHECKNODIE="yes" require_php_with_use ${flags} || \
+ ! PHPCHECKNODIE="yes" require_php_with_any_use ${dbflags} ; then
+ die "Re-install ${PHP_PKG} with ${flags} and at least one of ${dbflags} in USE."
+ fi
+ else
+ for db in postgres sqlite ; do
+ use ${db} && flags="${flags} ${db}"
+ done
+ if ! PHPCHECKNODIE="yes" require_php_with_use ${flags} || \
+ ( use mysql && ! PHPCHECKNODIE="yes" require_php_with_any_use mysql mysqli ) ; then
+ local diemsg="Re-install ${PHP_PKG} with ${flags}"
+ use mysql && diemsg="${diemsg} and at least one of mysql mysqli"
+ die "${diemsg} in USE"
+ fi
+ fi
+
+ # add some warnings about optional functionality
+ if ! PHPCHECKNODIE="yes" require_php_with_any_use gd gd-external ; then
+ ewarn "IMAP quota display will not work correctly without GD support in PHP."
+ ewarn "Recompile PHP with either gd or gd-external in USE if you want this feature."
+ ewarn
+ fi
+ use ldap || ewarn "PHP with USE=\"ldap\" is required for using LDAP addressbooks."
+ use ssl || ewarn "PHP with USE=\"ssl\" is required for IMAPS/STMPS functionality."
+ use spell || ewarn "PHP with USE=\"curl ssl\" required for spellchecker functionality."
+
+ webapp_pkg_setup
+}
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ epatch "${FILESDIR}"/${P}-no-sockets-check.patch
+ mv config/db.inc.php{.dist,}
+ mv config/main.inc.php{.dist,}
+}
+
+src_install () {
+ webapp_src_preinst
+ dodoc CHANGELOG INSTALL README UPGRADING
+
+ cp -R [[:lower:]]* SQL "${D}/${MY_HTDOCSDIR}"
+
+ webapp_serverowned "${MY_HTDOCSDIR}"/logs
+ webapp_serverowned "${MY_HTDOCSDIR}"/temp
+
+ webapp_configfile "${MY_HTDOCSDIR}"/config/{db,main}.inc.php
+ webapp_postinst_txt en "${FILESDIR}"/postinstall-en.txt
+ webapp_postupgrade_txt en UPGRADING
+ webapp_src_install
+}
diff --git a/www-apps/roundcube/roundcube-0.1_rc1.ebuild b/www-apps/roundcube/roundcube-0.1_rc1.ebuild
deleted file mode 100644
index 5f110b03..00000000
--- a/www-apps/roundcube/roundcube-0.1_rc1.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2005 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: $
-
-inherit webapp eutils versionator depend.php
-
-MY_PV=$(replace_version_separator 2 '-')
-DESCRIPTION="A browser-based multilingual IMAP client using AJAX"
-HOMEPAGE="http://www.roundcube.net"
-SRC_URI="mirror://sourceforge/${PN}mail/${PN}mail-${MY_PV}.tar.gz"
-
-LICENSE="GPL-2"
-KEYWORDS="~x86 ~amd64"
-S=${WORKDIR}/${PN}mail-${MY_PV}
-
-IUSE="mysql sqlite postgresql"
-
-RDEPEND="virtual/httpd-php
- dev-php/PEAR-DB"
-
-pkg_setup() {
- webapp_pkg_setup
- use mysql && require_php_with_any_use mysql mysqli
- use sqlite && require_php_with_use sqlite
- use postgresql && require_php_with_use postgresql
-}
-
-src_install () {
- webapp_src_preinst
- dodoc CHANGELOG INSTALL README UPGRADING
-
- cp -R [[:lower:]]* SQL ${D}/${MY_HTDOCSDIR}
-
- webapp_serverowned ${MY_HTDOCSDIR}/logs
- webapp_serverowned ${MY_HTDOCSDIR}/temp
-
- webapp_postinst_txt en ${FILESDIR}/postinstall-en.txt
-
- webapp_configfile ${MY_HTDOCSDIR}/config/db.inc.php.dist
- webapp_configfile ${MY_HTDOCSDIR}/config/main.inc.php.dist
- webapp_src_install
-}
diff --git a/www-apps/roundcube/roundcube-9999.ebuild b/www-apps/roundcube/roundcube-9999.ebuild
deleted file mode 100644
index 35019cd2..00000000
--- a/www-apps/roundcube/roundcube-9999.ebuild
+++ /dev/null
@@ -1,111 +0,0 @@
-# Copyright 1999-2005 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: $
-
-inherit subversion webapp eutils
-
-ESVN_REPO_URI="https://svn.roundcube.net/trunk/roundcubemail"
-ESVN_PROJECT="roundcubemail"
-
-DESCRIPTION="A browser-based multilingual IMAP client using AJAX - (sources from SVN)"
-HOMEPAGE="http://www.roundcube.net"
-SRC_URI=""
-
-LICENSE="GPL-2"
-KEYWORDS="~x86"
-
-S=${WORKDIR}/${ESVN_PROJECT}
-
-IUSE="mysql postgresql sqlite"
-
-RDEPEND="mysql? (>=dev-db/mysql-4)
- sqlite? (dev-db/sqlite)
- postgresql? (dev-db/postgresql)
- !mysql? (!sqlite(!postgresql(dev-db/mysql)))
- virtual/httpd-php
- dev-php/PEAR-DB"
-
-pkg_setup() {
- eerror "This is a LIVE SVN ebuild."
- eerror "That means there are NO promises it will work."
- eerror "If it fails to build, FIX THE CODE YOURSELF"
- eerror "before reporting any issues."
- if use mysql ; then
- if ! built_with_use virtual/httpd-php mysql ; then
- eerror "PHP is missing MySQL support."
- eerror "Please add 'mysql' to your USE flags, and re-emerge PHP."
- die "PHP needs mysql support"
- fi
- fi
- webapp_pkg_setup
-}
-
-src_unpack() {
- subversion_src_unpack
- mv ${S}/config/db.inc.php.dist ${S}/config/db.inc.php
- mv ${S}/config/main.inc.php.dist ${S}/config/main.inc.php
- cd "${S}"
- find . -type d -name "CVS" -exec rm -rf "{}" ";" 1>/dev/null 2>&1
-}
-
-src_install () {
- webapp_src_preinst
-
- cd "${S}"
-
- local docs="CHANGELOG README UPGRADING"
-
- # handle documentation files
- #
- # NOTE that doc files go into /usr/share/doc as normal; they do NOT
- # get installed per vhost!
- dodoc ${docs}
- for foo in ${docs} INSTALL; do
- rm -f ${foo}
- done
-
- # copy the app's main files
- #
- einfo "Installing main files"
- cp -R . ${D}/${MY_HTDOCSDIR}
- rm -rf ${D}/${MY_HTDOCSDIR}/SQL
-
- # Directories needed to be owned by web server
- #
- webapp_serverowned ${MY_HTDOCSDIR}/logs
- webapp_serverowned ${MY_HTDOCSDIR}/temp
-
- # add the post-installation instructions
- #
- webapp_postinst_txt en ${FILESDIR}/postinstall-en.txt
-
- # install the SQL scripts available to us
- # NOTE: We support all the differend SQL backends
- #
- if use mysql ; then
- webapp_sqlscript mysql SQL/mysql.initial.sql
- cp SQL/mysql.update.sql ${T}/mysql.update-0.1-20051007-to-${PV}.sql
- webapp_sqlscript mysql ${T}/mysql.update-0.1-20051007-to-${PV}.sql 0.1-20051007
- fi
- if use postgresql ; then
- webapp_sqlscript postgres SQL/postgres.initial.sql
- fi
- if use sqlite ; then
- webapp_sqlscript sqlite SQL/sqlite.initial.sql
- fi
-
- # Identify the configuration files that this app uses
- #
- webapp_configfile ${MY_HTDOCSDIR}/config/db.inc.php
- webapp_configfile ${MY_HTDOCSDIR}/config/main.inc.php
-
- # all done
- #
- # now we let the eclass strut its stuff ;-)
- #
- webapp_src_install
-}
-
-pkg_postinst () {
- webapp_pkg_postinst
-}