diff options
-rw-r--r-- | www-apps/roundcube/Manifest | 23 | ||||
-rw-r--r-- | www-apps/roundcube/files/postinstall-en.txt | 92 | ||||
-rw-r--r-- | www-apps/roundcube/files/roundcube-0.1-no-sockets-check.patch | 72 | ||||
-rw-r--r-- | www-apps/roundcube/roundcube-0.1.ebuild | 84 | ||||
-rw-r--r-- | www-apps/roundcube/roundcube-0.1_rc1.ebuild | 42 | ||||
-rw-r--r-- | www-apps/roundcube/roundcube-9999.ebuild | 111 |
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 -} |