From 4272e802a1be191657becb739e6a248c1d0411a7 Mon Sep 17 00:00:00 2001 From: Jakub Jirutka Date: Tue, 28 Mar 2017 13:54:43 +0200 Subject: community/*: move php5 and dependent pkgs from main There two main reasons for this change: * Active support of PHP 5.x ended on January 2017, security support will end on December 2018. Packages in the main repository should be supported for at least 2 years, this means until first quarter of 2019 for the upcoming v3.6. * php7 and its extensions are currently in the community repository, so we can't use single abuild for both php5-* and php7-* packages (as we do for Python and Lua packages). This change was suggested by @vakartel, approved by @ncopa, @kaniini, and @jirutka. --- community/cacti/APKBUILD | 145 ++++++ community/cacti/cacti-setup.post-install | 21 + community/cacti/cacti.crontab | 1 + community/cacti/cacti.nginx.conf | 36 ++ community/cacti/cacti.php-fpm.conf | 15 + community/cacti/cacti.pre-install | 8 + community/nextcloud/APKBUILD | 161 +++++++ community/nextcloud/nextcloud-config.php | 5 + .../nextcloud/nextcloud10-dont-chmod-config.patch | 12 + community/owncloud/APKBUILD | 275 +++++++++++ community/owncloud/fpm-pool.conf | 183 ++++++++ .../owncloud/owncloud-initscript.post-install | 22 + community/owncloud/owncloud-initscript.pre-install | 6 + community/owncloud/owncloud.confd | 5 + community/owncloud/owncloud.config.php.in | 25 + community/php5-apcu/APKBUILD | 39 ++ community/php5-mailparse/APKBUILD | 38 ++ community/php5-memcache/APKBUILD | 53 +++ .../php5-memcache/memcache-faulty-inline.patch | 141 ++++++ community/php5-pear-auth_sasl/APKBUILD | 30 ++ community/php5-pear-auth_sasl2/APKBUILD | 30 ++ community/php5-pear-mail_mime/APKBUILD | 34 ++ community/php5-pear-mdb2/APKBUILD | 66 +++ community/php5-pear-net_idna2/APKBUILD | 34 ++ community/php5-pear-net_smtp/APKBUILD | 29 ++ community/php5-pear-net_socket/APKBUILD | 25 + community/php5-phalcon/APKBUILD | 42 ++ community/php5-phpmailer/APKBUILD | 31 ++ community/php5-xcache/APKBUILD | 56 +++ community/php5-xcache/xcache.ini | 3 + community/php5/APKBUILD | 521 +++++++++++++++++++++ community/php5/gd-iconv.patch | 45 ++ community/php5/php-fpm.initd | 93 ++++ community/php5/php-install-pear-xml.patch | 15 + community/php5/php5-module.conf | 5 + community/php5/php5.post-upgrade | 11 + community/phpldapadmin/APKBUILD | 77 +++ .../phpldapadmin-1.2.3-force-ssha512.patch | 11 + ...hanged-password_hash-to-pla_password_hash.patch | 49 ++ ...ged-preg_replace-to-preg_replace-callback.patch | 38 ++ ...all-to-renamed-function-pla_password_hash.patch | 23 + ...ldapadmin-1.2.3_use-preg_replace_callback.patch | 34 ++ .../phpldapadmin/phpldapadmin.additional-template | 41 ++ community/roundcubemail/APKBUILD | 80 ++++ community/roundcubemail/fix-dirs.patch | 22 + community/roundcubemail/roundcubemail.post-upgrade | 47 ++ community/roundcubemail/roundcubemail.pre-upgrade | 7 + community/zabbix/APKBUILD | 201 ++++++++ community/zabbix/automake.patch | 11 + community/zabbix/musl-fix-includes.patch | 13 + community/zabbix/zabbix-agent.pre-install | 6 + community/zabbix/zabbix-agentd.initd | 33 ++ community/zabbix/zabbix-getloadavg.patch | 31 ++ community/zabbix/zabbix-proxy.initd | 21 + community/zabbix/zabbix-server.confd | 2 + community/zabbix/zabbix-server.initd | 11 + community/zabbix/zabbix.pre-install | 6 + community/zabbix/zabbix_server.conf.patch | 11 + 58 files changed, 3036 insertions(+) create mode 100644 community/cacti/APKBUILD create mode 100644 community/cacti/cacti-setup.post-install create mode 100644 community/cacti/cacti.crontab create mode 100644 community/cacti/cacti.nginx.conf create mode 100644 community/cacti/cacti.php-fpm.conf create mode 100644 community/cacti/cacti.pre-install create mode 100644 community/nextcloud/APKBUILD create mode 100644 community/nextcloud/nextcloud-config.php create mode 100644 community/nextcloud/nextcloud10-dont-chmod-config.patch create mode 100644 community/owncloud/APKBUILD create mode 100644 community/owncloud/fpm-pool.conf create mode 100644 community/owncloud/owncloud-initscript.post-install create mode 100644 community/owncloud/owncloud-initscript.pre-install create mode 100644 community/owncloud/owncloud.confd create mode 100644 community/owncloud/owncloud.config.php.in create mode 100644 community/php5-apcu/APKBUILD create mode 100644 community/php5-mailparse/APKBUILD create mode 100644 community/php5-memcache/APKBUILD create mode 100644 community/php5-memcache/memcache-faulty-inline.patch create mode 100644 community/php5-pear-auth_sasl/APKBUILD create mode 100644 community/php5-pear-auth_sasl2/APKBUILD create mode 100644 community/php5-pear-mail_mime/APKBUILD create mode 100644 community/php5-pear-mdb2/APKBUILD create mode 100644 community/php5-pear-net_idna2/APKBUILD create mode 100644 community/php5-pear-net_smtp/APKBUILD create mode 100644 community/php5-pear-net_socket/APKBUILD create mode 100644 community/php5-phalcon/APKBUILD create mode 100644 community/php5-phpmailer/APKBUILD create mode 100644 community/php5-xcache/APKBUILD create mode 100644 community/php5-xcache/xcache.ini create mode 100644 community/php5/APKBUILD create mode 100644 community/php5/gd-iconv.patch create mode 100644 community/php5/php-fpm.initd create mode 100644 community/php5/php-install-pear-xml.patch create mode 100644 community/php5/php5-module.conf create mode 100644 community/php5/php5.post-upgrade create mode 100644 community/phpldapadmin/APKBUILD create mode 100644 community/phpldapadmin/phpldapadmin-1.2.3-force-ssha512.patch create mode 100644 community/phpldapadmin/phpldapadmin-1.2.3_changed-password_hash-to-pla_password_hash.patch create mode 100644 community/phpldapadmin/phpldapadmin-1.2.3_changed-preg_replace-to-preg_replace-callback.patch create mode 100644 community/phpldapadmin/phpldapadmin-1.2.3_fixed-call-to-renamed-function-pla_password_hash.patch create mode 100644 community/phpldapadmin/phpldapadmin-1.2.3_use-preg_replace_callback.patch create mode 100644 community/phpldapadmin/phpldapadmin.additional-template create mode 100644 community/roundcubemail/APKBUILD create mode 100644 community/roundcubemail/fix-dirs.patch create mode 100644 community/roundcubemail/roundcubemail.post-upgrade create mode 100644 community/roundcubemail/roundcubemail.pre-upgrade create mode 100644 community/zabbix/APKBUILD create mode 100644 community/zabbix/automake.patch create mode 100644 community/zabbix/musl-fix-includes.patch create mode 100644 community/zabbix/zabbix-agent.pre-install create mode 100644 community/zabbix/zabbix-agentd.initd create mode 100644 community/zabbix/zabbix-getloadavg.patch create mode 100644 community/zabbix/zabbix-proxy.initd create mode 100644 community/zabbix/zabbix-server.confd create mode 100644 community/zabbix/zabbix-server.initd create mode 100644 community/zabbix/zabbix.pre-install create mode 100644 community/zabbix/zabbix_server.conf.patch (limited to 'community') diff --git a/community/cacti/APKBUILD b/community/cacti/APKBUILD new file mode 100644 index 0000000000..83a6d33559 --- /dev/null +++ b/community/cacti/APKBUILD @@ -0,0 +1,145 @@ +# Contributor: Valery Kartel +# Maintainer: Jeff Bilyk +pkgname=cacti +pkgver=1.0.0 +pkgrel=1 +pkgdesc="The complete rrdtool-based graphing solution" +url="http://www.cacti.net" +arch="noarch" +license="GPL2+" +pkgusers="cacti" +pkggroups="www-data" +depends="bash perl coreutils net-snmp-tools rrdtool ttf-dejavu" +makedepends="" +subpackages="$pkgname-doc $pkgname-lang $pkgname-setup \ + $pkgname-php5:_php $pkgname-php7:_php + " +install="$pkgname.pre-install $pkgname-setup.post-install" +source="http://www.cacti.net/downloads/$pkgname-$pkgver.tar.gz + $pkgname.crontab + $pkgname.nginx.conf + $pkgname.php-fpm.conf + " +builddir="$srcdir/$pkgname-$pkgver" + +package() { + cd "$builddir" + + mkdir -p "$pkgdir"/usr/share/webapps/$pkgname \ + "$pkgdir"/var/lib/$pkgname \ + "$pkgdir"/etc/$pkgname \ + "$pkgdir"/var/log + + cp -r * "$pkgdir"/usr/share/webapps/$pkgname/ || return 1 + install -Dm600 "$srcdir"/$pkgname.crontab "$pkgdir"/etc/crontabs/$pkgname + + # remove development data + rm -fr "$pkgdir"/usr/share/webapps/$pkgname/locales/po \ + "$pkgdir"/usr/share/webapps/$pkgname/locales/update-pot.sh + + # switch to system fonts + rm -fr "$pkgdir"/usr/share/webapps/$pkgname/include/fonts + ln -s /usr/share/fonts/ttf-dejavu \ + "$pkgdir"/var/lib/$pkgname/fonts + ln -s /var/lib/$pkgname/fonts \ + "$pkgdir"/usr/share/webapps/$pkgname/include/fonts + + # symlink to help webserver find relative path + ln -s . "$pkgdir"/usr/share/webapps/$pkgname/$pkgname + + # move variable and writable data to cacti's home + local dir; for dir in cache plugins resource rra scripts; do + mv "$pkgdir"/usr/share/webapps/$pkgname/$dir \ + "$pkgdir"/var/lib/$pkgname/$dir || return 1 + chown -R $pkgusers:$pkggroups "$pkgdir"/var/lib/$pkgname/$dir + ln -s /var/lib/$pkgname/$dir "$pkgdir"/usr/share/webapps/$pkgname/$dir + done + + # move log to /var/log + mv "$pkgdir"/usr/share/webapps/$pkgname/log \ + "$pkgdir"/var/log/$pkgname || return 1 + chown -R $pkgusers:$pkggroups "$pkgdir"/var/log/$pkgname + ln -s /var/log/$pkgname "$pkgdir"/usr/share/webapps/$pkgname/log + + # move config to /etc + mv "$pkgdir"/usr/share/webapps/$pkgname/include/config.php \ + "$pkgdir"/etc/$pkgname/config.php || return 1 + ln -s /etc/$pkgname/config.php \ + "$pkgdir"/usr/share/webapps/$pkgname/include/config.php +} + +doc() { + default_doc || return 1 + + mkdir -p "$subpkgdir"/usr/share/webapps/$pkgname + cd "$pkgdir"/usr/share/webapps/$pkgname + mv docs "$subpkgdir"/usr/share/webapps/$pkgname/ + + local file; + for file in $(find ./ -name "LICENSE" -o -name "NEWS" \ + -o -name "README*" -o -name "VERSION" \ + -o -name "CHANGELOG" -o -name "*.rst") + do + mkdir -p "$subpkgdir"/usr/share/webapps/$pkgname/${file%/*} + mv $file "$subpkgdir"/usr/share/webapps/$pkgname/$file + done + + install -Dm644 "$srcdir"/$pkgname.nginx.conf \ + "$subpkgdir"/usr/share/webapps/$pkgname/docs/txt/nginx.conf +} + +lang() { + pkgdesc="$pkgdesc (localisations)" + install_if="lang $pkgname=$pkgver-r$pkgrel" + + mkdir -p "$subpkgdir"/usr/share/webapps/$pkgname/locales/LC_MESSAGES \ + "$subpkgdir"/usr/share/webapps/$pkgname/include/js/LC_MESSAGES \ + "$subpkgdir"/usr/share/webapps/$pkgname/include/phpmailer/language + + # cacti l10n + mv "$pkgdir"/usr/share/webapps/$pkgname/locales/LC_MESSAGES/* \ + "$subpkgdir"/usr/share/webapps/$pkgname/locales/LC_MESSAGES + + # jquery l10n + mv "$pkgdir"/usr/share/webapps/$pkgname/include/js/LC_MESSAGES/* \ + "$subpkgdir"/usr/share/webapps/$pkgname/include/js/LC_MESSAGES + + # phpmailer l10n + mv "$pkgdir"/usr/share/webapps/$pkgname/include/phpmailer/language/*lang*.php \ + "$subpkgdir"/usr/share/webapps/$pkgname/include/phpmailer/language +} + +setup() { + pkgdesc="$pkgdesc (initial setup)" + depends="$pkgname $pkgname-doc" + + mkdir -p "$subpkgdir"/usr/share/webapps/$pkgname + mv "$pkgdir"/usr/share/webapps/$pkgname/install \ + "$pkgdir"/usr/share/webapps/$pkgname/*.sql \ + "$subpkgdir"/usr/share/webapps/$pkgname/ +} + +_php() { + local php=${subpkgname#$pkgname-} + pkgdesc="$pkgdesc ($php dependencies)" + install_if="$php-config $pkgname=$pkgver-r$pkgrel" + depends="$php $php-gd $php-gmp $php-json $php-ldap $php-pdo_mysql + $php-openssl $php-posix $php-snmp $php-sockets $php-xml $php-zlib" + + # cacti's php-fpm pool config + install -Dm644 "$srcdir"/$pkgname.php-fpm.conf \ + "$subpkgdir"/etc/$php/php-fpm.d/$pkgname.conf +} + +md5sums="e711a305a12484623669e3c873126348 cacti-1.0.0.tar.gz +213c3aff8cf08438703ae5e544046eae cacti.crontab +8f28596ea23b68b0041680112ebab685 cacti.nginx.conf +b06ea26524a5fb30cfd083cfa0f235a8 cacti.php-fpm.conf" +sha256sums="180a23102af0415b961ef4d4181f93f49d40ebed36c5392ac988650d3753e693 cacti-1.0.0.tar.gz +9cfa7edec4b28722230b7b509cc420958b7864703752bb70c8376282bfc1c5a9 cacti.crontab +35bb157b53a11edcb923b91decac7e6468ede9376a109d73037d747165cc38e3 cacti.nginx.conf +f8a5697a4fd8c279d29d383c90b51f0c73311d3ac96d14953ec11f2f7d5bbdb2 cacti.php-fpm.conf" +sha512sums="9133bb3d34ee6a4fe94e8258ce76df1ceac5cc76ccc8a492ae9a1263cbfb765f88f169c2780f2b36c14d8df4607e8effaf448bcb632cd4171533d0f9842550b1 cacti-1.0.0.tar.gz +70f47dbbca76489fc3a84452ee8065f9571ee627b3e346cd3c866501d723a609372c4fbd7e53c4bdcdb22439d876d78847f8902dfa43f3f66b2329639e795ab9 cacti.crontab +9b3fe765c6196c0e4988efaa7236d8a8b945725548371b4a0e2a371de374c9577a908d58dcef5a4e59e089ca923cfeb7c5ddea9ee983a5115239052cf9b8ab59 cacti.nginx.conf +695a5e8439ef0ed29068c87b1d711f66c5a24cf31c3c213784f83d6aef8608a07e99bfa2343a6487762572b6022926c3846f704494c7806e9a1aa2c49e18513b cacti.php-fpm.conf" diff --git a/community/cacti/cacti-setup.post-install b/community/cacti/cacti-setup.post-install new file mode 100644 index 0000000000..e13bcc1f20 --- /dev/null +++ b/community/cacti/cacti-setup.post-install @@ -0,0 +1,21 @@ +#!/bin/sh + +cat </dev/null 2>&1 diff --git a/community/cacti/cacti.nginx.conf b/community/cacti/cacti.nginx.conf new file mode 100644 index 0000000000..3ce5c30f6f --- /dev/null +++ b/community/cacti/cacti.nginx.conf @@ -0,0 +1,36 @@ +# +# copy this file to /etc/nginx/cacti.conf +# and include it somewhere to 'server' section +# +# server { +# ... +# location /cacti { +# include cacti.conf; +# } +# ... +# } +# +root /usr/share/webapps/cacti; +index index.php; + +location ~ \.php$ { + fastcgi_pass unix:/var/lib/cacti/socket; + include fastcgi.conf; +} + +location ~ /(cli|log|rra|cache/*)/ { + deny all; +} + +location ~ /\.ht { + deny all; +} + +location ~* \.(ini|sql)$ { + deny all; +} + +location ~* \.(ico|png|jpg|jpeg|gif)$ { + access_log off; + expires 30d; +} diff --git a/community/cacti/cacti.php-fpm.conf b/community/cacti/cacti.php-fpm.conf new file mode 100644 index 0000000000..ff090101f4 --- /dev/null +++ b/community/cacti/cacti.php-fpm.conf @@ -0,0 +1,15 @@ +[cacti] +prefix = /usr/share/webapps/cacti + +user = cacti +group = cacti + +listen = /var/lib/cacti/socket +listen.user = cacti +listen.group = www-data + +pm = dynamic +pm.max_children = 5 +pm.start_servers = 2 +pm.min_spare_servers = 1 +pm.max_spare_servers = 3 diff --git a/community/cacti/cacti.pre-install b/community/cacti/cacti.pre-install new file mode 100644 index 0000000000..02e9ad7ad0 --- /dev/null +++ b/community/cacti/cacti.pre-install @@ -0,0 +1,8 @@ +#!/bin/sh + +addgroup -Sg 82 www-data 2>/dev/null + +addgroup -S cacti 2>/dev/null +adduser -S -D -H -h /var/lib/cacti -s /sbin/nologin -G cacti -g cacti cacti 2>/dev/null + +exit 0 diff --git a/community/nextcloud/APKBUILD b/community/nextcloud/APKBUILD new file mode 100644 index 0000000000..f974d65e68 --- /dev/null +++ b/community/nextcloud/APKBUILD @@ -0,0 +1,161 @@ +# Maintainer: Leonardo Arena +pkgname=nextcloud +pkgver=11.0.2 +pkgrel=2 +pkgdesc="A safe home for all your data" +url="http://nextcloud.com" +arch="noarch" +license="AGPL" +_php=php5 +depends="$_php ${_php}-ctype ${_php}-curl ${_php}-dom ${_php}-gd ${_php}-iconv + ${_php}-json ${_php}-openssl ${_php}-xml ${_php}-xmlreader + ${_php}-zlib ${_php}-zip + " +depends_dev= +makedepends="$depends_dev" +install= +options="!check" +subpackages="$pkgname-doc $pkgname-activity $pkgname-firstrunwizard $pkgname-gallery + $pkgname-mysql $pkgname-notifications $pkgname-pdfviewer $pkgname-pgsql + $pkgname-sqlite $pkgname-templateeditor $pkgname-texteditor + $pkgname-videoplayer" + +source="https://download.nextcloud.com/server/releases/$pkgname-$pkgver.zip + nextcloud10-dont-chmod-config.patch + " +pkggroups="www-data" + +builddir="$srcdir"/$pkgname + +_ncbasedir="/var/lib/$pkgname" +_ncdatadir="$_ncbasedir/data" +_ncwwwdir="/usr/share/webapps/$pkgname" +_ncappsdir="$_ncbasedir/apps" +_ncconfdir="/etc/$pkgname" + + +prepare() { + cd "$builddir" + for i in $source; do + case $i in + *.patch) msg "Applying patch $i"; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + cd "$builddir" + return 0 +} + +package() { + cd "$builddir" + for dir in ${_ncconfdir} ${_ncdatadir} ${_ncwwwdir}; do + mkdir -p "$pkgdir"$dir || return 1 + done + rm -rf config data + mv * "$pkgdir"${_ncwwwdir} || return 1 + chmod +x "$pkgdir"${_ncwwwdir}/occ || return 1 + ln -s $_ncconfdir "$pkgdir"${_ncwwwdir}/config || return 1 + install -m664 .htaccess "$pkgdir"${_ncwwwdir}/.htaccess || return 1 + install -m664 .user.ini "$pkgdir"${_ncwwwdir}/.user.ini || return 1 + install -m664 ../../${pkgname}-config.php "$pkgdir"/etc/$pkgname/config.php || return 1 + mv "$pkgdir"$_ncwwwdir/apps "$pkgdir"$_ncbasedir || return 1 + ln -s $_ncappsdir "$pkgdir"$_ncwwwdir/apps || return 1 + install -m775 -g www-data -d "$pkgdir"/var/log/nextcloud + for dir in ${_ncconfdir} ${_ncdatadir} ${_ncappsdir}; do + chown -R :www-data "$pkgdir"$dir || return 1 + chmod -R 770 "$pkgdir"$dir || return 1 + done +} + +doc() { + pkgdesc="Nextcloud documentation" + depends="nextcloud" + mkdir -p "$subpkgdir"/usr/share/doc/nextcloud/core + mv "$pkgdir"/usr/share/webapps/nextcloud/core/doc \ + "$subpkgdir"/usr/share/doc/nextcloud/core +} + +pgsql() { + pkgdesc="Nextcloud PostgreSQL support" + depends="nextcloud ${_php}-pgsql ${_php}-pdo_pgsql ${_php}-pear-mdb2-driver-pgsql" + mkdir -p "$subpkgdir"${_ncwwwdir} +} + +sqlite() { + pkgdesc="Nextcloud SQLite support" + depends="nextcloud ${_php}-sqlite3 ${_php}-pdo_sqlite" + mkdir -p "$subpkgdir"${_ncwwwdir} +} + +mysql() { + pkgdesc="Nextcloud MySQL support" + depends="nextcloud ${_php}-mysql ${_php}-pdo_mysql ${_php}-pear-mdb2-driver-mysql" + mkdir -p "$subpkgdir"${_ncwwwdir} +} + +_mv_app() { + mkdir -p "$subpkgdir"${_ncappsdir} || return 1 + if [ "$1" = "pkg" ]; then + mv "$pkgdir"${_ncappsdir}/$2 "$subpkgdir"${_ncappsdir} || return 1 + elif [ "$1" = "src" ]; then + local appname="${subpkgname#$pkgname-}" + mv "$srcdir"/$2 "$subpkgdir"${_ncappsdir}/$appname || return 1 + fi + chown -R :www-data "$subpkgdir"${_ncappsdir} || return 1 + chmod 770 "$subpkgdir"${_ncappsdir} || return 1 +} + +activity() { + pkgdesc="Nextcloud Activity app" + depends="$pkgname" + _mv_app pkg activity +} + +firstrunwizard() { + pkgdesc="Nextcloud Firstrunwizard app" + depends="$pkgname" + _mv_app pkg firstrunwizard +} + +gallery() { + pkgdesc="Nextcloud integrated gallery application" + depends="nextcloud" + _mv_app pkg gallery +} + +notifications() { + pkgdesc="Nextcloud Email notification support" + depends="$pkgname" + _mv_app pkg notifications +} + + +templateeditor() { + pkgdesc="Nextcloud Email template editor app" + depends="$pkgname" + _mv_app pkg templateeditor +} + +pdfviewer() { + pkgdesc="Nextcloud integrated PDF viewer" + depends="nextcloud" + _mv_app pkg files_pdfviewer +} + +texteditor() { + pkgdesc="Nextcloud integrated text editor" + depends="nextcloud" + _mv_app pkg files_texteditor +} + +videoplayer() { + pkgdesc="Nextcloud integrated video viewer" + depends="nextcloud" + provides="$pkgname-videoviewer" + _mv_app pkg files_videoplayer +} + +sha512sums="1e36dc0f67d3d7eb4d5dd4759a2537b6e999984c0bb67e05aeb0091ad72ffe07e970125956346a91e7229154524ebbcd508cf7cd0fb52fd4a8c2f71cf35eebf3 nextcloud-11.0.2.zip +a12a73a38bc009d3307ce97bb32fc62ac93e125a77a3d36b31c9d2212953fa17bd5c31f819e0759a0645b1c285817b067143b0b9c3673ce4ab3043fae426a67c nextcloud10-dont-chmod-config.patch" diff --git a/community/nextcloud/nextcloud-config.php b/community/nextcloud/nextcloud-config.php new file mode 100644 index 0000000000..957df795f3 --- /dev/null +++ b/community/nextcloud/nextcloud-config.php @@ -0,0 +1,5 @@ + '/var/lib/nextcloud/data', + 'logfile' => '/var/log/nextcloud/nextcloud.log' +); diff --git a/community/nextcloud/nextcloud10-dont-chmod-config.patch b/community/nextcloud/nextcloud10-dont-chmod-config.patch new file mode 100644 index 0000000000..fac1313848 --- /dev/null +++ b/community/nextcloud/nextcloud10-dont-chmod-config.patch @@ -0,0 +1,12 @@ +--- a/lib/private/Config.php ++++ b/lib/private/Config.php +@@ -229,9 +229,6 @@ + touch ($this->configFilePath); + $filePointer = fopen($this->configFilePath, 'r+'); + +- // Prevent others not to read the config +- chmod($this->configFilePath, 0640); +- + // File does not exist, this can happen when doing a fresh install + if(!is_resource ($filePointer)) { + // TODO fix this via DI once it is very clear that this doesn't cause side effects due to initialization order diff --git a/community/owncloud/APKBUILD b/community/owncloud/APKBUILD new file mode 100644 index 0000000000..fe58310a68 --- /dev/null +++ b/community/owncloud/APKBUILD @@ -0,0 +1,275 @@ +# Contributor: Łukasz Jendrysik +# Maintainer: +pkgname=owncloud +pkgver=9.1.3 +pkgrel=0 +_contactsver="0.0.0.183" +_calendarver="1.3.3" +_tasksver="0.9.3" +_documentsver="$pkgver" +_pdfviewerver="$pkgver" +_texteditorver="$pkgver" +_musicver="0.3.11" +_php=php5 +pkgdesc="Your own WebDAV-based cloud service" +url="http://owncloud.org" +arch="noarch" +license="AGPL" +depends="$_php ${_php}-ctype ${_php}-curl ${_php}-dom ${_php}-gd ${_php}-iconv + ${_php}-json ${_php}-xml ${_php}-xmlreader ${_php}-zlib ${_php}-zip" +makedepends="" +subpackages="$pkgname-initscript $pkgname-doc $pkgname-pgsql $pkgname-sqlite + $pkgname-mysql $pkgname-encryption $pkgname-calendar $pkgname-contacts + $pkgname-documents $pkgname-external $pkgname-gallery $pkgname-music + $pkgname-ldap $pkgname-tasks $pkgname-texteditor $pkgname-pdfviewer + $pkgname-videoplayer" +replaces="$pkgname-plugins" +source="https://download.owncloud.org/community/$pkgname-$pkgver.tar.bz2 + $pkgname-contacts-$_contactsver.tar.gz::https://github.com/owncloud/contacts/releases/download/v$_contactsver/contacts.tar.gz + $pkgname-calendar-$_calendarver.tar.gz::https://github.com/owncloud/calendar/releases/download/v$_calendarver/calendar.tar.gz + $pkgname-documents-$_documentsver.tar.gz::https://github.com/owncloud/documents/archive/v$_documentsver.tar.gz + $pkgname-texteditor-$_texteditorver.tar.gz::https://github.com/owncloud/files_texteditor/archive/v$_texteditorver.tar.gz + $pkgname-music-$_musicver.zip::https://github.com/owncloud/music/releases/download/v$_musicver/music.zip + $pkgname-pdfviewer-$_pdfviewerver.tar.gz::https://github.com/owncloud/files_pdfviewer/archive/v$_pdfviewerver.tar.gz + $pkgname-tasks-$_tasksver.tar.gz::https://github.com/owncloud/tasks/archive/v$_tasksver.tar.gz + $pkgname.confd + fpm-pool.conf + owncloud.config.php.in + " +pkgusers="owncloud" +pkggroups="www-data" +builddir="$srcdir/$pkgname" + +_ocbasedir="/var/lib/owncloud" +_ocdatadir="$_ocbasedir/data" +_ocwwwdir="/usr/share/webapps/owncloud" +_ocappsdir="$_ocwwwdir/apps" +_occonfdir="/etc/owncloud" + +prepare() { + default_prepare || return 1 + + sed "s/__VERSION__/$pkgver/" "$srcdir"/owncloud.config.php.in \ + > "$srcdir"/owncloud.config.php +} + +package() { + cd "$builddir" + + mkdir -p "$pkgdir"$_occonfdir "$pkgdir"$_ocdatadir "$pkgdir"$_ocwwwdir + + rm -rf config data + mv * "$pkgdir"${_ocwwwdir}/ || return 1 + chmod +x "$pkgdir"${_ocwwwdir}/occ || return 1 + + ln -s $_occonfdir "$pkgdir"${_ocwwwdir}/config || return 1 + install -m660 ../owncloud.config.php \ + "$pkgdir"${_occonfdir}/config.php || return 1 + install -m664 .htaccess "$pkgdir"${_ocwwwdir}/.htaccess || return 1 + + local dir; for dir in $_occonfdir $_ocdatadir $_ocappsdir; do + chown -R :www-data "$pkgdir"$dir || return 1 + chmod 770 "$pkgdir"$dir || return 1 + done +} + +initscript() { + pkgdesc="Init script that runs ownCloud with php-fpm" + depends="$pkgname $_php-fpm" + install="$subpkgname.pre-install $subpkgname.post-install" + + local confdir="$subpkgdir/etc/$_php/php-fpm.d" + local fpm_name="php-fpm${_php:3}" + + if [ "$_php" = "php5" ]; then + confdir="${confdir/php-/}" + fpm_name="php-fpm" + fi + + install -m 755 -o owncloud -d "$subpkgdir"/var/log/$pkgname || return 1 + install -m 700 -o owncloud -d "$subpkgdir"/var/tmp/$pkgname || return 1 + + install -m 644 -D "$srcdir"/fpm-pool.conf \ + "$confdir"/$pkgname.conf || return 1 + + install -m 644 -D "$srcdir"/$pkgname.confd \ + "$subpkgdir"/etc/conf.d/$pkgname || return 1 + + mkdir -p "$subpkgdir"/etc/init.d + ln -s $fpm_name "$subpkgdir"/etc/init.d/$pkgname +} + +doc() { + pkgdesc="$pkgdesc (documentation)" + depends="$pkgname" + + mkdir -p "$subpkgdir"/usr/share/doc/$pkgname/core + mv "$pkgdir"/usr/share/webapps/$pkgname/core/doc \ + "$subpkgdir"/usr/share/doc/$pkgname/core +} + +pgsql() { + pkgdesc="ownCloud PostgreSQL support" + depends="$pkgname ${_php}-pgsql ${_php}-pdo_pgsql ${_php}-pear-mdb2-driver-pgsql" + + mkdir -p "$subpkgdir" +} + +sqlite() { + pkgdesc="ownCloud SQLite support" + depends="$pkgname ${_php}-sqlite3 ${_php}-pdo_sqlite" + + mkdir -p "$subpkgdir" +} + +mysql() { + pkgdesc="ownCloud MySQL support" + depends="$pkgname ${_php}-mysql ${_php}-pdo_mysql ${_php}-pear-mdb2-driver-mysql" + + mkdir -p "$subpkgdir" +} + +plugins() { + pkgdesc="ownCloud 3rdparty plugins" + depends="$pkgname" + + mkdir -p "$subpkgdir"${_ocwwwdir} + mv "$pkgdir"${_ocwwwdir}/3rdparty "$subpkgdir"${_ocwwwdir}/ +} + +_mv_app() { + local from="$1" + local dir="$2" + + mkdir -p "$subpkgdir"${_ocappsdir} + + if [ "$from" = "pkg" ]; then + mv "$pkgdir"${_ocappsdir}/$dir "$subpkgdir"${_ocappsdir}/ || return 1 + elif [ "$from" = "src" ]; then + local appname="${subpkgname#$pkgname-}" + mv "$srcdir"/$dir "$subpkgdir"${_ocappsdir}/$appname/ || return 1 + fi + chown -R :www-data "$subpkgdir"${_ocappsdir} || return 1 + chmod 770 "$subpkgdir"${_ocappsdir} || return 1 +} + +contacts() { + pkgdesc="ownCloud contacts" + depends="$pkgname" + + _mv_app src contacts +} + +calendar() { + pkgdesc="ownCloud calendar" + depends="$pkgname" + + _mv_app src calendar +} + +documents() { + pkgdesc="ownCloud integrated documents editor" + depends="$pkgname" + + _mv_app src documents-$_documentsver +} + +encryption() { + pkgdesc="ownCloud integrated encryption support" + depends="$pkgname ${_php}-openssl" + + _mv_app pkg encryption +} + +external() { + pkgdesc="ownCloud integrated external storage support" + depends="$pkgname ${_php}-curl ${_php}-ftp" + + _mv_app pkg files_external +} + +gallery() { + pkgdesc="ownCloud integrated gallery application" + depends="$pkgname" + + _mv_app pkg gallery +} + +ldap() { + pkgdesc="ownCloud integrated LDAP authentication" + depends="$pkgname ${_php}-ldap" + + _mv_app pkg user_ldap +} + +music() { + pkgdesc="ownCloud music app" + depends="$pkgname" + + _mv_app src music + # Correct world-writable directories. + find "${subpkgdir}${_ocappsdir}" -type d -exec chmod 775 {} \; +} + +pdfviewer() { + pkgdesc="ownCloud integrated PDF viewer" + depends="$pkgname" + + _mv_app pkg files_pdfviewer +} + +tasks() { + pkgdesc="ownCloud tasks" + depends="$pkgname" + + _mv_app src tasks-$_tasksver +} + +texteditor() { + pkgdesc="ownCloud integrated text editor" + depends="$pkgname" + + _mv_app pkg files_texteditor +} + +videoplayer() { + pkgdesc="ownCloud integrated video viewer" + depends="$pkgname" + provides="$pkgname-videoviewer" + + _mv_app pkg files_videoplayer +} + +md5sums="095df252495e246a053fee7c048db255 owncloud-9.1.3.tar.bz2 +a2623501e3e524b973759a9628a4749d owncloud-contacts-0.0.0.183.tar.gz +1183d4bb6a1ef40b10473757e4694c52 owncloud-calendar-1.3.3.tar.gz +4f7058773d488c022cdc3735d6e293d0 owncloud-documents-9.1.3.tar.gz +cc694da1f081181a9e36194803e50b3d owncloud-texteditor-9.1.3.tar.gz +8452cdd43587469e680597a2c10c830e owncloud-music-0.3.11.zip +3420df7f6c05ca20be239ea5cebfd7a4 owncloud-pdfviewer-9.1.3.tar.gz +84e7e522faa5f4a6bd3c75a29e259bcb owncloud-tasks-0.9.3.tar.gz +ea483e710da2fa9995543d9b5b8ee11e owncloud.confd +779c544fd1900557f4e69504aa28eeed fpm-pool.conf +e1081190b2916a7f61fe403a03d8fa06 owncloud.config.php.in" +sha256sums="e0a1eb35fffb61dab5ca41f6d3fdb4ddcc3ec09683cd620b8094846785d4f6e9 owncloud-9.1.3.tar.bz2 +d6ea14796f27f4cfb6db63b8e3612a71d3e3e6e2d8edffce85df45fcb71c7106 owncloud-contacts-0.0.0.183.tar.gz +e3cd0de34e7de1d9f08d5c7dce5e9f45826cc9e59292b847fa900ca3cdf6b3fc owncloud-calendar-1.3.3.tar.gz +7028152d65d463791353f256f39f85d131b6b7481d266ec16354ab55d7d8444f owncloud-documents-9.1.3.tar.gz +888b6c803240415d04de064c3768740b650709a971854222e8638644ea2e138e owncloud-texteditor-9.1.3.tar.gz +e480e639e48419977f06822aa92f1245c21a43d9aafc156edb6fd097873a73ca owncloud-music-0.3.11.zip +db3f803990612b1e6c6500a0b77ef7383da318b5b6e61bd4a1a4e586dc9b192f owncloud-pdfviewer-9.1.3.tar.gz +0a5ef52ba915e7ec8f124ab7bd2c01f22db27f77343ddfa8d799927711133c55 owncloud-tasks-0.9.3.tar.gz +96d61ee75e8c948f78d31bdb770636819b8d678892a4003168c140fab69861cd owncloud.confd +41dd626e34ea0b0ea3eac13b43a655586097fe746d5a713c0c765dbc2b8c2fa0 fpm-pool.conf +d00bdbf610d6994cdb61269620dc0fdb892a43a10895c00060d72731f7acd854 owncloud.config.php.in" +sha512sums="e661d3a69d1bce51aa6336fddd2ba205970d0d14e306a6ea0befa9fad6bb3563ff26118cd0471d4728cd9387fe67b58ba55058109bbf84f6c5c71fd87be38cea owncloud-9.1.3.tar.bz2 +7d0b3808a8734cd6895847ea1986345df71cd7e0633dcf2b8b9989bc9d38c3182bf6d93d75c32378270d124e885d7d730fd1ead5198bd9276de8425a5ff725d3 owncloud-contacts-0.0.0.183.tar.gz +8f2b260a63644a5fb529211dd160aa3169ffde56ceeacf25f7c7748b2d7dfa9b1115663955eae3b9e35283545e57ff1b6f48ea75713f50db6bab51ebdb5e598e owncloud-calendar-1.3.3.tar.gz +9494672aeb6a4cf193c2b5f258a781713c009c47060f17ed951aa7cd9d3d00d912983156aa30d2d2b27667d30f746e496053e63a495e1e36f9072fa153745e96 owncloud-documents-9.1.3.tar.gz +df0425e2769f32f7b8919e67e7eece3a9fd2d7a86a1fe1875a31ab1e3d0829a7b178ee2c6bc9a4ca13777f27c1f880792d6f8638fb72c0fd6c53312af0cc8f7d owncloud-texteditor-9.1.3.tar.gz +fde1758a512a960985cbbfde9294f77458fad2cb4801daceedac76a58dbb2862f2586cb17376915cdcb47a768c75be46f863834a96f1148eae98285217491d59 owncloud-music-0.3.11.zip +9b3642ba9a1b01dbcc96c4e46735a546c6e0bdb77f87b166aadf9dc1c0c27a276bf4464009d9ef494107786c1ab38f59d218e0f9a2aa2a9a3db2e1e002fbebbe owncloud-pdfviewer-9.1.3.tar.gz +05903caadaab8c7982cb91b1442d617c777a9d97fcd5406d1b404006fa91ef73251852a53a03cb7fcbed097c1120fc920983c1a24a0e8f1f2e95b230153fd26a owncloud-tasks-0.9.3.tar.gz +7d1fa12f08f74b88d1ba7858a8295f6e5b200f16ed7366af48cc891b8c0074da85df008ed6f920df8b61bdfd5a27ac2a9623309b6334f82051a04067e746023e owncloud.confd +e5afd329faf06acec747cb2af8dea409b6991dcc7aa15e894444899ccaf17502fdfab437cfb91170d1e1aee39385b72f277922dccdd8c6e08cc928b146ccaeda fpm-pool.conf +c7aa08cf9b8fb8f61454af3ccc5b743e33b4cc294e6c42ed2eb16894f0a411b22bdc4d8f691964860a7c88ea7255424c1e369063ae37041850a9624b4139d478 owncloud.config.php.in" diff --git a/community/owncloud/fpm-pool.conf b/community/owncloud/fpm-pool.conf new file mode 100644 index 0000000000..57db4968c2 --- /dev/null +++ b/community/owncloud/fpm-pool.conf @@ -0,0 +1,183 @@ +[global] +; Error log file +; Default Value: log/php-fpm.log +error_log = /var/log/owncloud/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 + + +[owncloud] +; 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/owncloud/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 = 0660 + +; 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 = 15 + +; 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/owncloud/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/bin:/bin + +; 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/php5.3) + +; 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] = 512M +php_admin_value[post_max_size] = 513M +php_admin_value[upload_max_filesize] = 513M + +; Where to store temporary files. +php_admin_value[session.save_path] = /var/tmp/owncloud +php_admin_value[sys_temp_dir] = /var/tmp/owncloud +php_admin_value[upload_tmp_dir] = /var/tmp/owncloud + +; Log errors to specified file. +php_admin_value[error_log] = /var/log/owncloud/php.error.log + +; OPcache error_log file name. Empty string assumes "stderr" +php_admin_value[opcache.error_log] = /var/log/owncloud/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 ownCloud. +php_admin_flag[output_buffering] = false + +; Overload(replace) single byte functions by mbstring functions. +; This must be disabled for ownCloud. +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,curl_multi_exec,show_source diff --git a/community/owncloud/owncloud-initscript.post-install b/community/owncloud/owncloud-initscript.post-install new file mode 100644 index 0000000000..92db889626 --- /dev/null +++ b/community/owncloud/owncloud-initscript.post-install @@ -0,0 +1,22 @@ +#!/bin/sh + +# It's not needed to be writable for www-data group when running with php-fpm. +for dir in /etc/owncloud \ + /etc/owncloud/config.php \ + /var/lib/owncloud/data \ + /usr/share/webapps/owncloud/apps +do + chmod g-w $dir + chown owncloud $dir +done +chgrp root /etc/owncloud/config.php + +cat </dev/null +adduser -S -D -H -h /var/lib/owncloud -s /sbin/nologin -G www-data -g ownCloud owncloud 2>/dev/null + +exit 0 diff --git a/community/owncloud/owncloud.confd b/community/owncloud/owncloud.confd new file mode 100644 index 0000000000..c4bd6b162f --- /dev/null +++ b/community/owncloud/owncloud.confd @@ -0,0 +1,5 @@ +# Config file for /etc/init.d/owncloud + +name="ownCloud" +user="owncloud" +group="www-data" diff --git a/community/owncloud/owncloud.config.php.in b/community/owncloud/owncloud.config.php.in new file mode 100644 index 0000000000..5fd814268c --- /dev/null +++ b/community/owncloud/owncloud.config.php.in @@ -0,0 +1,25 @@ + '/var/lib/owncloud/data', + 'apps_path' => array ( + 0 => array ( + "path" => OC::$SERVERROOT."/apps", + "url" => "/apps", + "writable" => false, + ), + /* Uncomment this and install your apps here + 1 => array ( + "path" => "/var/www/localhost/htdocs/myoc_apps", + "url" => "/myoc_apps", + "writable" = true, + ), + */ + ), + 'version' => '__VERSION__', + 'dbname' => 'owncloud', + 'dbhost' => 'localhost', + 'dbuser' => 'owncloud', + 'installed' => false, + 'loglevel' => '0', +); +?> diff --git a/community/php5-apcu/APKBUILD b/community/php5-apcu/APKBUILD new file mode 100644 index 0000000000..4059d7cc49 --- /dev/null +++ b/community/php5-apcu/APKBUILD @@ -0,0 +1,39 @@ +# Contributor: Valery Kartel +# Maintainer: Carlo Landmeter +_php=php5 +pkgname=${_php}-apcu +_pkgreal=apcu +# release 5 is php7+ +pkgver=4.0.11 +_pkgver=${pkgver/_rc/RC} +pkgrel=1 +pkgdesc="PHP extension APC User Cache" +url="http://pecl.php.net/package/$_pkgreal" +arch="all" +license="PHP" +depends= +pecldepends="${_php}-dev autoconf" +makedepends="$pecldepends pcre-dev" +install="" +subpackages="" +source="http://pecl.php.net/get/$_pkgreal-$_pkgver.tgz" + +_builddir="$srcdir"/$_pkgreal-$_pkgver + +build() { + cd "$_builddir" + phpize || return 1 + ./configure --prefix=/usr || return 1 + make || return 1 +} + +package() { + cd "$_builddir" + make INSTALL_ROOT="$pkgdir"/ install || return 1 + install -d "$pkgdir"/etc/$_php/conf.d || return 1 + echo "extension=$_pkgreal.so" > "$pkgdir"/etc/$_php/conf.d/$_pkgreal.ini +} + +md5sums="13c0c0dd676e5a7905d54fa985d0ee62 apcu-4.0.11.tgz" +sha256sums="454f302ec13a6047ca4c39e081217ce5a61bbea815aec9c1091fb849e70b4d00 apcu-4.0.11.tgz" +sha512sums="e3b97066240e33850419e96f0fd9df0e66ee3b0fa238c418e07ac639d07439e9edfa1696e56a620e33f1ffc0993c57bde585b0c170b22995e7d5c0ae550b7899 apcu-4.0.11.tgz" diff --git a/community/php5-mailparse/APKBUILD b/community/php5-mailparse/APKBUILD new file mode 100644 index 0000000000..b2e3483d8f --- /dev/null +++ b/community/php5-mailparse/APKBUILD @@ -0,0 +1,38 @@ +# Contributor: Valery Kartel +# Maintainer: Natanael Copa +_php=php5 +pkgname=${_php}-mailparse +_pkgreal=mailparse +pkgver=2.1.6 +_pkgver=${pkgver/_rc/RC} +pkgrel=2 +pkgdesc="PHP extension for email message manipulation" +url="http://pecl.php.net/package/$_pkgreal" +arch="all" +license="PHP" +depends= +pecldepends="${_php}-dev autoconf" +makedepends="$pecldepends" +install="" +subpackages="" +source="http://pecl.php.net/get/$_pkgreal-$_pkgver.tgz" + +_builddir="$srcdir"/$_pkgreal-$_pkgver + +build() { + cd "$_builddir" + phpize || return 1 + ./configure --prefix=/usr || return 1 + make || return 1 +} + +package() { + cd "$_builddir" + make INSTALL_ROOT="$pkgdir"/ install || return 1 + install -d "$pkgdir"/etc/php/conf.d || return 1 + echo "extension=$_pkgreal.so" > "$pkgdir"/etc/php/conf.d/$_pkgreal.ini +} + +md5sums="0f84e1da1d074a4915a9bcfe2319ce84 mailparse-2.1.6.tgz" +sha256sums="73705197d2b2ee782efa5477eb2a21432f592c2cb05a72c3a037bbe39e02b5cc mailparse-2.1.6.tgz" +sha512sums="a7337dd2e99a953a55b38c236da95a6bd2950c2bca16fc0ddfec39be8b0ffe01007353fc7b562d0509e0bb1623c3d2b03935d1c98a07dcd9f0b14bb508bce374 mailparse-2.1.6.tgz" diff --git a/community/php5-memcache/APKBUILD b/community/php5-memcache/APKBUILD new file mode 100644 index 0000000000..1a8bc874ea --- /dev/null +++ b/community/php5-memcache/APKBUILD @@ -0,0 +1,53 @@ +# Contributor: Valery Kartel +# Maintainer: Natanael Copa +_php=php5 +pkgname=${_php}-memcache +_pkgreal=memcache +pkgver=3.0.8 +_pkgver=${pkgver/_rc/RC} +pkgrel=5 +pkgdesc="PHP extension memcache" +url="http://pecl.php.net/package/$_pkgreal" +arch="all" +license="PHP" +depends= +pecldepends="${_php}-dev autoconf" +makedepends="$pecldepends zlib-dev" +install="" +subpackages="" +source="http://pecl.php.net/get/$_pkgreal-$_pkgver.tgz + memcache-faulty-inline.patch + " + +_builddir="$srcdir"/$_pkgreal-$_pkgver + +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + cd "$_builddir" + phpize || return 1 + ./configure --prefix=/usr || return 1 + make || return 1 +} + +package() { + cd "$_builddir" + make INSTALL_ROOT="$pkgdir"/ install || return 1 + install -d "$pkgdir"/etc/$_php/conf.d || return 1 + echo "extension=$_pkgreal.so" > "$pkgdir"/etc/$_php/conf.d/$_pkgreal.ini +} + +md5sums="24505e9b263d2c77f8ae5e9b4725e7d1 memcache-3.0.8.tgz +15c48766f52bb560bbf02b5015800ef4 memcache-faulty-inline.patch" +sha256sums="2cae5b423ffbfd33a259829849f6000d4db018debe3e29ecf3056f06642e8311 memcache-3.0.8.tgz +f0eaec9c3f9715ea1cf7e75f2ae4a7e3558751058a1dc16ebe206e18682faf67 memcache-faulty-inline.patch" +sha512sums="916c6b21ab7c1021128626c0df35ef0b83cb76b6115fe7c45b003ca4f78ad9484bf3c998bc7ebdee19f84349ff1e56759f74e75aee5bc70b1de9a03c45a99bc3 memcache-3.0.8.tgz +236e0ae64e64d6874d0f3aa9951b14e6125c88250f5ffa876fa5906473a94fa9d70e95df2e6b9cc52fadcc90b1a3655cbac9dea5300b828ca4f70ca0e6b69ce5 memcache-faulty-inline.patch" diff --git a/community/php5-memcache/memcache-faulty-inline.patch b/community/php5-memcache/memcache-faulty-inline.patch new file mode 100644 index 0000000000..b260d02186 --- /dev/null +++ b/community/php5-memcache/memcache-faulty-inline.patch @@ -0,0 +1,141 @@ +diff -ru a/memcache_pool.c b/memcache_pool.c +--- a/memcache_pool.c ++++ b/memcache_pool.c +@@ -40,7 +40,7 @@ + + ZEND_DECLARE_MODULE_GLOBALS(memcache) + +-inline void mmc_buffer_alloc(mmc_buffer_t *buffer, unsigned int size) /* ++void mmc_buffer_alloc(mmc_buffer_t *buffer, unsigned int size) /* + ensures space for an additional size bytes {{{ */ + { + register size_t newlen; +@@ -48,7 +48,7 @@ + } + /* }}} */ + +-inline void mmc_buffer_free(mmc_buffer_t *buffer) /* {{{ */ ++void mmc_buffer_free(mmc_buffer_t *buffer) /* {{{ */ + { + if (buffer->value.c != NULL) { + smart_str_free(&(buffer->value)); +@@ -1677,7 +1677,7 @@ + } + /* }}} */ + +-inline int mmc_prepare_key_ex(const char *key, unsigned int key_len, char *result, unsigned int *result_len) /* {{{ */ ++int mmc_prepare_key_ex(const char *key, unsigned int key_len, char *result, unsigned int *result_len) /* {{{ */ + { + unsigned int i; + if (key_len == 0) { +@@ -1695,7 +1695,7 @@ + } + /* }}} */ + +-inline int mmc_prepare_key(zval *key, char *result, unsigned int *result_len) /* {{{ */ ++int mmc_prepare_key(zval *key, char *result, unsigned int *result_len) /* {{{ */ + { + if (Z_TYPE_P(key) == IS_STRING) { + return mmc_prepare_key_ex(Z_STRVAL_P(key), Z_STRLEN_P(key), result, result_len); +diff -ru a/memcache_pool.h b/memcache_pool.h +--- a/memcache_pool.h ++++ b/memcache_pool.h +@@ -129,8 +129,8 @@ + #define mmc_buffer_release(b) memset((b), 0, sizeof(*(b))) + #define mmc_buffer_reset(b) (b)->value.len = (b)->idx = 0 + +-inline void mmc_buffer_alloc(mmc_buffer_t *, unsigned int); +-inline void mmc_buffer_free(mmc_buffer_t *); ++void mmc_buffer_alloc(mmc_buffer_t *, unsigned int); ++void mmc_buffer_free(mmc_buffer_t *); + + /* stream handlers */ + typedef struct mmc_stream mmc_stream_t; +@@ -385,8 +385,8 @@ + double timeval_to_double(struct timeval tv); + struct timeval double_to_timeval(double sec); + +-inline int mmc_prepare_key_ex(const char *, unsigned int, char *, unsigned int *); +-inline int mmc_prepare_key(zval *, char *, unsigned int *); ++int mmc_prepare_key_ex(const char *, unsigned int, char *, unsigned int *); ++int mmc_prepare_key(zval *, char *, unsigned int *); + + #define mmc_str_left(h, n, hlen, nlen) ((hlen) >= (nlen) ? memcmp((h), (n), (nlen)) == 0 : 0) + +diff -ru a/memcache_queue.c b/memcache_queue.c +--- a/memcache_queue.c ++++ b/memcache_queue.c +@@ -26,7 +26,7 @@ + #include "php.h" + #include "memcache_queue.h" + +-MMC_QUEUE_INLINE void mmc_queue_push(mmc_queue_t *queue, void *ptr) { ++void mmc_queue_push(mmc_queue_t *queue, void *ptr) { + if (mmc_queue_contains(queue, ptr)) return; + + if (queue->len >= queue->alloc) { +@@ -53,7 +53,7 @@ + queue->len++; + } + +-MMC_QUEUE_INLINE void *mmc_queue_pop(mmc_queue_t *queue) { ++void *mmc_queue_pop(mmc_queue_t *queue) { + if (queue->len) { + void *ptr; + +@@ -73,7 +73,7 @@ + return NULL; + } + +-MMC_QUEUE_INLINE int mmc_queue_contains(mmc_queue_t *queue, void *ptr) { ++int mmc_queue_contains(mmc_queue_t *queue, void *ptr) { + if (queue != NULL) { + int i; + +@@ -87,14 +87,14 @@ + return 0; + } + +-MMC_QUEUE_INLINE void mmc_queue_free(mmc_queue_t *queue) { ++void mmc_queue_free(mmc_queue_t *queue) { + if (queue->items != NULL) { + efree(queue->items); + } + memset(queue, 0, sizeof(*queue)); + } + +-MMC_QUEUE_INLINE void mmc_queue_copy(mmc_queue_t *target, mmc_queue_t *source) { ++void mmc_queue_copy(mmc_queue_t *target, mmc_queue_t *source) { + if (target->alloc != source->alloc) { + target->alloc = source->alloc; + target->items = erealloc(target->items, sizeof(*target->items) * target->alloc); +@@ -106,7 +106,7 @@ + target->len = source->len; + } + +-MMC_QUEUE_INLINE void mmc_queue_remove(mmc_queue_t *queue, void *ptr) { ++void mmc_queue_remove(mmc_queue_t *queue, void *ptr) { + void *item; + mmc_queue_t original = *queue; + mmc_queue_release(queue); +diff -ru a/memcache_queue.h b/memcache_queue.h +--- a/memcache_queue.h ++++ b/memcache_queue.h +@@ -43,12 +43,12 @@ + #define MMC_QUEUE_INLINE inline + #endif + +-MMC_QUEUE_INLINE void mmc_queue_push(mmc_queue_t *, void *); +-MMC_QUEUE_INLINE void *mmc_queue_pop(mmc_queue_t *); +-MMC_QUEUE_INLINE int mmc_queue_contains(mmc_queue_t *, void *); +-MMC_QUEUE_INLINE void mmc_queue_free(mmc_queue_t *); +-MMC_QUEUE_INLINE void mmc_queue_copy(mmc_queue_t *, mmc_queue_t *); +-MMC_QUEUE_INLINE void mmc_queue_remove(mmc_queue_t *, void *); ++extern void mmc_queue_push(mmc_queue_t *, void *); ++extern void *mmc_queue_pop(mmc_queue_t *); ++extern int mmc_queue_contains(mmc_queue_t *, void *); ++extern void mmc_queue_free(mmc_queue_t *); ++extern void mmc_queue_copy(mmc_queue_t *, mmc_queue_t *); ++extern void mmc_queue_remove(mmc_queue_t *, void *); + + #endif /*MEMCACHE_QUEUE_H_*/ diff --git a/community/php5-pear-auth_sasl/APKBUILD b/community/php5-pear-auth_sasl/APKBUILD new file mode 100644 index 0000000000..6034bd40e9 --- /dev/null +++ b/community/php5-pear-auth_sasl/APKBUILD @@ -0,0 +1,30 @@ +# Maintainer: Leonardo Arena +_php=php5 +pkgname=${_php}-pear-auth_sasl +_realname=Auth_SASL +pkgver=1.0.6 +pkgrel=0 +pkgdesc="Abstraction of various SASL mechanism responses" +url="http://pear.php.net/package/Auth_SASL" +arch="noarch" +license="BSD" +depends="${_php}-pear" +makedepends="$depends_dev ${_php}-pear" +source="http://download.pear.php.net/package/$_realname-$pkgver.tgz" +builddir="$srcdir"/$_realname-$pkgver + +build() { + return 0 +} + +package() { + cd "$builddir" + + mkdir -p "$pkgdir"/usr/share/pear && \ + cp -R Auth "$pkgdir"/usr/share/pear || return 1 +} + + +md5sums="8ac4a0b7be08998ef1e10741cb5114f9 Auth_SASL-1.0.6.tgz" +sha256sums="9bea8864466170de6cb2e397b938a585f3d18342dbe052d9f839460df8155ccc Auth_SASL-1.0.6.tgz" +sha512sums="e2ff9511bf0aadbd1ce054e67b222f2430e31bc81639d18292a22000ca3f88323d14d6110bdf0fb1ae3101b751881550165bda7b896852248d719b1d111347f3 Auth_SASL-1.0.6.tgz" diff --git a/community/php5-pear-auth_sasl2/APKBUILD b/community/php5-pear-auth_sasl2/APKBUILD new file mode 100644 index 0000000000..67f5515c10 --- /dev/null +++ b/community/php5-pear-auth_sasl2/APKBUILD @@ -0,0 +1,30 @@ +# Maintainer: Leonardo Arena +_php=php5 +pkgname=${_php}-pear-auth_sasl2 +_realname=Auth_SASL2 +pkgver=0.1.0 +pkgrel=0 +pkgdesc="Abstraction of various SASL mechanism responses" +url="http://pear.php.net/package/Auth_SASL2" +arch="noarch" +license="BSD" +depends="${_php}-pear" +makedepends="$depends_dev ${_php}-pear" +source="$pkgname-$pkgver.tgz::http://download.pear.php.net/package/$_realname-$pkgver.tgz" +builddir="$srcdir"/$_realname-$pkgver + +build() { + return 0 +} + +package() { + cd "$builddir" + + mkdir -p "$pkgdir"/usr/share/pear && \ + cp -R Auth "$pkgdir"/usr/share/pear || return 1 +} + + +md5sums="1f070b91ec5528bf686284f923c3ac5c php5-pear-auth_sasl2-0.1.0.tgz" +sha256sums="709f67cd8963b34bc647803aff3be6e935fa212df2944ddea2184f03693d92cc php5-pear-auth_sasl2-0.1.0.tgz" +sha512sums="a90186155c7ade8c59d9009dfc18a5e19a9a7aa0b0acec45e6cca807162327937e829ebe2537725b316e7fae5352ed7f2be9753f16f962d7581cbc3cf400fb6b php5-pear-auth_sasl2-0.1.0.tgz" diff --git a/community/php5-pear-mail_mime/APKBUILD b/community/php5-pear-mail_mime/APKBUILD new file mode 100644 index 0000000000..aac0ed838c --- /dev/null +++ b/community/php5-pear-mail_mime/APKBUILD @@ -0,0 +1,34 @@ +# Maintainer: Leonardo Arena +_php=php5 +pkgname=${_php}-pear-mail_mime +_realname=Mail_Mime +pkgver=1.8.9 +pkgrel=1 +pkgdesc="Mail_Mime provides classes to create MIME messages" +url="http://pear.php.net/package/Mail_Mime/" +arch="noarch" +license="BSD" +depends="${_php}-pear" +makedepends="$depends_dev ${_php}-pear" +source="http://download.pear.php.net/package/$_realname-$pkgver.tgz" +builddir="$srcdir"/$_realname-$pkgver + +build() { + return 0 +} + +package() { + cd "$builddir" + + mkdir -p "$pkgdir"/usr/share/pear && \ + cp -R Mail "$pkgdir"/usr/share/pear || return 1 + mkdir -p "$pkgdir"/usr/share/pear/doc/$_realname && \ + cp -R scripts "$pkgdir"/usr/share/pear/doc/$_realname || return 1 + mkdir -p "$pkgdir"/usr/share/pear/test/$_realname && \ + cp -R tests "$pkgdir"/usr/share/pear/test/$_realname +} + + +md5sums="ecab1203820997b30b863985175c500e Mail_Mime-1.8.9.tgz" +sha256sums="afc0c619c6ee1debca595bb8f3677c7158fd65c767fa7e2c98627f1e579928ee Mail_Mime-1.8.9.tgz" +sha512sums="cb4936c93efedc047d3481b4c8fd8f130d8023271a09c269af7813b37e1d1cfdc9221554b616171ce39359edf5bb6522041f1c53744c4a3c2c9d9882c669b452 Mail_Mime-1.8.9.tgz" diff --git a/community/php5-pear-mdb2/APKBUILD b/community/php5-pear-mdb2/APKBUILD new file mode 100644 index 0000000000..895eebe05a --- /dev/null +++ b/community/php5-pear-mdb2/APKBUILD @@ -0,0 +1,66 @@ +# Contributor: Matt Smith +# Maintainer: Leonardo Arena +_php=php5 +pkgname=${_php}-pear-mdb2 +_pkgname=MDB2 +pkgver=2.5.0b5 +_driver_ver=1.5.0b4 +pkgrel=0 +pkgdesc="PEAR MDB2 Database Abstraction Layer" +url="http://pear.php.net/package/MDB2/" +arch="noarch" +license="BSD" +depends="${_php}-pear" +depends_dev= +makedepends="$depends_dev ${_php}-pear" +install="" +subpackages=" + $pkgname-driver-mysql:driver_mysql + $pkgname-driver-mysqli:driver_mysqli + $pkgname-driver-pgsql:driver_pgsql + $pkgname-driver-sqlite:driver_sqlite + " +source="" + +build() { return 0; } +package() { _pear_install $_pkgname-$pkgver "$pkgdir" || return 1; } +driver_mysql() { _do_driver mysql "mysql ${_php}-mysql" ; } +driver_mysqli() { _do_driver mysqli "mysql ${_php}-mysqli" ; } +driver_pgsql() { _do_driver pgsql "postgresql ${_php}-pgsql" ; } +driver_sqlite() { _do_driver sqlite "${_php}-sqlite3" ; } + + +_pear_install() { + local _pear_pkg=$1 + local _pear_pkg_dir=$2 + + pear install --nodeps --packagingroot="$_pear_pkg_dir" $_pear_pkg \ + || return 1 + + _cleanpaths=" + usr/share/pear/.channels/ + usr/share/pear/.depdb + usr/share/pear/.depdblock + usr/share/pear/.filemap + usr/share/pear/.lock + usr/share/pear/.registry/.channel.__uri/ + usr/share/pear/.registry/.channel.doc.php.net/ + usr/share/pear/.registry/.channel.pecl.php.net/ + " + for _cleanpath in $_cleanpaths; do + rm -rf "$_pear_pkg_dir"/$_cleanpath || return 1 + done +} + +_do_driver() { + local _driver_name=$1 + + # driver dependencies + if [ -n "${2-}" ]; then + depends="${2-}" + fi + depends="${pkgname} ${depends}" + + _pear_install ${_pkgname}_Driver_${_driver_name}-${_driver_ver} \ + "$subpkgdir" || return 1 +} diff --git a/community/php5-pear-net_idna2/APKBUILD b/community/php5-pear-net_idna2/APKBUILD new file mode 100644 index 0000000000..ff63f9193b --- /dev/null +++ b/community/php5-pear-net_idna2/APKBUILD @@ -0,0 +1,34 @@ +# Maintainer: Leonardo Arena +_php=php5 +pkgname=${_php}-pear-net_idna2 +_realname=Net_IDNA2 +pkgver=0.1.1 +pkgrel=1 +pkgdesc="Punycode encoding and decoding" +url="http://pear.php.net/package/Net_IDNA2/" +arch="noarch" +license="LGPL" +depends="${_php}-pear" +makedepends="" +source="http://download.pear.php.net/package/$_realname-$pkgver.tgz" +builddir="$srcdir"/$_realname-$pkgver + +build() { + return 0 +} + +package() { + cd "$builddir" + + mkdir -p "$pkgdir"/usr/share/pear && \ + cp -R Net "$pkgdir"/usr/share/pear || return 1 + mkdir -p "$pkgdir"/usr/share/pear/doc/$_realname && \ + cp -R docs "$pkgdir"/usr/share/pear/doc/$_realname || return 1 + mkdir -p "$pkgdir"/usr/share/pear/test/$_realname && \ + cp -R tests "$pkgdir"/usr/share/pear/test/$_realname +} + + +md5sums="22279b54719a95091f6d23a7fbb03321 Net_IDNA2-0.1.1.tgz" +sha256sums="6ea0f7f75a9094481f305ac579d7b32f1831e86c8a2fc7d3dc48bd1ebeb0f725 Net_IDNA2-0.1.1.tgz" +sha512sums="9d4683b59a9b195f882dceb1d97b90f755ffe7a03457dc42c25aee5c242ad1e4a4dfdea9bf04935c63b88e60addde8686abae1b042249ca2d0e12abc1ec58c1f Net_IDNA2-0.1.1.tgz" diff --git a/community/php5-pear-net_smtp/APKBUILD b/community/php5-pear-net_smtp/APKBUILD new file mode 100644 index 0000000000..bef9135d53 --- /dev/null +++ b/community/php5-pear-net_smtp/APKBUILD @@ -0,0 +1,29 @@ +# Contributor: Valery Kartel +# Maintainer: Leonardo Arena +_php=php5 +pkgname=${_php}-pear-net_smtp +_pkgreal=Net_SMTP +pkgver=1.7.2 +pkgrel=0 +pkgdesc="An implementation of the SMTP protocol" +url="http://pear.php.net/package/Net_SMTP" +arch="noarch" +license="PHP" +depends="${_php}-pear ${_php}-pear-net_socket" +depends_dev="" +makedepends="$depends_dev ${_php}-pear" +install="" +subpackages="" +source="http://download.pear.php.net/package/$_pkgreal-$pkgver.tgz" + +_builddir="$srcdir"/$_pkgreal-$pkgver + +package() { + cd "$_builddir" + install -d "$pkgdir"/usr/share/pear + mv Net "$pkgdir"/usr/share/pear +} + +md5sums="503ab6cdf9ce7dc30b63d43c1a5b2173 Net_SMTP-1.7.2.tgz" +sha256sums="4ee7ba52d75e26fe033a4241754246db6c0bbc76768be3aac168058a24d3dfbf Net_SMTP-1.7.2.tgz" +sha512sums="06ab00a033709c5f4adc01fabe100ee0033b07e1c5633f995a672bf463484622a5bd976ada9932ee741ff593d739bd1172566f0a8446060bbccde71ea5b0160d Net_SMTP-1.7.2.tgz" diff --git a/community/php5-pear-net_socket/APKBUILD b/community/php5-pear-net_socket/APKBUILD new file mode 100644 index 0000000000..3c34ea8f53 --- /dev/null +++ b/community/php5-pear-net_socket/APKBUILD @@ -0,0 +1,25 @@ +# Contributor: Valery Kartel +# Maintainer: Valery Kartel +_php=php5 +pkgname=${_php}-pear-net_socket +_pkgreal=Net_Socket +pkgver=1.0.14 +pkgrel=1 +pkgdesc="Network Socket Interface" +url="http://pear.php.net/package/$_pkgreal" +arch="noarch" +license="PHP" +depends="${_php}-pear" +makedepends="" +source="http://download.pear.php.net/package/$_pkgreal-$pkgver.tgz" +builddir="$srcdir"/$_pkgreal-$pkgver + +package() { + cd "$builddir" + install -d "$pkgdir"/usr/share/pear || return 1 + mv Net "$pkgdir"/usr/share/pear +} + +md5sums="1ebef37e7bd89b8eab66e9908f9e32e3 Net_Socket-1.0.14.tgz" +sha256sums="85dd3a1b5e472a7478c9fbe2ebf2f4b7ad042ed5b7c0e000e0f348dc50cd8e5f Net_Socket-1.0.14.tgz" +sha512sums="2e77580722a5497144ef4f4509574c5720da595ab42e071cd6c87ff5e4c774a9797374d3c3b46c6d1c1d8e42fd9de31b4279f649b9b96045dd8f7d371f38dcb4 Net_Socket-1.0.14.tgz" diff --git a/community/php5-phalcon/APKBUILD b/community/php5-phalcon/APKBUILD new file mode 100644 index 0000000000..4d5f843dec --- /dev/null +++ b/community/php5-phalcon/APKBUILD @@ -0,0 +1,42 @@ +# Contributor: Valery Kartel +# Maintainer: Natanael Copa +_php=php5 +pkgname=${_php}-phalcon +_pkgreal=phalcon +pkgver=2.0.13 +_pkgver=v$pkgver +pkgrel=0 +pkgdesc="PHP extension that provides web framework delivered as a C-extension" +url="https://github.com/$_pkgreal/c$_pkgreal" +arch="all" +license="PHP" +depends="${_php}-pdo ${_php}-json" +makedepends="${_php}-dev autoconf re2c pcre-dev" +source="https://github.com/$_pkgreal/c$_pkgreal/archive/$_pkgreal-$_pkgver.tar.gz" +builddir="$srcdir/c$_pkgreal-$_pkgreal-$_pkgver/build" + +prepare() { + cd "$builddir" + local bits=$(echo '#include ' | ${CC:-gcc} -dM -E - | awk '$2 == "LONG_BIT" {print $3}') + ln -s ${bits}bits arch +} + +build() { + cd "$builddir"/arch + phpize || return 1 + ./configure --prefix=/usr || return 1 + make || return 1 +} + +package() { + cd "$builddir"/arch + make INSTALL_ROOT="$pkgdir"/ install || return 1 + install -d "$pkgdir"/etc/php/conf.d || return 1 + echo "extension=$_pkgreal.so" > "$pkgdir"/etc/php/conf.d/$_pkgreal.ini + [ -d "$pkgdir"/usr/include ] && rm -fr "$pkgdir"/usr/include + return 0 +} + +md5sums="4afa8dacd3badc0e770cde79636d1522 phalcon-v2.0.13.tar.gz" +sha256sums="0a1bd6afe902c6f2f68cf5e2f2785503f5ad95d1d2cf1b66c77154c483a08a35 phalcon-v2.0.13.tar.gz" +sha512sums="1e0ebe955e9522d780ada874cce87a7c12ac26dd7ade3847592d63f3b81cb64d7e2a3c9745ecdc50dfb5ea238f470ce2ae2408396c32ecdf915fe6d690c742ff phalcon-v2.0.13.tar.gz" diff --git a/community/php5-phpmailer/APKBUILD b/community/php5-phpmailer/APKBUILD new file mode 100644 index 0000000000..731eeb6042 --- /dev/null +++ b/community/php5-phpmailer/APKBUILD @@ -0,0 +1,31 @@ +# Contributor: Timo Teräs +# Maintainer: Timo Teräs +_php=php5 +pkgname=${_php}-phpmailer +pkgver=5.2.20 +pkgrel=0 +pkgdesc="PHP class for SMTP mailing" +url="https://github.com/PHPMailer/PHPMailer" +arch="noarch" +license="LGPL" +depends="$_php" +depends_dev= +makedepends="$depends_dev" +install="" +subpackages="" +source="$pkgname-$pkgver.tar.gz::https://github.com/PHPMailer/PHPMailer/archive/v$pkgver.tar.gz" + +builddir="$srcdir/PHPMailer-$pkgver" +build() { + cd "$builddir" +} + +package() { + cd "$builddir" + install -d -m755 "$pkgdir"/usr/share/pear + install -D -m644 "$builddir"/class.*.php "$pkgdir"/usr/share/pear || return 1 +} + +md5sums="9b23523ce070855abfdd79ff06d85afd php5-phpmailer-5.2.20.tar.gz" +sha256sums="4716acef60503f345323849842f3138a8453c178d3829477553bf1e347664976 php5-phpmailer-5.2.20.tar.gz" +sha512sums="c8dab5decd5012687b2e1d7a4ce2a3a605a6c3589b1f747960faa6080fb1c65580c1dd0f0cba52fc3735e4cf357c31237b51a6ade00c5dbffc57c27328d15018 php5-phpmailer-5.2.20.tar.gz" diff --git a/community/php5-xcache/APKBUILD b/community/php5-xcache/APKBUILD new file mode 100644 index 0000000000..dad01e1d81 --- /dev/null +++ b/community/php5-xcache/APKBUILD @@ -0,0 +1,56 @@ +# Maintainer: Natanael Copa +_php=php5 +pkgname=${_php}-xcache +pkgver=3.2.0 +pkgrel=1 +pkgdesc="php opcode cacher" +url="http://xcache.lighttpd.net/" +arch="all" +license="BSD" +depends_dev="" +makedepends="$depends_dev ${_php}-dev autoconf automake flex bison gawk" +install="" +subpackages="" +source="http://xcache.lighttpd.net/pub/Releases/$pkgver/xcache-$pkgver.tar.gz + xcache.ini" + +_builddir="$srcdir"/xcache-$pkgver + +prepare() { + local i + cd "$_builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + cd "$_builddir" + phpize --clean && phpize || return 1 + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --enable-xcache \ + --enable-xcache-constant \ + --enable-xcache-optimizer \ + --enable-xcache-coverager \ + || return 1 + make -j1 || return 1 +} + +package() { + cd "$_builddir" + make -j1 install INSTALL_ROOT="$pkgdir" || return 1 + install -Dm644 "$srcdir"/xcache.ini \ + "$pkgdir"/etc/$_php/conf.d/xcache.ini || return 1 +} + +md5sums="8b0a6f27de630c4714ca261480f34cda xcache-3.2.0.tar.gz +8fd9ce537ada9463c4b0c042243158c0 xcache.ini" +sha256sums="9d7bea91dabb3e0c859195a85562f24c77a5967722753018966beb7a421c6bc0 xcache-3.2.0.tar.gz +c8c843335028b1da1965ff71b73b42fc4bc45be08bf9ec3f71aff5744a428176 xcache.ini" +sha512sums="6ba2d857d5fa40deac7ab1dffc3e7aed6e04eff8b2397fdf73f7251c47804958fc44ab5e3cbdf02c02d55b4139dd9747d78e231e4652ba19d093d80a64242b1d xcache-3.2.0.tar.gz +dc693745177ab1dfcd4e0ae1193ebcedf7d97f4ea222525fa52955be5dd68a50db27cce0c6ef069f9972e79d2cb0f88d6fa27e6e433781312c370e791a64c1cc xcache.ini" diff --git a/community/php5-xcache/xcache.ini b/community/php5-xcache/xcache.ini new file mode 100644 index 0000000000..b814dbce11 --- /dev/null +++ b/community/php5-xcache/xcache.ini @@ -0,0 +1,3 @@ +;extension=xcache.so +xcache.size=64M +xcache.var_size=64M diff --git a/community/php5/APKBUILD b/community/php5/APKBUILD new file mode 100644 index 0000000000..c8a9289fe8 --- /dev/null +++ b/community/php5/APKBUILD @@ -0,0 +1,521 @@ +# Contributor: Andy Blyler +# Contributor: Łukasz Jendrysik +# Contributor: Carlo Landmeter +# Maintainer: Matt Smith +pkgname=php5 +pkgver=5.6.30 +pkgrel=0 +pkgdesc="The PHP language runtime engine" +url="http://www.php.net/" +arch="all" +license="PHP-3" +depends="$pkgname-cli" +depends_dev="$pkgname-cli pcre-dev" +install="$pkgname.post-upgrade" +provides="php" +makedepends=" + $depends_dev + apache2-dev + apr-dev + apr-util-dev + aspell-dev + bzip2-dev + curl-dev + db-dev + enchant-dev + expat-dev + freetds-dev + freetype-dev + gdbm-dev + gettext-dev + gmp-dev + icu-dev + imap-dev + libevent-dev + libgcrypt-dev + libjpeg-turbo-dev + libmcrypt-dev + libpng-dev + libtool + libxml2-dev + libxslt-dev + mariadb-dev + net-snmp-dev + openldap-dev + libressl-dev + postgresql-dev + readline-dev + sqlite-dev + unixodbc-dev + zlib-dev + autoconf + bison + " +subpackages="$pkgname-dbg $pkgname-dev $pkgname-doc $pkgname-common::noarch $pkgname-cgi + $pkgname-cli $pkgname-fpm $pkgname-apache2 $pkgname-embed + $pkgname-phpdbg + + $pkgname-pear::noarch + $pkgname-bcmath + $pkgname-bz2 + $pkgname-calendar + $pkgname-ctype + $pkgname-curl:_curl + $pkgname-dba + $pkgname-dom + $pkgname-enchant + $pkgname-exif + $pkgname-ftp + $pkgname-gd + $pkgname-gettext + $pkgname-gmp + $pkgname-iconv + $pkgname-imap + $pkgname-intl + $pkgname-json + $pkgname-ldap + $pkgname-mcrypt + $pkgname-mysql + $pkgname-mysqli + $pkgname-odbc + $pkgname-openssl + $pkgname-pcntl + $pkgname-pdo + $pkgname-pdo_mysql + $pkgname-pdo_odbc + $pkgname-pdo_pgsql + $pkgname-pdo_sqlite + $pkgname-pgsql + $pkgname-phar + $pkgname-posix + $pkgname-pspell + $pkgname-shmop + $pkgname-snmp + $pkgname-soap + $pkgname-sockets + $pkgname-sqlite3 + $pkgname-sysvmsg + $pkgname-sysvsem + $pkgname-sysvshm + $pkgname-xml + $pkgname-xmlreader + $pkgname-xmlrpc + $pkgname-xsl + $pkgname-zip + $pkgname-zlib + $pkgname-mssql + $pkgname-pdo_dblib + $pkgname-wddx + $pkgname-opcache + " + +source="http://php.net/distributions/php-$pkgver.tar.bz2 + php-fpm.initd + php5-module.conf + php-install-pear-xml.patch + gd-iconv.patch + " + +_apiver="20131106" +_extdir="/usr/lib/$pkgname/modules" +_srcdir="$srcdir"/php-$pkgver +_confdir=/etc/$pkgname + +# seems like pear hardcode /usr/share/pear directory +_peardir=/usr/share/pear + +prepare() { + cd "$_srcdir" + update_config_sub + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done + + # safty check for api changes + local vapi=$(sed -n '/#define PHP_API_VERSION/{s/.* //;p}' main/php.h) + if [ "$vapi" != "$_apiver" ]; then + error "Upstreram API version is now $vapi. Expecting $_vapi" + return 1 + fi + autoconf +} + +_do_build() { + local _flavor="$1" + shift + local _builddir="$srcdir"/build-$_flavor + mkdir -p "$_builddir" + cd "$_builddir" + export EXTENSION_DIR=$_extdir + export PEAR_INSTALLDIR="$_peardir" + "$_srcdir"/configure $@ || return 1 + sed -ri "s/^(EXTRA_LDFLAGS[ ]*\=.*)/\1 -lpthread/" Makefile # see #183 + make || return 1 +} + +build() { + _phpconfig="\ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --sysconfdir=$_confdir \ + --localstatedir=/var \ + --with-layout=GNU \ + --with-config-file-path=$_confdir \ + --with-config-file-scan-dir=$_confdir/conf.d \ + --enable-inline-optimization \ + --disable-debug \ + --disable-rpath \ + --disable-static \ + --enable-shared \ + --mandir=/usr/share/man \ + --with-pic \ + " + + _phpextensions=" \ + --enable-bcmath=shared \ + --with-bz2=shared \ + --enable-calendar=shared \ + --with-cdb \ + --enable-ctype=shared \ + --with-curl=shared \ + --enable-dba=shared \ + --with-db4=shared \ + --enable-dom=shared \ + --with-enchant=shared \ + --enable-exif=shared \ + --with-freetype-dir=shared,/usr \ + --enable-ftp=shared \ + --with-gd=shared \ + --enable-gd-native-ttf \ + --with-gdbm=shared \ + --with-gettext=shared \ + --with-gmp=shared \ + --with-iconv=shared \ + --with-icu-dir=/usr \ + --with-imap=shared \ + --with-imap-ssl=shared \ + --enable-intl=shared \ + --with-jpeg-dir=shared,/usr \ + --enable-json=shared \ + --with-ldap=shared \ + --enable-libxml=shared \ + --enable-mbregex \ + --enable-mbstring=all \ + --with-mcrypt=shared \ + --with-mysql=shared,mysqlnd \ + --with-mysql-sock=/var/run/mysqld/mysqld.sock \ + --with-mysqli=shared,mysqlnd \ + --with-openssl=shared \ + --with-pcre-regex=/usr \ + --enable-pcntl=shared \ + --enable-pdo=shared \ + --with-pdo-mysql=shared,mysqlnd \ + --with-pdo-odbc=shared,unixODBC,/usr \ + --with-pdo-pgsql=shared \ + --with-pdo-sqlite=shared,/usr \ + --with-pgsql=shared \ + --enable-phar=shared \ + --with-png-dir=shared,/usr \ + --enable-posix=shared \ + --with-pspell=shared \ + --with-regex=php \ + --enable-session \ + --enable-shmop=shared \ + --with-snmp=shared \ + --enable-soap=shared \ + --enable-sockets=shared \ + --with-sqlite3=shared,/usr \ + --enable-sysvmsg=shared \ + --enable-sysvsem=shared \ + --enable-sysvshm=shared \ + --with-unixODBC=shared,/usr \ + --enable-xml=shared \ + --enable-xmlreader=shared \ + --with-xmlrpc=shared \ + --with-xsl=shared \ + --enable-wddx=shared \ + --enable-zip=shared \ + --with-zlib=shared \ + --without-db1 \ + --without-db2 \ + --without-db3 \ + --without-qdbm \ + --with-mssql=shared \ + --with-pdo-dblib=shared \ + --enable-opcache \ + " + + # cgi, fcgi, cli, pear and extensions + _do_build cgi \ + ${_phpconfig} \ + --disable-cli \ + --enable-cgi \ + --enable-cli \ + --with-pear \ + --with-readline \ + --enable-phpdbg \ + ${_phpextensions} \ + || return 1 + + # fpm + cp -a "$srcdir"/build-cgi "$srcdir"/build-fpm + _do_build fpm \ + ${_phpconfig} \ + --disable-cli \ + --enable-fpm \ + ${_phpextensions} \ + || return 1 + + # apache2 + cp -a "$srcdir"/build-cgi "$srcdir"/build-apache2 + _do_build apache2 \ + ${_phpconfig} \ + --disable-cli \ + --with-apxs2 \ + ${_phpextensions} \ + || return 1 + + # embed + cp -a "$srcdir"/build-cgi "$srcdir"/build-embed + _do_build embed \ + ${_phpconfig} \ + --disable-cli \ + --enable-embed=shared \ + ${_phpextensions} \ + || return 1 +} + +package() { + cd "$srcdir"/build-cgi + # install php-cgi, cli, pear and modules + make -j1 install install-pear INSTALL_ROOT="$pkgdir" || return 1 + + # cleanup after pear + find "$pkgdir" -name '.*' | xargs rm -rf || return 1 + + # install embed + install -D -m755 "$srcdir"/build-embed/libs/libphp5.so \ + "$pkgdir"/usr/lib/libphp5.so || return 1 + install -D -m644 "$_srcdir"/sapi/embed/php_embed.h \ + "$pkgdir"/usr/include/php/sapi/embed/php_embed.h || return 1 + + # Create symlink with version suffix, parallel to php7 package, + # to simplify multiversion aports and prepare us for future. + local f; for f in php php-cgi php-config phpdbg phpize; do + ln -s $f "$pkgdir"/usr/bin/${f}5 || return 1 + done +} + +dev() { + default_dev || return 1 + + mkdir -p "$subpkgdir"/usr/lib/php + mv "$pkgdir"/usr/lib/php/build \ + "$subpkgdir"/usr/lib/php/ || return 1 + mv "$pkgdir"/usr/bin/php-config5 "$subpkgdir"/usr/bin/ +} + +doc() { + # man pages + default_doc || return 1 + cd "$srcdir"/php-$pkgver + + # doc files + _docs="CODING_STANDARDS CREDITS EXTENSIONS INSTALL LICENSE NEWS \ + UPGRADING UPGRADING.INTERNALS" + for _doc in $_docs README.*; do + install -Dm644 "$srcdir"/php-$pkgver/$_doc \ + "$subpkgdir"/usr/share/doc/$pkgname/$_doc || return 1 + done +} + +common() { + pkgdesc="PHP Common Files" + depends="" + + cd "$srcdir"/php-$pkgver + + install -D -m644 php.ini-production "$subpkgdir"$_confdir/php.ini + sed -ri -e "s:^; extension_dir = \"./\":extension_dir = \"$_extdir\":" \ + -e 's/;(date.timezone =)/\1 UTC/' \ + -e "s~^([;]*cgi\.rfc2616_headers.*)$~\1\n\n\; If this is enabled, the PHP CGI binary can safely be placed outside of the\n; web tree and people will not be able to circumvent .htaccess security.\ncgi\.discard_path = 1~" \ + "$subpkgdir"$_confdir/php.ini +} + +cgi() { + pkgdesc="PHP Common Gateway Interface (CGI)" + depends="$pkgname-common" + mkdir -p "$subpkgdir"/usr/bin + mv "$pkgdir"/usr/bin/php-cgi* "$subpkgdir"/usr/bin/ +} + +cli() { + pkgdesc="PHP Command Line Interface (CLI)" + depends="$pkgname-common" + mkdir -p "$subpkgdir"/usr/bin + mv "$pkgdir"/usr/bin/php "$subpkgdir"/usr/bin/ || return 1 + mv "$pkgdir"/usr/bin/php5 "$subpkgdir"/usr/bin/ || return 1 + # provide phpize here instead of -dev due to pecl command + mv "$pkgdir"/usr/bin/phpize* "$subpkgdir"/usr/bin/ || return 1 +} + +fpm() { + pkgdesc="PHP FastCGI Process Manager (FPM)" + depends="$pkgname-common" + mkdir -p "$subpkgdir"$_confdir/fpm.d + install -D -m755 "$srcdir"/build-fpm/sapi/fpm/php-fpm \ + "$subpkgdir"/usr/bin/php-fpm || return 1 + install -D -m644 "$srcdir"/build-fpm/sapi/fpm/php-fpm.conf \ + "$subpkgdir"$_confdir/php-fpm.conf || return 1 + install -D -m755 "$srcdir"/php-fpm.initd "$subpkgdir"/etc/init.d/php-fpm + # enable some default options + sed -ri -e "s~^;(error_log)(.*)~\1 = /var/log/php-fpm.log~" \ + -e "s~^;(include)(.*)~\1 = $_confdir/fpm.d/*.conf~" \ + -e "s/^;(pm.start_servers)/\1/" \ + -e "s/^;(pm.min_spare_servers)/\1/" \ + -e "s/^;(pm.max_spare_servers)/\1/" \ + "$subpkgdir"$_confdir/php-fpm.conf || return 1 + ln -s php-fpm "$subpkgdir"/usr/bin/php-fpm5 +} + +apache2() { + pkgdesc="PHP Module for Apache2" + depends="$pkgname-common apache2" + install -D -m755 "$srcdir"/build-apache2/libs/libphp5.so \ + "$subpkgdir"/usr/lib/apache2/libphp5.so || return 1 + install -D -m644 "$srcdir"/php5-module.conf \ + "$subpkgdir"/etc/apache2/conf.d/php5-module.conf || return 1 +} + +embed() { + pkgdesc="PHP Embed Library" + depends="$pkgname-common" + mkdir -p "$subpkgdir"/usr/lib + mv "$pkgdir"/usr/lib/libphp5.so "$subpkgdir"/usr/lib/ +} + +pear() { + pkgdesc="PHP Extension and Application Repository (PEAR)" + depends="$pkgname-cli $pkgname-xml" + mkdir -p "$subpkgdir"/usr/share "$subpkgdir"$_confdir \ + "$subpkgdir"/usr/bin + mv "$pkgdir"/usr/bin/pecl \ + "$pkgdir"/usr/bin/pear \ + "$pkgdir"/usr/bin/peardev \ + "$subpkgdir"/usr/bin/ || return 1 + mv "$pkgdir"$_confdir/pear.conf \ + "$subpkgdir"$_confdir/ || return 1 + mv "$pkgdir"${_peardir} \ + "$subpkgdir"/usr/share/ || return 1 +} + +phpdbg() { + pkgdesc="Interactive PHP debugger" + mkdir -p "$subpkgdir"/usr/bin + mv "$pkgdir"/usr/bin/phpdbg* "$subpkgdir"/usr/bin/ +} + +_mv_ext() { + local ext=$1 + local ini=$ext.ini + pkgdesc="${ext} extension for PHP" + + # extension dependencies + if [ -n "${2-}" ]; then + depends="${2-}" + fi + depends="${pkgname} ${depends}" + + # work around dependency issue + # https://bugs.alpinelinux.org/issues/1848 + if [ "$ext" = "wddx" ]; then + ini=xml_$ext.ini + fi + + mkdir -p "$subpkgdir"/$_extdir + mv "$pkgdir"/$_extdir/${ext}.so "$subpkgdir"/$_extdir/ || return 1 + mkdir -p "$subpkgdir"$_confdir/conf.d + case "$1" in + opcache) + echo "zend_extension=${ext}.so" > "$subpkgdir"$_confdir/conf.d/$ini + ;; + *) + echo "extension=${ext}.so" > "$subpkgdir"$_confdir/conf.d/$ini + ;; + esac +} + +bcmath() { _mv_ext bcmath; } +bz2() { _mv_ext bz2; } +calendar() { _mv_ext calendar; } +ctype() { _mv_ext ctype; } +_curl() { _mv_ext curl; } +dba() { _mv_ext dba; } +dom() { _mv_ext dom; } +enchant() { _mv_ext enchant; } +exif() { _mv_ext exif; } +ftp() { _mv_ext ftp; } +gd() { _mv_ext gd; } +gettext() { _mv_ext gettext; } +gmp() { _mv_ext gmp; } +iconv() { _mv_ext iconv; } +imap() { _mv_ext imap; } +intl() { _mv_ext intl; } +json() { _mv_ext json; } +ldap() { _mv_ext ldap; } +mcrypt() { _mv_ext mcrypt; } +mysql() { _mv_ext mysql; } +mysqli() { _mv_ext mysqli; } +odbc() { _mv_ext odbc unixodbc; } +openssl() { _mv_ext openssl; } +pcntl() { _mv_ext pcntl; } +pdo() { _mv_ext pdo; } +pdo_mysql() { _mv_ext pdo_mysql $pkgname-pdo; } +pdo_odbc() { _mv_ext pdo_odbc $pkgname-pdo; } +pdo_pgsql() { _mv_ext pdo_pgsql $pkgname-pdo; } +pdo_sqlite() { _mv_ext pdo_sqlite $pkgname-pdo; } +pgsql() { _mv_ext pgsql; } +phar() { + _mv_ext phar + mkdir -p "$subpkgdir"/usr/bin + mv "$pkgdir"/usr/bin/phar* "$subpkgdir"/usr/bin/ + } +posix() { _mv_ext posix; } +pspell() { _mv_ext pspell; } +shmop() { _mv_ext shmop; } +snmp() { _mv_ext snmp; } +soap() { _mv_ext soap; } +sockets() { _mv_ext sockets; } +sqlite3() { _mv_ext sqlite3; } +sysvmsg() { _mv_ext sysvmsg; } +sysvsem() { _mv_ext sysvsem; } +sysvshm() { _mv_ext sysvshm; } +xml() { _mv_ext xml; } +xmlreader() { _mv_ext xmlreader $pkgname-dom; } +xmlrpc() { _mv_ext xmlrpc $pkgname-xml; } +xsl() { _mv_ext xsl $pkgname-dom; } +zip() { _mv_ext zip; } +zlib() { _mv_ext zlib; } +mssql() { _mv_ext mssql; } +pdo_dblib() { _mv_ext pdo_dblib "$pkgname-pdo freetds"; } +wddx() { _mv_ext wddx; } +opcache() { _mv_ext opcache; } + +md5sums="67566191957b5fcac8567a5a9bbdced7 php-5.6.30.tar.bz2 +63b16caff0d7aa881a31a1e02f3080c3 php-fpm.initd +67719f428f44ec004da18705cbabe2ee php5-module.conf +483bc0a85c50a9a9aedbe14a19ed4526 php-install-pear-xml.patch +7200972a23adae799921c4ca20ff0074 gd-iconv.patch" +sha256sums="a105c293fa1dbff118b5b0ca74029e6c461f8c78f49b337a2a98be9e32c27906 php-5.6.30.tar.bz2 +be9bfdab10a994fe553119b181be7015325a7618de454a58bdee06bcfb711454 php-fpm.initd +ceec4d5b2a128c6a97e49830af604f0bb555bca1a86a9cd0366b828ba392257f php5-module.conf +f739ca427a1dd53a388bad0823565299c5d4a5796b1171b892884e4d7d099bab php-install-pear-xml.patch +98de37c650a36870a543225f6a6b81813ccd447a484f0881511be4eb6e901844 gd-iconv.patch" +sha512sums="12734d786cca5767b8b8838affbe1c3d578dd179c8d5339653d905658562c5fdf39a88349213b1340f320320700a5378aed617447b6e15909019788a49ad2da0 php-5.6.30.tar.bz2 +1f5cb18f85a2e279e24344d993f5c51c7bfbcbecc0e9bfcf075bebd1b0b893e2ffb793d95a632c9333033597d4b4f74840bfd00520a6dc700444d1a054225da1 php-fpm.initd +895e94c791bd82060ad820fef049d366a09c932097faa6b7b9a2c2e9e00a18cb7c0f9b128679c7659b404379266fd0f95dba5c0333f626194cf60f7bf6044102 php5-module.conf +f1177cbf6b1f44402f421c3d317aab1a2a40d0b1209c11519c1158df337c8945f3a313d689c939768584f3e4edbe52e8bd6103fb6777462326a9d94e8ab1f505 php-install-pear-xml.patch +6ecd0be2da1dc5b1d7512e46a2a5cd107a8b2a8c364efc9c624a7d6b2ab081685a329c94c22c970dc14c5c1115f702c512e97ae858da1bc69c6423323dbeeba2 gd-iconv.patch" diff --git a/community/php5/gd-iconv.patch b/community/php5/gd-iconv.patch new file mode 100644 index 0000000000..7f7bd0e196 --- /dev/null +++ b/community/php5/gd-iconv.patch @@ -0,0 +1,45 @@ +diff --git a/ext/gd/config.m4 b/ext/gd/config.m4 +index e643e52..fc41ab9 100644 +--- a/ext/gd/config.m4 ++++ b/ext/gd/config.m4 +@@ -6,6 +6,9 @@ dnl + dnl Configure options + dnl + ++PHP_ARG_WITH(iconv-dir, iconv dir for GD and XMLRPC-EPI, ++[ --with-iconv-dir=DIR GD/XMLRPC-EPI: iconv dir for GD/XMLRPC-EPI],no,no) ++ + PHP_ARG_WITH(gd, for GD support, + [ --with-gd[=DIR] Include GD support. DIR is the GD library base + install directory [BUNDLED]]) +@@ -329,6 +332,18 @@ dnl enable the support in bundled GD library + GDLIB_CFLAGS="$GDLIB_CFLAGS -DJISX0208" + fi + ++ dnl link to iconv if needed ++ if test "$PHP_ICONV_DIR" != "no"; then ++ PHP_ICONV=$PHP_ICONV_DIR ++ fi ++ ++ if test -z "$PHP_ICONV" || test "$PHP_ICONV" = "no"; then ++ PHP_ICONV=yes ++ fi ++ ++ PHP_SETUP_ICONV(GD_SHARED_LIBADD, [], [ ++ AC_MSG_ERROR([iconv not found, in order to build gd you need the iconv library]) ++ ]) + else + + if test "$PHP_GD" != "no"; then +--- a/ext/xmlrpc/config.m4 ++++ b/ext/xmlrpc/config.m4 +@@ -18,9 +18,6 @@ + PHP_ARG_WITH(libexpat-dir, libexpat dir for XMLRPC-EPI, + [ --with-libexpat-dir=DIR XMLRPC-EPI: libexpat dir for XMLRPC-EPI (deprecated)],no,no) + +-PHP_ARG_WITH(iconv-dir, iconv dir for XMLRPC-EPI, +-[ --with-iconv-dir=DIR XMLRPC-EPI: iconv dir for XMLRPC-EPI],no,no) +- + if test "$PHP_XMLRPC" != "no"; then + + PHP_ADD_EXTENSION_DEP(xmlrpc, libxml) diff --git a/community/php5/php-fpm.initd b/community/php5/php-fpm.initd new file mode 100644 index 0000000000..9f091e7645 --- /dev/null +++ b/community/php5/php-fpm.initd @@ -0,0 +1,93 @@ +#!/sbin/openrc-run + +# If you want to run separate master process per pool, then create a symlink +# to this runscript for each pool. In that mode, the php-fpm daemon is started +# as nobody by default. You can override the user (and group) by declaring +# variable "user" and optionally "group" in conf.d file, or in the $fpm_config +# file (the former has precedence). + +: ${name:="PHP FastCGI Process Manager"} + +command="/usr/bin/php-fpm" +command_background="yes" +start_stop_daemon_args="--quiet" +pidfile="/run/$RC_SVCNAME/php-fpm.pid" +retry="SIGTERM/20" + +# configtest is here only for backward compatibility +extra_commands="checkconfig configtest" +extra_started_commands="reload reopen" +description_checkconfig="Run php-fpm config check" +description_reload="Gracefully reload workers and config" +description_reopen="Reopen log files" + +required_files="$fpm_config" + +depend() { + need net + use apache2 lighttpd nginx +} + +init_vars() { + # Defaults for single master process with multiple pools + if [ "$RC_SVCNAME" = "php-fpm" ]; then + : ${fpm_config:="/etc/php5/php-fpm.conf"} + : ${user:="root"} + # Defaults for master process per pool + else + : ${fpm_config="/etc/php5/fpm.d/${RC_SVCNAME#php-fpm.}.conf"} + : ${user:="$(conf_get user)"} + : ${user:="nobody"} + : ${group:="$(conf_get group)"} + fi + command_args="--nodaemonize --fpm-config $fpm_config" + start_stop_daemon_args="$start_stop_daemon_args + --user $user ${group:+"--group $group"}" +} + +start_pre() { + checkconfig || return 1 + + # If unix socket is used (instead of TCP/IP), then ensure that the + # directory exists and has correct privileges. + local listen="$(conf_get listen)" + if [ "${listen:0:1}" = "/" ]; then + checkpath -d -o $user:$group "$(dirname "$listen")" + fi + + checkpath -d "$(dirname "$pidfile")" +} + +reload() { + ebegin "Reloading $name" + start-stop-daemon --signal USR2 --pidfile "$pidfile" + eend $? +} + +reopen() { + ebegin "Reopening $name log files" + start-stop-daemon --signal USR1 --pidfile "$pidfile" + eend $? +} + +checkconfig() { + init_vars + ebegin "Checking $fpm_config" + + local out + out="$(su -s /bin/sh -c "$command --test --fpm-config $fpm_config" $user 2>&1)" || { + printf "%s\n" "$out" + eend 1 "failed, please correct errors above" + return 1 + } +} + +configtest() { + ewarn "configtest is deprecated, use checkconfig instead" + checkconfig +} + +conf_get() { + local key="$1" + sed -nE "s/^${key}\s*=\s*\"?([^\";]+).*/\1/p" "$fpm_config" | head -n 1 +} diff --git a/community/php5/php-install-pear-xml.patch b/community/php5/php-install-pear-xml.patch new file mode 100644 index 0000000000..18747be94b --- /dev/null +++ b/community/php5/php-install-pear-xml.patch @@ -0,0 +1,15 @@ +--- ./pear/Makefile.frag.orig 2013-04-12 07:02:27.041602514 +0000 ++++ ./pear/Makefile.frag 2013-04-12 07:04:09.065836822 +0000 +@@ -2,8 +2,11 @@ + + peardir=$(PEAR_INSTALLDIR) + ++# help the built php to find xml extension so we can install pear ++PEAR_INSTALL_XML_FLAGS = -d extension_dir="$(top_builddir)/modules" -d extension=xml.so ++ + # Skip all php.ini files altogether +-PEAR_INSTALL_FLAGS = -n -dshort_open_tag=0 -dopen_basedir= -derror_reporting=1803 -dmemory_limit=-1 -ddetect_unicode=0 ++PEAR_INSTALL_FLAGS = -n -dshort_open_tag=0 -dopen_basedir= -derror_reporting=1803 -dmemory_limit=-1 -ddetect_unicode=0 $(PEAR_INSTALL_XML_FLAGS) + + WGET = `which wget 2>/dev/null` + FETCH = `which fetch 2>/dev/null` diff --git a/community/php5/php5-module.conf b/community/php5/php5-module.conf new file mode 100644 index 0000000000..9dae61fa81 --- /dev/null +++ b/community/php5/php5-module.conf @@ -0,0 +1,5 @@ +LoadModule php5_module modules/libphp5.so + +DirectoryIndex index.php index.html +AddHandler application/x-httpd-php .php +AddHandler application/x-httpd-php-source .phps diff --git a/community/php5/php5.post-upgrade b/community/php5/php5.post-upgrade new file mode 100644 index 0000000000..98c959958c --- /dev/null +++ b/community/php5/php5.post-upgrade @@ -0,0 +1,11 @@ +#!/bin/sh + +new=$1 +old=$2 + +if [ "$(apk version -t $old 5.3)" = "<" ]; then + echo "*" + echo "* Please see migration notes here: http://php.net/migration53" + echo "*" +fi + diff --git a/community/phpldapadmin/APKBUILD b/community/phpldapadmin/APKBUILD new file mode 100644 index 0000000000..2e01e165f3 --- /dev/null +++ b/community/phpldapadmin/APKBUILD @@ -0,0 +1,77 @@ +# Maintainer: Leonardo Arena +_php=php5 +pkgname=phpldapadmin +pkgver=1.2.3 +pkgrel=3 +pkgdesc="Web front-end for managing OpenLDAP" +url="http://phpldapadmin.sourceforge.net" +arch="noarch" +license="GPL2" +depends="${_php} ${_php}-ldap ${_php}-gettext ${_php}-xml" +depends_dev= +makedepends="$depends_dev" +install= +subpackages= +source="http://downloads.sourceforge.net/project/$pkgname/$pkgname-php5/$pkgver/$pkgname-$pkgver.tgz + $pkgname.additional-template + phpldapadmin-1.2.3-force-ssha512.patch + phpldapadmin-1.2.3_changed-password_hash-to-pla_password_hash.patch + phpldapadmin-1.2.3_fixed-call-to-renamed-function-pla_password_hash.patch + phpldapadmin-1.2.3_changed-preg_replace-to-preg_replace-callback.patch + phpldapadmin-1.2.3_use-preg_replace_callback.patch + " + +_builddir="$srcdir"/$pkgname-$pkgver + +prepare() { + cd "$_builddir" + for i in $source; do + case $i in + *.patch) + msg "Applying $i..." + if ! patch -s -p1 -N -i "$srcdir"/$i; then + echo $i >>failed + _patch_failed=1 + fi + ;; + esac + done + +} + +build() { + cd "$_builddir" +} + +package() { + cd "$_builddir" + mkdir -p "$pkgdir"/usr/share/webapps/phpldapadmin + mkdir -p "$pkgdir"/etc + mv * "$pkgdir"/usr/share/webapps/phpldapadmin + mv "$pkgdir"/usr/share/webapps/phpldapadmin/config "$pkgdir"/etc/phpldapadmin + ln -s /etc/phpldapadmin "$pkgdir"/usr/share/webapps/phpldapadmin/config || return 1 + install -Dm644 ../$pkgname.additional-template \ + "$pkgdir"/usr/share/webapps/phpldapadmin/templates/creation/groupOfNames.xml || return 1 +} + +md5sums="59a49054039ceb852c2da377d8742360 phpldapadmin-1.2.3.tgz +3ca4fbf9e16f192b441b51b2d25ecf14 phpldapadmin.additional-template +34e36e414f59c6ed4946efa1f277f962 phpldapadmin-1.2.3-force-ssha512.patch +ac802d139e867ecae7e64923ced54741 phpldapadmin-1.2.3_changed-password_hash-to-pla_password_hash.patch +4037d598cec4261a840e90beda478e35 phpldapadmin-1.2.3_fixed-call-to-renamed-function-pla_password_hash.patch +231b82f76e2d2359fa3f98079571830b phpldapadmin-1.2.3_changed-preg_replace-to-preg_replace-callback.patch +445cf7143613f48918972bc9a5fab06f phpldapadmin-1.2.3_use-preg_replace_callback.patch" +sha256sums="aecaf8c3ce77ba3899dd31ee5ee183555b2f9349eb8e196dcd33d8a3c485ed58 phpldapadmin-1.2.3.tgz +85e931a84f3fd5e398da24403425b58711c48196ed9692f7a312883a0ed9fae0 phpldapadmin.additional-template +0cd1d8195ecdc53cde9667bf256d2243d67675ac92547d163a707659df5a3d9a phpldapadmin-1.2.3-force-ssha512.patch +a5befd05b3332ba37b8778df1505b370c3c84c1494ce9184f3f2ea4cbe99235b phpldapadmin-1.2.3_changed-password_hash-to-pla_password_hash.patch +d4a8d75f76c8f865caddfe6ded6d9a9a8ee9b9828da021520ffa516a713ac941 phpldapadmin-1.2.3_fixed-call-to-renamed-function-pla_password_hash.patch +375571b4471cd39173d16bf54417f8ba2b8c66103d652b4a2ab1eaa9e36b8046 phpldapadmin-1.2.3_changed-preg_replace-to-preg_replace-callback.patch +a9ad83216edde85f5c44514cf152b3532766f6981e17da6b00c7c267b28dd89b phpldapadmin-1.2.3_use-preg_replace_callback.patch" +sha512sums="58a57ca577586685ebd0d7fde7e299b8945d1693018c7803e19239b79f4b9d72a4d207d53c9f284268e32398108038efafcdb434e634619bfe87db3524d267b6 phpldapadmin-1.2.3.tgz +913cc89bfba3a24064865f091a3bcc6ec88db0824d750e8b3b1f6497b5ac1a1e158ced895f1f85f93607402e9353798b3dd4ccdbb1454713f96937c884456eb7 phpldapadmin.additional-template +aecbf3699af4ae39426c6c81edd45a738cdd91f9cfc1e8062ade4b6fa11e7530a8d8b4c2730cd648749b87381dbcca1bbe8681b8e45ec7af50b6b74137f89331 phpldapadmin-1.2.3-force-ssha512.patch +71a0bc987e526401c72b77b36843868099040654c3435e9c2f5b266a49a27b75b007fd949e9981bcd4b9a678f0edd74e988e66647984c882c57fe8dc99a26849 phpldapadmin-1.2.3_changed-password_hash-to-pla_password_hash.patch +d238e27ed89e400f467ab8282a67920cd1e72e5f52709d086f6b31708960dc65acafc0fe683887ceff0b78b3aa9631e91e2c57f722d9f7e0f057e0f872ae73a2 phpldapadmin-1.2.3_fixed-call-to-renamed-function-pla_password_hash.patch +0524112c7a3c591eaf4b3e64de26282a786a2c0fa73f1047084f14c4f9093cf31e1b9a36b7b1736d6c6ae89f9940916d42cbbab7081249abf1a963de588aac63 phpldapadmin-1.2.3_changed-preg_replace-to-preg_replace-callback.patch +57e1d8d861f84f0934a2275d7ba37621c2c19c71bf2c04db918ccbc6df36eaca60986db2ba6b543356ad55eab8d7850267db1d30677d77c96238821c29b99ac9 phpldapadmin-1.2.3_use-preg_replace_callback.patch" diff --git a/community/phpldapadmin/phpldapadmin-1.2.3-force-ssha512.patch b/community/phpldapadmin/phpldapadmin-1.2.3-force-ssha512.patch new file mode 100644 index 0000000000..c69096e7fc --- /dev/null +++ b/community/phpldapadmin/phpldapadmin-1.2.3-force-ssha512.patch @@ -0,0 +1,11 @@ +--- a/lib/functions.php ++++ b/lib/functions.php +@@ -2147,7 +2147,7 @@ + if ($_SESSION[APPCONFIG]->getValue('password', 'no_random_crypt_salt')) + $new_value = sprintf('{CRYPT}%s',crypt($password_clear,substr($password_clear,0,2))); + else +- $new_value = sprintf('{CRYPT}%s',crypt($password_clear,random_salt(2))); ++ $new_value = sprintf('{CRYPT}%s',crypt($password_clear,'$6$'.random_salt(2))); + + break; + diff --git a/community/phpldapadmin/phpldapadmin-1.2.3_changed-password_hash-to-pla_password_hash.patch b/community/phpldapadmin/phpldapadmin-1.2.3_changed-password_hash-to-pla_password_hash.patch new file mode 100644 index 0000000000..1408c13184 --- /dev/null +++ b/community/phpldapadmin/phpldapadmin-1.2.3_changed-password_hash-to-pla_password_hash.patch @@ -0,0 +1,49 @@ +From e673df3ba8d690afbbba28f9ec368e475933efe8 Mon Sep 17 00:00:00 2001 +From: Mohamad Elrashidin Bin Sajeli +Date: Thu, 8 May 2014 20:22:30 +0800 +Subject: [PATCH] Changed password_hash to pla_password_hash + +--- + lib/functions.php | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/lib/functions.php b/lib/functions.php +index 56d8bf3..ad9ee9f 100644 +--- a/lib/functions.php ++++ b/lib/functions.php +@@ -2127,7 +2127,7 @@ function password_types() { + * crypt, ext_des, md5crypt, blowfish, md5, sha, smd5, ssha, sha512, or clear. + * @return string The hashed password. + */ +-function password_hash($password_clear,$enc_type) { ++function pla_password_hash($password_clear,$enc_type) { + if (DEBUG_ENABLED && (($fargs=func_get_args())||$fargs='NOARGS')) + debug_log('Entered (%%)',1,0,__FILE__,__LINE__,__METHOD__,$fargs); + +@@ -2318,7 +2318,7 @@ function password_check($cryptedpassword,$plainpassword,$attribute='userpassword + + # SHA crypted passwords + case 'sha': +- if (strcasecmp(password_hash($plainpassword,'sha'),'{SHA}'.$cryptedpassword) == 0) ++ if (strcasecmp(pla_password_hash($plainpassword,'sha'),'{SHA}'.$cryptedpassword) == 0) + return true; + else + return false; +@@ -2327,7 +2327,7 @@ function password_check($cryptedpassword,$plainpassword,$attribute='userpassword + + # MD5 crypted passwords + case 'md5': +- if( strcasecmp(password_hash($plainpassword,'md5'),'{MD5}'.$cryptedpassword) == 0) ++ if( strcasecmp(pla_password_hash($plainpassword,'md5'),'{MD5}'.$cryptedpassword) == 0) + return true; + else + return false; +@@ -2392,7 +2392,7 @@ function password_check($cryptedpassword,$plainpassword,$attribute='userpassword + + # SHA512 crypted passwords + case 'sha512': +- if (strcasecmp(password_hash($plainpassword,'sha512'),'{SHA512}'.$cryptedpassword) == 0) ++ if (strcasecmp(pla_password_hash($plainpassword,'sha512'),'{SHA512}'.$cryptedpassword) == 0) + return true; + else + return false; diff --git a/community/phpldapadmin/phpldapadmin-1.2.3_changed-preg_replace-to-preg_replace-callback.patch b/community/phpldapadmin/phpldapadmin-1.2.3_changed-preg_replace-to-preg_replace-callback.patch new file mode 100644 index 0000000000..d2fa12a477 --- /dev/null +++ b/community/phpldapadmin/phpldapadmin-1.2.3_changed-preg_replace-to-preg_replace-callback.patch @@ -0,0 +1,38 @@ +From b082cf1742b2310d69b2f278f33f6025e2544acb Mon Sep 17 00:00:00 2001 +From: Mohamad Elrashidin Bin Sajeli +Date: Thu, 8 May 2014 20:40:57 +0800 +Subject: [PATCH] Changed preg_replace to preg_replace callback + +--- + lib/functions.php | 14 ++++++++++++-- + 1 file changed, 12 insertions(+), 2 deletions(-) + +diff --git a/lib/functions.php b/lib/functions.php +index ad9ee9f..d31e0c1 100644 +--- a/lib/functions.php ++++ b/lib/functions.php +@@ -2565,12 +2565,22 @@ function dn_unescape($dn) { + $a = array(); + + foreach ($dn as $key => $rdn) +- $a[$key] = preg_replace('/\\\([0-9A-Fa-f]{2})/e',"''.chr(hexdec('\\1')).''",$rdn); ++ $a[$key] = preg_replace_callback('/\\\([0-9A-Fa-f]{2})/', ++ function ($r) { ++ return "''.chr(hexdec('$r[1]')).''"; ++ }, ++ $rdn ++ ); + + return $a; + + } else { +- return preg_replace('/\\\([0-9A-Fa-f]{2})/e',"''.chr(hexdec('\\1')).''",$dn); ++ return preg_replace_callback('/\\\([0-9A-Fa-f]{2})/', ++ function ($r) { ++ return "''.chr(hexdec('$r[1]')).''"; ++ }, ++ $dn ++ ); + } + } + diff --git a/community/phpldapadmin/phpldapadmin-1.2.3_fixed-call-to-renamed-function-pla_password_hash.patch b/community/phpldapadmin/phpldapadmin-1.2.3_fixed-call-to-renamed-function-pla_password_hash.patch new file mode 100644 index 0000000000..af9e73b481 --- /dev/null +++ b/community/phpldapadmin/phpldapadmin-1.2.3_fixed-call-to-renamed-function-pla_password_hash.patch @@ -0,0 +1,23 @@ +From c736ecd8c26b360e4764fbd3a472e2fa4b1b3db6 Mon Sep 17 00:00:00 2001 +From: Ivo van der Meer +Date: Wed, 4 Jun 2014 10:48:06 +0200 +Subject: [PATCH] Bugfix: fixed call to renamed function pla_password_hash. + +--- + lib/PageRender.php | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/lib/PageRender.php b/lib/PageRender.php +index 7d86a54..6cc571e 100644 +--- a/lib/PageRender.php ++++ b/lib/PageRender.php +@@ -287,7 +287,7 @@ protected function getPostAttribute($attribute,$i) { + break; + + default: +- $vals[$i] = password_hash($passwordvalue,$enc); ++ $vals[$i] = pla_password_hash($passwordvalue,$enc); + } + + $vals = array_unique($vals); + diff --git a/community/phpldapadmin/phpldapadmin-1.2.3_use-preg_replace_callback.patch b/community/phpldapadmin/phpldapadmin-1.2.3_use-preg_replace_callback.patch new file mode 100644 index 0000000000..60c086d197 --- /dev/null +++ b/community/phpldapadmin/phpldapadmin-1.2.3_use-preg_replace_callback.patch @@ -0,0 +1,34 @@ +From 5a7edc892f1b3cccab74ed150f9d6843912a39ee Mon Sep 17 00:00:00 2001 +From: Ben Chavet +Date: Thu, 29 May 2014 18:57:44 +0000 +Subject: [PATCH] Use preg_replace_callback instead of /e in preg_replace to + fix E_DEPRECATED warnings + +--- + lib/ds_ldap.php | 11 ++++++----- + 1 file changed, 6 insertions(+), 5 deletions(-) + +diff --git a/lib/ds_ldap.php b/lib/ds_ldap.php +index c346660..8bc1ef8 100644 +--- a/lib/ds_ldap.php ++++ b/lib/ds_ldap.php +@@ -1116,13 +1116,14 @@ private function unescapeDN($dn) { + + if (is_array($dn)) { + $a = array(); +- foreach ($dn as $key => $rdn) +- $a[$key] = preg_replace('/\\\([0-9A-Fa-f]{2})/e',"''.chr(hexdec('\\1')).''",$rdn); +- ++ foreach ($dn as $key => $rdn) { ++ $a[$key] = preg_replace_callback('/\\\([0-9A-Fa-f]{2})/', function($m) { return "''.chr(hexdec('${m[1]}')).''"; }, $rdn); ++ } + return $a; + +- } else +- return preg_replace('/\\\([0-9A-Fa-f]{2})/e',"''.chr(hexdec('\\1')).''",$dn); ++ } else { ++ return preg_replace_callback('/\\\([0-9A-Fa-f]{2})/', function($m) { return "''.chr(hexdec('${m[1]}')).''"; }, $dn); ++ } + } + + public function getRootDSE($method=null) { diff --git a/community/phpldapadmin/phpldapadmin.additional-template b/community/phpldapadmin/phpldapadmin.additional-template new file mode 100644 index 0000000000..1a1b3a8f50 --- /dev/null +++ b/community/phpldapadmin/phpldapadmin.additional-template @@ -0,0 +1,41 @@ + + + diff --git a/community/roundcubemail/APKBUILD b/community/roundcubemail/APKBUILD new file mode 100644 index 0000000000..2021ef36fe --- /dev/null +++ b/community/roundcubemail/APKBUILD @@ -0,0 +1,80 @@ +# Contributor: Leonardo Arena +# Maintainer: Natanael Copa +_php=php5 +pkgname=roundcubemail +pkgver=1.2.4 +pkgrel=0 +pkgdesc="A PHP web-based mail client" +url="http://www.roundcube.net" +arch="noarch" +license="GPL3+" +install="$pkgname.post-upgrade" +depends="${_php} ${_php}-imap ${_php}-xml ${_php}-json ${_php}-dom + ${_php}-exif ${_php}-pear-net_idna2 ${_php}-pear-mail_mime + ${_php}-pear-net_smtp ${_php}-pear-auth_sasl ${_php}-openssl" +makedepends="" +subpackages="$pkgname-installer $pkgname-doc" +source="https://github.com/roundcube/$pkgname/releases/download/$pkgver/${pkgname}-$pkgver.tar.gz + fix-dirs.patch" + +_src="$srcdir"/roundcubemail-$pkgver + +prepare() { + cd "$_src" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done + + # fix permissions + find . -type f -print | xargs chmod a-x + # remove .htaccess + find . -name \.htaccess -print | xargs rm -f + + # fixup paths to use the right paths + sed -i -e 's|temp/|/tmp/|' \ + -e 's|config/|/etc/roundcube/|' \ + -e 's|logs/|/var/log/roundcube/|' \ + config/defaults.inc.php || return 1 + + # cleanup + sed -i 's/\r//' SQL/mssql.initial.sql + rm -rf logs temp +} + +build() { + return 0 +} + +package() { + _instdir="$pkgdir"/usr/share/webapps/roundcube + mkdir -p "${_instdir}" + cd "${_instdir}" + cp -rp "$srcdir"/roundcubemail-$pkgver/* . + # install config in /etc/roundcube so config files are not overwritten + # on upgrades + mkdir -p "$pkgdir"/etc/ + mv config "$pkgdir"/etc/roundcube + + install -d "$pkgdir"/var/log/roundcube + mkdir -p "$pkgdir"/usr/share/doc/roundcube + mkdir -p "$pkgdir"/usr/share/licenses/roundcube + for file in CHANGELOG INSTALL README.md UPGRADING + do + mv "$pkgdir"/usr/share/webapps/roundcube/$file \ + "$pkgdir"/usr/share/doc/roundcube || return 1 + done + mv "$pkgdir"/usr/share/webapps/roundcube/LICENSE \ + "$pkgdir"/usr/share/licenses/roundcube || return 1 +} + +installer() { + pkgdesc="Roundcubemail installer script" + mkdir -p "$subpkgdir"/usr/share/webapps/roundcube + mv "$pkgdir"/usr/share/webapps/roundcube/installer \ + "$subpkgdir"/usr/share/webapps/roundcube +} + +sha512sums="299ab90d6dba9325efdea2e0498e4345e13c78fd8b85e0848827e5127e4cf210e66327ad264f5609373d9de2237cf396907dcb9cc2901c13e18899e4233a3c77 roundcubemail-1.2.4.tar.gz +5c645ab7f130f8f3b17b7821e2cd0be88b6d7999da38876bde36c9b116bf7d34bcf52e2d8939d9359649e3fc5ddfb1cab7798ffb9e649be11bebd1d2c4ee006b fix-dirs.patch" diff --git a/community/roundcubemail/fix-dirs.patch b/community/roundcubemail/fix-dirs.patch new file mode 100644 index 0000000000..e4a537700d --- /dev/null +++ b/community/roundcubemail/fix-dirs.patch @@ -0,0 +1,22 @@ +--- a/installer/index.php ++++ b/installer/index.php +@@ -41,7 +41,7 @@ + + define('INSTALL_PATH', realpath(dirname(__FILE__) . '/../').'/'); + define('RCUBE_INSTALL_PATH', INSTALL_PATH); +-define('RCUBE_CONFIG_DIR', INSTALL_PATH . 'config/'); ++define('RCUBE_CONFIG_DIR', '/etc/roundcube'); + + $include_path = INSTALL_PATH . 'program/lib' . PATH_SEPARATOR; + $include_path .= INSTALL_PATH . 'program/include' . PATH_SEPARATOR; +--- a/program/include/iniset.php ++++ b/program/include/iniset.php +@@ -44,7 +44,7 @@ + } + + if (!defined('RCMAIL_CONFIG_DIR')) { +- define('RCMAIL_CONFIG_DIR', INSTALL_PATH . 'config'); ++ define('RCMAIL_CONFIG_DIR', '/etc/roundcube'); + } + + if (!defined('RCUBE_LOCALIZATION_DIR')) { diff --git a/community/roundcubemail/roundcubemail.post-upgrade b/community/roundcubemail/roundcubemail.post-upgrade new file mode 100644 index 0000000000..a6282906a0 --- /dev/null +++ b/community/roundcubemail/roundcubemail.post-upgrade @@ -0,0 +1,47 @@ +#!/bin/sh + +# move existing config in /usr/share/webapps/roundcube/config to +# /etc/roundcube and create a symlink in /usr/share/webapps/roundcube that +# points to /etc/roundcube dir. + +# if we did this in pre-upgrade, apk would delete +# /usr/share/webapps/roundcube/config/* which would actually point to +# /etc/roundcube due to symlink. oups! + +if [ -L /usr/share/webapps/roundcube/config.apk-new ] && \ + [ -d /usr/share/webapps/roundcube/config ]; then + mkdir -p /etc/roundcube + # if configs were unmodified they are deleted by apk + # so we check if they exist before trying to move anything + for i in /usr/share/webapps/roundcube/config/* \ + /usr/share/webapps/roundcube/config/.[A-z]*; do + if [ -f "$i" ]; then + mv "$i" /etc/roundcube + fi + done + rmdir /usr/share/webapps/roundcube/config + mv /usr/share/webapps/roundcube/config.apk-new \ + /usr/share/webapps/roundcube/config +fi + +# logs and temp moved +if [ -d /usr/share/webapps/roundcube/logs ]; then + mv /usr/share/webapps/roundcube/logs/* \ + /var/log/roundcube/ + + # clone permissions + chown $(stat -c %U:%G /usr/share/webapps/roundcube/logs) \ + /var/log/roundcube +fi + +if [ -d /usr/share/webapps/roundcube/temp ]; then + mv /usr/share/webapps/roundcube/temp/* \ + /tmp/ +fi + +# display info about upgrade +echo "*" >&2 +echo -e "* Please read /usr/share/doc/roundcube/UPGRADE\n\ +* in roundcubemail-doc package for schema or config update" >&2 +echo "*" >&2 +exit 0 diff --git a/community/roundcubemail/roundcubemail.pre-upgrade b/community/roundcubemail/roundcubemail.pre-upgrade new file mode 100644 index 0000000000..1d44a87034 --- /dev/null +++ b/community/roundcubemail/roundcubemail.pre-upgrade @@ -0,0 +1,7 @@ +#!/bin/sh + +if [ -d /usr/share/webapps/roundcube/config ]; then + mkdir -p /etc + mv /usr/share/webapps/roundcube/config /etc/roundcube +fi + diff --git a/community/zabbix/APKBUILD b/community/zabbix/APKBUILD new file mode 100644 index 0000000000..e0f148d734 --- /dev/null +++ b/community/zabbix/APKBUILD @@ -0,0 +1,201 @@ +# Contributor: Łukasz Jendrysik +# Contributor: Jeff Bilyk +# Contributor: Leonardo Arena +# Maintainer: Natanael Copa +pkgname=zabbix +pkgver=3.2.4 +pkgrel=1 +pkgdesc="Enterprise-class open source distributed monitoring" +url="http://www.zabbix.com" +arch="all" +license="GPL" +depends="fping" +_php=php5 +_php_depends="$_php ${_php}-gd ${_php}-curl ${_php}-bcmath ${_php}-sockets + ${_php}-iconv ${_php}-xmlreader ${_php}-ctype ${_php}-gettext" +makedepends="postgresql-dev curl-dev net-snmp-dev + sqlite-dev mariadb-dev curl-dev openipmi-dev unixodbc-dev + libxml2-dev autoconf automake libssh2-dev gnutls-dev + $_php_depends" +install="$pkgname.pre-install" +pkgusers="zabbix" +pkggroups="zabbix" +subpackages="$pkgname-doc $pkgname-agent $pkgname-pgsql $pkgname-mysql + $pkgname-webif::noarch $pkgname-sqlite $pkgname-utils $pkgname-setup::noarch" +source="http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz + zabbix-getloadavg.patch + automake.patch + musl-fix-includes.patch + zabbix-server.initd + zabbix-server.confd + zabbix-agentd.initd + zabbix-proxy.initd + zabbix_server.conf.patch + " + +_builddir="$srcdir"/$pkgname-$pkgver + +# security fixes: +# 3.0.4-r0: +# - CVE N/A ZBX-11023 + +prepare() { + cd "$_builddir" + # update_config_sub || return 1 + for i in $source; do + case $i in + *eglibc*.patch) + if [ "$CLIBC" == "eglibc" ]; then + msg "Applying $i" + patch -p1 -i "$srcdir"/$i || return 1 + fi + ;; + *.patch) + msg "Applying $i" + patch -p1 -i "$srcdir"/$i || return 1 + ;; + esac + done + aclocal -I m4 && autoconf && autoheader \ + && automake --add-missing || return 1 + # update_config_sub + # Fix config file locations + for file in server agentd proxy; do + sed -i "$_builddir"/conf/zabbix_${file}.conf \ + -e 's|SNMPTrapperFile=/tmp|SNMPTrapperFile=/var/log/zabbix|' \ + -e 's|PidFile=/tmp|PidFile=/var/run/zabbix|' \ + -e 's|LogFile=/tmp|LogFile=/var/log/zabbix|' || return 1 + done +} + +build() { + # set default configure flags + _configure="--prefix=/usr \ + --sysconfdir=/etc/zabbix \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --enable-server \ + --enable-agent \ + --enable-proxy \ + --enable-ipv6 \ + --with-net-snmp \ + --with-libcurl \ + --with-libxml2 \ + --with-openipmi \ + --with-unixodbc \ + --with-ssh2 \ + --with-gnutls + " + # we run build for each db type + # make sure prepare is same for each db + for db in postgresql mysql sqlite3; do + cd "$srcdir" + msg "Building for $db" + cp -r "$pkgname-$pkgver" "$pkgname-$pkgver-$db" + cd "$_builddir-$db" + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --with-$db \ + $_configure \ + || return 1 + make || return 1 + done +} + +package() { + # doing manual install + for i in agentd proxy server; do + install -D -m755 "$_builddir"/man/zabbix_$i.man \ + "$pkgdir"/usr/share/man/man8/zabbix_$i.8 + done + for i in get sender; do + install -D -m755 "$_builddir"/man/zabbix_$i.man \ + "$pkgdir"/usr/share/man/man1/zabbix_$i.1 + done + install -d -m0750 -o zabbix -g zabbix \ + "$pkgdir"/var/run/zabbix "$pkgdir"/var/log/zabbix + install -D -m0644 "$_builddir"/conf/zabbix_server.conf \ + "$pkgdir"/etc/zabbix/zabbix_server.conf + for i in server proxy; do + install -D -m0755 "$srcdir"/zabbix-$i.initd \ + "$pkgdir"/etc/init.d/zabbix-$i || return 1 + done + install -D -m0644 "$srcdir"/zabbix-server.confd \ + "$pkgdir"/etc/conf.d/zabbix-server || return 1 +} + +setup() { + pkgdesc="Zabbix images and sql files" + depends= + mkdir -p "$subpkgdir"/usr/share/zabbix/ || return 1 + mv "$_builddir"/database "$subpkgdir"/usr/share/zabbix/ +} + +_do_db() { + pkgdesc="Zabbix server with $1 database support" + depends="$pkgname $2" + local i= + mkdir -p "$subpkgdir"/usr/sbin + mv "$_builddir-$1"/src/zabbix_server/zabbix_server \ + "$subpkgdir"/usr/sbin/ || return 1 + mv "$_builddir-$1"/src/zabbix_proxy/zabbix_proxy \ + "$subpkgdir"/usr/sbin/ || return 1 + install -D -m0644 "$_builddir"/conf/zabbix_proxy.conf \ + "$pkgdir"/etc/zabbix/zabbix_proxy.conf || return 1 + cd "$_builddir" + for i in upgrades/dbpatches/*/$1; do + [ -e $i ] || continue + mkdir -p "$subpkgdir"/usr/share/zabbix/${i%/*} + mv "$i" "$subpkgdir"/usr/share/zabbix/$i + done + return 0 +} + +pgsql() { _do_db postgresql "!$pkgname-mysql !$pkgname-sqlite";} +mysql() { _do_db mysql "!$pkgname-pgsql !$pkgname-sqlite";} +sqlite(){ _do_db sqlite3 "!$pkgname-pgsql !$pkgname-mysql";} + +utils() { + pkgdesc="Zabbix client utilities" + depends= + mkdir -p "$subpkgdir"/usr/bin + mv "$_builddir-postgresql"/src/zabbix_get/zabbix_get \ + "$subpkgdir"/usr/bin + mv "$_builddir-postgresql"/src/zabbix_sender/zabbix_sender \ + "$subpkgdir"/usr/bin +} + +webif() { + pkgdesc="Zabbix web-interface" + depends="$_php_depends" + _wwwdir="$subpkgdir"/usr/share/webapps/zabbix + mkdir -p $_wwwdir + mv "$_builddir"/frontends/php/* "$_wwwdir" +} + +agent() { + pkgdesc="Zabbix Network Monitoring Agent" + depends= + install="$subpkgname.pre-install" + install -d -m0750 -o zabbix -g zabbix \ + "$subpkgdir"/var/run/zabbix "$subpkgdir"/var/log/zabbix + install -D -m0644 "$_builddir"/conf/zabbix_agentd.conf \ + "$subpkgdir"/etc/zabbix/zabbix_agentd.conf + install -D -m0755 "$srcdir"/zabbix-agentd.initd \ + "$subpkgdir"/etc/init.d/zabbix-agentd + mkdir -p "$subpkgdir"/usr/sbin + mv "$_builddir-postgresql"/src/zabbix_agent/zabbix_agentd \ + "$subpkgdir"/usr/sbin/ + +} + +sha512sums="62e532bcf6a5ab82b1f943e28d46d1e64782758a405680d2c1a54e9c1092a340a50987045acbbad2b57439e3c2640d8a11fe1a29a234764859befa6a7fd779d1 zabbix-3.2.4.tar.gz +b65c6ba7701d98ae7f6fe2124c1d2b8b8fea3c3cc7ee080bf99f5afff0aaa6a025c2a1f5136b4700b53d1b7609e6185642650d7edd013c554b2af37fddae771c zabbix-getloadavg.patch +9bff8966cb8b3f1767bfb1b3f3529bca5c9957f2c8179a40ded3b4e43615ba9fb408aef43092fd119b7df80b042555d05c9780fac3760176b95524aa48252fee automake.patch +9b87ec1ea4a9cbb501c16012d498cdae82a696f4cd495e1e8cb201d9e31c6e135da5bb264c6273f2de87297bd3e4bd16f66703610686f5d610e3316ee24aac91 musl-fix-includes.patch +3a25bf9f428f55545dd735aea2855e0e4927e006ca01a2f918ec161ffe9b2ec66e46598bf34208e24535e1d04e33087f42eb8226b17eb4118abd6507bbb10ff5 zabbix-server.initd +a91821c6086a1fc0197750cc68073419defcb7d775b11b14a993409a8f61c7a1a0a0af95de27eed9f3b8357f8362640cb1b26b91b56f4f1d714ca6f222d02b80 zabbix-server.confd +7cc2672b717f1b47b12342fe225e9dc3838c61a0bf81d359d0a71efb0adc9b354fb8bc8b5bb64c9defa5700bcaf651b35778194a50b6b03b0a723dce76460092 zabbix-agentd.initd +e19490e724c6e4ecdadf7ee3898567b82f18ea2a894ef709bfc181c3076d50435b45429207dd4d537aacbec0242d83393240e48b434d9681ebb0d67a45643ed1 zabbix-proxy.initd +e0c9f937d39e15fa34e70e8ae9e6578b221b51c13dc0515e807675d153a85ab6370ed20ce2d06aa4457baaf3963edce525cd00e85fb105b36b58741798d13836 zabbix_server.conf.patch" diff --git a/community/zabbix/automake.patch b/community/zabbix/automake.patch new file mode 100644 index 0000000000..d92e10b077 --- /dev/null +++ b/community/zabbix/automake.patch @@ -0,0 +1,11 @@ +--- a/configure.ac ++++ b/configure.ac +@@ -27,7 +27,7 @@ + + AC_PROG_MAKE_SET + +-AM_CONFIG_HEADER(include/config.h) ++AC_CONFIG_HEADER(include/config.h) + + AC_CANONICAL_HOST + diff --git a/community/zabbix/musl-fix-includes.patch b/community/zabbix/musl-fix-includes.patch new file mode 100644 index 0000000000..c36759dcde --- /dev/null +++ b/community/zabbix/musl-fix-includes.patch @@ -0,0 +1,13 @@ +--- zabbix-2.2.1.orig/include/sysinc.h ++++ zabbix-2.2.1/include/sysinc.h +@@ -126,10 +126,6 @@ + # include + #endif + +-#ifdef HAVE_LINUX_KERNEL_H +-# include +-#endif +- + #ifdef HAVE_ARPA_NAMESER_H + #ifdef MAC_OS_X + # define BIND_8_COMPAT 1 diff --git a/community/zabbix/zabbix-agent.pre-install b/community/zabbix/zabbix-agent.pre-install new file mode 100644 index 0000000000..9cc2bfb908 --- /dev/null +++ b/community/zabbix/zabbix-agent.pre-install @@ -0,0 +1,6 @@ +#!/bin/sh + +addgroup -S zabbix 2>/dev/null +adduser -S -D -H -h /dev/null -s /sbin/nologin -G zabbix -g zabbix zabbix 2>/dev/null + +exit 0 diff --git a/community/zabbix/zabbix-agentd.initd b/community/zabbix/zabbix-agentd.initd new file mode 100644 index 0000000000..5b49535a59 --- /dev/null +++ b/community/zabbix/zabbix-agentd.initd @@ -0,0 +1,33 @@ +#!/sbin/openrc-run +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-analyzer/zabbix/files/1.6.6/init.d/zabbix-agentd,v 1.1 2009/10/05 15:55:23 patrick Exp $ + +# ensure the same file is specified as PidFile in /etc/zabbix/zabbix_agentd.conf +pidfile=/var/run/zabbix/zabbix_agentd.pid +user=zabbix +group=zabbix + +start_pre() { + checkpath --owner ${user}:${group} --directory ${pidfile%/*} +} + + +depend() { + need net + provide zabbix-agent + use zabbix-server +} + +start() { + ebegin "Starting Zabbix agent" + start-stop-daemon --pidfile ${pidfile} --start --user ${user}:${group} --exec /usr/sbin/zabbix_agentd + eend $? +} + +stop() { + ebegin "Stopping Zabbix agent" + start-stop-daemon --stop --user ${user} --pidfile ${pidfile} + eend $? +} + diff --git a/community/zabbix/zabbix-getloadavg.patch b/community/zabbix/zabbix-getloadavg.patch new file mode 100644 index 0000000000..c6a458e1b4 --- /dev/null +++ b/community/zabbix/zabbix-getloadavg.patch @@ -0,0 +1,31 @@ +--- a/src/libs/zbxsysinfo/linux/cpu.c ++++ b/src/libs/zbxsysinfo/linux/cpu.c +@@ -21,6 +21,28 @@ + #include "sysinfo.h" + #include "stats.h" + ++#ifndef HAVE_GETLOADAVG ++/*! \brief Alternative method of getting load avg on Linux only */ ++int getloadavg(double *list, int nelem) ++{ ++ FILE *LOADAVG; ++ double avg[3] = { 0.0, 0.0, 0.0 }; ++ int i, res = -1; ++ ++ if ((LOADAVG = fopen("/proc/loadavg", "r"))) { ++ fscanf(LOADAVG, "%lf %lf %lf", &avg[0], &avg[1], &avg[2]); ++ res = 0; ++ fclose(LOADAVG); ++ } ++ ++ for (i = 0; (i < nelem) && (i < 3); i++) { ++ list[i] = avg[i]; ++ } ++ ++ return res; ++} ++#endif ++ + int SYSTEM_CPU_NUM(AGENT_REQUEST *request, AGENT_RESULT *result) + { + char *type; diff --git a/community/zabbix/zabbix-proxy.initd b/community/zabbix/zabbix-proxy.initd new file mode 100644 index 0000000000..619596415e --- /dev/null +++ b/community/zabbix/zabbix-proxy.initd @@ -0,0 +1,21 @@ +#!/sbin/openrc-run +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-analyzer/zabbix/files/1.6.6/init.d/zabbix-proxy,v 1.1 2009/10/06 16:24:35 patrick Exp $ + +depend() { + need net + #use mysql postgresql +} + +start() { + ebegin "Starting Zabbix proxy" + start-stop-daemon --start --user zabbix:zabbix --exec /usr/sbin/zabbix_proxy + eend $? +} + +stop() { + ebegin "Stopping Zabbix proxy" + start-stop-daemon --stop --user zabbix --pidfile /var/run/zabbix/zabbix_proxy.pid + eend $? +} diff --git a/community/zabbix/zabbix-server.confd b/community/zabbix/zabbix-server.confd new file mode 100644 index 0000000000..3cc9996400 --- /dev/null +++ b/community/zabbix/zabbix-server.confd @@ -0,0 +1,2 @@ +pidfile="/var/run/zabbix/zabbix_server.pid" +command="/usr/sbin/zabbix_server" diff --git a/community/zabbix/zabbix-server.initd b/community/zabbix/zabbix-server.initd new file mode 100644 index 0000000000..c2697cba4d --- /dev/null +++ b/community/zabbix/zabbix-server.initd @@ -0,0 +1,11 @@ +#!/sbin/openrc-run + +depend() { + need net + use mysql postgresql + after firewall +} + +start_pre() { + checkpath -d -m 0775 -o zabbix:zabbix /var/run/zabbix +} diff --git a/community/zabbix/zabbix.pre-install b/community/zabbix/zabbix.pre-install new file mode 100644 index 0000000000..9cc2bfb908 --- /dev/null +++ b/community/zabbix/zabbix.pre-install @@ -0,0 +1,6 @@ +#!/bin/sh + +addgroup -S zabbix 2>/dev/null +adduser -S -D -H -h /dev/null -s /sbin/nologin -G zabbix -g zabbix zabbix 2>/dev/null + +exit 0 diff --git a/community/zabbix/zabbix_server.conf.patch b/community/zabbix/zabbix_server.conf.patch new file mode 100644 index 0000000000..44c22f114f --- /dev/null +++ b/community/zabbix/zabbix_server.conf.patch @@ -0,0 +1,11 @@ +--- a/conf/zabbix_server.conf ++++ b/conf/zabbix_server.conf +@@ -56,7 +56,7 @@ + # + # Mandatory: no + # Default: +-# PidFile=/tmp/zabbix_server.pid ++PidFile=/tmp/zabbix_server.pid + + ### Option: DBHost + # Database host name. -- cgit v1.2.3