Bug 204618

Summary: www/sogo: Update to 2.3.3a + port improvements.
Product: Ports & Packages Reporter: Euan Thoms <euan>
Component: Individual Port(s)Assignee: Dmitry Marakasov <amdmi3>
Status: Closed FIXED    
Severity: Affects Some People Keywords: needs-qa, patch
Priority: ---    
Version: Latest   
Hardware: Any   
OS: Any   
Bug Depends on: 204617    
Bug Blocks: 204619    
Attachments:
Description Flags
Diff patch between current port version and upgrade to v2.3.3
koobs: maintainer-approval+
Diff patch between current port version and upgrade to v2.3.3
none
Poudriere testport log on 10.1 RELEASE amd64
none
Diff patch between current port version and upgrade to v2.3.3
none
Diff patch between current port version and upgrade to v2.3.3a euan: maintainer-approval+

Description Euan Thoms 2015-11-17 02:31:29 UTC
Created attachment 163226 [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/sogo/pull/108 (master branch)
https://github.com/inverse-inc/sogo/pull/121  (v2 branch)
https://github.com/inverse-inc/sogo/pull/109
https://github.com/inverse-inc/sogo/pull/110
https://github.com/inverse-inc/sogo/pull/111
https://github.com/inverse-inc/sogo/pull/112
https://github.com/inverse-inc/sogo/pull/113
https://github.com/inverse-inc/sogo/pull/114
https://github.com/inverse-inc/sogo/pull/115
https://github.com/inverse-inc/sogo/pull/116

NOTE: devel/sope (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 the www/sogo-activesync PR's once I've added them.

devel/sope PR no.: 204617
Comment 1 Euan Thoms 2015-11-17 02:33:21 UTC
(In reply to Euan Thoms from comment #0)

Correction: there are still 7 patches required. Mostly for the GNUstep-make issue that Kurt Jaeger worked around in the initial port.
Comment 2 Euan Thoms 2015-11-17 02:37:48 UTC
Other changes:

(i) Apache sample confs added to the port, so that it's easier to find them post-installation. Since the apache installation may reside on a different host, the location of these files are not important.

(ii) ActiveSync option no longer Experimental. Nobody has reported any issues, two have reported success.

(ii) Updated to provide for a slave port for ACTIVESYNC option. So that packages are available for both permutations of port options.
Comment 3 Euan Thoms 2015-11-17 02:48:42 UTC
Related ports (for aligning the commits):

devel/sope PR no.: 204617
www/sogo PR no.: 204618
www/sogo-activesync PR no.: 204619
Comment 4 Euan Thoms 2015-11-18 03:06:41 UTC
I'm working on the slave port improvements as suggested by Dmitry on PR 204619. I guess www/sogo will need testing again after those changes.
Comment 5 Euan Thoms 2015-11-18 05:32:40 UTC
Created attachment 163279 [details]
Diff patch between current port version and upgrade to v2.3.3

Updated diff after improvements to slave port, as per Dmitrys' suggestions.

The changes since last attachment are minimal, only changes to CONFLICTS and PKGNAMESUFFIX.
Comment 6 Euan Thoms 2015-11-18 05:36:32 UTC
Portlint passes:

[root@portdev /usr/ports/www/sogo]# portlint -AC
WARN: Makefile: possible use of absolute pathname "/etc/sogo".
WARN: Makefile: for new port, make $FreeBSD$ tag in comment section empty, to make SVN happy.
0 fatal errors and 2 warnings found.


Ignore the first warning, it is to patch the location of /etc/sogo (Linux) to ${PREFIX}/etc/sogo.
Comment 7 Euan Thoms 2015-11-18 09:55:51 UTC
Created attachment 163284 [details]
Poudriere testport log on 10.1 RELEASE amd64
Comment 8 Euan Thoms 2015-11-19 07:29:31 UTC
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).
Comment 9 Euan Thoms 2015-11-19 08:39:30 UTC
Created attachment 163321 [details]
Diff patch between current port version and upgrade to v2.3.3

Fixed permission on rc.d script.

After changing the file mode ("@mode 644") for the Apache sample conf, the rc.d scipt was missing the execute bit. It was fixed by reseting the mode back at the end of the pkg-plist file ("@mode").
Comment 10 Euan Thoms 2015-11-19 09:27:19 UTC
!! NOTICE !! Please put this on hold for now.

I just noticed SOGo is a bout to release 2.3.3a very soon. As can be seen here: https://github.com/inverse-inc/sogo/commits/v2

I think there are a couple important bug fixes in 2.3.3a. So I'll just update to it when it's available from the download site. It should not change anything, I'll only need to chnage the version number I guess.

So everything is ready to go once I've quickly updated the version and do a quick runtime time. I'll report back when this is done.
Comment 11 Euan Thoms 2015-11-19 13:29:47 UTC
Created attachment 163326 [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.

So these 3 ports are all ready to go now. I'm running it in production.
Comment 12 commit-hook freebsd_committer freebsd_triage 2015-11-24 13:34:51 UTC
A commit references this bug:

Author: amdmi3
Date: Tue Nov 24 13:33:49 UTC 2015
New revision: 402360
URL: https://svnweb.freebsd.org/changeset/ports/402360

Log:
  - Update to 2.3.3a
  - While here, use correct target and commands for installation, switch to options helpers

  PR:		204618
  Submitted by:	euan@potensol.com (maintainer)

Changes:
  head/www/sogo/Makefile
  head/www/sogo/distinfo
  head/www/sogo/files/patch-ActiveSync_GNUmakefile
  head/www/sogo/files/patch-Main_SOGo+DAV.m
  head/www/sogo/files/patch-SOPE_GDLContentStore_GCSChannelManager.m
  head/www/sogo/files/patch-SOPE_NGCards_CardElement.m
  head/www/sogo/files/patch-SOPE_NGCards_CardGroup.m
  head/www/sogo/files/patch-SOPE_NGCards_NSCalendarDate+NGCards.m
  head/www/sogo/files/patch-SOPE_NGCards_iCalMonthlyRecurrenceCalculator.m
  head/www/sogo/files/patch-SOPE_NGCards_iCalPerson.m
  head/www/sogo/files/patch-SOPE_NGCards_iCalRecurrenceRule.m
  head/www/sogo/files/patch-SOPE_NGCards_versitCardsSaxDriver_VSSaxDriver.m
  head/www/sogo/files/patch-SoObjects_Appointments_MSExchangeFreeBusy.m
  head/www/sogo/files/patch-SoObjects_Appointments_SOGoAppointmentFolder.m
  head/www/sogo/files/patch-SoObjects_Appointments_SOGoAppointmentObject.m
  head/www/sogo/files/patch-SoObjects_Appointments_SOGoCalendarComponent.m
  head/www/sogo/files/patch-SoObjects_Appointments_iCalAlarm+SOGo.m
  head/www/sogo/files/patch-SoObjects_Appointments_iCalEvent+SOGo.h
  head/www/sogo/files/patch-SoObjects_Appointments_iCalEvent+SOGo.m
  head/www/sogo/files/patch-SoObjects_Contacts_NGVCard+SOGo.m
  head/www/sogo/files/patch-SoObjects_Contacts_SOGoContactEntryPhoto.m
  head/www/sogo/files/patch-SoObjects_Contacts_SOGoContactFolders.m
  head/www/sogo/files/patch-SoObjects_Contacts_SOGoContactGCSEntry.m
  head/www/sogo/files/patch-SoObjects_Contacts_SOGoContactGCSList.m
  head/www/sogo/files/patch-SoObjects_Contacts_SOGoContactSourceFolder.m
  head/www/sogo/files/patch-SoObjects_Mailer_NSDictionary+Mail.m
  head/www/sogo/files/patch-SoObjects_Mailer_NSString+Mail.m
  head/www/sogo/files/patch-SoObjects_Mailer_SOGoMailAccounts.m
  head/www/sogo/files/patch-SoObjects_Mailer_SOGoMailBaseObject.m
  head/www/sogo/files/patch-SoObjects_Mailer_SOGoMailBodyPart.m
  head/www/sogo/files/patch-SoObjects_Mailer_SOGoMailFolder.m
  head/www/sogo/files/patch-SoObjects_Mailer_SOGoMailForward.m
  head/www/sogo/files/patch-SoObjects_Mailer_SOGoMailLabel.m
  head/www/sogo/files/patch-SoObjects_Mailer_SOGoMailObject.m
  head/www/sogo/files/patch-SoObjects_SOGo_BSONCodec.m
  head/www/sogo/files/patch-SoObjects_SOGo_LDAPSource.m
  head/www/sogo/files/patch-SoObjects_SOGo_NSCalendarDate+SOGo.m
  head/www/sogo/files/patch-SoObjects_SOGo_NSData+Crypto.m
  head/www/sogo/files/patch-SoObjects_SOGo_NSDictionary+DAV.m
  head/www/sogo/files/patch-SoObjects_SOGo_NSString+Utilities.m
  head/www/sogo/files/patch-SoObjects_SOGo_SOGoCache.h
  head/www/sogo/files/patch-SoObjects_SOGo_SOGoCacheGCSFolder.h
  head/www/sogo/files/patch-SoObjects_SOGo_SOGoCacheGCSFolder.m
  head/www/sogo/files/patch-SoObjects_SOGo_SOGoCacheGCSObject.m
  head/www/sogo/files/patch-SoObjects_SOGo_SOGoCacheObject.h
  head/www/sogo/files/patch-SoObjects_SOGo_SOGoContentObject.m
  head/www/sogo/files/patch-SoObjects_SOGo_SOGoFolder.m
  head/www/sogo/files/patch-SoObjects_SOGo_SOGoGCSFolder.m
  head/www/sogo/files/patch-SoObjects_SOGo_SOGoGroup.m
  head/www/sogo/files/patch-SoObjects_SOGo_SOGoObject.m
  head/www/sogo/files/patch-SoObjects_SOGo_SOGoParentFolder.h
  head/www/sogo/files/patch-SoObjects_SOGo_SOGoParentFolder.m
  head/www/sogo/files/patch-SoObjects_SOGo_SQLSource.m
  head/www/sogo/files/patch-SoObjects_SOGo_WORequest+SOGo.m
  head/www/sogo/files/patch-SoObjects_SOGo_instance-framework.make
  head/www/sogo/files/patch-SoObjects_SOGo_master-framework.make
  head/www/sogo/files/patch-Tests_Unit_SOGoTest.m
  head/www/sogo/files/patch-Tests_Unit_TestNGMimeAddressHeaderFieldGenerator.m
  head/www/sogo/files/patch-Tests_Unit_TestNGMimeMessageGenerator.m
  head/www/sogo/files/patch-Tests_Unit_TestVersit.m
  head/www/sogo/files/patch-Tests_Unit_TestiCalRecurrenceCalculator.m
  head/www/sogo/files/patch-Tests_Unit_TestiCalTimeZonePeriod.m
  head/www/sogo/files/patch-Tools_SOGoEAlarmsNotifier.m
  head/www/sogo/files/patch-Tools_SOGoSockDOperation.m
  head/www/sogo/files/patch-Tools_SOGoToolCreateFolder.m
  head/www/sogo/files/patch-Tools_SOGoToolExpireUserSessions.m
  head/www/sogo/files/patch-Tools_SOGoToolManageEAS.m
  head/www/sogo/files/patch-Tools_SOGoToolRemoveDoubles.m
  head/www/sogo/files/patch-Tools_SOGoToolRenameUser.m
  head/www/sogo/files/patch-Tools_SOGoToolRestore.m
  head/www/sogo/files/patch-Tools_SOGoToolUserPreferences.m
  head/www/sogo/files/patch-Tools_sogo-tool.m
  head/www/sogo/files/patch-UI_Common_UIxToolbar.m
  head/www/sogo/files/patch-UI_Contacts_UIxContactActions.m
  head/www/sogo/files/patch-UI_Contacts_UIxContactFolderActions.m
  head/www/sogo/files/patch-UI_Contacts_UIxContactFolderProperties.m
  head/www/sogo/files/patch-UI_Contacts_UIxContactView.m
  head/www/sogo/files/patch-UI_MailPartViewers_UIxMailPartHTMLViewer.m
  head/www/sogo/files/patch-UI_MailPartViewers_UIxMailPartViewer.m
  head/www/sogo/files/patch-UI_MailerUI_UIxMailFolderActions.m
  head/www/sogo/files/patch-UI_MailerUI_UIxMailListActions.h
  head/www/sogo/files/patch-UI_MailerUI_UIxMailMainFrame.m
  head/www/sogo/files/patch-UI_MainUI_SOGoMicrosoftActiveSyncActions.m
  head/www/sogo/files/patch-UI_PreferencesUI_UIxPreferences.m
  head/www/sogo/files/patch-UI_SOGoUI_SOGoAptFormatter.m
  head/www/sogo/files/patch-UI_Scheduler_UIxCalDateSelector.m
  head/www/sogo/files/patch-UI_Scheduler_UIxCalDayTable.h
  head/www/sogo/files/patch-UI_Scheduler_UIxCalDayTable.m
  head/www/sogo/files/patch-UI_Scheduler_UIxCalDayView.m
  head/www/sogo/files/patch-UI_Scheduler_UIxCalListingActions.m
  head/www/sogo/files/patch-UI_Scheduler_UIxCalMonthView.m
  head/www/sogo/files/patch-UI_Scheduler_UIxCalViewPrint.m
  head/www/sogo/files/patch-UI_Scheduler_UIxComponentEditor.m
  head/www/sogo/files/patch-UI_Scheduler_UIxRecurrenceEditor.m
  head/www/sogo/pkg-plist
Comment 13 Euan Thoms 2015-11-25 00:54:54 UTC
Thanks Dmitry. one questions about the modifications you made to the port. Why remove bsd.port.options.mk? I see it used a lot in many other ports.
Comment 14 Dmitry Marakasov freebsd_committer freebsd_triage 2015-11-25 18:34:52 UTC
(In reply to Euan Thoms from comment #13)
> Thanks Dmitry. one questions about the modifications you made to the port.
> Why remove bsd.port.options.mk? I see it used a lot in many other ports.

In short, you only need to include options.mk if you explicitly check for variables it defines in your Makefile, as in

.if defined ${PORT_OPTIONS:M...}

however you don't need it if you use declarative syntax like OPT_{LIB_DEPENDS,USES,...} and target-OPT-{on,off}.

It's preferred to use declarative syntax as it's shorter and clearer, and avoiding options.mk/pre.mk inclusion makes Makefile parsing faster.