diff options
Diffstat (limited to 'unmaintained')
26 files changed, 1107 insertions, 0 deletions
diff --git a/unmaintained/php7-pear-auth_sasl/APKBUILD b/unmaintained/php7-pear-auth_sasl/APKBUILD new file mode 100644 index 0000000000..4e343417d1 --- /dev/null +++ b/unmaintained/php7-pear-auth_sasl/APKBUILD @@ -0,0 +1,23 @@ +# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org> +_php=php7 +pkgname=${_php}-pear-auth_sasl +_realname=Auth_SASL +pkgver=1.1.0 +pkgrel=1 +pkgdesc="Abstraction of various SASL mechanism responses" +url="http://pear.php.net/package/Auth_SASL" +arch="noarch" +license="BSD-3-Clause" +depends="${_php}-pear" +options="!check" # No testsuite +source="http://download.pear.php.net/package/$_realname-$pkgver.tgz" +builddir="$srcdir"/$_realname-$pkgver + +package() { + _phpdir="usr/share/$_php" + install -d "$pkgdir"/$_phpdir/PEAR && \ + cp -R Auth "$pkgdir"/$_phpdir/PEAR +} + + +sha512sums="446ffa37fe7669d3993613167b07fb173c2e17664dcfb56d96a889b4a0cb2c83cc73d307aee15fc8fa7e666502835c15d09c32d8a491060bdd23c9093346bc40 Auth_SASL-1.1.0.tgz" diff --git a/unmaintained/php7-pear-auth_sasl2/APKBUILD b/unmaintained/php7-pear-auth_sasl2/APKBUILD new file mode 100644 index 0000000000..c826059c0b --- /dev/null +++ b/unmaintained/php7-pear-auth_sasl2/APKBUILD @@ -0,0 +1,22 @@ +# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org> +_php=php7 +pkgname=${_php}-pear-auth_sasl2 +_realname=Auth_SASL2 +pkgver=0.2.0 +pkgrel=1 +pkgdesc="Abstraction of various SASL mechanism responses" +url="http://pear.php.net/package/Auth_SASL2" +arch="noarch" +license="BSD-3-Clause" +depends="${_php}-pear" +options="!check" # No testsuite +source="$pkgname-$pkgver.tgz::http://download.pear.php.net/package/$_realname-$pkgver.tgz" +builddir="$srcdir"/$_realname-$pkgver + +package() { + _phpdir="usr/lib/$_php" + install -d "$pkgdir"/$_phpdir/PEAR && \ + cp -R Auth "$pkgdir"/$_phpdir/PEAR +} + +sha512sums="ea4bed18d241e9e43e3d3b1edc8aec713276a19ed6fa2b2adc44cfe74b51895b719e4fbbf83836b26abb8bfa7f0600891b2c4511ddcc3f6d815e986a61277402 php7-pear-auth_sasl2-0.2.0.tgz" diff --git a/unmaintained/php7-pear-mail_mime/APKBUILD b/unmaintained/php7-pear-mail_mime/APKBUILD new file mode 100644 index 0000000000..00f59c6f56 --- /dev/null +++ b/unmaintained/php7-pear-mail_mime/APKBUILD @@ -0,0 +1,26 @@ +# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org> +_php=php7 +pkgname=${_php}-pear-mail_mime +_realname=Mail_Mime +pkgver=1.10.4 +pkgrel=0 +pkgdesc="Mail_Mime provides classes to create MIME messages" +url="http://pear.php.net/package/Mail_Mime/" +arch="noarch" +license="BSD-3-Clause" +depends="${_php}-pear" +options="!check" # No testsuite +source="http://download.pear.php.net/package/$_realname-$pkgver.tgz" +builddir="$srcdir"/$_realname-$pkgver + +package() { + _phpdir="usr/share/${_php}" + install -d "$pkgdir"/$_phpdir/PEAR && \ + cp -R Mail "$pkgdir"/$_phpdir/PEAR + install -d "$pkgdir"/$_phpdir/doc/$_realname/ && \ + cp -R scripts "$pkgdir"/$_phpdir/doc/$_realname + install -d "$pkgdir"/$_phpdir/test/$_realname && \ + cp -R tests "$pkgdir"/$_phpdir/test/$_realname +} + +sha512sums="6e58e1078292cf43605313e2402b60deb97be0b56c8eb5dbbb501cf92ca836ca4bdbc9e1ab878c89f8e59941962a91b73dd917c8e678f0944f271e5537f065e5 Mail_Mime-1.10.4.tgz" diff --git a/unmaintained/php7-pear-mdb2_driver_mysql/APKBUILD b/unmaintained/php7-pear-mdb2_driver_mysql/APKBUILD new file mode 100644 index 0000000000..f493dc6595 --- /dev/null +++ b/unmaintained/php7-pear-mdb2_driver_mysql/APKBUILD @@ -0,0 +1,29 @@ +# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org> +_php=php7 +pkgname=${_php}-pear-mdb2_driver_mysql +_realname=MDB2_Driver_mysql +pkgver=1.5.0b4 +pkgrel=0 +pkgdesc="mysql MDB2 driver" +url="http://pear.php.net/package/$_realname/" +arch="noarch" +license="LGPL" +depends="${_php}-pear" +options="!check" +source="http://download.pear.php.net/package/$_realname-$pkgver.tgz" +builddir="$srcdir"/$_realname-$pkgver + +build() { + return 0 +} + +package() { + _phpdir="usr/share/${_php}" + cd "$builddir" + mkdir -p "$pkgdir"/$_phpdir/PEAR && \ + cp -R MDB2 "$pkgdir"/$_phpdir/PEAR + mkdir -p "$pkgdir"/$_phpdir/test/$_realname && \ + cp -R tests "$pkgdir"/$_phpdir/test/$_realname +} + +sha512sums="2c00d15fb81ff921dcbd6c440a533dd561be0728d41f6ad32d7f68a2a72fd2d527a37534f34ea55d28fd9dbabdcadeb40254a46823c58ae58bd8f6a3e9020e9d MDB2_Driver_mysql-1.5.0b4.tgz" diff --git a/unmaintained/php7-pear-mdb2_driver_pgsql/APKBUILD b/unmaintained/php7-pear-mdb2_driver_pgsql/APKBUILD new file mode 100644 index 0000000000..3cb90721c5 --- /dev/null +++ b/unmaintained/php7-pear-mdb2_driver_pgsql/APKBUILD @@ -0,0 +1,29 @@ +# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org> +_php=php7 +pkgname=${_php}-pear-mdb2_driver_pgsql +_realname=MDB2_Driver_pgsql +pkgver=1.5.0b4 +pkgrel=0 +pkgdesc="pgsql MDB2 driver" +url="http://pear.php.net/package/$_realname/" +arch="noarch" +license="LGPL" +depends="${_php}-pear" +options="!check" +source="http://download.pear.php.net/package/$_realname-$pkgver.tgz" +builddir="$srcdir"/$_realname-$pkgver + +build() { + return 0 +} + +package() { + _phpdir="usr/share/${_php}" + cd "$builddir" + mkdir -p "$pkgdir"/$_phpdir/PEAR && \ + cp -R MDB2 "$pkgdir"/$_phpdir/PEAR + mkdir -p "$pkgdir"/$_phpdir/test/$_realname && \ + cp -R tests "$pkgdir"/$_phpdir/test/$_realname +} + +sha512sums="e3717a412f28e8b93d2c693c021ca2965c02072db91f6fd43ddcfc8913a9bb95ac9a8eb07c9efd6e19d42753c5ae46c2da484c5a7deb83b59673f40ee67c5ad7 MDB2_Driver_pgsql-1.5.0b4.tgz" diff --git a/unmaintained/php7-pear-net_idna2/APKBUILD b/unmaintained/php7-pear-net_idna2/APKBUILD new file mode 100644 index 0000000000..db076def9e --- /dev/null +++ b/unmaintained/php7-pear-net_idna2/APKBUILD @@ -0,0 +1,29 @@ +# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org> +_php=php7 +pkgname=${_php}-pear-net_idna2 +_realname=Net_IDNA2 +pkgver=0.2.0 +pkgrel=1 +pkgdesc="Punycode encoding and decoding" +url="http://pear.php.net/package/Net_IDNA2/" +arch="noarch" +license="LGPL" +depends="${_php}-pear" +options="!check" +source="http://download.pear.php.net/package/$_realname-$pkgver.tgz" +builddir="$srcdir"/$_realname-$pkgver + +build() { + return 0 +} + +package() { + _phpdir="usr/share/${_php}" + cd "$builddir" + mkdir -p "$pkgdir"/$_phpdir/PEAR && \ + cp -R Net "$pkgdir"/$_phpdir/PEAR + mkdir -p "$pkgdir"/$_phpdir/test/$_realname && \ + cp -R tests "$pkgdir"/$_phpdir/test/$_realname +} + +sha512sums="728c79bd893d7202376cf9db7a285b69b6821db89621a454081f7c7b01123141950395106f11699c991733314a05f4810f3257dbab0b29592856b35dbb471e54 Net_IDNA2-0.2.0.tgz" diff --git a/unmaintained/php7-pear-net_sieve/APKBUILD b/unmaintained/php7-pear-net_sieve/APKBUILD new file mode 100644 index 0000000000..a42e3f4e85 --- /dev/null +++ b/unmaintained/php7-pear-net_sieve/APKBUILD @@ -0,0 +1,22 @@ +# Maintainer: Jakub Jirutka <jakub@jirutka.cz> +# +# FIXME: Figure out how to run tests. +_php=php7 +pkgname=$_php-pear-net_sieve +_pkgreal=Net_Sieve +pkgver=1.4.4 +pkgrel=0 +pkgdesc="Handles talking to a sieve server" +url="http://pear.php.net/package/Net_Sieve" +arch="noarch" +license="BSD-2-Clause" +depends="$_php-pear $_php-pear-net_socket" +source="http://download.pear.php.net/package/$_pkgreal-$pkgver.tgz" +builddir="$srcdir/$_pkgreal-$pkgver" + +package() { + cd "$builddir" + install -m 644 -D Sieve.php "$pkgdir"/usr/share/$_php/PEAR/Net/Sieve.php +} + +sha512sums="882257c174b162875c0edb5b3add66991cc355e4b00c3675ced2d70ffb9819b83d97a7c2e96a92798a2d6f3b2a5d19c99f6390369926745f18b8c294e9f49357 Net_Sieve-1.4.4.tgz" diff --git a/unmaintained/php7-pear-net_smtp/APKBUILD b/unmaintained/php7-pear-net_smtp/APKBUILD new file mode 100644 index 0000000000..077912cff6 --- /dev/null +++ b/unmaintained/php7-pear-net_smtp/APKBUILD @@ -0,0 +1,39 @@ +# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org> +_php=php7 +pkgname=${_php}-pear-net_smtp +_pkgreal=Net_SMTP +pkgver=1.9.0 +pkgrel=0 +pkgdesc="An implementation of the SMTP protocol" +url="http://pear.php.net/package/Net_SMTP" +arch="noarch" +license="BSD-2-Clause" +depends="${_php}-pear ${_php}-pear-net_socket" +options="!check" +subpackages="$pkgname-doc" +source="http://download.pear.php.net/package/$_pkgreal-$pkgver.tgz" +builddir="$srcdir"/$_pkgreal-$pkgver + +_phpdir="usr/share/${_php}" + +package() { + cd "$builddir" + for dir in doc example test; do + install -d "$pkgdir"/$_phpdir/$dir/$_pkgreal + done + mv docs "$pkgdir"/$_phpdir/doc/$_pkgreal + mv examples "$pkgdir"/$_phpdir/example/$_pkgreal + mv tests "$pkgdir"/$_phpdir/test/$_pkgreal + install -d "$pkgdir"/$_phpdir/PEAR + mv Net "$pkgdir"/$_phpdir/PEAR + install -Dm0644 LICENSE "$pkgdir"/$_phpdir/doc/$_pkgreal/LICENSE +} + +doc() { + cd "$builddir" + install -d "$subpkgdir"/$_phpdir/doc + mv "$pkgdir"/$_phpdir/doc/$_pkgreal \ + "$subpkgdir"/$_phpdir/doc +} + +sha512sums="fb28bbf07e54d71d1a82d59b137e4905c77b5600c10cf7760890ec708fc9e6df9d47715cf6808569f88603fac80c1cfdd7c4f3893efe7ac7aecaac47ba849ec2 Net_SMTP-1.9.0.tgz" diff --git a/unmaintained/php7-pear-net_socket/APKBUILD b/unmaintained/php7-pear-net_socket/APKBUILD new file mode 100644 index 0000000000..eea2d4cb5a --- /dev/null +++ b/unmaintained/php7-pear-net_socket/APKBUILD @@ -0,0 +1,23 @@ +# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org> +_php=php7 +pkgname=${_php}-pear-net_socket +_pkgreal=Net_Socket +pkgver=1.2.2 +pkgrel=0 +pkgdesc="Network Socket Interface" +url="http://pear.php.net/package/$_pkgreal" +arch="noarch" +license="PHP" +depends="${_php}-pear" +options="!check" +source="http://download.pear.php.net/package/$_pkgreal-$pkgver.tgz" +builddir="$srcdir"/$_pkgreal-$pkgver + +package() { + _phpdir="usr/share/${_php}" + cd "$builddir" + install -d "$pkgdir"/$_phpdir/PEAR + mv Net "$pkgdir"/$_phpdir/PEAR +} + +sha512sums="fd415fbd4a6801b63cda3168ff275fdeae233a3cc4c62f9bfe561f83f24f89795a7e7ad862641a73bb6d6e3c0da8b56cd00e7e7a1db616de040ea7883d84caa5 Net_Socket-1.2.2.tgz" diff --git a/unmaintained/roundcube-mobile/APKBUILD b/unmaintained/roundcube-mobile/APKBUILD new file mode 100644 index 0000000000..5604a75593 --- /dev/null +++ b/unmaintained/roundcube-mobile/APKBUILD @@ -0,0 +1,74 @@ +# Contributor: Jakub Jirutka <jakub@jirutka.cz> +# Maintainer: Jakub Jirutka <jakub@jirutka.cz> + +pkgname=roundcube-mobile +# NOTE: These 3 plugins/skins forms one product, they are not used separately +# anywhere, thus I put them together into single abuild. +_pkgname_plugin=Roundcube-Plugin-Mobile +_pkgname_skin=Roundcube-Skin-Melanie2-Larry-Mobile +_pkgname_jquery=Roundcube-Plugin-JQuery-Mobile +pkgver=0.4.9 +pkgrel=0 +_pkgver_jquery=1.2 +pkgdesc="Mobile plugin and skin for Roundcube by Melanie2" +url="https://plugins.roundcube.net/packages/melanie2/mobile" +arch="noarch" +license="GPL-3.0-or-later CC-3.0-BY-SA" +depends="roundcubemail" +pkggroups="roundcube" +options="!check" # no tests provided +subpackages=" + $pkgname-calendar:_plugin + $pkgname-enigma:_plugin + $pkgname-managesieve:_plugin + " +source="https://github.com/messagerie-melanie2/$_pkgname_plugin/archive/v$pkgver/$_pkgname_plugin-$pkgver.tar.gz + https://github.com/messagerie-melanie2/$_pkgname_skin/archive/v$pkgver/$_pkgname_skin-$pkgver.tar.gz + https://github.com/messagerie-melanie2/$_pkgname_jquery/archive/v$_pkgver_jquery/$_pkgname_jquery-$_pkgver_jquery.tar.gz + " + +_confdir="etc/roundcube/plugins" +_rcdir="usr/share/webapps/roundcube" + +prepare() { + cd "$srcdir" + + find . -type f -exec chmod -x {} + + rm -f */.gitignore */composer.json */package.xml */LICENCE */README.* +} + +package() { + local plugdir="$pkgdir/$_rcdir/plugins" + local skindir="$pkgdir/$_rcdir/skins" + + cd "$srcdir" + + mkdir -p "$plugdir" + cp -r "$_pkgname_jquery-$_pkgver_jquery" "$plugdir"/jquery_mobile + cp -r "$_pkgname_plugin-$pkgver" "$plugdir"/mobile + rm -R "$plugdir"/mobile/plugins + + mkdir -p "$skindir" + cp -r "$_pkgname_skin-$pkgver" "$skindir"/melanie2_larry_mobile + + install -m 644 -g roundcube -D "$plugdir"/mobile/config.inc.php.dist \ + "$pkgdir"/$_confdir/mobile.inc.php + ln -s /$_confdir/mobile.inc.php "$plugdir"/mobile/config.inc.php +} + +_plugin() { + local subname="${subpkgname#$pkgname-}" + local plugdir="$subpkgdir/$_rcdir/plugins" + + pkgdesc="$pkgdesc (skin for $subname)" + install_if="$pkgname=$pkgver-r$pkgrel roundcubemail-$subname" + + cd "$srcdir/$_pkgname_plugin-$pkgver" + + mkdir -p "$plugdir"/$subname + cp -r plugins/$subname/skins "$plugdir"/$subname/ +} + +sha512sums="7370cb1f20faee5e90084ac90e2af50613ac1cce2e0f00f034393c8abe47106e3ce51e3abddec422b3b8a13ad081c0bb85f2791f8ce409e40c3c466469c81045 Roundcube-Plugin-Mobile-0.4.9.tar.gz +c3d58335e26f85876a126d65c377fb98a1d8c6753777f46e89f1658fef83bafaea228ec98935725ae9f53e1492f552047b41b59e596c713cea705ee0893e3ab6 Roundcube-Skin-Melanie2-Larry-Mobile-0.4.9.tar.gz +e29c08b8a3299ecc0c4a5127dce90c00e7682b2ee9c1c884a4faa0d6b3550c3ab63ae52fdf363c002831098406492596a275c1ac6242db0dea6ed1568e96b655 Roundcube-Plugin-JQuery-Mobile-1.2.tar.gz" diff --git a/unmaintained/roundcubemail/APKBUILD b/unmaintained/roundcubemail/APKBUILD new file mode 100644 index 0000000000..ebbb485a9a --- /dev/null +++ b/unmaintained/roundcubemail/APKBUILD @@ -0,0 +1,225 @@ +# Contributor: Leonardo Arena <rnalrd@alpinelinux.org> +# Contributor: Jakub Jirutka <jakub@jirutka.cz> +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=roundcubemail +pkgver=1.3.10 +pkgrel=0 +pkgdesc="A PHP web-based mail client" +url="https://www.roundcube.net/" +arch="noarch" +license="GPL-3.0-or-later" +_php=php7 +depends="$_php + $_php-dom + $_php-exif + $_php-iconv + $_php-intl + $_php-json + $_php-mbstring + $_php-openssl + $_php-pdo + $_php-pear-auth_sasl + $_php-pear-mail_mime + $_php-pear-net_idna2 + $_php-pear-net_smtp + $_php-pear-net_socket + $_php-session + $_php-sockets + $_php-xml + ca-certificates + " +_depends_managesieve="$_php-pear-net_sieve" +_depends_zipdownload="$_php-zip" +# Install plugins' deps during build just to verify that they exist. +makedepends="$_depends_managesieve" +pkgusers="roundcube" +pkggroups="$pkgusers" +options="!check" # no tests provided +install="$pkgname.pre-install + $pkgname.post-install + $pkgname.post-upgrade + $pkgname-installer.post-install + $pkgname-openrc.post-install + $pkgname-pgsql.post-install + " +subpackages="$pkgname-installer $pkgname-openrc $pkgname-doc" +source="https://github.com/roundcube/$pkgname/releases/download/$pkgver/$pkgname-$pkgver-complete.tar.gz + fix-dirs.patch + config-session_key.patch + config-disable-remote-spellcheck.patch + config.inc.php + fpm-pool.conf + nginx.conf + $pkgname.confd + $pkgname.logrotate + $pkgname.daily + " +builddir="$srcdir/$pkgname-$pkgver" + +# secfixes: +# 1.3.10-r0: +# - CVE-2019-10740 +# 1.3.8-r0: +# - CVE-2018-19206 +# 1.3.6-r0: +# - CVE-2018-9846 +# 1.2.7-r0: +# - CVE-2017-16651 +# 1.2.5-r0: +# - CVE-2017-8114 + +for _db in mssql mysql pgsql sqlite; do + subpackages="$subpackages $pkgname-$_db:_db" +done + +# List of plugins to move into subpackages. +_plugins=" + managesieve + zipdownload + " +for _plugin in $_plugins; do + subpackages="$subpackages $pkgname-$_plugin:_plugin" +done + +_destdir="usr/share/webapps/roundcube" + +prepare() { + cd "$builddir" + default_prepare + + # remove .htaccess + find . -name \.htaccess -print | xargs rm -f + + # cleanup + sed -i 's/\r//' SQL/mssql.initial.sql + rm -rf logs temp + + # Useless 'cause there's no FOSS PDO driver. + rm -R SQL/oracle* + + cd bin + + # Remove development scripts. + rm -f cssshrink.* dumpschema.* installto.* jsshrink.* makedoc.* + + # These are all PHP files, not shell scripts! + local file; for file in *.sh; do + mv $file ${file%.sh}.php + done + + # Fix shebang. + sed -i "s|/usr/bin/env php|/usr/bin/env $_php|" *.php +} + +package() { + local docdir="$pkgdir/usr/share/doc/roundcube" + local config plugname + + mkdir -p "$pkgdir/$_destdir" + cd "$pkgdir" + + cp -rp "$builddir"/* ./$_destdir/ + + # Install config in /etc/roundcube so config files are not overwritten + # on upgrades. + mkdir -p ./etc/ + mv ./$_destdir/config ./etc/roundcube + mkdir ./etc/roundcube/plugins + + install -m 640 -g roundcube \ + "$srcdir"/config.inc.php ./etc/roundcube/ + + local file; for file in CHANGELOG INSTALL README.md UPGRADING; do + _mv ./$_destdir/$file "$docdir"/ + done + _mv ./etc/roundcube/config.inc.php.sample "$docdir"/ + _mv ./$_destdir/LICENSE ./usr/share/licenses/roundcube/ + + install -m 644 -D "$srcdir"/nginx.conf "$docdir"/ + + install -m 755 -D "$srcdir"/$pkgname.daily ./etc/periodic/daily/$pkgname + install -m 644 -D "$srcdir"/$pkgname.logrotate ./etc/logrotate.d/$pkgname + + install -d -m 750 -o roundcube -g roundcube ./var/log/roundcube + + # Copy plugin configs into /etc and symlink them back. + cd ./$_destdir/plugins + for config in */config.inc.php.dist; do + plugname=${config%/*} + + install -m 644 -g roundcube $config -D \ + "$pkgdir"/etc/roundcube/plugins/$plugname.inc.php + ln -s /etc/roundcube/plugins/$plugname.inc.php \ + $plugname/config.inc.php + done +} + +installer() { + pkgdesc="Roundcubemail installer script" + depends="$pkgname=$pkgver-r$pkgrel" + + _mv "$pkgdir"/$_destdir/installer "$subpkgdir"/$_destdir/ +} + +openrc() { + default_openrc + pkgdesc="OpenRC init script that runs Roundcube with php-fpm" + depends="$pkgname=$pkgver-r$pkgrel $_php-fpm" + + local confdir="$subpkgdir/etc/$_php/php-fpm.d" + local fpm_name="php-fpm${_php#php}" + + install -m 644 -D "$srcdir"/fpm-pool.conf "$confdir"/roundcube.conf + install -m 644 -D "$srcdir"/$pkgname.confd "$subpkgdir"/etc/conf.d/roundcube + + mkdir -p "$subpkgdir"/etc/init.d + ln -s $fpm_name "$subpkgdir"/etc/init.d/roundcube + + install -m 700 -o roundcube -g roundcube -d "$subpkgdir"/var/tmp/roundcube +} + +_db() { + local subname=${subpkgname#$pkgname-} + local driver="$subname" + local rcname="$subname" + local desc + + case "$subname" in + mssql) desc="MS SQL" driver=dblib;; + mysql) desc="MariaDB";; + pgsql) desc="PostgreSQL" rcname="postgres";; + sqlite) desc="SQLite";; + esac + + pkgdesc="$pkgdesc ($desc DB)" + depends="$pkgname=$pkgver-r$pkgrel $_php-pdo_${driver}" + + _mv "$pkgdir"/$_destdir/SQL/$rcname* "$subpkgdir"/$_destdir/SQL/ +} + +_plugin() { + local name="${subpkgname#$pkgname-}" + pkgdesc="$pkgdesc ($name plugin)" + depends="$pkgname=$pkgver-r$pkgrel $(eval "echo \$_depends_$name")" + + cd "$pkgdir" + _mv ./$_destdir/plugins/$name "$subpkgdir"/$_destdir/plugins/ + _mv ./etc/roundcube/plugins/$name.inc.php "$subpkgdir"/etc/roundcube/plugins/ +} + +_mv() { + local dest; for dest; do true; done # get last argument + mkdir -p "$dest" + mv $@ +} + +sha512sums="8fffa16abda87d29081d1afedbf1d9e4862b8b1864785101d422e62048ca7f365c3708e8a76b4a37f716109230943bb9f03a5faa0cf3c3963fa5454207e00c49 roundcubemail-1.3.10-complete.tar.gz +d205ba8442870b26f93fb287e7fe2bd1a452ea534823869b7ef299e2dca52d64c8a3fdc9a44bd3bc731c1e400efcf745c1866974e3b908e4e54d05b47b835f3e fix-dirs.patch +7c4b88da4d2baa53d247dcb7b130d564954a04611c13f2770f45924fafab2a0e98f8dd078cabc87f3eddd0ab03f3ca48a48f27a462676354af22566cb19d220b config-session_key.patch +e46cdded33114ee7dae671d936cc41551168df29778dbf18f848a4f0eb0738a54c0751a5689716ba126ac256f2a50284afdcde542a42827003d6ba89af94f064 config-disable-remote-spellcheck.patch +1ed41e25b5045849a35eb0cb89b6779378773edcc6395b7390d9d919c956aaa487a4cc0dfa41b250129ae40444b93a3c20738101f784f17a25f7aba1d95de047 config.inc.php +c88d609e94c212215a24f54d2a2cb800d4a382b1044e0c875416bdda6a4e6c0cb896675918e8d24f3ed9e1b677d526d61f3ee1564cb870f674dac687696e8ba4 fpm-pool.conf +0825096ee7e401c5c1687fe784bc859ca30afa754bc1f49ea56b9156fbd05dd5018e68491247f5db484e644e6f67da3ebf5ee2d2324da0e9f031fdde76517f5b nginx.conf +acaa76bfbba6117172a02ad11e39f9b55838895104e75180b057f647156c04fd2e44ac695a333f2332691d19bac5ef8afaca1f89ad409800b19f78afbb40aecb roundcubemail.confd +b4de4810ac01a2c4b6922371cb949ecf9b57df4f56c3f1bbc3d0ef926b1d85182a3d801cb1af77d28195b587137a2bcbb9a171d932e7eb1b72950a281ca27c2a roundcubemail.logrotate +1864e3914a2efa846e9fd8f8e6e8338ea4d47da0d07424cc524cbed1a68e65342ef5dccda91688d942c5b25f3b7fad412d6020ed7a681aa9aa31b7657aa780a8 roundcubemail.daily" diff --git a/unmaintained/roundcubemail/config-disable-remote-spellcheck.patch b/unmaintained/roundcubemail/config-disable-remote-spellcheck.patch new file mode 100644 index 0000000000..c1c6d0523a --- /dev/null +++ b/unmaintained/roundcubemail/config-disable-remote-spellcheck.patch @@ -0,0 +1,26 @@ +The default spell checker sends everything you type to some remote server +(http://spell.roundcube.net). This is de facto keylogger! + +This patch just changes the default settings to disable spellcheck +and set pspell as default (however it requires php7-pspell to be installed). + +--- a/config/defaults.inc.php ++++ b/config/defaults.inc.php +@@ -723,7 +723,7 @@ + $config['quota_zero_as_unlimited'] = false; + + // Make use of the built-in spell checker. It is based on GoogieSpell. +-$config['enable_spellcheck'] = true; ++$config['enable_spellcheck'] = false; + + // Enables spellchecker exceptions dictionary. + // Setting it to 'shared' will make the dictionary shared by all users. +@@ -737,7 +737,7 @@ + // Since Google shut down their public spell checking service, the default settings + // connect to http://spell.roundcube.net which is a hosted service provided by Roundcube. + // You can connect to any other googie-compliant service by setting 'spellcheck_uri' accordingly. +-$config['spellcheck_engine'] = 'googie'; ++$config['spellcheck_engine'] = 'pspell'; + + // For locally installed Nox Spell Server or After the Deadline services, + // please specify the URI to call it. diff --git a/unmaintained/roundcubemail/config-session_key.patch b/unmaintained/roundcubemail/config-session_key.patch new file mode 100644 index 0000000000..a94bd9bd10 --- /dev/null +++ b/unmaintained/roundcubemail/config-session_key.patch @@ -0,0 +1,11 @@ +--- a/config/config.inc.php.sample ++++ b/config/config.inc.php.sample +@@ -74,7 +74,7 @@ + // in the session record (and the client cookie if remember password is enabled). + // please provide a string of exactly 24 chars. + // YOUR KEY MUST BE DIFFERENT THAN THE SAMPLE VALUE FOR SECURITY REASONS +-$config['des_key'] = 'rcmail-!24ByteDESkey*Str'; ++$config['des_key'] = trim(file(RCMAIL_CONFIG_DIR . '/session_key')[0]); + + // List of active plugins (in plugins/ directory) + $config['plugins'] = array( diff --git a/unmaintained/roundcubemail/config.inc.php b/unmaintained/roundcubemail/config.inc.php new file mode 100644 index 0000000000..7307c38cfb --- /dev/null +++ b/unmaintained/roundcubemail/config.inc.php @@ -0,0 +1,145 @@ +<?php + +/* + +-----------------------------------------------------------------------+ + | Local configuration for the Roundcube Webmail installation. | + | | + | This is a samle configuration file only containing the most common | + | configuration options. You may copy more options from | + | defaults.inc.php to this file to override the defaults. | + | | + | This file is provided by Alpine Linux. | + +-----------------------------------------------------------------------+ +*/ + +$config = array(); + +// ---------------------------------- +// SQL DATABASE +// ---------------------------------- + +// Database connection string (DSN) for read+write operations. +// Format (compatible with PEAR MDB2): db_provider://user:password@host/database +// Currently supported db_providers: mysql, pgsql, sqlite, mssql, sqlsrv. +// IMPORTANT: Install package for the DB of your choice, e.g. `apk add roundcubemail-pgsql`. +$config['db_dsnw'] = 'pgsql://roundcube:top-secret@localhost/roundcube'; + + +// ---------------------------------- +// IMAP +// ---------------------------------- + +// The IMAP host chosen to perform the log-in. +// Leave blank to show a textbox at login, give a list of hosts +// to display a pulldown menu or set one host as string. +// To use SSL/TLS connection, enter hostname with prefix ssl:// or tls:// +//$config['default_host'] = 'localhost'; + +// TCP port used for IMAP connections +//$config['default_port'] = 143; + +// IMAP connection timeout, in seconds. Default: 0 (use default_socket_timeout) +//$config['imap_timeout'] = 0; + + +// ---------------------------------- +// SMTP +// ---------------------------------- + +// SMTP server host (for sending mails). +// Enter hostname with prefix tls:// to use STARTTLS, or use +// prefix ssl:// to use the deprecated SSL over SMTP (aka SMTPS). +//$config['smtp_server'] = 'localhost'; + +// SMTP port (default is 25; use 587 for STARTTLS or 465 for the +// deprecated SSL over SMTP (aka SMTPS)). +//$config['smtp_port'] = 25; + +// SMTP username (if required) if you use %u as the username Roundcube +// will use the current username for login. +//$config['smtp_user'] = '%u'; + +// SMTP password (if required) if you use %p as the password Roundcube +// will use the current user's password for login. +//$config['smtp_pass'] = '%p'; + + +// ---------------------------------- +// SYSTEM +// ---------------------------------- + +// Provide an URL where a user can get support for this Roundcube installation. +// PLEASE DO NOT LINK TO THE ROUNDCUBE.NET WEBSITE HERE! +//$config['support_url'] = ''; + +// Allow browser-autocompletion on login form. +// 0 - disabled, 1 - username and host only, 2 - username, host, password +//$config['login_autocomplete'] = 0; + +// Session lifetime in minutes. +//$config['session_lifetime'] = 10; + +// Name your service. This is displayed on the login screen and in the window title. +//$config['product_name'] = 'Roundcube Webmail'; + +// Load the key from /etc/roundcube/session_key (random key generated on install). +// This key is used to encrypt the users imap password which is stored +// in the session record (and the client cookie if remember password is enabled). +// It must be exactly 24 chars long. +$config['des_key'] = trim(file(RCMAIL_CONFIG_DIR . '/session_key')[0]); + +// Password charset. +// Defaults to ISO-8859-1 for backward compatibility +$config['password_charset'] = 'UTF-8'; + +// Mimetypes supported by the browser. +// Attachments of these types will open in a preview window. +// Either a comma-separated list or an array: 'text/plain,text/html,text/xml,image/jpeg,image/gif,image/png,application/pdf'. +$config['client_mimetypes'] = 'text/plain,text/html,image/jpeg,image/gif,image/png,application/pdf'; + +// List of active plugins (in plugins/ directory). +//$config['plugins'] = array(); + + +// ---------------------------------- +// USER INTERFACE +// ---------------------------------- + +// Make use of the built-in spell checker. +//$config['enable_spellcheck'] = false; + +// Set the spell checking engine. Possible values: +// - 'googie' - don't use this, it sends everything you type to a remote service! +// - 'pspell' - requires the PHP Pspell module and aspell installed (apk add php7-pspell) +// - 'enchant' - requires the PHP Enchant module (apk add php7-enchant) +// - 'atd' - install your own After the Deadline server or check with the people at http://www.afterthedeadline.com before using their API +//$config['spellcheck_engine'] = 'pspell'; + +// Enables files upload indicator. Requires APC installed (apk add php7-apcu) +// and enabled apc.rfc1867 option. +// By default refresh time is set to 1 second. You can set this value to true +// or any integer value indicating number of seconds. +//$config['upload_progress'] = false; + + +// ---------------------------------- +// USER PREFERENCES +// ---------------------------------- + +// Use this charset as fallback for message decoding +$config['default_charset'] = 'UTF-8'; + +// display remote inline images +// 0 - Never, always ask +// 1 - Ask if sender is not in address book +// 2 - Always show inline images +//$config['show_images'] = 0; + +// save compose message every 300 seconds (5min) +//$config['draft_autosave'] = 300; + +// When replying: +// -1 - don't cite the original message +// 0 - place cursor below the original message +// 1 - place cursor above original message (top posting) +//$config['reply_mode'] = 0; diff --git a/unmaintained/roundcubemail/fix-dirs.patch b/unmaintained/roundcubemail/fix-dirs.patch new file mode 100644 index 0000000000..3d0807fb15 --- /dev/null +++ b/unmaintained/roundcubemail/fix-dirs.patch @@ -0,0 +1,38 @@ +--- a/config/defaults.inc.php ++++ b/config/defaults.inc.php +@@ -382,11 +382,11 @@ + // use this folder to store log files + // must be writeable for the user who runs PHP process (Apache user if mod_php is being used) + // This is used by the 'file' log driver. +-$config['log_dir'] = RCUBE_INSTALL_PATH . 'logs/'; ++$config['log_dir'] = '/var/log/roundcube'; + + // use this folder to store temp files + // must be writeable for the user who runs PHP process (Apache user if mod_php is being used) +-$config['temp_dir'] = RCUBE_INSTALL_PATH . 'temp/'; ++$config['temp_dir'] = '/tmp'; + + // expire files in temp_dir after 48 hours + // possible units: s, m, h, d, w +--- a/program/include/iniset.php ++++ b/program/include/iniset.php +@@ -29,7 +29,7 @@ + } + + if (!defined('RCMAIL_CONFIG_DIR')) { +- define('RCMAIL_CONFIG_DIR', INSTALL_PATH . 'config'); ++ define('RCMAIL_CONFIG_DIR', '/etc/roundcube'); + } + + if (!defined('RCUBE_LOCALIZATION_DIR')) { +--- a/program/lib/Roundcube/bootstrap.php ++++ b/program/lib/Roundcube/bootstrap.php +@@ -65,7 +65,7 @@ + } + + if (!defined('RCUBE_CONFIG_DIR')) { +- define('RCUBE_CONFIG_DIR', RCUBE_INSTALL_PATH . 'config/'); ++ define('RCUBE_CONFIG_DIR', '/etc/roundcube'); + } + + if (!defined('RCUBE_PLUGINS_DIR')) { diff --git a/unmaintained/roundcubemail/fpm-pool.conf b/unmaintained/roundcubemail/fpm-pool.conf new file mode 100644 index 0000000000..39b1206e02 --- /dev/null +++ b/unmaintained/roundcubemail/fpm-pool.conf @@ -0,0 +1,190 @@ +[global] +; Error log file +; Default Value: log/php-fpm.log +error_log = /var/log/roundcube/php-fpm.log + +; Log level +; Possible Values: alert, error, warning, notice, debug +; Default Value: notice +log_level = warning + +; If this number of child processes exit with SIGSEGV or SIGBUS within the time +; interval set by emergency_restart_interval then FPM will restart. A value +; of '0' means 'Off'. +; Default Value: 0 +emergency_restart_threshold = 10 + +; Interval of time used by emergency_restart_interval to determine when +; a graceful restart will be initiated. This can be useful to work around +; accidental corruptions in an accelerator's shared memory. +; Available Units: s(econds), m(inutes), h(ours), or d(ays) +; Default Unit: seconds +; Default Value: 0 +emergency_restart_interval = 1m + +; Time limit for child processes to wait for a reaction on signals from master. +; Available units: s(econds), m(inutes), h(ours), or d(ays) +; Default Unit: seconds +; Default Value: 0 +process_control_timeout = 10s + + +[roundcube] +; The address on which to accept FastCGI requests. +; Valid syntaxes are: +; 'ip.add.re.ss:port' - to listen on a TCP socket to a specific address on +; a specific port; +; 'port' - to listen on a TCP socket to all addresses on a +; specific port; +; '/path/to/unix/socket' - to listen on a unix socket (the path is *not* +; relative to chroot!) +; Note: This value is mandatory. +listen = /run/roundcube/fastcgi.sock + +; Set permissions for unix socket, if one is used. In Linux, read/write +; permissions must be set in order to allow connections from a web server. Many +; BSD-derived systems allow connections regardless of permissions. +; Default Values: user and group are set as the running user +; mode is set to 0666 +listen.mode = 0666 + +; Choose how the process manager will control the number of child processes. +; Possible Values: +; static ... a fixed number of child processes. +; dynamic ... the number of child processes are set dynamically. +; ondemand ... no children are created at startup; children will be forked +; when new requests will connect. +; Note: This value is mandatory. +pm = ondemand + +; The number of child processes to be created when pm is set to 'static' and the +; maximum number of child processes when pm is set to 'dynamic' or 'ondemand'. +; This value sets the limit on the number of simultaneous requests that will be +; served. +; Note: Used when pm is set to 'static', 'dynamic' or 'ondemand' +; Note: This value is mandatory. +pm.max_children = 10 + +; The number of seconds after which an idle process will be killed. +; Note: Used only when pm is set to 'ondemand' +; Default Value: 10s +pm.process_idle_timeout = 120s + +; The number of requests each child process should execute before respawning. +; This can be useful to work around memory leaks in 3rd party libraries. For +; endless request processing specify '0'. Equivalent to PHP_FCGI_MAX_REQUESTS. +; Default Value: 0 +pm.max_requests = 500 + +; The URI to view the FPM status page. If this value is not set, no URI will be +; recognized as a status page. +; Note: The value must start with a leading slash (/). The value can be +; anything, but it may not be a good idea to use the .php extension or it +; may conflict with a real PHP file. +; Default Value: not set +pm.status_path = + +; The ping URI to call the monitoring page of FPM. If this value is not set, no +; URI will be recognized as a ping page. This could be used to test from outside +; that FPM is alive and responding, or to +; - create a graph of FPM availability (rrd or such); +; - remove a server from a group if it is not responding (load balancing); +; - trigger alerts for the operating team (24/7). +; Note: The value must start with a leading slash (/). The value can be +; anything, but it may not be a good idea to use the .php extension or it +; may conflict with a real PHP file. +; Default Value: not set +ping.path = /ping + +; The timeout for serving a single request after which the worker process will +; be killed. This option should be used when the 'max_execution_time' ini option +; does not stop script execution for some reason. A value of '0' means 'off'. +; Available units: s(econds)(default), m(inutes), h(ours), or d(ays) +; Default Value: 0 +;request_terminate_timeout = 0 + +; The timeout for serving a single request after which a PHP backtrace will be +; dumped to the 'slowlog' file. A value of '0s' means 'off'. +; Available units: s(econds)(default), m(inutes), h(ours), or d(ays) +; Default Value: 0 +;request_slowlog_timeout = 0 + +; The log file for slow requests +; Default Value: not set +; Note: slowlog is mandatory if request_slowlog_timeout is set +; Note: the path is *not* relative to chroot. +;slowlog = /var/log/roundcube/php-fpm.slow.log + +; Redirect worker stdout and stderr into main error log. If not set, stdout and +; stderr will be redirected to /dev/null according to FastCGI specs. +; Note: on highloaded environement, this can cause some delay in the page +; process time (several ms). +; Default Value: no +;catch_workers_output = yes + +; Pass environment variables like LD_LIBRARY_PATH. All $VARIABLEs are taken from +; the current environment. +; Default Value: clean env +env[PATH] = /usr/local/bin:/usr/bin:/bin +env[TMP] = /tmp +env[TMPDIR] = /tmp +env[TEMP] = /tmp + +; Additional php.ini defines, specific to this pool of workers. These settings +; overwrite the values previously defined in the php.ini. The directives are the +; same as the PHP SAPI: +; php_value/php_flag - you can set classic ini defines which can +; be overwritten from PHP call 'ini_set'. +; php_admin_value/php_admin_flag - these directives won't be overwritten by +; PHP call 'ini_set' +; For php_*flag, valid values are on, off, 1, 0, true, false, yes or no. +; +; Defining 'extension' will load the corresponding shared extension from +; extension_dir. Defining 'disable_functions' or 'disable_classes' will not +; overwrite previously defined php.ini values, but will append the new value +; instead. +; +; Note: path INI options can be relative and will be expanded with the prefix +; (pool, global or /usr/lib/php7.x) + +; Allow HTTP file uploads. +php_admin_flag[file_uploads] = true + +; Maximal size of a file that can be uploaded via web interface. +php_admin_value[memory_limit] = 32M +php_admin_value[post_max_size] = 32M +php_admin_value[upload_max_filesize] = 32M + +; Where to store temporary files. +php_admin_value[session.save_path] = /var/tmp/roundcube +php_admin_value[sys_temp_dir] = /var/tmp/roundcube +php_admin_value[upload_tmp_dir] = /var/tmp/roundcube + +; Log errors to specified file. +php_admin_flag[log_errors] = on +php_admin_value[error_log] = /var/log/roundcube/php.error.log + +; OPcache error_log file name. Empty string assumes "stderr" +php_admin_value[opcache.error_log] = /var/log/roundcube/php.error.log + +; Output buffering is a mechanism for controlling how much output data +; (excluding headers and cookies) PHP should keep internally before pushing that +; data to the client. If your application's output exceeds this setting, PHP +; will send that data in chunks of roughly the size you specify. +; This must be disabled for Roundcube. +php_admin_flag[output_buffering] = false + +; Overload(replace) single byte functions by mbstring functions. +; This must be disabled for Roundcube. +php_admin_flag[mbstring.func_overload] = false + +; Never populate the $HTTP_RAW_POST_DATA variable. +; http://php.net/always-populate-raw-post-data +php_admin_value[always_populate_raw_post_data] = -1 + +; Disable certain functions for security reasons. +; http://php.net/disable-functions +php_admin_value[disable_functions] = exec,passthru,shell_exec,system,proc_open,popen,curl_exec,curl_multi_exec,parse_ini_file,show_source + +; Enable OpCache. +php_admin_flag[opcache.enable] = true diff --git a/unmaintained/roundcubemail/nginx.conf b/unmaintained/roundcubemail/nginx.conf new file mode 100644 index 0000000000..248d8d51fc --- /dev/null +++ b/unmaintained/roundcubemail/nginx.conf @@ -0,0 +1,56 @@ +# Sample nginx config for Roundcube. + +server { + listen 443 ssl; + listen [::]:443 ssl; + server_name mail.example.org; + + access_log /var/log/nginx/mail.access.log main; + error_log /var/log/nginx/mail.error.log warn; + + #ssl_certificate /etc/ssl/acme/mail.example.org/fullchain.pem; + #ssl_certificate_key /etc/ssl/acme/mail.example.org/privkey.pem; + + # Set max upload size. Keep in sync with memory_limit, post_max_size, + # and upload_max_filesize in /etc/php7/php-fpm.d/roundcube.conf. + client_max_body_size 32M; + + root /usr/share/webapps/roundcube; + index index.php index.html; + + # Enable HSTS Policy + #add_header Strict-Transport-Security "max-age=315360000"; + + location ~ ^/(bin|SQL)/ { + deny all; + } + + location ~ [^/]\.php(/|$) { + fastcgi_split_path_info ^(.+\.php)(.*)$; + + if (!-f $document_root$fastcgi_script_name) { + return 404; + } + fastcgi_pass unix:/run/roundcube/fastcgi.sock; + fastcgi_keep_conn on; + fastcgi_index index.php; + + include fastcgi.conf; + } + + # Allow to cache static assets. + location ~ ^/(plugins|skins|program)/ { + add_header Cache-Control "public, max-age=2592000"; + } +} + +server { + listen 80; + listen [::]:80; + server_name mail.example.org; + + # Redirect to https://. + location / { + rewrite ^ https://$server_name$request_uri? permanent; + } +} diff --git a/unmaintained/roundcubemail/roundcubemail-installer.post-install b/unmaintained/roundcubemail/roundcubemail-installer.post-install new file mode 100644 index 0000000000..8cd22c19e6 --- /dev/null +++ b/unmaintained/roundcubemail/roundcubemail-installer.post-install @@ -0,0 +1,6 @@ +#!/bin/sh + +# Allow installer to modify the config. +chown roundcube /etc/roundcube/config.inc.php + +exit 0 diff --git a/unmaintained/roundcubemail/roundcubemail-openrc.post-install b/unmaintained/roundcubemail/roundcubemail-openrc.post-install new file mode 100644 index 0000000000..f674611211 --- /dev/null +++ b/unmaintained/roundcubemail/roundcubemail-openrc.post-install @@ -0,0 +1,11 @@ +#!/bin/sh + +cat >&2 <<EOF +* +* Point your web server to /run/roundcube/fastcgi.sock and start Roundcube with +* /etc/init.d/roundcube start. You can modify php-fpm settings in +* /etc/php7/fpm.d/roundcube.conf. +* +EOF + +exit 0 diff --git a/unmaintained/roundcubemail/roundcubemail-pgsql.post-install b/unmaintained/roundcubemail/roundcubemail-pgsql.post-install new file mode 100644 index 0000000000..f46ba5b3e2 --- /dev/null +++ b/unmaintained/roundcubemail/roundcubemail-pgsql.post-install @@ -0,0 +1,12 @@ +#!/bin/sh + +cat >&2 <<EOF +* +* Create database for Roundcube and load the initialization script: +* +* su -l postgres +* psql -c "CREATE ROLE roundcube PASSWORD 'top-secret' INHERIT LOGIN;" +* psql -c "CREATE DATABASE roundcube OWNER roundcube ENCODING 'UTF-8';" +* psql -U roundcube roundcube < /usr/share/webapps/roundcube/SQL/postgres.initial.sql +* +EOF diff --git a/unmaintained/roundcubemail/roundcubemail.confd b/unmaintained/roundcubemail/roundcubemail.confd new file mode 100644 index 0000000000..dd391a8d7b --- /dev/null +++ b/unmaintained/roundcubemail/roundcubemail.confd @@ -0,0 +1,8 @@ +# Config file for /etc/init.d/roundcube + +name="Roundcube" +user="roundcube" +group="roundcube" + +required_files="/etc/roundcube/config.inc.php" +rc_after="mta dovecot" diff --git a/unmaintained/roundcubemail/roundcubemail.daily b/unmaintained/roundcubemail/roundcubemail.daily new file mode 100644 index 0000000000..5a498d3300 --- /dev/null +++ b/unmaintained/roundcubemail/roundcubemail.daily @@ -0,0 +1,10 @@ +#!/bin/ash +set -eu +set -o pipefail + +# An awk program to add timestamp prefix to all logged lines. +AWK_LOG_PREFIX='{ print strftime("%Y-%m-%d %H:%M:%S:"), $0; fflush(); }' + +su roundcube -s /bin/sh -c '/usr/share/webapps/roundcube/bin/cleandb.php' 2>&1 \ + | awk "$AWK_LOG_PREFIX" \ + | tee -a /var/log/roundcube/cron.log diff --git a/unmaintained/roundcubemail/roundcubemail.logrotate b/unmaintained/roundcubemail/roundcubemail.logrotate new file mode 100644 index 0000000000..5b277c9ecc --- /dev/null +++ b/unmaintained/roundcubemail/roundcubemail.logrotate @@ -0,0 +1,6 @@ +/var/log/roundcube/* { + compress + copytruncate + missingok + notifempty +} diff --git a/unmaintained/roundcubemail/roundcubemail.post-install b/unmaintained/roundcubemail/roundcubemail.post-install new file mode 100644 index 0000000000..e5da23494d --- /dev/null +++ b/unmaintained/roundcubemail/roundcubemail.post-install @@ -0,0 +1,40 @@ +#!/bin/sh + +keyfile='/etc/roundcube/session_key' + +if ! [ -e "$keyfile" ]; then + echo '* Generating random session key' >&2 + + { head /dev/urandom | tr -dc A-Za-z0-9 | head -c 24 && echo ''; } > "$keyfile" + chmod 440 "$keyfile" + chgrp roundcube "$keyfile" +fi + +if [ "${0##*.}" = 'post-upgrade' ]; then + ver_new="$1" + ver_old="$2" + + cat >&2 <<-EOF + * + * Please read /usr/share/doc/roundcube/UPGRADE + * in roundcubemail-doc package for schema or config update + * + EOF + + if [ "$(apk version -t "$ver_old" '1.3.6-r1')" = '<' ]; then + cat >&2 <<-EOF + * + * If you run Roundcube with web server's privileges, e.g. using Apache2 + * mod_php (which is highly not recommended due to security reasons!), you + * have to change config permissions (or add user apache to group roundcube): + * + * chgrp www-data /etc/roundcube/* + * + * Roundcube plugins managesieve and zipdownload has been moved into + * subpackages. If you use them, install roundcubemail-<plugin> using apk + * (e.g. apk add roundcubemail-zipdownload). + * + EOF + fi +fi +exit 0 diff --git a/unmaintained/roundcubemail/roundcubemail.post-upgrade b/unmaintained/roundcubemail/roundcubemail.post-upgrade new file mode 120000 index 0000000000..ef34de84ef --- /dev/null +++ b/unmaintained/roundcubemail/roundcubemail.post-upgrade @@ -0,0 +1 @@ +roundcubemail.post-install
\ No newline at end of file diff --git a/unmaintained/roundcubemail/roundcubemail.pre-install b/unmaintained/roundcubemail/roundcubemail.pre-install new file mode 100644 index 0000000000..49f4ee008d --- /dev/null +++ b/unmaintained/roundcubemail/roundcubemail.pre-install @@ -0,0 +1,6 @@ +#!/bin/sh + +addgroup -S roundcube 2>/dev/null +adduser -S -D -H -h /var/tmp/roundcube -s /sbin/nologin -G roundcube -g roundcubemail roundcube 2>/dev/null + +exit 0 |