Created attachment 163225 [details] Diff patch between current port version and upgrade to v2.3.3 Updated to latest upstream version (2.3.3). This is after many of my patches have been taken upstream. Only patch-configure is required now :-) The following github pull requests were merged prior to the v2.3.3 release: https://github.com/inverse-inc/sope/pull/21 https://github.com/inverse-inc/sope/pull/24 https://github.com/inverse-inc/sope/pull/25 https://github.com/inverse-inc/sope/pull/26 https://github.com/inverse-inc/sope/pull/27 https://github.com/inverse-inc/sope/pull/28 https://github.com/inverse-inc/sope/pull/29 https://github.com/inverse-inc/sope/pull/30 https://github.com/inverse-inc/sope/pull/31 NOTE: www/sogo (existing port) and www/sogo-activesync (new slave port) should be committed at the same time as this devel/sope. Please somebody create the blocks, I don't know how to yet. I'll post back those PR's once I've added them.
Related ports (for aligning the commits): devel/sope PR no.: 204617 www/sogo PR no.: 204618 www/sogo-activesync PR no.: 204619
Thanks Euan, nice work on the upstreaming by the way :) Can you please confirm (and the other issues) pass QA (portlint, poudriere)
Test-builds on 11-cur, 10.2a+i, 9.3a for sope and sogo are fine.
In addition to Kurt's poudriere test, "portlint -AC" has as few warnings as possible. I just need to improve the slave port, as per Dmitrys' suggestions. Note, It's really hard to find out how to do a slave port.
Portlint passes: [root@portdev /usr/ports/devel/sope]# portlint -AC WARN: Makefile: for new port, make $FreeBSD$ tag in comment section empty, to make SVN happy. 0 fatal errors and 1 warning found.
This should be ready to go now, the slave port to www/sogo is done. Although I need some feedback about how I've done the slave port (PR 204619).
Created attachment 163323 [details] Diff patch between current port version and upgrade to v2.3.3a Update to new upstream version (2.3.3a). Port itself is unchanged since last patch. It's a seamless update, no changes to pkg-plist either.
A commit references this bug: Author: amdmi3 Date: Tue Nov 24 13:33:42 UTC 2015 New revision: 402359 URL: https://svnweb.freebsd.org/changeset/ports/402359 Log: - Update to 2.3.3a - While here, switch to options helpers PR: 204617 Submitted by: euan@potensol.com (maintainer) Changes: head/devel/sope/Makefile head/devel/sope/distinfo head/devel/sope/files/patch-sope-appserver_NGObjWeb_DynamicElements_WOComponentContent.m head/devel/sope/files/patch-sope-appserver_NGObjWeb_DynamicElements_WOComponentReference.m head/devel/sope/files/patch-sope-appserver_NGObjWeb_DynamicElements_WOHyperlinkInfo.m head/devel/sope/files/patch-sope-appserver_NGObjWeb_DynamicElements_decommon.h head/devel/sope/files/patch-sope-appserver_NGObjWeb_NSObject+WO.m head/devel/sope/files/patch-sope-appserver_NGObjWeb_WOHttpAdaptor_WOHttpTransaction.m head/devel/sope/files/patch-sope-appserver_NGObjWeb_WOSession.m head/devel/sope/files/patch-sope-appserver_NGObjWeb_WebDAV_SoObjectDataSource.m head/devel/sope/files/patch-sope-appserver_NGObjWeb_common.h head/devel/sope/files/patch-sope-appserver__NGObjWeb__Associations__WOScriptAssociation.m head/devel/sope/files/patch-sope-appserver__NGObjWeb__Associations__WOValueAssociation.m head/devel/sope/files/patch-sope-appserver__NGObjWeb__DynamicElements__WOGenericElement.m head/devel/sope/files/patch-sope-appserver__NGObjWeb__DynamicElements__WOHyperlink.m head/devel/sope/files/patch-sope-appserver__NGObjWeb__NGHttp__NGHttpHeaderFieldParser.m head/devel/sope/files/patch-sope-appserver__NGObjWeb__NGHttp__NGHttpResponse.h head/devel/sope/files/patch-sope-appserver__NGObjWeb__NGHttp__NGUrlFormCoder.m head/devel/sope/files/patch-sope-appserver__NGObjWeb__SoObjects__SoClassSecurityInfo.h head/devel/sope/files/patch-sope-appserver__NGObjWeb__SoObjects__SoClassSecurityInfo.m head/devel/sope/files/patch-sope-appserver__NGObjWeb__SoObjects__SoComponent.m head/devel/sope/files/patch-sope-appserver__NGObjWeb__SoObjects__SoDefaultRenderer.m head/devel/sope/files/patch-sope-appserver__NGObjWeb__Templates__WOComponentScriptPart.m head/devel/sope/files/patch-sope-appserver__NGObjWeb__Templates__WODParser.m head/devel/sope/files/patch-sope-appserver__NGObjWeb__Templates__WOHTMLParser.m head/devel/sope/files/patch-sope-appserver__NGObjWeb__Templates__WOTemplate.m head/devel/sope/files/patch-sope-appserver__NGObjWeb__Templates__WOxElemBuilder.m head/devel/sope/files/patch-sope-appserver__NGObjWeb__WOComponent+Sync.m head/devel/sope/files/patch-sope-appserver__NGObjWeb__WOComponent.m head/devel/sope/files/patch-sope-appserver__NGObjWeb__WOHTTPConnection.m head/devel/sope/files/patch-sope-appserver__NGObjWeb__WOHttpAdaptor__WOHttpAdaptor.m head/devel/sope/files/patch-sope-appserver__NGObjWeb__WOHttpAdaptor__WORequest+Adaptor.m head/devel/sope/files/patch-sope-appserver__NGObjWeb__WOMailDelivery.m head/devel/sope/files/patch-sope-appserver__NGObjWeb__WOResponse.m head/devel/sope/files/patch-sope-appserver__NGObjWeb__WOSessionStore.m head/devel/sope/files/patch-sope-appserver__NGObjWeb__WOSimpleHTTPParser.m head/devel/sope/files/patch-sope-appserver__NGObjWeb__WOStatisticsStore.m head/devel/sope/files/patch-sope-appserver__NGObjWeb__WebDAV__SoDAVSQLParser.h head/devel/sope/files/patch-sope-appserver__NGObjWeb__WebDAV__SoDAVSQLParser.m head/devel/sope/files/patch-sope-appserver__NGObjWeb__WebDAV__SoWebDAVRenderer.m head/devel/sope/files/patch-sope-appserver__NGObjWeb__WebDAV__SoWebDAVValue.m head/devel/sope/files/patch-sope-appserver__NGObjWeb___WOStringTable.m head/devel/sope/files/patch-sope-appserver__WEExtensions__JSStringTable.m head/devel/sope/files/patch-sope-appserver__WEExtensions__WEMonthOverview.m head/devel/sope/files/patch-sope-appserver__WEExtensions__WEResourceKey.m head/devel/sope/files/patch-sope-appserver__WEExtensions__WEResourceManager.m head/devel/sope/files/patch-sope-appserver__WEExtensions__WETableCalcMatrix.h head/devel/sope/files/patch-sope-appserver__WEExtensions__WETableCalcMatrix.m head/devel/sope/files/patch-sope-appserver__WEExtensions__WETableMatrix.m head/devel/sope/files/patch-sope-appserver__WEExtensions__WETableView__WETableView.m head/devel/sope/files/patch-sope-appserver__WOExtensions__WOTabPanel.m head/devel/sope/files/patch-sope-core_EOControl_EOKeyValueCoding.m head/devel/sope/files/patch-sope-core_EOControl_EOSortOrdering.m head/devel/sope/files/patch-sope-core_EOControl_EOValidation.m head/devel/sope/files/patch-sope-core_EOControl_common.h head/devel/sope/files/patch-sope-core_NGExtensions_EOExt.subproj_EOQualifier+CtxEval.m head/devel/sope/files/patch-sope-core_NGExtensions_FdExt.subproj_NSString+Encoding.m head/devel/sope/files/patch-sope-core_NGExtensions_NGCalendarDateRange.m head/devel/sope/files/patch-sope-core_NGExtensions_NGExtensions_NGBundleManager.h head/devel/sope/files/patch-sope-core_NGExtensions_NGExtensions_NSException+misc.h head/devel/sope/files/patch-sope-core_NGStreams_NGActiveSocket.m head/devel/sope/files/patch-sope-core_NGStreams_NGStreamCoder.m head/devel/sope/files/patch-sope-core__EOControl__EOFetchSpecification.m head/devel/sope/files/patch-sope-core__EOControl__EOGlobalID.m head/devel/sope/files/patch-sope-core__EOControl__EOKeyComparisonQualifier.m head/devel/sope/files/patch-sope-core__EOControl__EOKeyGlobalID.m head/devel/sope/files/patch-sope-core__EOControl__EOKeyValueQualifier.m head/devel/sope/files/patch-sope-core__EOControl__EONull.m head/devel/sope/files/patch-sope-core__EOControl__EOObserver.m head/devel/sope/files/patch-sope-core__EOControl__EOOrQualifier.m head/devel/sope/files/patch-sope-core__EOControl__EOSQLParser.h head/devel/sope/files/patch-sope-core__EOControl__EOSQLParser.m head/devel/sope/files/patch-sope-core__NGExtensions__FdExt.subproj__NGPropertyListParser.m head/devel/sope/files/patch-sope-core__NGExtensions__FdExt.subproj__NSException+misc.m head/devel/sope/files/patch-sope-core__NGExtensions__FdExt.subproj__NSObject+Logs.m head/devel/sope/files/patch-sope-core__NGExtensions__FdExt.subproj__NSObject+Values.m head/devel/sope/files/patch-sope-core__NGExtensions__FdExt.subproj__NSSet+enumerator.m head/devel/sope/files/patch-sope-core__NGExtensions__FdExt.subproj__NSString+misc.m head/devel/sope/files/patch-sope-core__NGExtensions__NGDirectoryEnumerator.m head/devel/sope/files/patch-sope-core__NGStreams__NGBufferedStream.m head/devel/sope/files/patch-sope-core__NGStreams__NGByteBuffer.m head/devel/sope/files/patch-sope-core__NGStreams__NGByteCountStream.m head/devel/sope/files/patch-sope-core__NGStreams__NGCTextStream.m head/devel/sope/files/patch-sope-core__NGStreams__NGConcreteStreamFileHandle.m head/devel/sope/files/patch-sope-core__NGStreams__NGLocalSocketAddress.m head/devel/sope/files/patch-sope-gdl1_GDLAccess_common.h head/devel/sope/files/patch-sope-gdl1__GDLAccess__EOAdaptor.m head/devel/sope/files/patch-sope-gdl1__GDLAccess__EOAttribute.m head/devel/sope/files/patch-sope-gdl1__GDLAccess__EODatabase.m head/devel/sope/files/patch-sope-gdl1__GDLAccess__EODatabaseChannel.m head/devel/sope/files/patch-sope-gdl1__GDLAccess__EODatabaseContext.m head/devel/sope/files/patch-sope-gdl1__GDLAccess__EODatabaseFault.m head/devel/sope/files/patch-sope-gdl1__GDLAccess__EODatabaseFaultResolver.m head/devel/sope/files/patch-sope-gdl1__GDLAccess__EOEntity.m head/devel/sope/files/patch-sope-gdl1__GDLAccess__EOFExceptions.m head/devel/sope/files/patch-sope-gdl1__GDLAccess__EOFault.h head/devel/sope/files/patch-sope-gdl1__GDLAccess__EOFault.m head/devel/sope/files/patch-sope-gdl1__GDLAccess__EOModel.m head/devel/sope/files/patch-sope-gdl1__GDLAccess__EOObjectUniquer.m head/devel/sope/files/patch-sope-gdl1__GDLAccess__EOPrimaryKeyDictionary.m head/devel/sope/files/patch-sope-gdl1__GDLAccess__EORecordDictionary.m head/devel/sope/files/patch-sope-gdl1__GDLAccess__EORelationship.m head/devel/sope/files/patch-sope-gdl1__GDLAccess__EOSQLExpression.m head/devel/sope/files/patch-sope-gdl1__GDLAccess__EOSQLQualifier.m head/devel/sope/files/patch-sope-gdl1__PostgreSQL__NSData+PGVal.m head/devel/sope/files/patch-sope-gdl1__PostgreSQL__NSString+PostgreSQL72.m head/devel/sope/files/patch-sope-gdl1__PostgreSQL__PostgreSQL72Channel.m head/devel/sope/files/patch-sope-gdl1__PostgreSQL__PostgreSQL72DataTypeMappingException.m head/devel/sope/files/patch-sope-ldap_NGLdap_EOQualifier+LDAP.m head/devel/sope/files/patch-sope-ldap_NGLdap_NGLdapConnection.m head/devel/sope/files/patch-sope-ldap_NGLdap_NGLdapFileManager.m head/devel/sope/files/patch-sope-ldap_NGLdap_NGLdapGlobalID.m head/devel/sope/files/patch-sope-mime_NGImap4_NGImap4Client.h head/devel/sope/files/patch-sope-mime_NGImap4_NGImap4Client.m head/devel/sope/files/patch-sope-mime_NGImap4_NGImap4Functions.m head/devel/sope/files/patch-sope-mime_NGImap4_NGImap4ResponseParser.m head/devel/sope/files/patch-sope-mime_NGImap4_imCommon.h head/devel/sope/files/patch-sope-mime_NGMime_common.h head/devel/sope/files/patch-sope-mime__NGImap4__NGImap4Connection.m head/devel/sope/files/patch-sope-mime__NGImap4__NGImap4Context.m head/devel/sope/files/patch-sope-mime__NGImap4__NGImap4FileManager.m head/devel/sope/files/patch-sope-mime__NGImap4__NGImap4Folder.m head/devel/sope/files/patch-sope-mime__NGImap4__NGImap4FolderGlobalID.m head/devel/sope/files/patch-sope-mime__NGImap4__NGImap4Message.m head/devel/sope/files/patch-sope-mime__NGImap4__NGImap4ServerGlobalID.m head/devel/sope/files/patch-sope-mime__NGImap4__NGSieveClient.m head/devel/sope/files/patch-sope-mime__NGMail__NGMailAddress.m head/devel/sope/files/patch-sope-mime__NGMail__NGMailAddressParser.m head/devel/sope/files/patch-sope-mime__NGMail__NGMimeMessage.m head/devel/sope/files/patch-sope-mime__NGMime__NGMimeBodyPart.m head/devel/sope/files/patch-sope-mime__NGMime__NGMimeJoinedData.m head/devel/sope/files/patch-sope-mime__NGMime__NGMimePartGenerator.h head/devel/sope/files/patch-sope-mime__NGMime__NGMimePartGenerator.m head/devel/sope/files/patch-sope-mime__NGMime__NGMimePartParser.m head/devel/sope/files/patch-sope-mime__NGMime__NGMimeRFC822DateHeaderFieldParser.m head/devel/sope/files/patch-sope-xml_SaxObjC_SaxObjectDecoder.m head/devel/sope/files/patch-sope-xml__DOM__DOMQueryPathExpression.m head/devel/sope/files/patch-sope-xml__XmlRpc__NSNotification+XmlRpcCoding.m
Thanks Dmitry. I will try to learn these new options helpers for future ports development. At the time I made the port I was learning and I just copied from other ports in the tree. Bu these new directives are much more compact and readable.