Add z-push 2.2.10 to pkgsrc.

Z-Push is an open-source implementation of the Microsoft ActiveSync protocol.
It can be used to synchronize emails (including push notifications), personal
contacts and calendar items between a central HTTP server and a mobile device.
It supports a wide range of IMAP, CalDAV and CardDAV servers.

It provides a way to push mails to a mobile phone through ActiveSync
including iOS devices.

XXX This requires a specific PHP module from project Zarafa (PHP-MAPI) at
    run time. This will be provided in another package.
This commit is contained in:
jym 2016-06-05 00:02:21 +00:00
parent 1d9426e58a
commit d8759c596e
7 changed files with 367 additions and 0 deletions

4
www/z-push/DESCR Normal file
View file

@ -0,0 +1,4 @@
Z-Push is an open-source implementation of the Microsoft ActiveSync protocol.
It can be used to synchronize emails (including push notifications), personal
contacts and calendar items between a central HTTP server and a mobile device.
It supports a wide range of IMAP, CalDAV and CardDAV servers.

49
www/z-push/MESSAGE Normal file
View file

@ -0,0 +1,49 @@
===========================================================================
$NetBSD: MESSAGE,v 1.1 2016/06/05 00:02:21 jym Exp $
For pkgsrc installations, Z-push is installed with non-default locations:
Z-push directory: ${ZPUSHDIR}
Documentation: ${DOCDIR}
To complete the installation of Z-push, follow these steps:
1. Configure Z-push to use the different servers you want it to support.
The configuration file is extensively documented:
Configuration file: ${PKG_SYSCONFDIR}/config.php
2. You will need to make Z-push accessible through your HTTP server.
If you are running Apache and ap-php, you can use the following file:
${PKG_SYSCONFDIR}/z-push.conf
and add an Include directive directly within Apache configuration:
Include ${PKG_SYSCONFDIR}/z-push.conf
If you are not using Apache:
- make Z-push `index.php' accessible directly through the
URL `/Microsoft-Server-ActiveSync'
- set the following PHP flags for the Z-push directory:
php_flag magic_quotes_gpc off
php_flag register_globals off
php_flag magic_quotes_runtime off
php_flag short_open_tag on
- adjust the owner and group of the following directories to match
the ones corresponding to your webserver:
${ZPUSHSTATEDIR} mode=0750
${ZPUSHLOGDIR} mode=0750
${PKG_SYSCONFDIR}/config.php mode=0640
See Z-push online documentation for further information or refer
to the INSTALL file:
${HOMEPAGE}
${DOCDIR}/INSTALL
===========================================================================

97
www/z-push/Makefile Normal file
View file

@ -0,0 +1,97 @@
# $NetBSD: Makefile,v 1.1 2016/06/05 00:02:21 jym Exp $
#
DISTNAME= z-push-${ZPUSH_VERSION}
ZPUSH_VERSION= 2.2.10
CATEGORIES= www
MASTER_SITES= http://download.z-push.org/final/2.2/
MAINTAINER= jym@NetBSD.org
HOMEPAGE= http://z-push.org/
COMMENT= Open-source ActiveSync server
LICENSE= gnu-agpl-v3
NO_BUILD= yes
ZPUSHDIR= ${PREFIX}/share/z-push
EGDIR= ${PREFIX}/share/examples/z-push
DOCDIR= ${PREFIX}/share/doc/z-push
ZPUSHSTATEDIR= ${VARBASE}/z-push
ZPUSHLOGDIR= ${VARBASE}/log/z-push
BUILD_DEFS= APACHE_USER APACHE_GROUP VARBASE
USE_TOOLS= pax
INSTALLATION_DIRS= ${DOCDIR} ${EGDIR} bin
.include "../../lang/php/phpversion.mk"
DEPENDS+= ${PHP_PKG_PREFIX}-soap>=${PHP_BASE_VERS}:../../net/php-soap
DEPENDS+= ${PHP_PKG_PREFIX}-pcntl>=${PHP_BASE_VERS}:../../devel/php-pcntl
DEPENDS+= ${PHP_PKG_PREFIX}-posix>=${PHP_BASE_VERS}:../../devel/php-posix
DEPENDS+= ${PHP_PKG_PREFIX}-sysvshm>=${PHP_BASE_VERS}:../../devel/php-sysvshm
DEPENDS+= ${PHP_PKG_PREFIX}-sysvsem>=${PHP_BASE_VERS}:../../devel/php-sysvsem
PKG_SYSCONFSUBDIR= z-push
MESSAGE_SUBST+= ZPUSHDIR=${ZPUSHDIR:Q}
MESSAGE_SUBST+= ZPUSHSTATEDIR=${ZPUSHSTATEDIR:Q}
MESSAGE_SUBST+= ZPUSHLOGDIR=${ZPUSHLOGDIR:Q}
MESSAGE_SUBST+= PKG_SYSCONFDIR=${PKG_SYSCONFDIR:Q}
MESSAGE_SUBST+= HOMEPAGE=${HOMEPAGE:Q}
MESSAGE_SUBST+= DOCDIR=${DOCDIR:Q}
OWN_DIRS_PERMS+= ${ZPUSHSTATEDIR} \
${APACHE_USER} ${APACHE_GROUP} 0750
OWN_DIRS_PERMS+= ${ZPUSHLOGDIR} \
${APACHE_USER} ${APACHE_GROUP} 0750
CONF_FILES_PERMS+= ${EGDIR}/config.php ${PKG_SYSCONFDIR}/config.php \
${ROOT_USER} ${APACHE_GROUP} 0640
CONF_FILES_PERMS+= ${EGDIR}/z-push.conf ${PKG_SYSCONFDIR}/z-push.conf \
${ROOT_USER} ${APACHE_GROUP} 0640
REPLACE_INTERPRETER+= php
REPLACE.php.old= .*php
REPLACE.php.new= ${PREFIX}/bin/php
REPLACE_FILES.php= z-push-admin.php
REPLACE_FILES.php+= z-push-top.php
REPLACE_FILES.php+= backend/zarafa/listfolders.php
SUBST_CLASSES+= conf
SUBST_STAGE.conf= pre-configure
SUBST_FILES.conf= ${WRKDIR}/z-push.conf
SUBST_VARS.conf= ZPUSHDIR
SUBST_MESSAGE.conf= Fixing Z-push directory path for apache configuration.
SUBST_CLASSES+= state-dir
SUBST_STAGE.state-dir= pre-configure
SUBST_FILES.state-dir= config.php
SUBST_VARS.state-dir= ZPUSHSTATEDIR
SUBST_MESSAGE.state-dir=Fixing Z-push state directory path.
post-extract:
${CP} ${FILESDIR}/z-push.conf ${WRKDIR}/z-push.conf
do-install:
${INSTALL_DATA} ${WRKSRC}/config.php \
${DESTDIR}${EGDIR}/config.php
${INSTALL_DATA} ${WRKDIR}/z-push.conf \
${DESTDIR}${EGDIR}/z-push.conf
cd ${WRKSRC} && pax -rwpam . ${DESTDIR}${ZPUSHDIR}
. for f in INSTALL LICENSE
${MV} ${DESTDIR}${ZPUSHDIR}/${f} ${DESTDIR}${DOCDIR}
. endfor
${LN} -sf ${ZPUSHDIR}/z-push-top.php \
${DESTDIR}${PREFIX}/bin/z-push-top
${LN} -sf ${ZPUSHDIR}/z-push-admin.php \
${DESTDIR}${PREFIX}/bin/z-push-admin
${LN} -sf ${PKG_SYSCONFDIR}/config.php \
${DESTDIR}${ZPUSHDIR}/config.php
.include "../../lang/php/phpversion.mk"
.include "../../mk/bsd.pkg.mk"

173
www/z-push/PLIST Normal file
View file

@ -0,0 +1,173 @@
@comment $NetBSD: PLIST,v 1.1 2016/06/05 00:02:21 jym Exp $
bin/z-push-admin
bin/z-push-top
share/doc/z-push/INSTALL
share/doc/z-push/LICENSE
share/examples/z-push/config.php
share/examples/z-push/z-push.conf
share/z-push/autodiscover/INSTALL
share/z-push/autodiscover/autodiscover.php
share/z-push/autodiscover/config.php
share/z-push/autodiscover/response.xml
share/z-push/backend/combined/combined.php
share/z-push/backend/combined/config.php
share/z-push/backend/combined/exporter.php
share/z-push/backend/combined/importer.php
share/z-push/backend/imap/config.php
share/z-push/backend/imap/imap.php
share/z-push/backend/maildir/config.php
share/z-push/backend/maildir/maildir.php
share/z-push/backend/searchldap/config.php
share/z-push/backend/searchldap/searchldap.php
share/z-push/backend/vcarddir/config.php
share/z-push/backend/vcarddir/vcarddir.php
share/z-push/backend/zarafa/config.php
share/z-push/backend/zarafa/exporter.php
share/z-push/backend/zarafa/icalparser.php
share/z-push/backend/zarafa/importer.php
share/z-push/backend/zarafa/listfolders.php
share/z-push/backend/zarafa/mapi/class.baseexception.php
share/z-push/backend/zarafa/mapi/class.baserecurrence.php
share/z-push/backend/zarafa/mapi/class.freebusypublish.php
share/z-push/backend/zarafa/mapi/class.mapiexception.php
share/z-push/backend/zarafa/mapi/class.meetingrequest.php
share/z-push/backend/zarafa/mapi/class.recurrence.php
share/z-push/backend/zarafa/mapi/class.taskrecurrence.php
share/z-push/backend/zarafa/mapi/class.taskrequest.php
share/z-push/backend/zarafa/mapi/mapi.util.php
share/z-push/backend/zarafa/mapi/mapicode.php
share/z-push/backend/zarafa/mapi/mapidefs.php
share/z-push/backend/zarafa/mapi/mapiguid.php
share/z-push/backend/zarafa/mapi/mapitags.php
share/z-push/backend/zarafa/mapimapping.php
share/z-push/backend/zarafa/mapiphpwrapper.php
share/z-push/backend/zarafa/mapiprovider.php
share/z-push/backend/zarafa/mapistreamwrapper.php
share/z-push/backend/zarafa/mapiutils.php
share/z-push/backend/zarafa/tnefparser.php
share/z-push/backend/zarafa/zarafa.php
share/z-push/composer.json
share/z-push/config.php
share/z-push/include/mimeDecode.php
share/z-push/include/z_RFC822.php
share/z-push/index.php
share/z-push/lib/core/asdevice.php
share/z-push/lib/core/bodypreference.php
share/z-push/lib/core/changesmemorywrapper.php
share/z-push/lib/core/contentparameters.php
share/z-push/lib/core/devicemanager.php
share/z-push/lib/core/hierarchycache.php
share/z-push/lib/core/interprocessdata.php
share/z-push/lib/core/loopdetection.php
share/z-push/lib/core/pingtracking.php
share/z-push/lib/core/statemanager.php
share/z-push/lib/core/stateobject.php
share/z-push/lib/core/streamer.php
share/z-push/lib/core/streamimporter.php
share/z-push/lib/core/synccollections.php
share/z-push/lib/core/syncparameters.php
share/z-push/lib/core/topcollector.php
share/z-push/lib/core/zlog.php
share/z-push/lib/core/zpush.php
share/z-push/lib/core/zpushdefs.php
share/z-push/lib/default/backend.php
share/z-push/lib/default/diffbackend/diffbackend.php
share/z-push/lib/default/diffbackend/diffstate.php
share/z-push/lib/default/diffbackend/exportchangesdiff.php
share/z-push/lib/default/diffbackend/importchangesdiff.php
share/z-push/lib/default/filestatemachine.php
share/z-push/lib/default/searchprovider.php
share/z-push/lib/default/simplemutex.php
share/z-push/lib/exceptions/authenticationrequiredexception.php
share/z-push/lib/exceptions/exceptions.php
share/z-push/lib/exceptions/fatalexception.php
share/z-push/lib/exceptions/fatalmisconfigurationexception.php
share/z-push/lib/exceptions/fatalnotimplementedexception.php
share/z-push/lib/exceptions/httpreturncodeexception.php
share/z-push/lib/exceptions/nohierarchycacheavailableexception.php
share/z-push/lib/exceptions/nopostrequestexception.php
share/z-push/lib/exceptions/notimplementedexception.php
share/z-push/lib/exceptions/provisioningrequiredexception.php
share/z-push/lib/exceptions/stateinvalidexception.php
share/z-push/lib/exceptions/statenotfoundexception.php
share/z-push/lib/exceptions/statenotyetavailableexception.php
share/z-push/lib/exceptions/statusexception.php
share/z-push/lib/exceptions/syncobjectbrokenexception.php
share/z-push/lib/exceptions/wbxmlexception.php
share/z-push/lib/exceptions/zpushexception.php
share/z-push/lib/interface/ibackend.php
share/z-push/lib/interface/ichanges.php
share/z-push/lib/interface/iexportchanges.php
share/z-push/lib/interface/iimportchanges.php
share/z-push/lib/interface/isearchprovider.php
share/z-push/lib/interface/istatemachine.php
share/z-push/lib/request/folderchange.php
share/z-push/lib/request/foldersync.php
share/z-push/lib/request/getattachment.php
share/z-push/lib/request/gethierarchy.php
share/z-push/lib/request/getitemestimate.php
share/z-push/lib/request/itemoperations.php
share/z-push/lib/request/meetingresponse.php
share/z-push/lib/request/moveitems.php
share/z-push/lib/request/notify.php
share/z-push/lib/request/ping.php
share/z-push/lib/request/provisioning.php
share/z-push/lib/request/request.php
share/z-push/lib/request/requestprocessor.php
share/z-push/lib/request/resolverecipients.php
share/z-push/lib/request/search.php
share/z-push/lib/request/sendmail.php
share/z-push/lib/request/settings.php
share/z-push/lib/request/sync.php
share/z-push/lib/request/validatecert.php
share/z-push/lib/syncobjects/syncappointment.php
share/z-push/lib/syncobjects/syncappointmentexception.php
share/z-push/lib/syncobjects/syncattachment.php
share/z-push/lib/syncobjects/syncattendee.php
share/z-push/lib/syncobjects/syncbaseattachment.php
share/z-push/lib/syncobjects/syncbasebody.php
share/z-push/lib/syncobjects/synccontact.php
share/z-push/lib/syncobjects/syncdeviceinformation.php
share/z-push/lib/syncobjects/syncdevicepassword.php
share/z-push/lib/syncobjects/syncfolder.php
share/z-push/lib/syncobjects/syncitemoperationsattachment.php
share/z-push/lib/syncobjects/syncmail.php
share/z-push/lib/syncobjects/syncmailflags.php
share/z-push/lib/syncobjects/syncmeetingrequest.php
share/z-push/lib/syncobjects/syncmeetingrequestrecurrence.php
share/z-push/lib/syncobjects/syncnote.php
share/z-push/lib/syncobjects/syncobject.php
share/z-push/lib/syncobjects/syncoof.php
share/z-push/lib/syncobjects/syncoofmessage.php
share/z-push/lib/syncobjects/syncprovisioning.php
share/z-push/lib/syncobjects/syncrecurrence.php
share/z-push/lib/syncobjects/syncresolverecipient.php
share/z-push/lib/syncobjects/syncresolverecipients.php
share/z-push/lib/syncobjects/syncresolverecipientsavailability.php
share/z-push/lib/syncobjects/syncresolverecipientscertificates.php
share/z-push/lib/syncobjects/syncresolverecipientsoptions.php
share/z-push/lib/syncobjects/syncresolverecipientspicture.php
share/z-push/lib/syncobjects/syncsendmail.php
share/z-push/lib/syncobjects/syncsendmailsource.php
share/z-push/lib/syncobjects/synctask.php
share/z-push/lib/syncobjects/synctaskrecurrence.php
share/z-push/lib/syncobjects/syncuserinformation.php
share/z-push/lib/syncobjects/syncvalidatecert.php
share/z-push/lib/utils/compat.php
share/z-push/lib/utils/stringstreamwrapper.php
share/z-push/lib/utils/timezoneutil.php
share/z-push/lib/utils/utils.php
share/z-push/lib/utils/zpushadmin.php
share/z-push/lib/wbxml/replacenullcharfilter.php
share/z-push/lib/wbxml/wbxmldecoder.php
share/z-push/lib/wbxml/wbxmldefs.php
share/z-push/lib/wbxml/wbxmlencoder.php
share/z-push/lib/webservice/webservice.php
share/z-push/lib/webservice/webservicedevice.php
share/z-push/lib/webservice/webserviceusers.php
share/z-push/tools/dev/printwbxml.php
share/z-push/tools/fix-meetings-2.0.8+2.1.0-ios7.py
share/z-push/tools/migrate-2.0.x-2.1.0.php
share/z-push/version.php
share/z-push/z-push-admin.php
share/z-push/z-push-top.php

7
www/z-push/distinfo Normal file
View file

@ -0,0 +1,7 @@
$NetBSD: distinfo,v 1.1 2016/06/05 00:02:21 jym Exp $
SHA1 (z-push-2.2.10.tar.gz) = 7114fa8500e2b7e88206274ce9399939999047e1
RMD160 (z-push-2.2.10.tar.gz) = c489151ae24268192d522cd448c01f3e43463f33
SHA512 (z-push-2.2.10.tar.gz) = c7bd33844d3c9014074a54bb5287dbb394a8dca2d12c16ee3a579c2e8380e2d458fc78e848abcddbf703cda19b0d461b0102aafe154c1e1c1a277f45e1757515
Size (z-push-2.2.10.tar.gz) = 468698 bytes
SHA1 (patch-config.php) = d580422b5341e4eb86771ce40f28db80e9878501

View file

@ -0,0 +1,15 @@
# Respect the URL as specified in the Alias to make ActiveSync working
# properly with your devices.
Alias /Microsoft-Server-ActiveSync "@ZPUSHDIR@/index.php"
<Directory "@ZPUSHDIR@">
Options -Indexes
AllowOverride None
Order allow,deny
allow from all
php_flag magic_quotes_gpc off
php_flag register_globals off
php_flag magic_quotes_runtime off
php_flag short_open_tag on
</Directory>

View file

@ -0,0 +1,22 @@
$NetBSD: patch-config.php,v 1.1 2016/06/05 00:02:21 jym Exp $
Use the correct path for the Z-push state directory.
--- config.php.orig 2016-05-04 23:37:41.000000000 +0000
+++ config.php
@@ -72,7 +72,7 @@
/**********************************************************************************
* Default FileStateMachine settings
*/
- define('STATE_DIR', '/var/lib/z-push/');
+ define('STATE_DIR', '@ZPUSHSTATEDIR@');
/**********************************************************************************
@@ -282,4 +282,4 @@
*/
);
-?>
\ No newline at end of file
+?>