Hi, attached patch updates to 5.5-rc3.
Mostly some compilation and small runtime fixes. Major change is dropped support for Apache 1.3, but therefore added support for Apache 2.4. Tested and works for me with Apache 2.4. If there are no objections, I'd update by the end of the week. Otherwise comments and or OKs welcome too ;) cheers, Sebastian
Index: Makefile =================================================================== RCS file: /cvs/ports/www/opengroupware/Makefile,v retrieving revision 1.10 diff -u -r1.10 Makefile --- Makefile 26 Oct 2015 11:56:13 -0000 1.10 +++ Makefile 8 Dec 2015 19:27:25 -0000 @@ -2,8 +2,7 @@ COMMENT = web based groupware server -VERSION = 5.5rc2 -REVISION= 7 +VERSION = 5.5rc3 DISTNAME = opengroupware-${VERSION} SHARED_LIBS += LSAddress 0.0 # 5.5 @@ -43,14 +42,12 @@ WANTLIB += NGObjWeb NGStreams SaxObjC WEExtensions WOExtensions WANTLIB += XmlRpc ldap -MODULES = apache-module x11/gnustep converters/libiconv +MODULES = x11/gnustep converters/libiconv MODGNUSTEP_NEEDS_GUI = No -MODAPACHE_NAME = ngobjweb -MODAPACHE_LOCATION = ${WRKBUILD}/SOPE/mod_ngobjweb - +BUILD_DEPENDS += www/apache-httpd LIB_DEPENDS += www/sope RUN_DEPENDS += sope-postgres-*|sope-mysql-*:www/sope,-postgres \ - archivers/zip archivers/unzip + archivers/zip archivers/unzip www/apache-httpd CONFIGURE_STYLE = simple dest CONFIGURE_ARGS += --prefix=${PREFIX} @@ -80,23 +77,23 @@ libZSProjects_INTERFACE_VERSION=${LIBZSProjects_VERSION} \ libZSTasks_INTERFACE_VERSION=${LIBZSTasks_VERSION} \ libOGoAsteriskCommands_INTERFACE_VERSION=${LIBOGoAsteriskCommands_VERSION} \ - libSkyInvoice_INTERFACE_VERSION=${LIBSkyInvoice_VERSION} + libSkyInvoice_INTERFACE_VERSION=${LIBSkyInvoice_VERSION} \ + APXS=${LOCALBASE}/sbin/apxs2 \ + APR=${LOCALBASE}/bin/apr-1-config EXAMPLE_FILES = opengroupware.conf NSGlobalDomain.plist ogo-webui.plist \ ogo-zidestore.plist ogo-xmlrpcd.plist SUBST_VARS += VARBASE -post-build: - ${MODAPACHE_CREATE_ENABLE_SCRIPT} - post-install: mkdir -p ${PREFIX}/share/examples/opengroupware .for F in ${EXAMPLE_FILES} ${SUBST_DATA} \ ${FILESDIR}/${F} ${PREFIX}/share/examples/opengroupware/${F} .endfor - ${MODAPACHE_INSTALL} + ${INSTALL_DATA_DIR} ${PREFIX}/lib/apache2 + mv ${PREFIX}/lib/mod_ngobjweb.so ${PREFIX}/lib/apache2 cp ${WRKSRC}/Database/PostgreSQL/pg-update-1.x-to-5.5.psql \ ${PREFIX}/lib/opengroupware/commands/OGo.model/Resources/ Index: distinfo =================================================================== RCS file: /cvs/ports/www/opengroupware/distinfo,v retrieving revision 1.1.1.1 diff -u -r1.1.1.1 distinfo --- distinfo 29 Oct 2013 06:16:26 -0000 1.1.1.1 +++ distinfo 8 Dec 2015 19:27:25 -0000 @@ -1,2 +1,2 @@ -SHA256 (opengroupware-5.5rc2.tar.gz) = bllauvlna79algLhWv4rEHfmTv+qJraQVYdc++jXn/c= -SIZE (opengroupware-5.5rc2.tar.gz) = 9047108 +SHA256 (opengroupware-5.5rc3.tar.gz) = GcrZ/+qs630uhz0EgvsUIlfMME1jCK8iBnhNfF6CP2s= +SIZE (opengroupware-5.5rc3.tar.gz) = 9023582 Index: files/opengroupware.conf =================================================================== RCS file: /cvs/ports/www/opengroupware/files/opengroupware.conf,v retrieving revision 1.1.1.1 diff -u -r1.1.1.1 opengroupware.conf --- files/opengroupware.conf 29 Oct 2013 06:16:37 -0000 1.1.1.1 +++ files/opengroupware.conf 8 Dec 2015 19:27:25 -0000 @@ -1,4 +1,4 @@ -<IfModule ngobjweb_module.c> +<IfModule ngobjweb_module> <LocationMatch "^/OpenGroupware55*"> SetHandler NONE </LocationMatch> Index: patches/patch-SOPE_mod_ngobjweb_ngobjweb_module_c =================================================================== RCS file: patches/patch-SOPE_mod_ngobjweb_ngobjweb_module_c diff -N patches/patch-SOPE_mod_ngobjweb_ngobjweb_module_c --- patches/patch-SOPE_mod_ngobjweb_ngobjweb_module_c 17 Oct 2014 09:21:09 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,54 +0,0 @@ -$OpenBSD: patch-SOPE_mod_ngobjweb_ngobjweb_module_c,v 1.1 2014/10/17 09:21:09 sebastia Exp $ - -proposed fix for bug 88 - ---- SOPE/mod_ngobjweb/ngobjweb_module.c.orig Wed Feb 6 18:38:08 2013 -+++ SOPE/mod_ngobjweb/ngobjweb_module.c Tue Jul 23 17:19:20 2013 -@@ -21,6 +21,39 @@ - - #include "common.h" - -+#ifdef APACHE2 -+static const command_rec ngobjweb_cmds[] = { -+ AP_INIT_TAKE1( -+ "SetSNSPort", -+ ngobjweb_set_sns_port, -+ NULL, -+ OR_FILEINFO, -+ "the path of the Unix domain address to use (eg /tmp/.snsd)" -+ ), -+ AP_INIT_TAKE1( -+ "SetAppPort", -+ ngobjweb_set_app_port, -+ NULL, -+ OR_FILEINFO, -+ "the path of the Unix domain address to use (eg /tmp/.snsd)" -+ ), -+ AP_INIT_TAKE1( -+ "SetAppPrefix", -+ ngobjweb_set_app_prefix, -+ NULL, -+ OR_FILEINFO, -+ "any prefix that is before the app name (eg /MyDir with /MyDir/MyApp.woa)" -+ ), -+ AP_INIT_TAKE1( -+ "SNSUseHTTP", -+ ngobjweb_set_use_http, -+ NULL, -+ OR_FILEINFO, -+ "use HTTP protocol to query snsd (on,off) ?" -+ ), -+ {NULL} -+}; -+#else - static command_rec ngobjweb_cmds[] = { - { - "SetSNSPort", -@@ -56,6 +89,7 @@ static command_rec ngobjweb_cmds[] = { - }, - { NULL } - }; -+#endif - - #ifdef AP_VERSION_1 - static handler_rec ngobjweb_handlers[] = { Index: patches/patch-WebUI_Common_OGoUIElements_SkyCalendarScript_m =================================================================== RCS file: patches/patch-WebUI_Common_OGoUIElements_SkyCalendarScript_m diff -N patches/patch-WebUI_Common_OGoUIElements_SkyCalendarScript_m --- patches/patch-WebUI_Common_OGoUIElements_SkyCalendarScript_m 17 Oct 2014 09:21:09 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,12 +0,0 @@ -$OpenBSD: patch-WebUI_Common_OGoUIElements_SkyCalendarScript_m,v 1.1 2014/10/17 09:21:09 sebastia Exp $ ---- WebUI/Common/OGoUIElements/SkyCalendarScript.m.orig Sun Jun 15 08:16:00 2014 -+++ WebUI/Common/OGoUIElements/SkyCalendarScript.m Sun Jun 15 08:16:28 2014 -@@ -80,7 +80,7 @@ static NSNumber *yesNum = nil; - /* generating response */ - - - (void)appendToResponse:(WOResponse *)_response inContext:(WOContext *)_ctx { -- if ([[_ctx valueForKey:@"SkyCalendarScriptIncluded"] boolValue]) -+ if ([[_ctx objectForKey:@"SkyCalendarScriptIncluded"] boolValue]) - return; - - [super appendToResponse:_response inContext:_ctx]; Index: patches/patch-WebUI_Scheduler_LSWScheduler_LSWAppointmentProposal_m =================================================================== RCS file: patches/patch-WebUI_Scheduler_LSWScheduler_LSWAppointmentProposal_m diff -N patches/patch-WebUI_Scheduler_LSWScheduler_LSWAppointmentProposal_m --- patches/patch-WebUI_Scheduler_LSWScheduler_LSWAppointmentProposal_m 17 Oct 2014 09:21:09 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,15 +0,0 @@ -$OpenBSD: patch-WebUI_Scheduler_LSWScheduler_LSWAppointmentProposal_m,v 1.1 2014/10/17 09:21:09 sebastia Exp $ - -fix exception, compatibility with sope-2.2.5 - ---- WebUI/Scheduler/LSWScheduler/LSWAppointmentProposal.m.orig Wed May 7 19:15:52 2014 -+++ WebUI/Scheduler/LSWScheduler/LSWAppointmentProposal.m Wed May 7 19:16:52 2014 -@@ -153,7 +153,7 @@ static inline NSDictionary *_getTimeEntry(LSWAppointme - NSTimeZone *tz; - NSString *tzA; - -- if ((tz = [[self context] valueForKey:@"SkySchedulerTimeZone"]) == nil) -+ if ((tz = [[self context] objectForKey:@"SkySchedulerTimeZone"]) == nil) - tz = [[self session] timeZone]; - - self->timeZone = [tz retain]; Index: patches/patch-WebUI_Scheduler_LSWScheduler_LSWAppointmentViewer_m =================================================================== RCS file: patches/patch-WebUI_Scheduler_LSWScheduler_LSWAppointmentViewer_m diff -N patches/patch-WebUI_Scheduler_LSWScheduler_LSWAppointmentViewer_m --- patches/patch-WebUI_Scheduler_LSWScheduler_LSWAppointmentViewer_m 17 Oct 2014 09:21:09 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,15 +0,0 @@ -$OpenBSD: patch-WebUI_Scheduler_LSWScheduler_LSWAppointmentViewer_m,v 1.1 2014/10/17 09:21:09 sebastia Exp $ - -compatibility fix to sope-2.2.5 - ---- WebUI/Scheduler/LSWScheduler/LSWAppointmentViewer.m.orig Sun Jun 15 08:21:43 2014 -+++ WebUI/Scheduler/LSWScheduler/LSWAppointmentViewer.m Sun Jun 15 08:22:04 2014 -@@ -497,7 +497,7 @@ static NSString *_personName(id self, id _person) { - type:_type configuration:_cmdCfg]) - return NO; - -- if ((tz = [[self context] valueForKey:@"SkySchedulerTimeZone"]) == nil) -+ if ((tz = [[self context] objectForKey:@"SkySchedulerTimeZone"]) == nil) - tz = [[self session] timeZone]; - - self->timeZone = [tz retain]; Index: patches/patch-WebUI_Scheduler_OGoSchedulerViews_SkyMonthRepetition_m =================================================================== RCS file: patches/patch-WebUI_Scheduler_OGoSchedulerViews_SkyMonthRepetition_m diff -N patches/patch-WebUI_Scheduler_OGoSchedulerViews_SkyMonthRepetition_m --- patches/patch-WebUI_Scheduler_OGoSchedulerViews_SkyMonthRepetition_m 17 Oct 2014 09:21:09 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,69 +0,0 @@ -$OpenBSD: patch-WebUI_Scheduler_OGoSchedulerViews_SkyMonthRepetition_m,v 1.1 2014/10/17 09:21:09 sebastia Exp $ - -fix exception entering calendar month view tab - ---- WebUI/Scheduler/OGoSchedulerViews/SkyMonthRepetition.m.orig Wed May 7 15:48:31 2014 -+++ WebUI/Scheduler/OGoSchedulerViews/SkyMonthRepetition.m Wed May 7 19:09:33 2014 -@@ -259,7 +259,7 @@ _takeValuesInCell(SkyMonthRepetition *self, WORequest - forKey:@"SkyMonthRepetition"]; - [self->template appendToResponse:_response inContext:_ctx]; - -- queryE = [[[_ctx valueForKey:@"SkyMonthRepetition"] valueForKey:@"query"] -+ queryE = [[[_ctx objectForKey:@"SkyMonthRepetition"] objectForKey:@"query"] - objectEnumerator]; - - while ((orient = [queryE nextObject]) != nil) { -@@ -601,7 +601,7 @@ _takeValuesInCell(SkyMonthRepetition *self, WORequest - orient = [self->orientation valueInComponent:[_ctx component]]; - isEdge = [orient rangeOfString:@"/"].length > 0; - -- op = [_ctx valueForKey:@"SkyMonthRepetition"]; -+ op = [_ctx objectForKey:@"SkyMonthRepetition"]; - if ((tmp = [op objectForKey:orient]) == nil) - return; - -@@ -624,7 +624,7 @@ _takeValuesInCell(SkyMonthRepetition *self, WORequest - orient = [self->orientation valueInComponent:[_ctx component]]; - isEdge = [orient rangeOfString:@"/"].length > 0; - -- op = [_ctx valueForKey:@"SkyMonthRepetition"]; -+ op = [_ctx objectForKey:@"SkyMonthRepetition"]; - if ((tmp = [op objectForKey:orient]) == nil) - return nil; - -@@ -665,7 +665,7 @@ _takeValuesInCell(SkyMonthRepetition *self, WORequest - orient = [self->orientation valueInComponent:[_ctx component]]; - isEdge = [orient rangeOfString:@"/"].length > 0; - -- op = [_ctx valueForKey:@"SkyMonthRepetition"]; -+ op = [_ctx objectForKey:@"SkyMonthRepetition"]; - if ((tmp = [op objectForKey:@"query"])) { - [tmp addObject:orient]; - } -@@ -738,7 +738,7 @@ _takeValuesInCell(SkyMonthRepetition *self, WORequest - NSDictionary *op; - id tmp; - -- op = [_ctx valueForKey:@"SkyMonthRepetition"]; -+ op = [_ctx objectForKey:@"SkyMonthRepetition"]; - if ((tmp = [op objectForKey:@"cell"]) != nil) - [self->template takeValuesFromRequest:_req inContext:_ctx]; - } -@@ -747,7 +747,7 @@ _takeValuesInCell(SkyMonthRepetition *self, WORequest - NSDictionary *op; - id tmp; - -- op = [_ctx valueForKey:@"SkyMonthRepetition"]; -+ op = [_ctx objectForKey:@"SkyMonthRepetition"]; - if ((tmp = [op objectForKey:@"cell"]) == nil) - return nil; - -@@ -760,7 +760,7 @@ _takeValuesInCell(SkyMonthRepetition *self, WORequest - NSDictionary *op; - id tmp; - -- op = [_ctx valueForKey:@"SkyMonthRepetition"]; -+ op = [_ctx objectForKey:@"SkyMonthRepetition"]; - if ((tmp = [op objectForKey:@"query"])) { - [tmp addObject:@"cell"]; - return; Index: patches/patch-WebUI_Templates_OGoSchedulerViews_SkyInlineDayOverview_html =================================================================== RCS file: patches/patch-WebUI_Templates_OGoSchedulerViews_SkyInlineDayOverview_html diff -N patches/patch-WebUI_Templates_OGoSchedulerViews_SkyInlineDayOverview_html --- patches/patch-WebUI_Templates_OGoSchedulerViews_SkyInlineDayOverview_html 17 Oct 2014 09:21:09 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,15 +0,0 @@ -$OpenBSD: patch-WebUI_Templates_OGoSchedulerViews_SkyInlineDayOverview_html,v 1.1 2014/10/17 09:21:09 sebastia Exp $ - -load printing dialog - ---- WebUI/Templates/OGoSchedulerViews/SkyInlineDayOverview.html.orig Wed May 7 19:32:48 2014 -+++ WebUI/Templates/OGoSchedulerViews/SkyInlineDayOverview.html Wed May 7 19:33:05 2014 -@@ -2,7 +2,7 @@ - <html> - <head><title><#DayTitle /></title></head> - -- <body bgcolor="white" text="black"> -+ <body bgcolor="white" text="black" onload="javascript:window.print()"> - <table border="1" cellpadding="5" width="100%" cellspacing="0"> - <tr> - <td align="center" colspan="2"> Index: pkg/PLIST =================================================================== RCS file: /cvs/ports/www/opengroupware/pkg/PLIST,v retrieving revision 1.1.1.1 diff -u -r1.1.1.1 PLIST --- pkg/PLIST 29 Oct 2013 06:16:37 -0000 1.1.1.1 +++ pkg/PLIST 8 Dec 2015 19:27:25 -0000 @@ -23,9 +23,9 @@ @bin bin/ogo-vcard-get @bin bin/ogo-vcard-put @bin bin/ogo_install_sieve +@bin bin/ogoaptnotify @bin bin/ogoasterisk @bin bin/sky_send_bulk_messages -@bin bin/skyaptnotify include/LSFoundation/ include/LSFoundation/EODatabaseChannel+LSAdditions.h include/LSFoundation/EOSQLQualifier+LS.h @@ -282,6 +282,7 @@ lib/GNUstep/Bundles/AsteriskDialer.cti/Resources/bundle-info.plist lib/GNUstep/Bundles/AsteriskDialer.cti/bundle-info.plist lib/GNUstep/Bundles/AsteriskDialer.cti/stamp.make +lib/apache2/mod_ngobjweb.so @lib lib/libLSAddress.so.${LIBLSAddress_VERSION} @lib lib/libLSFoundation.so.${LIBLSFoundation_VERSION} @lib lib/libLSSearch.so.${LIBLSSearch_VERSION} @@ -306,7 +307,6 @@ @lib lib/libZSFrontend.so.${LIBZSFrontend_VERSION} @lib lib/libZSProjects.so.${LIBZSProjects_VERSION} @lib lib/libZSTasks.so.${LIBZSTasks_VERSION} -lib/${MODAPACHE_MODULE} lib/opengroupware/ lib/opengroupware/commands/ lib/opengroupware/commands/LSAccount.cmd/ @@ -852,7 +852,6 @@ lib/zidestore/zOGI.zsp/bundle-info.plist lib/zidestore/zOGI.zsp/stamp.make @bin lib/zidestore/zOGI.zsp/zOGI -sbin/${MODAPACHE_ENABLE} @bin sbin/ogo-webui @bin sbin/ogo-xmlrpcd @bin sbin/ogo-zidestore Index: pkg/README =================================================================== RCS file: /cvs/ports/www/opengroupware/pkg/README,v retrieving revision 1.5 diff -u -r1.5 README --- pkg/README 5 Oct 2015 11:20:57 -0000 1.5 +++ pkg/README 8 Dec 2015 19:27:25 -0000 @@ -10,15 +10,12 @@ The system user and group intended to run the OpenGroupware application server is called _opengroupware. The users home directory is ${VARBASE}/opengroupware. -OpenGroupware with apache-httpd-openbsd -======================================= +OpenGroupware with apache-httpd +=============================== -OpenGroupware requires the mod_ngobjweb module used with Apache. The one -that comes with the OpenGroupware package is built against apache-httpd-openbsd -package, which is based on Apache 1.3. Since the httpd 1.3 configuration is -slightly different than the Apache 2 configuration explained in the OGo WIKI, -here is an example. It's assumed that the httpd and OGo run on the same host. -The httpd listens on port 80, and OGo is listening on its default port 20000. +OpenGroupware requires the mod_ngobjweb module used with Apache2. The one +that comes with the OpenGroupware package is built against apache-httpd +package. Per default the web server runs in a chroot environment. Therefore you have to copy some files into the server's chroot environment: @@ -27,14 +24,19 @@ # cp -R ${TRUEPREFIX}/share/opengroupware/www \ ${VARBASE}/www/htdocs/OpenGroupware55.woa/WebServerResources -The web server needs the ngobjweb Apache module loaded. Enable it -by running: +The web server needs the ngobjweb Apache module loaded. The following line +need to be added to ${SYSCONFDIR}/apache2/httpd2.conf: -# ${TRUEPREFIX}/sbin/mod_ngobjweb-enable +LoadModule ngobjweb_module ${PREFIX}/lib/apache2/ngobjweb_module.so A sample configuration is installed as example -# cp ${TRUEPREFIX}/share/examples/opengroupware/opengroupware.conf ${VARBASE}/www/conf/modules -# rcctl restart apache +# cp ${TRUEPREFIX}/share/examples/opengroupware/opengroupware.conf ${SYSCONFDIR}/etc/apache2/extra + +Enable the loading of that file in ${SYSCONFDIR}/apache2/httpd2.conf: +Include ${SYSCONFDIR}/extra/opengroupware.conf + +Then restart apache to make the changes effective +# rcctl restart apache2 OpenGroupware configuration example ===================================