Monday, May 28, 2018

Re: [update] davical & awl [was: www/awl needs update to work with PHP 7, breaks productivity/davical]

On 18-05-28 12:54:43, Stuart Henderson wrote:
> On 2018/05/28 12:26, viq wrote:
> > On Sun, 27 May 2018, 22:17 Landry Breuil, <landry@openbsd.org> wrote:
> >
> > > On Sun, May 27, 2018 at 10:01:22PM +0200, Landry Breuil wrote:
> > > > On Sun, May 27, 2018 at 09:56:25PM +0200, Landry Breuil wrote:
> > > > > On Sun, May 27, 2018 at 09:41:26PM +0200, viq wrote:
> > > > > > On Sun, May 27, 2018 at 10:19 AM, Landry Breuil <landry@openbsd.org>
> > > wrote:
> > > > > >
> > > > > > > On Sun, May 27, 2018 at 09:59:49AM +0200, viq wrote:
> > > > > > > > Currently davical is broken with PHP 7 due to old version of AWL
> > > that
> > > > > > > > doesn't work there.
> > > > > > > > I'll try and cook up an update, but feel free to beat me to it ;)
> > > > > > >
> > > > > > > Per https://gitlab.com/davical-project/awl/blob/master/ChangeLog
> > > there's
> > > > > > > been some php7 changes, how 'broken' is davical ?
> > > > > > >
> > > > > >
> > > > > > Getting 408 and following error:
> > > > > > PHP message: PHP Fatal error: 'break' not in the 'loop' or 'switch'
> > > > > > context in /awl/inc/AwlQuery.php on line 261
> > > > > > and sync clients don't work, so "very".
> > > > > >
> > > > > >
> > > > > > > https://gitlab.com/davical-project/awl/issues/11 ? one of
> > > > > > > https://gitlab.com/davical-project/awl/issues ?
> > > > > >
> > > > > >
> > > > > > This specific error seems to be addressed by
> > > > > > https://gitlab.com/davical-project/awl/merge_requests/6
> > > > >
> > > > > Good, so a first shot would be to update to 0.56 as it contains this
> > > MR,
> > > > > and then eventually updating awk & davical together in a second time.
> > > >
> > > > Oh well according to
> > > >
> > > https://gitlab.com/davical-project/davical/commit/348532e13b8a8377aa069bdd1cb98eb5d9f00da9
> > > > davical needs an update too to work with php7. Blarf.
> > >
> > > So here are two quick diffs, totally untested yet, but cant be worse
> > > than being broken with php 7.
> > >
> >
> > I may have gotten rusty, but those diffs fail to apply for me.
> >
> > >
>
> Ha, how old was the tree you diffed from Landry?! :-)
>
> Here it is rebased against -current

This applies, builds and updates. Calendar programs (gnome-calendar,
DAVdriod) seem to sync.

It wanted to update schema, took me a moment to figure out that I need
to run again
psql -U davical_dba -f /var/www/davical/dba/davical.sql davical
before running the /var/www/davical/dba/update-davical-database script.

One rather unrelated but puzzling issue is that I keep getting 404 for
all web resources (css, js) with following httpd config:
server "cal.example.com" {
listen on $ext_addr port 80
block return 301 "https://cal.example.com$REQUEST_URI"
location "/.well-known/acme-challenge/*" {
root "/acme"
root strip 2
pass
}
}

server "cal.example.com" {
listen on $ext_addr tls port 443

tls certificate "/etc/ssl/cal.example.com.fullchain.pem"
tls key "/etc/ssl/private/cal.example.com.key"
hsts

log { access "davical-access.log", error "davical-error.log" }

connection { max requests 500, timeout 3600 }
location "/" { directory index index.php }
location "/*.php*" {
fastcgi socket "/run/php-fpm.sock"
root "/davical/htdocs"
}
}


> Index: productivity/davical/Makefile
> ===================================================================
> RCS file: /cvs/ports/productivity/davical/Makefile,v
> retrieving revision 1.20
> diff -u -p -r1.20 Makefile
> --- productivity/davical/Makefile 22 May 2018 08:18:08 -0000 1.20
> +++ productivity/davical/Makefile 28 May 2018 11:54:02 -0000
> @@ -1,38 +1,36 @@
> -# $OpenBSD: Makefile,v 1.20 2018/05/22 08:18:08 sthen Exp $
> +# $OpenBSD: Makefile,v 1.19 2017/03/24 18:29:37 landry Exp $
>
> COMMENT = CalDAV/CardDav calendar/contacts server
>
> -GITLAB_PROJECT = davical
> -GITLAB_ACCOUNT = davical-project
> -GITLAB_TAG = r1.1.3.1
> -DISTNAME = ${GITLAB_PROJECT}-${GITLAB_TAG:S/r//}
> +DISTNAME = davical_1.1.7.orig
> +PKGNAME = davical-1.1.7
> +EXTRACT_SUFX = .tar.xz
> CATEGORIES = productivity net
> -REVISION = 4
>
> HOMEPAGE = http://www.davical.org/
> +MASTER_SITES = https://www.davical.org/downloads/
>
> MAINTAINER = Landry Breuil <landry@openbsd.org>
>
> # GPLv2+
> PERMIT_PACKAGE_CDROM = Yes
>
> -MASTER_SITES = https://rhaalovely.net/stuff/
> -
> +WRKSRC= ${WRKDIR}
> MODULES = lang/php
> PREFIX = ${VARBASE}/www
> INSTDIR = ${PREFIX}/davical
> -WRKDIST = ${WRKDIR}/${GITLAB_PROJECT}.git
> TINSTDIR = ${TRUEPREFIX}/davical
>
> SUBST_VARS = TINSTDIR
>
> RUN_DEPENDS += lang/php/${MODPHP_VERSION},-curl \
> lang/php/${MODPHP_VERSION},-pdo_pgsql \
> - www/awl>=0.55 \
> + www/awl>=0.59 \
> devel/p5-YAML \
> databases/p5-DBD-Pg
>
> NO_BUILD = Yes
> +# some tests but makefile need patching
> NO_TEST = Yes
> PKG_ARCH = *
>
> Index: productivity/davical/distinfo
> ===================================================================
> RCS file: /cvs/ports/productivity/davical/distinfo,v
> retrieving revision 1.3
> diff -u -p -r1.3 distinfo
> --- productivity/davical/distinfo 23 Nov 2014 08:48:27 -0000 1.3
> +++ productivity/davical/distinfo 28 May 2018 11:54:02 -0000
> @@ -1,2 +1,2 @@
> -SHA256 (davical-1.1.3.1.tar.gz) = RDnC3wBSJBtlxh608LEMQG2Tr9ZaXMa1I7WXwKewXBU=
> -SIZE (davical-1.1.3.1.tar.gz) = 3031220
> +SHA256 (davical_1.1.7.orig.tar.xz) = 6Uq5XeQ+7csiOTfMApcUf6ccx/gotskJEEuk3JuoJas=
> +SIZE (davical_1.1.7.orig.tar.xz) = 1347368
> Index: productivity/davical/pkg/PLIST
> ===================================================================
> RCS file: /cvs/ports/productivity/davical/pkg/PLIST,v
> retrieving revision 1.5
> diff -u -p -r1.5 PLIST
> --- productivity/davical/pkg/PLIST 30 Dec 2015 10:01:25 -0000 1.5
> +++ productivity/davical/pkg/PLIST 28 May 2018 11:54:02 -0000
> @@ -3,17 +3,15 @@ davical/
> davical/INSTALL
> davical/README
> davical/config/
> -davical/config/.gitignore
> davical/config/apache-davical.conf
> davical/config/debug-config.php
> davical/config/example-administration.yml
> davical/config/example-config.php
> @sample davical/config/config.php
> -davical/config/imap_pam_conf_php.txt
> davical/config/other-config.php
> davical/davical.conf
> -@sample /var/www/conf/modules.sample/
> -@sample /var/www/conf/modules.sample/davical.conf
> +@sample ${PREFIX}/conf/modules.sample/
> +@sample ${PREFIX}/conf/modules.sample/davical.conf
> davical/dba/
> davical/dba/appuser_permissions.txt
> davical/dba/base-data.sql
> @@ -39,6 +37,7 @@ davical/dba/patches/1.2.1.sql
> davical/dba/patches/1.2.10.sql
> davical/dba/patches/1.2.10a.sql
> davical/dba/patches/1.2.11.sql
> +davical/dba/patches/1.2.12.sql
> davical/dba/patches/1.2.1a.sql
> davical/dba/patches/1.2.1b.sql
> davical/dba/patches/1.2.2.sql
> @@ -50,6 +49,8 @@ davical/dba/patches/1.2.6.sql
> davical/dba/patches/1.2.7.sql
> davical/dba/patches/1.2.8.sql
> davical/dba/patches/1.2.9.sql
> +davical/dba/patches/1.3.1.sql
> +davical/dba/patches/1.3.2.sql
> davical/dba/rrule_functions-8.1.sql
> davical/dba/rrule_functions.sql
> davical/dba/rrule_tests.sql
> @@ -60,7 +61,6 @@ davical/dba/views/dav_principal.sql
> davical/dba/windows/
> davical/dba/windows/create-database.bat
> davical/htdocs/
> -davical/htdocs/.gitignore
> davical/htdocs/.htaccess
> davical/htdocs/admin.php
> davical/htdocs/always.php
> @@ -79,6 +79,7 @@ davical/htdocs/images/up.gif
> davical/htdocs/index.php
> davical/htdocs/js/
> davical/htdocs/js/browse.js
> +davical/htdocs/metrics.php
> davical/htdocs/public.php
> davical/htdocs/robots.txt
> davical/htdocs/setup.php
> @@ -86,7 +87,6 @@ davical/htdocs/tools.php
> davical/htdocs/tz.php
> davical/htdocs/upgrade.php
> davical/inc/
> -davical/inc/.gitignore
> davical/inc/AtomFeed.php
> davical/inc/CalDAVRequest.php
> davical/inc/DAVPrincipal.php
> @@ -96,7 +96,6 @@ davical/inc/DAViCalSession.php
> davical/inc/HTTPAuthSession.php
> davical/inc/Principal.php
> davical/inc/PublicSession.php
> -davical/inc/RRule-v2.php
> davical/inc/RRule.php
> davical/inc/WritableCollection.php
> davical/inc/always.php.in
> @@ -150,7 +149,6 @@ davical/inc/page-footer.php
> davical/inc/page-header.php
> davical/inc/pubsub.php
> davical/inc/schedule-functions.php
> -davical/inc/test-RRULE.php
> davical/inc/tz/
> davical/inc/tz/capabilities.php
> davical/inc/tz/expand.php
> @@ -165,8 +163,8 @@ davical/inc/vcard.php
> davical/inc/vtimezone.php
> davical/inc/well-known.php
> davical/po/
> -davical/po/.gitignore
> davical/po/ar.po
> +davical/po/ar.values
> davical/po/ca.po
> davical/po/cs_CZ.po
> davical/po/de.po
> @@ -182,6 +180,7 @@ davical/po/es_VE.values
> davical/po/et.po
> davical/po/et.values
> davical/po/fi.po
> +davical/po/fi.values
> davical/po/fr.po
> davical/po/fr.values
> davical/po/hu.po
> @@ -192,6 +191,7 @@ davical/po/it.values
> davical/po/ja.po
> davical/po/ja.values
> davical/po/ko_KR.po
> +davical/po/ko_KR.values
> davical/po/messages.pot
> davical/po/nb_NO.po
> davical/po/nb_NO.values
> @@ -207,12 +207,14 @@ davical/po/pt_PT.values
> davical/po/ru.po
> davical/po/ru.values
> davical/po/sk_SK.po
> +davical/po/sk_SK.values
> davical/po/sv.po
> davical/po/sv.values
> davical/scripts/
> davical/scripts/archive-old-events.php
> davical/scripts/build-always.sh
> davical/scripts/cron-sync-ldap.php
> +davical/scripts/davical-cli
> davical/scripts/export_calendar.php
> davical/scripts/load_calendar.php
> davical/scripts/po/
> Index: www/awl/Makefile
> ===================================================================
> RCS file: /cvs/ports/www/awl/Makefile,v
> retrieving revision 1.11
> diff -u -p -r1.11 Makefile
> --- www/awl/Makefile 22 May 2018 08:18:08 -0000 1.11
> +++ www/awl/Makefile 28 May 2018 11:54:02 -0000
> @@ -1,28 +1,21 @@
> -# $OpenBSD: Makefile,v 1.11 2018/05/22 08:18:08 sthen Exp $
> +# $OpenBSD: Makefile,v 1.5 2013/07/05 09:34:35 jasper Exp $
>
> -COMMENT = Andrews web libraries for PHP
> +COMMENT = Andrew's web libraries for PHP
>
> -GITLAB_PROJECT = awl
> -GITLAB_ACCOUNT = davical-project
> -GITLAB_TAG = r0.55
> -DISTNAME = ${GITLAB_PROJECT}-${GITLAB_TAG:S/r//}
> -PKGNAME = php-${DISTNAME}
> +DISTNAME = awl_0.59.orig
> +PKGNAME = php-awl-0.59
> +EXTRACT_SUFX = .tar.xz
> CATEGORIES = www
> PKG_ARCH = *
> -REVISION = 1
> -
> -HOMEPAGE = https://gitlab.com/${GITLAB_ACCOUNT}/${GITLAB_PROJECT}
>
> # GPLv2+
> PERMIT_PACKAGE_CDROM = Yes
>
> -#DISTFILES = ${DISTNAME}${EXTRACT_SUFX}{archive${EXTRACT_SUFX}?ref=${GITLAB_TAG}}
> -#MASTER_SITES = https://gitlab.com/${GITLAB_ACCOUNT}/${GITLAB_PROJECT}/repository/
> -MASTER_SITES = https://spacehopper.org/mirrors/
> +MASTER_SITES = https://www.davical.org/downloads/
>
> +WRKSRC = ${WRKDIR}
> PREFIX = ${VARBASE}/www
> -WRKDIST = ${WRKDIR}/${GITLAB_PROJECT}.git
> -INSTDIR = ${PREFIX}/${GITLAB_PROJECT}
> +INSTDIR = ${PREFIX}/awl
> SUBST_VARS = INSTDIR
> NO_BUILD = Yes
> NO_TEST = Yes
> Index: www/awl/distinfo
> ===================================================================
> RCS file: /cvs/ports/www/awl/distinfo,v
> retrieving revision 1.3
> diff -u -p -r1.3 distinfo
> --- www/awl/distinfo 23 Nov 2014 08:43:37 -0000 1.3
> +++ www/awl/distinfo 28 May 2018 11:54:02 -0000
> @@ -1,2 +1,2 @@
> -SHA256 (awl-0.55.tar.gz) = adj1Horv37a1oPw+XjL4uNZQxIkHnI66xaa2XyrT7Ik=
> -SIZE (awl-0.55.tar.gz) = 765565
> +SHA256 (awl_0.59.orig.tar.xz) = V9qta18cjtV8HOkL6spgZb4fbSlsdoXuXe8N9U6dZwU=
> +SIZE (awl_0.59.orig.tar.xz) = 124652
> Index: www/awl/pkg/PLIST
> ===================================================================
> RCS file: /cvs/ports/www/awl/pkg/PLIST,v
> retrieving revision 1.4
> diff -u -p -r1.4 PLIST
> --- www/awl/pkg/PLIST 23 Nov 2014 08:43:37 -0000 1.4
> +++ www/awl/pkg/PLIST 28 May 2018 11:54:02 -0000
> @@ -1,4 +1,4 @@
> -@comment $OpenBSD: PLIST,v 1.4 2014/11/23 08:43:37 landry Exp $
> +@comment $OpenBSD: PLIST,v 1.3 2012/11/11 20:49:21 landry Exp $
> awl/
> awl/README
> awl/dba/
> @@ -7,150 +7,8 @@ awl/dba/grant-minimum-permissions.sh
> awl/dba/grant-on-all-tables.sh
> awl/dba/schema-management.sql
> awl/docs/
> -awl/docs/api/
> -awl/docs/api/.gitignore
> -awl/docs/api/awl/
> -awl/docs/api/awl/AuthPlugin/
> -awl/docs/api/awl/AuthPlugin/AuthPlugin.html
> -awl/docs/api/awl/AuthPlugin/_AuthPlugin.php.html
> -awl/docs/api/awl/AuthPlugin/_AuthPlugins.php.html
> -awl/docs/api/awl/AwlCache.html
> -awl/docs/api/awl/AwlDatabase/
> -awl/docs/api/awl/AwlDatabase/AwlDBDialect.html
> -awl/docs/api/awl/AwlDatabase/AwlDatabase.html
> -awl/docs/api/awl/AwlDatabase/AwlQuery.html
> -awl/docs/api/awl/AwlDatabase/AwlUpgrader.html
> -awl/docs/api/awl/AwlDatabase/_AwlDBDialect.php.html
> -awl/docs/api/awl/AwlDatabase/_AwlDatabase.php.html
> -awl/docs/api/awl/AwlDatabase/_AwlQuery.php.html
> -awl/docs/api/awl/AwlDatabase/_AwlUpgrader.php.html
> -awl/docs/api/awl/Browser/
> -awl/docs/api/awl/Browser/Browser.html
> -awl/docs/api/awl/Browser/BrowserColumn.html
> -awl/docs/api/awl/Browser/_classBrowser.php.html
> -awl/docs/api/awl/DataEntry/
> -awl/docs/api/awl/DataEntry/EntryField.html
> -awl/docs/api/awl/DataEntry/EntryForm.html
> -awl/docs/api/awl/DataEntry/_DataEntry.php.html
> -awl/docs/api/awl/DataUpdate/
> -awl/docs/api/awl/DataUpdate/DBRecord.html
> -awl/docs/api/awl/DataUpdate/_DataUpdate.php.html
> -awl/docs/api/awl/EMail/
> -awl/docs/api/awl/EMail/EMail.html
> -awl/docs/api/awl/EMail/_EMail.php.html
> -awl/docs/api/awl/MenuSet/
> -awl/docs/api/awl/MenuSet/MenuOption.html
> -awl/docs/api/awl/MenuSet/MenuSet.html
> -awl/docs/api/awl/MenuSet/_MenuSet.php.html
> -awl/docs/api/awl/Multipart.html
> -awl/docs/api/awl/PgQuery/
> -awl/docs/api/awl/PgQuery/PgQuery.html
> -awl/docs/api/awl/PgQuery/_PgQuery.php.html
> -awl/docs/api/awl/Session/
> -awl/docs/api/awl/Session/Session.html
> -awl/docs/api/awl/Session/_Session.php.html
> -awl/docs/api/awl/SinglePart.html
> -awl/docs/api/awl/Translation/
> -awl/docs/api/awl/Translation/_Translation.php.html
> -awl/docs/api/awl/User/
> -awl/docs/api/awl/User/User.html
> -awl/docs/api/awl/User/_User.php.html
> -awl/docs/api/awl/Utilities/
> -awl/docs/api/awl/Utilities/_AWLUtilities.php.html
> -awl/docs/api/awl/Validation/
> -awl/docs/api/awl/Validation/Validation.html
> -awl/docs/api/awl/Validation/_Validation.php.html
> -awl/docs/api/awl/XMLDocument/
> -awl/docs/api/awl/XMLDocument/XMLDocument.html
> -awl/docs/api/awl/XMLDocument/_XMLDocument.php.html
> -awl/docs/api/awl/XMLElement/
> -awl/docs/api/awl/XMLElement/XMLElement.html
> -awl/docs/api/awl/XMLElement/_XMLElement.php.html
> -awl/docs/api/awl/_AwlCache.php.html
> -awl/docs/api/awl/_Multipart.php.html
> -awl/docs/api/awl/classEditor/
> -awl/docs/api/awl/classEditor/Editor.html
> -awl/docs/api/awl/classEditor/EditorField.html
> -awl/docs/api/awl/classEditor/_classEditor.php.html
> -awl/docs/api/awl/iCalendar/
> -awl/docs/api/awl/iCalendar/_iCalendar.php.html
> -awl/docs/api/awl/iCalendar/iCalComponent.html
> -awl/docs/api/awl/iCalendar/iCalProp.html
> -awl/docs/api/awl/iCalendar/iCalendar.html
> -awl/docs/api/awl/vCalendar/
> -awl/docs/api/awl/vCalendar/_vCalendar.php.html
> -awl/docs/api/awl/vCalendar/vCalendar.html
> -awl/docs/api/awl/vComponent/
> -awl/docs/api/awl/vComponent/_vComponent.php.html
> -awl/docs/api/awl/vComponent/vComponent.html
> -awl/docs/api/awl/vComponent/vProperty.html
> -awl/docs/api/blank.html
> -awl/docs/api/classtrees_awl.html
> -awl/docs/api/elementindex.html
> -awl/docs/api/elementindex_awl.html
> -awl/docs/api/errors.html
> -awl/docs/api/index.html
> -awl/docs/api/li_awl.html
> -awl/docs/api/media/
> -awl/docs/api/media/banner.css
> -awl/docs/api/media/images/
> -awl/docs/api/media/images/AbstractClass.png
> -awl/docs/api/media/images/AbstractClass_logo.png
> -awl/docs/api/media/images/AbstractMethod.png
> -awl/docs/api/media/images/AbstractPrivateClass.png
> -awl/docs/api/media/images/AbstractPrivateClass_logo.png
> -awl/docs/api/media/images/AbstractPrivateMethod.png
> -awl/docs/api/media/images/Class.png
> -awl/docs/api/media/images/Class_logo.png
> -awl/docs/api/media/images/Constant.png
> -awl/docs/api/media/images/Constructor.png
> -awl/docs/api/media/images/Destructor.png
> -awl/docs/api/media/images/Function.png
> -awl/docs/api/media/images/Global.png
> -awl/docs/api/media/images/I.png
> -awl/docs/api/media/images/Index.png
> -awl/docs/api/media/images/Interface.png
> -awl/docs/api/media/images/Interface_logo.png
> -awl/docs/api/media/images/L.png
> -awl/docs/api/media/images/Lminus.png
> -awl/docs/api/media/images/Lplus.png
> -awl/docs/api/media/images/Method.png
> -awl/docs/api/media/images/Page.png
> -awl/docs/api/media/images/Page_logo.png
> -awl/docs/api/media/images/PrivateClass.png
> -awl/docs/api/media/images/PrivateClass_logo.png
> -awl/docs/api/media/images/PrivateMethod.png
> -awl/docs/api/media/images/PrivateVariable.png
> -awl/docs/api/media/images/StaticMethod.png
> -awl/docs/api/media/images/StaticVariable.png
> -awl/docs/api/media/images/T.png
> -awl/docs/api/media/images/Tminus.png
> -awl/docs/api/media/images/Tplus.png
> -awl/docs/api/media/images/Variable.png
> -awl/docs/api/media/images/blank.png
> -awl/docs/api/media/images/class_folder.png
> -awl/docs/api/media/images/empty.png
> -awl/docs/api/media/images/file.png
> -awl/docs/api/media/images/folder.png
> -awl/docs/api/media/images/function_folder.png
> -awl/docs/api/media/images/minus.gif
> -awl/docs/api/media/images/next_button.png
> -awl/docs/api/media/images/next_button_disabled.png
> -awl/docs/api/media/images/package.png
> -awl/docs/api/media/images/package_folder.png
> -awl/docs/api/media/images/plus.gif
> -awl/docs/api/media/images/previous_button.png
> -awl/docs/api/media/images/previous_button_disabled.png
> -awl/docs/api/media/images/private_class_logo.png
> -awl/docs/api/media/images/tutorial.png
> -awl/docs/api/media/images/tutorial_folder.png
> -awl/docs/api/media/images/up_button.png
> -awl/docs/api/media/lib/
> -awl/docs/api/media/lib/classTree.js
> -awl/docs/api/media/stylesheet.css
> -awl/docs/api/packages.html
> -awl/docs/api/phpdoc.ini
> -awl/docs/api/todolist.html
> +awl/docs/Doxyfile
> +awl/docs/phpdoc.ini
> awl/inc/
> awl/inc/AWLUtilities.php
> awl/inc/AuthPlugin.php

No comments:

Post a Comment