diff --git a/ChangeLog b/ChangeLog index cf5e3dbdb..00f83764c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -29,6 +29,12 @@ link, remove double-quotes and escape single-quotes from the fullname. (-secondaryEmail): idem. +2012-05-04 Wolfgang Sourdeau + + * OpenChange/MAPIStoreSOGo.m: register and unregister current + thread before and after each backend operation, in order to avoid + issues in multithreaded environment. + 2012-05-01 Wolfgang Sourdeau * UI/WebServerResources/generic.js (accessToSubscribedFolder): use @@ -341,6 +347,43 @@ * OGoContentStore/OCSContactFieldExtractor.m (-extractQuickFieldsFromVCard): idem. +2012-03-30 Wolfgang Sourdeau + + * OpenChange/MAPIStoreCalendarMessage.m (-save): remove comment if + content is "\n". + + * OpenChange/MAPIStoreTasksMessage.m (-save): do not reset fields + that have not been passed in the properties array, since only + RopDeleteProperties should remove them. + Remove comment if content is "\n". + + * OpenChange/MAPIStoreObject.m (-addPropertiesFromRow:): dates are + now all converted to the user's timezone, even though it just + inverts the problem we currently have. + + * OpenChange/MAPIApplication.m (-init): utcTZ is now initialized + here. + + * OpenChange/MAPIStoreTypes.[hm]: new host module for utcTZ. + + * OpenChange/MAPIStoreUserContext.m (-timeZone): new method that + returns the timezone of an owner user. + + * OpenChange/MAPIStoreObject.m (-ownerTimeZone): removed method, + replaced with the one above. + +2012-03-29 Francis Lachapelle + + * UI/WebServerResources/UIxPreferences.js (savePreferences): fixed + validation of end date of vacation of message when not using ISO + format (currently limited to French). + + * UI/WebServerResources/ContactsUI.js (startDragging): create an + overlapping safety block (div) to avoid possible selection of the + underlying text. + + * UI/WebServerResources/MailerUI.js (startDragging): idem. + 2012-03-29 Francis Lachapelle * UI/WebServerResources/UIxPreferences.js (savePreferences): fixed @@ -364,6 +407,42 @@ * SoObjects/SOGo/LDAPSource.m (-allEntryIDs): take the _filter ivar into account. +2012-03-28 Wolfgang Sourdeau + + * OpenChange/SOGoMAPIFSMessage.m + (_readFileChangesDataWithDate:andInode:): use the inode number + rather than the filesize as change indicator since a new file is + created each time the dictionary is written to disk, thanks to the + "atomically" flag. + (-save): write the file atomically. + + * SoObjects/Contacts/SOGoFolder+CardDAV.m (_isValidFilter:): + accept "email" as filter name. + (_appendObject:withBaseURL:toREPORTResponse:): fixed the ordering + of XML elements as the address*-data props where put outside of + the tree. + + * SoObjects/SOGo/LDAPSource.m (-allEntryIDs): take the _filter + ivar into account. + +2012-03-27 Wolfgang Sourdeau + + * SoObjects/Contacts/SOGoContactFolders.m + (-lookupName:inContext:acquire:): overriden method that enables + the lookup of hidden public sources with iOS devices. + + * SoObjects/Contacts/SOGoContactLDIFEntry.m (-davAddressData): new + getter similar to davCalendarData. + + * SoObjects/Contacts/SOGoContactSourceFolder.m + (-davAddressbookMultiget): new REPORT handler based on + -[SOGoAppointmentFolder davCalendarMultiget]. + + * SoObjects/Contacts/SOGoUserFolder+Contacts.m + (-davDirectoryGateway): new getter that returns the url to the + first available directory source. + (-davResourceType): declare resource as "directory" (carddav). + 2012-03-27 Wolfgang Sourdeau * SoObjects/Contacts/SOGoContactFolders.m diff --git a/Documentation/SOGo Native Microsoft Outlook Configuration.odt b/Documentation/SOGo Native Microsoft Outlook Configuration.odt index 316b81cc4..5a5b9af37 100644 Binary files a/Documentation/SOGo Native Microsoft Outlook Configuration.odt and b/Documentation/SOGo Native Microsoft Outlook Configuration.odt differ diff --git a/OpenChange/MAPIApplication.m b/OpenChange/MAPIApplication.m index 707e0f579..8da1c1078 100644 --- a/OpenChange/MAPIApplication.m +++ b/OpenChange/MAPIApplication.m @@ -21,6 +21,7 @@ */ #import +#import #import #import @@ -28,6 +29,7 @@ #import #import "MAPIStoreUserContext.h" +#import "MAPIStoreTypes.h" #import "MAPIApplication.h" @@ -49,6 +51,9 @@ MAPIApplication *MAPIApp = nil; MAPIApp = [super init]; [MAPIApp retain]; + + utcTZ = [NSTimeZone timeZoneWithName: @"UTC"]; + [utcTZ retain]; } return MAPIApp; diff --git a/OpenChange/MAPIStoreAppointmentWrapper.h b/OpenChange/MAPIStoreAppointmentWrapper.h index efb5ac2a1..74b275275 100644 --- a/OpenChange/MAPIStoreAppointmentWrapper.h +++ b/OpenChange/MAPIStoreAppointmentWrapper.h @@ -35,8 +35,6 @@ @class SOGoUser; -extern NSTimeZone *utcTZ; - @interface MAPIStoreAppointmentWrapper : NSObject { struct mapistore_connection_info *connInfo; diff --git a/OpenChange/MAPIStoreAppointmentWrapper.m b/OpenChange/MAPIStoreAppointmentWrapper.m index b3eb8df02..c3eddf6fe 100644 --- a/OpenChange/MAPIStoreAppointmentWrapper.m +++ b/OpenChange/MAPIStoreAppointmentWrapper.m @@ -59,16 +59,12 @@ #include #include -NSTimeZone *utcTZ; - static NSCharacterSet *hexCharacterSet = nil; @implementation MAPIStoreAppointmentWrapper + (void) initialize { - utcTZ = [NSTimeZone timeZoneWithName: @"UTC"]; - [utcTZ retain]; if (!hexCharacterSet) { hexCharacterSet = [NSCharacterSet characterSetWithCharactersInString: @"1234567890abcdefABCDEF"]; diff --git a/OpenChange/MAPIStoreCalendarMessage.m b/OpenChange/MAPIStoreCalendarMessage.m index 004a30afc..daa9cc83d 100644 --- a/OpenChange/MAPIStoreCalendarMessage.m +++ b/OpenChange/MAPIStoreCalendarMessage.m @@ -118,7 +118,7 @@ [MAPIStoreAppointmentWrapper wrapperWithICalEvent: event andUser: [userContext sogoUser] andSenderEmail: nil - inTimeZone: [self ownerTimeZone] + inTimeZone: [userContext timeZone] withConnectionInfo: [context connectionInfo]]); } @@ -766,10 +766,12 @@ isAllDay = [value boolValue]; if (!isAllDay) { - tzName = [[self ownerTimeZone] name]; + tzName = [[[self userContext] timeZone] name]; tz = [iCalTimeZone timeZoneForName: tzName]; [vCalendar addTimeZone: tz]; } + else + tz = nil; // start value = [properties objectForKey: MAPIPropertyKey (PR_START_DATE)]; @@ -779,18 +781,18 @@ if (value) { start = (iCalDateTime *) [newEvent uniqueChildWithTag: @"dtstart"]; + [start setTimeZone: tz]; if (isAllDay) + { + [start setDate: value]; + [start setTimeZone: nil]; + } + else { tzOffset = [[value timeZone] secondsFromGMTForDate: value]; value = [value dateByAddingYears: 0 months: 0 days: 0 hours: 0 minutes: 0 - seconds: -tzOffset]; - [start setTimeZone: nil]; - [start setDate: value]; - } - else - { - [start setTimeZone: tz]; + seconds: tzOffset]; [start setDateTime: value]; } } @@ -802,18 +804,18 @@ if (value) { end = (iCalDateTime *) [newEvent uniqueChildWithTag: @"dtend"]; + [end setTimeZone: tz]; if (isAllDay) + { + [end setDate: value]; + [end setTimeZone: nil]; + } + else { tzOffset = [[value timeZone] secondsFromGMTForDate: value]; value = [value dateByAddingYears: 0 months: 0 days: 0 hours: 0 minutes: 0 - seconds: -tzOffset]; - [end setTimeZone: nil]; - [end setDate: value]; - } - else - { - [end setTimeZone: tz]; + seconds: tzOffset]; [end setDateTime: value]; } } @@ -872,10 +874,13 @@ value = [value htmlToText]; } } - if (value && [value length] == 0) - value = nil; - [newEvent setComment: value]; - + if (value) + { + if ([value length] == 0 || [value isEqualToString: @"\\n"]) + value = nil; + [newEvent setComment: value]; + } + /* recurrence */ value = [properties objectForKey: MAPIPropertyKey (PidLidAppointmentRecur)]; diff --git a/OpenChange/MAPIStoreContactsAttachment.m b/OpenChange/MAPIStoreContactsAttachment.m index 6a9afe86a..00fc652d6 100644 --- a/OpenChange/MAPIStoreContactsAttachment.m +++ b/OpenChange/MAPIStoreContactsAttachment.m @@ -35,8 +35,6 @@ #include -extern NSTimeZone *utcTZ; - /* TODO: handle URL pictures via PidTagAttachMethod = ref ? */ @implementation MAPIStoreContactsAttachment diff --git a/OpenChange/MAPIStoreContext.h b/OpenChange/MAPIStoreContext.h index ef3be71a6..fdea9bbd1 100644 --- a/OpenChange/MAPIStoreContext.h +++ b/OpenChange/MAPIStoreContext.h @@ -55,8 +55,8 @@ { struct mapistore_connection_info *connInfo; NSMutableArray *containersBag; - SOGoUser *activeUser; - MAPIStoreUserContext *userContext; + SOGoUser *activeUser; /* the user accessing the resource */ + MAPIStoreUserContext *userContext; /* the owner or the resource */ NSURL *contextUrl; } diff --git a/OpenChange/MAPIStoreFAIMessage.m b/OpenChange/MAPIStoreFAIMessage.m index 81a9dfb9c..0611c6347 100644 --- a/OpenChange/MAPIStoreFAIMessage.m +++ b/OpenChange/MAPIStoreFAIMessage.m @@ -28,6 +28,7 @@ #import "MAPIStoreFAIMessage.h" #undef DEBUG +#include #include #include #include diff --git a/OpenChange/MAPIStoreFallbackContext.m b/OpenChange/MAPIStoreFallbackContext.m index f77ecea68..c5270d055 100644 --- a/OpenChange/MAPIStoreFallbackContext.m +++ b/OpenChange/MAPIStoreFallbackContext.m @@ -31,6 +31,7 @@ #import "MAPIStoreFallbackContext.h" #undef DEBUG +#include #include @implementation MAPIStoreFallbackContext diff --git a/OpenChange/MAPIStoreMailMessage.m b/OpenChange/MAPIStoreMailMessage.m index aa0469774..005cade2f 100644 --- a/OpenChange/MAPIStoreMailMessage.m +++ b/OpenChange/MAPIStoreMailMessage.m @@ -284,7 +284,7 @@ _compareBodyKeysByPriority (id entry1, id entry2, void *data) wrapperWithICalEvent: event andUser: [context activeUser] andSenderEmail: senderEmail - inTimeZone: [self ownerTimeZone] + inTimeZone: [[self userContext] timeZone] withConnectionInfo: [context connectionInfo]]; [appointmentWrapper retain]; } diff --git a/OpenChange/MAPIStoreMailVolatileMessage.m b/OpenChange/MAPIStoreMailVolatileMessage.m index 2d5a937e5..3a3d66be3 100644 --- a/OpenChange/MAPIStoreMailVolatileMessage.m +++ b/OpenChange/MAPIStoreMailVolatileMessage.m @@ -29,6 +29,7 @@ #import #import #import +#import #import #import #import @@ -495,7 +496,11 @@ FillMessageHeadersFromProperties (NGMutableHashMap *headers, date = [mailProperties objectForKey: MAPIPropertyKey (PR_CLIENT_SUBMIT_TIME)]; if (date) - [headers addObject: [date rfc822DateString] forKey: @"date"]; + { + date = [date addYear: 0 month: 0 day: 0 + hour: 0 minute: 0 second: [[date timeZone] secondsFromGMT]]; + [headers addObject: [date rfc822DateString] forKey: @"date"]; + } [headers addObject: @"1.0" forKey: @"MIME-Version"]; } diff --git a/OpenChange/MAPIStoreObject.h b/OpenChange/MAPIStoreObject.h index 773e806ac..cb7ed7809 100644 --- a/OpenChange/MAPIStoreObject.h +++ b/OpenChange/MAPIStoreObject.h @@ -77,8 +77,6 @@ - (uint64_t) objectId; - (NSString *) url; -- (NSTimeZone *) ownerTimeZone; - /* properties */ - (BOOL) canGetProperty: (enum MAPITAGS) propTag; diff --git a/OpenChange/MAPIStoreObject.m b/OpenChange/MAPIStoreObject.m index c0649c7a3..fd727e180 100644 --- a/OpenChange/MAPIStoreObject.m +++ b/OpenChange/MAPIStoreObject.m @@ -20,7 +20,9 @@ * Boston, MA 02111-1307, USA. */ +#import #import +#import #import #import #import @@ -210,21 +212,6 @@ static Class NSExceptionK, MAPIStoreFolderK; containerURL, [self nameInContainer]]; } -- (NSTimeZone *) ownerTimeZone -{ - NSString *owner; - SOGoUserDefaults *ud; - NSTimeZone *tz; - WOContext *woContext; - - woContext = [[self userContext] woContext]; - owner = [sogoObject ownerInContext: woContext]; - ud = [[SOGoUser userWithLogin: owner] userDefaults]; - tz = [ud timeZone]; - - return tz; -} - - (void) addProperties: (NSDictionary *) newNewProperties { [properties addEntriesFromDictionary: newNewProperties]; @@ -447,16 +434,37 @@ static Class NSExceptionK, MAPIStoreFolderK; struct SPropValue *cValue; NSUInteger counter; NSMutableDictionary *newProperties; + NSTimeZone *tz; + NSInteger tzOffset; + id value; + + tz = nil; newProperties = [NSMutableDictionary dictionaryWithCapacity: aRow->cValues]; for (counter = 0; counter < aRow->cValues; counter++) { cValue = aRow->lpProps + counter; - if ((cValue->ulPropTag & 0xfff) == PT_STRING8) - [self warnWithFormat: - @"attempting to set string property as PR_STRING8: %.8x", - cValue->ulPropTag]; - [newProperties setObject: NSObjectFromSPropValue (cValue) + value = NSObjectFromSPropValue (cValue); + switch (cValue->ulPropTag & 0xffff) + { + case PT_STRING8: + case PT_MV_STRING8: + [self warnWithFormat: + @"attempting to set string property as PR_STRING8: %.8x", + cValue->ulPropTag]; + break; + case PT_SYSTIME: + if (!tz) + { + tz = [[self userContext] timeZone]; + tzOffset = -[tz secondsFromGMT]; + } + value = [value addYear: 0 month: 0 day: 0 + hour: 0 minute: 0 second: tzOffset]; + [value setTimeZone: tz]; + break; + } + [newProperties setObject: value forKey: MAPIPropertyKey (cValue->ulPropTag)]; } diff --git a/OpenChange/MAPIStoreRecurrenceUtils.m b/OpenChange/MAPIStoreRecurrenceUtils.m index 010066e43..09d6ce793 100644 --- a/OpenChange/MAPIStoreRecurrenceUtils.m +++ b/OpenChange/MAPIStoreRecurrenceUtils.m @@ -21,6 +21,7 @@ */ #import +#import #import #import @@ -32,6 +33,7 @@ #import "NSDate+MAPIStore.h" #import "MAPIStoreRecurrenceUtils.h" +#include #include #include #include diff --git a/OpenChange/MAPIStoreSOGo.m b/OpenChange/MAPIStoreSOGo.m index f2b6a807e..0e790a5b7 100644 --- a/OpenChange/MAPIStoreSOGo.m +++ b/OpenChange/MAPIStoreSOGo.m @@ -64,9 +64,11 @@ sogo_backend_atexit (void) { NSAutoreleasePool *pool; + GSRegisterCurrentThread (); pool = [NSAutoreleasePool new]; NSLog (@"allocated classes:\n%s", GSDebugAllocationList (YES)); [pool release]; + GSUnregisterCurrentThread (); } /** @@ -84,6 +86,7 @@ sogo_backend_init (void) SoProductRegistry *registry; char *argv[] = { SAMBA_PREFIX "/sbin/samba", NULL }; + GSRegisterCurrentThread (); pool = [NSAutoreleasePool new]; /* Here we work around a bug in GNUstep which decodes XML user @@ -149,6 +152,7 @@ sogo_backend_create_context(TALLOC_CTX *mem_ctx, DEBUG(0, ("[SOGo: %s:%d]\n", __FUNCTION__, __LINE__)); + GSRegisterCurrentThread (); pool = [NSAutoreleasePool new]; if (MAPIStoreContextK) @@ -164,6 +168,7 @@ sogo_backend_create_context(TALLOC_CTX *mem_ctx, rc = MAPISTORE_ERROR; [pool release]; + GSUnregisterCurrentThread (); return rc; } @@ -182,6 +187,7 @@ sogo_backend_create_root_folder (const char *username, DEBUG(0, ("[SOGo: %s:%d]\n", __FUNCTION__, __LINE__)); + GSRegisterCurrentThread (); pool = [NSAutoreleasePool new]; if (MAPIStoreContextK) @@ -200,6 +206,7 @@ sogo_backend_create_root_folder (const char *username, rc = MAPISTORE_ERROR; [pool release]; + GSUnregisterCurrentThread (); return rc; } @@ -215,6 +222,7 @@ sogo_backend_list_contexts(const char *username, struct tdb_wrap *indexingTdb, DEBUG(0, ("[SOGo: %s:%d]\n", __FUNCTION__, __LINE__)); + GSRegisterCurrentThread (); pool = [NSAutoreleasePool new]; if (MAPIStoreContextK) @@ -229,6 +237,7 @@ sogo_backend_list_contexts(const char *username, struct tdb_wrap *indexingTdb, rc = MAPISTORE_ERROR; [pool release]; + GSUnregisterCurrentThread (); return rc; } @@ -263,9 +272,11 @@ sogo_context_get_path(void *backend_object, TALLOC_CTX *mem_ctx, { wrapper = backend_object; context = wrapper->MAPIStoreSOGoObject; + GSRegisterCurrentThread (); pool = [NSAutoreleasePool new]; rc = [context getPath: path ofFMID: fmid inMemCtx: mem_ctx]; [pool release]; + GSUnregisterCurrentThread (); } else { @@ -291,11 +302,13 @@ sogo_context_get_root_folder(void *backend_object, TALLOC_CTX *mem_ctx, { wrapper = backend_object; context = wrapper->MAPIStoreSOGoObject; + GSRegisterCurrentThread (); pool = [NSAutoreleasePool new]; rc = [context getRootFolder: &folder withFID: fid]; if (rc == MAPISTORE_SUCCESS) *folder_object = [folder tallocWrapper: mem_ctx]; [pool release]; + GSUnregisterCurrentThread (); } else { @@ -328,12 +341,14 @@ sogo_folder_open_folder(void *folder_object, TALLOC_CTX *mem_ctx, uint64_t fid, { wrapper = folder_object; folder = wrapper->MAPIStoreSOGoObject; + GSRegisterCurrentThread (); pool = [NSAutoreleasePool new]; rc = [folder openFolder: &childFolder withFID: fid]; if (rc == MAPISTORE_SUCCESS) *childfolder_object = [childFolder tallocWrapper: mem_ctx]; // [context tearDownRequest]; [pool release]; + GSUnregisterCurrentThread (); } else { @@ -366,11 +381,13 @@ sogo_folder_create_folder(void *folder_object, TALLOC_CTX *mem_ctx, { wrapper = folder_object; folder = wrapper->MAPIStoreSOGoObject; + GSRegisterCurrentThread (); pool = [NSAutoreleasePool new]; rc = [folder createFolder: &childFolder withRow: aRow andFID: fid]; if (rc == MAPISTORE_SUCCESS) *childfolder_object = [childFolder tallocWrapper: mem_ctx]; [pool release]; + GSUnregisterCurrentThread (); } else { @@ -403,9 +420,11 @@ sogo_folder_delete(void *folder_object) { wrapper = folder_object; folder = wrapper->MAPIStoreSOGoObject; + GSRegisterCurrentThread (); pool = [NSAutoreleasePool new]; rc = [folder deleteFolder]; [pool release]; + GSUnregisterCurrentThread (); } else { @@ -429,9 +448,11 @@ sogo_folder_get_child_count(void *folder_object, enum mapistore_table_type table { wrapper = folder_object; folder = wrapper->MAPIStoreSOGoObject; + GSRegisterCurrentThread (); pool = [NSAutoreleasePool new]; rc = [folder getChildCount: child_count ofTableType: table_type]; [pool release]; + GSUnregisterCurrentThread (); } else { @@ -459,6 +480,7 @@ sogo_folder_open_message(void *folder_object, { wrapper = folder_object; folder = wrapper->MAPIStoreSOGoObject; + GSRegisterCurrentThread (); pool = [NSAutoreleasePool new]; rc = [folder openMessage: &message withMID: mid @@ -467,6 +489,7 @@ sogo_folder_open_message(void *folder_object, if (rc == MAPISTORE_SUCCESS) *message_object = [message tallocWrapper: mem_ctx]; [pool release]; + GSUnregisterCurrentThread (); } else { @@ -495,6 +518,7 @@ sogo_folder_create_message(void *folder_object, { wrapper = folder_object; folder = wrapper->MAPIStoreSOGoObject; + GSRegisterCurrentThread (); pool = [NSAutoreleasePool new]; rc = [folder createMessage: &message withMID: mid @@ -502,6 +526,7 @@ sogo_folder_create_message(void *folder_object, if (rc == MAPISTORE_SUCCESS) *message_object = [message tallocWrapper: mem_ctx]; [pool release]; + GSUnregisterCurrentThread (); } else { @@ -525,9 +550,11 @@ sogo_folder_delete_message(void *folder_object, uint64_t mid, uint8_t flags) { wrapper = folder_object; folder = wrapper->MAPIStoreSOGoObject; + GSRegisterCurrentThread (); pool = [NSAutoreleasePool new]; rc = [folder deleteMessageWithMID: mid andFlags: flags]; [pool release]; + GSUnregisterCurrentThread (); } else { @@ -560,6 +587,7 @@ sogo_folder_move_copy_messages(void *folder_object, wrapper = source_folder_object; sourceFolder = wrapper->MAPIStoreSOGoObject; + GSRegisterCurrentThread (); pool = [NSAutoreleasePool new]; rc = [targetFolder moveCopyMessagesWithMIDs: src_mids andCount: mid_count @@ -568,6 +596,7 @@ sogo_folder_move_copy_messages(void *folder_object, andChangeKeys: target_change_keys wantCopy: want_copy]; [pool release]; + GSUnregisterCurrentThread (); } else { @@ -593,6 +622,7 @@ sogo_folder_get_deleted_fmids(void *folder_object, TALLOC_CTX *mem_ctx, { wrapper = folder_object; folder = wrapper->MAPIStoreSOGoObject; + GSRegisterCurrentThread (); pool = [NSAutoreleasePool new]; rc = [folder getDeletedFMIDs: fmidsp andCN: cnp @@ -600,6 +630,7 @@ sogo_folder_get_deleted_fmids(void *folder_object, TALLOC_CTX *mem_ctx, inTableType: table_type inMemCtx: mem_ctx]; [pool release]; + GSUnregisterCurrentThread (); } else { @@ -626,6 +657,7 @@ sogo_folder_open_table(void *folder_object, TALLOC_CTX *mem_ctx, { wrapper = folder_object; folder = wrapper->MAPIStoreSOGoObject; + GSRegisterCurrentThread (); pool = [NSAutoreleasePool new]; rc = [folder getTable: &table andRowCount: row_count @@ -634,6 +666,7 @@ sogo_folder_open_table(void *folder_object, TALLOC_CTX *mem_ctx, if (rc == MAPISTORE_SUCCESS) *table_object = [table tallocWrapper: mem_ctx]; [pool release]; + GSUnregisterCurrentThread (); } else { @@ -659,11 +692,13 @@ sogo_folder_modify_permissions(void *folder_object, uint8_t flags, { wrapper = folder_object; folder = wrapper->MAPIStoreSOGoObject; + GSRegisterCurrentThread (); pool = [NSAutoreleasePool new]; rc = [folder modifyPermissions: permissions withCount: pcount andFlags: flags]; [pool release]; + GSUnregisterCurrentThread (); } else { @@ -689,10 +724,12 @@ sogo_message_get_message_data(void *message_object, { wrapper = message_object; message = wrapper->MAPIStoreSOGoObject; + GSRegisterCurrentThread (); pool = [NSAutoreleasePool new]; [message getMessageData: msg_dataP inMemCtx: mem_ctx]; [pool release]; + GSUnregisterCurrentThread (); rc = MAPISTORE_SUCCESS; } else @@ -718,12 +755,14 @@ sogo_message_create_attachment (void *message_object, TALLOC_CTX *mem_ctx, void { wrapper = message_object; message = wrapper->MAPIStoreSOGoObject; + GSRegisterCurrentThread (); pool = [NSAutoreleasePool new]; rc = [message createAttachment: &attachment inAID: aidp]; if (rc == MAPISTORE_SUCCESS) *attachment_object = [attachment tallocWrapper: mem_ctx]; // [context tearDownRequest]; [pool release]; + GSUnregisterCurrentThread (); } else { @@ -749,12 +788,14 @@ sogo_message_open_attachment (void *message_object, TALLOC_CTX *mem_ctx, { wrapper = message_object; message = wrapper->MAPIStoreSOGoObject; + GSRegisterCurrentThread (); pool = [NSAutoreleasePool new]; rc = [message getAttachment: &attachment withAID: aid]; if (rc == MAPISTORE_SUCCESS) *attachment_object = [attachment tallocWrapper: mem_ctx]; // [context tearDownRequest]; [pool release]; + GSUnregisterCurrentThread (); } else { @@ -779,6 +820,7 @@ sogo_message_get_attachment_table (void *message_object, TALLOC_CTX *mem_ctx, vo { wrapper = message_object; message = wrapper->MAPIStoreSOGoObject; + GSRegisterCurrentThread (); pool = [NSAutoreleasePool new]; rc = [message getAttachmentTable: &table andRowCount: row_count]; @@ -786,6 +828,7 @@ sogo_message_get_attachment_table (void *message_object, TALLOC_CTX *mem_ctx, vo *table_object = [table tallocWrapper: mem_ctx]; // [context tearDownRequest]; [pool release]; + GSUnregisterCurrentThread (); } else { @@ -812,12 +855,14 @@ sogo_message_modify_recipients (void *message_object, { wrapper = message_object; message = wrapper->MAPIStoreSOGoObject; + GSRegisterCurrentThread (); pool = [NSAutoreleasePool new]; rc = [message modifyRecipientsWithRecipients: recipients andCount: count andColumns: columns]; // [context tearDownRequest]; [pool release]; + GSUnregisterCurrentThread (); } else { @@ -841,10 +886,12 @@ sogo_message_set_read_flag (void *message_object, uint8_t flag) { wrapper = message_object; message = wrapper->MAPIStoreSOGoObject; + GSRegisterCurrentThread (); pool = [NSAutoreleasePool new]; rc = [message setReadFlag: flag]; // [context tearDownRequest]; [pool release]; + GSUnregisterCurrentThread (); } else { @@ -868,10 +915,12 @@ sogo_message_save (void *message_object) { wrapper = message_object; message = wrapper->MAPIStoreSOGoObject; + GSRegisterCurrentThread (); pool = [NSAutoreleasePool new]; rc = [message saveMessage]; // [context tearDownRequest]; [pool release]; + GSUnregisterCurrentThread (); } else { @@ -895,10 +944,12 @@ sogo_message_submit (void *message_object, enum SubmitFlags flags) { wrapper = message_object; message = wrapper->MAPIStoreSOGoObject; + GSRegisterCurrentThread (); pool = [NSAutoreleasePool new]; rc = [message submitWithFlags: flags]; // [context tearDownRequest]; [pool release]; + GSUnregisterCurrentThread (); } else { @@ -923,12 +974,11 @@ sogo_message_attachment_open_embedded_message DEBUG (5, ("[SOGo: %s:%d]\n", __FUNCTION__, __LINE__)); - pool = [NSAutoreleasePool new]; - if (attachment_object) { wrapper = attachment_object; attachment = wrapper->MAPIStoreSOGoObject; + GSRegisterCurrentThread (); pool = [NSAutoreleasePool new]; rc = [attachment openEmbeddedMessage: &message withMID: midP @@ -937,6 +987,7 @@ sogo_message_attachment_open_embedded_message if (rc == MAPISTORE_SUCCESS) *message_object = [message tallocWrapper: mem_ctx]; [pool release]; + GSUnregisterCurrentThread (); } else { @@ -960,9 +1011,11 @@ static enum mapistore_error sogo_table_get_available_properties(void *table_obje { wrapper = table_object; table = wrapper->MAPIStoreSOGoObject; + GSRegisterCurrentThread (); pool = [NSAutoreleasePool new]; rc = [table getAvailableProperties: propertiesP inMemCtx: mem_ctx]; [pool release]; + GSUnregisterCurrentThread (); } else { @@ -986,10 +1039,12 @@ sogo_table_set_columns (void *table_object, uint16_t count, enum MAPITAGS *prope { wrapper = table_object; table = wrapper->MAPIStoreSOGoObject; + GSRegisterCurrentThread (); pool = [NSAutoreleasePool new]; rc = [table setColumns: properties withCount: count]; [pool release]; + GSUnregisterCurrentThread (); } else { @@ -1013,12 +1068,14 @@ sogo_table_set_restrictions (void *table_object, struct mapi_SRestriction *restr { wrapper = table_object; table = wrapper->MAPIStoreSOGoObject; + GSRegisterCurrentThread (); pool = [NSAutoreleasePool new]; [table setRestrictions: restrictions]; [table cleanupCaches]; rc = MAPISTORE_SUCCESS; *table_status = TBLSTAT_COMPLETE; [pool release]; + GSUnregisterCurrentThread (); } else { @@ -1042,12 +1099,14 @@ sogo_table_set_sort_order (void *table_object, struct SSortOrderSet *sort_order, { wrapper = table_object; table = wrapper->MAPIStoreSOGoObject; + GSRegisterCurrentThread (); pool = [NSAutoreleasePool new]; [table setSortOrder: sort_order]; [table cleanupCaches]; rc = MAPISTORE_SUCCESS; *table_status = TBLSTAT_COMPLETE; [pool release]; + GSUnregisterCurrentThread (); } else { @@ -1073,10 +1132,12 @@ sogo_table_get_row (void *table_object, TALLOC_CTX *mem_ctx, { wrapper = table_object; table = wrapper->MAPIStoreSOGoObject; + GSRegisterCurrentThread (); pool = [NSAutoreleasePool new]; rc = [table getRow: data withRowID: row_id andQueryType: query_type inMemCtx: mem_ctx]; [pool release]; + GSUnregisterCurrentThread (); } else { @@ -1102,10 +1163,12 @@ sogo_table_get_row_count (void *table_object, { wrapper = table_object; table = wrapper->MAPIStoreSOGoObject; + GSRegisterCurrentThread (); pool = [NSAutoreleasePool new]; rc = [table getRowCount: row_countp withQueryType: query_type]; [pool release]; + GSUnregisterCurrentThread (); } else { @@ -1129,9 +1192,11 @@ sogo_table_handle_destructor (void *table_object, uint32_t handle_id) { wrapper = table_object; table = wrapper->MAPIStoreSOGoObject; + GSRegisterCurrentThread (); pool = [NSAutoreleasePool new]; [table destroyHandle: handle_id]; [pool release]; + GSUnregisterCurrentThread (); rc = MAPISTORE_SUCCESS; } else @@ -1157,9 +1222,11 @@ static enum mapistore_error sogo_properties_get_available_properties(void *objec { wrapper = object; propObject = wrapper->MAPIStoreSOGoObject; + GSRegisterCurrentThread (); pool = [NSAutoreleasePool new]; rc = [propObject getAvailableProperties: propertiesP inMemCtx: mem_ctx]; [pool release]; + GSUnregisterCurrentThread (); } else { @@ -1186,11 +1253,13 @@ sogo_properties_get_properties (void *object, { wrapper = object; propObject = wrapper->MAPIStoreSOGoObject; + GSRegisterCurrentThread (); pool = [NSAutoreleasePool new]; rc = [propObject getProperties: data withTags: properties andCount: count inMemCtx: mem_ctx]; [pool release]; + GSUnregisterCurrentThread (); } else { @@ -1214,9 +1283,11 @@ sogo_properties_set_properties (void *object, struct SRow *aRow) { wrapper = object; propObject = wrapper->MAPIStoreSOGoObject; + GSRegisterCurrentThread (); pool = [NSAutoreleasePool new]; rc = [propObject addPropertiesFromRow: aRow]; [pool release]; + GSUnregisterCurrentThread (); } else { @@ -1244,7 +1315,6 @@ sogo_manager_generate_uri (TALLOC_CTX *mem_ctx, /* This fixes a crash occurring during the instantiation of the NSAutoreleasePool below. */ GSRegisterCurrentThread (); - pool = [NSAutoreleasePool new]; // printf("rootURI = %s\n", rootURI); @@ -1268,7 +1338,6 @@ sogo_manager_generate_uri (TALLOC_CTX *mem_ctx, *uri = talloc_strdup (mem_ctx, [partialURLString UTF8String]); [pool release]; - GSUnregisterCurrentThread (); return MAPISTORE_SUCCESS; diff --git a/OpenChange/MAPIStoreTasksMessage.m b/OpenChange/MAPIStoreTasksMessage.m index 963c04a0b..e3a24afe5 100644 --- a/OpenChange/MAPIStoreTasksMessage.m +++ b/OpenChange/MAPIStoreTasksMessage.m @@ -329,7 +329,8 @@ iCalToDo *vToDo; id value; iCalDateTime *date; - NSString *status, *priority; + iCalTimeZone *tz; + NSString *status, *priority, *tzName; NSCalendarDate *now; NSInteger tzOffset; double doubleValue; @@ -338,6 +339,10 @@ vCalendar = [vToDo parent]; [vCalendar setProdID: @"-//Inverse inc.//OpenChange+SOGo//EN"]; + tzName = [[[self userContext] timeZone] name]; + tz = [iCalTimeZone timeZoneForName: tzName]; + [vCalendar addTimeZone: tz]; + // summary value = [properties objectForKey: MAPIPropertyKey (PR_NORMALIZED_SUBJECT_UNICODE)]; @@ -358,12 +363,12 @@ value = [value htmlToText]; } } - if (value && [value length] == 0) - value = nil; - [vToDo setComment: value]; - if (value) - [vToDo setComment: value]; + { + if ([value length] == 0 || [value isEqualToString: @"\\n"]) + value = nil; + [vToDo setComment: value]; + } // location value = [properties objectForKey: MAPIPropertyKey (PidLidLocation)]; @@ -388,31 +393,17 @@ if (value) { date = (iCalDateTime *) [vToDo uniqueChildWithTag: @"dtstart"]; - tzOffset = [[value timeZone] secondsFromGMTForDate: value]; - value = [value dateByAddingYears: 0 months: 0 days: 0 - hours: 0 minutes: 0 - seconds: -tzOffset]; - [date setDate: value]; + [date setTimeZone: tz]; + [date setDateTime: value]; } - else - { - [vToDo setStartDate: nil]; - } - + // due value = [properties objectForKey: MAPIPropertyKey (PidLidTaskDueDate)]; if (value) { date = (iCalDateTime *) [vToDo uniqueChildWithTag: @"due"]; - tzOffset = [[value timeZone] secondsFromGMTForDate: value]; - value = [value dateByAddingYears: 0 months: 0 days: 0 - hours: 0 minutes: 0 - seconds: -tzOffset]; - [date setDate: value]; - } - else - { - [vToDo setDue: nil]; + [date setTimeZone: tz]; + [date setDateTime: value]; } // completed @@ -426,10 +417,6 @@ seconds: -tzOffset]; [date setDate: value]; } - else - { - [vToDo setCompleted: nil]; - } // status value = [properties objectForKey: MAPIPropertyKey (PidLidTaskStatus)]; @@ -459,10 +446,8 @@ default: // IMPORTANCE_NORMAL priority = @"5"; } + [vToDo setPriority: priority]; } - else - priority = @"0"; // None - [vToDo setPriority: priority]; // percent complete // NOTE: this does not seem to work on Outlook 2003. PidLidPercentComplete's value diff --git a/OpenChange/MAPIStoreTypes.h b/OpenChange/MAPIStoreTypes.h index 286c0b298..8e2fb7d46 100644 --- a/OpenChange/MAPIStoreTypes.h +++ b/OpenChange/MAPIStoreTypes.h @@ -32,6 +32,9 @@ @class NSData; @class NSDictionary; +@class NSTimeZone; + +extern NSTimeZone *utcTZ; uint8_t *MAPIBoolValue (void *memCtx, BOOL value); uint32_t *MAPILongValue (void *memCtx, uint32_t value); diff --git a/OpenChange/MAPIStoreTypes.m b/OpenChange/MAPIStoreTypes.m index bcef90ae1..fc4ca727a 100644 --- a/OpenChange/MAPIStoreTypes.m +++ b/OpenChange/MAPIStoreTypes.m @@ -36,6 +36,8 @@ #include #include +NSTimeZone *utcTZ; + uint8_t * MAPIBoolValue (void *memCtx, BOOL value) { diff --git a/OpenChange/MAPIStoreUserContext.h b/OpenChange/MAPIStoreUserContext.h index 43ae2e7ed..5cdd38710 100644 --- a/OpenChange/MAPIStoreUserContext.h +++ b/OpenChange/MAPIStoreUserContext.h @@ -27,6 +27,7 @@ @class NSMutableDictionary; @class NSString; +@class NSTimeZone; @class WOContext; @@ -43,6 +44,7 @@ { NSString *username; SOGoUser *sogoUser; + NSTimeZone *timeZone; SOGoUserFolder *userFolder; NSMutableArray *containersBag; @@ -63,6 +65,8 @@ - (NSString *) username; - (SOGoUser *) sogoUser; +- (NSTimeZone *) timeZone; + - (SOGoUserFolder *) userFolder; - (NSDictionary *) rootFolders; diff --git a/OpenChange/MAPIStoreUserContext.m b/OpenChange/MAPIStoreUserContext.m index 53f20d37c..dcb3cfb72 100644 --- a/OpenChange/MAPIStoreUserContext.m +++ b/OpenChange/MAPIStoreUserContext.m @@ -137,6 +137,20 @@ static NSMapTable *contextsTable = nil; return sogoUser; } +- (NSTimeZone *) timeZone +{ + if (!timeZone) + { + SOGoUser *user; + + user = [self sogoUser]; + timeZone = [[user userDefaults] timeZone]; + [timeZone retain]; + } + + return timeZone; +} + - (SOGoUserFolder *) userFolder { if (!userFolder) diff --git a/OpenChange/NSArray+MAPIStore.m b/OpenChange/NSArray+MAPIStore.m index 1192ce124..7a41245d4 100644 --- a/OpenChange/NSArray+MAPIStore.m +++ b/OpenChange/NSArray+MAPIStore.m @@ -29,6 +29,7 @@ #import "NSArray+MAPIStore.h" #undef DEBUG +#include #include #include #include diff --git a/OpenChange/NSDate+MAPIStore.m b/OpenChange/NSDate+MAPIStore.m index 1c09fd0a2..eb873978b 100644 --- a/OpenChange/NSDate+MAPIStore.m +++ b/OpenChange/NSDate+MAPIStore.m @@ -27,6 +27,7 @@ #import "NSDate+MAPIStore.h" #undef DEBUG +#include #include #include #include diff --git a/OpenChange/NSObject+MAPIStore.m b/OpenChange/NSObject+MAPIStore.m index 7fc75a74d..914d644a8 100644 --- a/OpenChange/NSObject+MAPIStore.m +++ b/OpenChange/NSObject+MAPIStore.m @@ -21,6 +21,7 @@ */ #import +#import #import #import "MAPIStoreTypes.h" @@ -44,11 +45,13 @@ MAPIStoreTallocWrapperDestroy (void *data) struct MAPIStoreTallocWrapper *wrapper; NSAutoreleasePool *pool; + GSRegisterCurrentThread (); pool = [NSAutoreleasePool new]; wrapper = data; // NSLog (@"destroying wrapped object (wrapper: %p; object: %p)...\n", wrapper, wrapper->MAPIStoreSOGoObject); [wrapper->MAPIStoreSOGoObject release]; [pool release]; + GSUnregisterCurrentThread (); return 0; } diff --git a/OpenChange/SOGoMAPIFSFolder.m b/OpenChange/SOGoMAPIFSFolder.m index 429e23f93..b26e0ea9d 100644 --- a/OpenChange/SOGoMAPIFSFolder.m +++ b/OpenChange/SOGoMAPIFSFolder.m @@ -39,6 +39,7 @@ #import "SOGoMAPIFSFolder.h" #undef DEBUG +#include #include #include #include diff --git a/OpenChange/SOGoMAPIFSMessage.h b/OpenChange/SOGoMAPIFSMessage.h index 0a0385721..ec6494938 100644 --- a/OpenChange/SOGoMAPIFSMessage.h +++ b/OpenChange/SOGoMAPIFSMessage.h @@ -31,7 +31,7 @@ @interface SOGoMAPIFSMessage : SOGoMAPIVolatileMessage { NSString *completeFilename; - NSUInteger fileSize; + NSUInteger inode; NSData *lastModificationTime; } diff --git a/OpenChange/SOGoMAPIFSMessage.m b/OpenChange/SOGoMAPIFSMessage.m index 495bba96d..8a854fa1d 100644 --- a/OpenChange/SOGoMAPIFSMessage.m +++ b/OpenChange/SOGoMAPIFSMessage.m @@ -41,7 +41,7 @@ if ((self = [super init])) { completeFilename = nil; - fileSize = 0; + inode = 0; lastModificationTime = nil; } @@ -86,7 +86,7 @@ } - (BOOL) _readFileChangesDataWithDate: (NSDate **) newLMTime - andSize: (NSUInteger *) newFileSize + andInode: (NSUInteger *) newInode { BOOL rc; NSDictionary *attributes; @@ -97,7 +97,7 @@ if (attributes) { *newLMTime = [attributes fileModificationDate]; - *newFileSize = [attributes fileSize]; + *newInode = [attributes fileSystemFileNumber]; rc = YES; } else @@ -107,22 +107,22 @@ } - (BOOL) _checkFileChangesDataWithDate: (NSDate **) newLMTime - andSize: (NSUInteger *) newFileSize + andInode: (NSUInteger *) newInode { BOOL hasChanged = NO; NSDate *lastLMTime; - NSUInteger lastFileSize; + NSUInteger lastInode; if ([self _readFileChangesDataWithDate: &lastLMTime - andSize: &lastFileSize]) + andInode: &lastInode]) { - if (fileSize != lastFileSize + if (inode != lastInode || ![lastModificationTime isEqual: lastLMTime]) { if (lastLMTime) *newLMTime = lastLMTime; - if (newFileSize) - *newFileSize = lastFileSize; + if (newInode) + *newInode = lastInode; hasChanged = YES; } } @@ -136,10 +136,10 @@ NSString *error; NSPropertyListFormat format; NSDate *lastLMTime; - NSUInteger lastFileSize; + NSUInteger lastInode; if ([self _checkFileChangesDataWithDate: &lastLMTime - andSize: &lastFileSize]) + andInode: &lastInode]) { [self logWithFormat: @"file '%@' new or modified: rereading properties", [self completeFilename]]; @@ -158,7 +158,7 @@ @" of message: '%@'", error]; } ASSIGN (lastModificationTime, lastLMTime); - fileSize = lastFileSize; + inode = lastInode; } return [super properties]; @@ -168,7 +168,7 @@ { NSData *content; NSDate *lastLMTime; - NSUInteger lastFileSize; + NSUInteger lastInode; [container ensureDirectory]; @@ -178,14 +178,13 @@ dataFromPropertyList: [self properties] format: NSPropertyListBinaryFormat_v1_0 errorDescription: NULL]; - if (![content writeToFile: [self completeFilename] atomically: NO]) + if (![content writeToFile: [self completeFilename] atomically: YES]) [NSException raise: @"MAPIStoreIOException" format: @"could not save message"]; - [self _readFileChangesDataWithDate: &lastLMTime - andSize: &lastFileSize]; + [self _readFileChangesDataWithDate: &lastLMTime andInode: &lastInode]; ASSIGN (lastModificationTime, lastLMTime); - fileSize = lastFileSize; + inode = lastInode; // [self logWithFormat: @"fs message written to '%@'", [self completeFilename]]; } diff --git a/SOPE/NGCards/CardElement.h b/SOPE/NGCards/CardElement.h index b15b2175d..7bccaa46f 100644 --- a/SOPE/NGCards/CardElement.h +++ b/SOPE/NGCards/CardElement.h @@ -106,17 +106,18 @@ - (void) addType: (NSString *) aType; +/* rendering */ - (NSArray *) orderOfAttributeKeys; - (NSArray *) orderOfValueKeys; - - (NSString *) versitString; - (CardGroup *) searchParentOfClass: (Class) parentClass; +/* conversion */ - (id) elementWithClass: (Class) elementClass; +/* copy */ - (void) setAttributesAsCopy: (NSMutableDictionary *) someAttributes; - - (NSMutableArray *) deepCopyOfArray: (NSArray *) oldArray withZone: (NSZone *) aZone; - (NSMutableDictionary *) deepCopyOfDictionary: (NSDictionary *) oldDictionary diff --git a/Version b/Version index 4364995c1..09503ebca 100644 --- a/Version +++ b/Version @@ -2,6 +2,6 @@ # This file is included by library makefiles to set the version information # of the executable. -MAJOR_VERSION=1 -MINOR_VERSION=3 -SUBMINOR_VERSION=15 +MAJOR_VERSION=2 +MINOR_VERSION=0 +SUBMINOR_VERSION=0 diff --git a/debian-multiarch/changelog b/debian-multiarch/changelog new file mode 100644 index 000000000..82a72fc5b --- /dev/null +++ b/debian-multiarch/changelog @@ -0,0 +1,48 @@ +sogo (1.3.5) unstable; urgency=low + + * New upstream release. + + -- Inverse Support Wed, 25 January 2011 12:00:00 -0500 + +sogo (1.2.2) unstable; urgency=low + + * New upstream release. + + -- Inverse Support Tue, 04 May 2010 16:45:59 -0400 + +sogo (1.2.1) unstable; urgency=low + + * New upstream release. + * SOGo-debian.conf installed as /etc/apache2/conf.d/ + * SOGo.conf removed from documentation examples. + + -- Inverse Support Wed, 17 Feb 2010 11:06:41 -0500 + +sogo (1.2.0) unstable; urgency=low + + * New upstream release. + + -- Inverse Support Tue, 26 Jan 2010 08:34:20 -0500 + +sogo (1.1.0) unstable; urgency=low + + * New release + * Install a default Apache 2 configuration file. + * Added a dependency on sope4.9-libxmlsaxdriver, sope4.9-db-connector + + -- Inverse Support Wed, 28 Oct 2009 17:06:03 -0400 + +sogo (1.0.4) unstable; urgency=low + + * New release + * debian/control: + - bumped standards-version + - updated dependencies + + -- Inverse Support Tue, 11 Aug 2009 18:22:41 -0400 + +sogo (1.0.3) UNRELEASED; urgency=low + + * Initial package + + -- Cyril Robert Tue, 23 Dec 2008 00:49:45 +0100 diff --git a/debian-multiarch/compat b/debian-multiarch/compat new file mode 100644 index 000000000..45a4fb75d --- /dev/null +++ b/debian-multiarch/compat @@ -0,0 +1 @@ +8 diff --git a/debian-multiarch/control b/debian-multiarch/control new file mode 100644 index 000000000..1f861a83f --- /dev/null +++ b/debian-multiarch/control @@ -0,0 +1,61 @@ +Source: sogo +Priority: optional +Maintainer: Inverse Support +Build-Depends: debhelper (>= 8.0.0), gobjc | objc-compiler, libgnustep-base-dev, libsope-appserver4.9-dev, libsope-core4.9-dev, libsope-gdl1-4.9-dev, libsope-ldap4.9-dev, libsope-mime4.9-dev, libsope-xml4.9-dev, libmemcached-dev, libxml2-dev, libsbjson-dev, libssl-dev, libcurl4-openssl-dev | libcurl4-gnutls-dev, libmapi-dev, libmapistore-dev, libmapiproxy-dev +Section: web +Standards-Version: 3.9.2 + +Package: sogo +Pre-Depends: ${misc:Pre-Depends} +Multi-Arch: same +Section: web +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends}, tmpreaper, sope4.9-libxmlsaxdriver, sope4.9-db-connector, gnustep-make, libcurl3 +Suggests: nginx +Description: a modern and scalable groupware + SOGo is a groupware server built around OpenGroupware.org (OGo) and + the SOPE application server with focus on scalability. + The Inverse edition of this project has many feature enhancements: + * CalDAV and GroupDAV compliance + * full handling of vCard as well as vCalendar/iCalendar formats + * support for folder sharing and ACLs + . + The Web interface has been rewritten in an AJAX fashion to provide a faster + UI for the users, consistency in look and feel with the Mozilla applications, + and to reduce the load of the transactions on the server. + +Package: sogo-dev +Section: devel +Architecture: any +Depends: sogo (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends} +Replaces: sogo (<< ${binary:Version}) +Description: a modern and scalable groupware - development files + SOGo is a groupware server built around OpenGroupware.org (OGo) and + the SOPE application server with focus on scalability. + . + This package contains the development files for developing SOGo modules. + +Package: sogo-openchange +Pre-Depends: ${misc:Pre-Depends} +Multi-Arch: same +Section: net +Priority: extra +Architecture: any +Depends: sogo (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: a modern and scalable groupware - OpenChange backend + SOGo is a groupware server built around OpenGroupware.org (OGo) and + the SOPE application server with focus on scalability. + . + This package contains the backend plugin for using SOGo as a backend + to OpenChange. + +Package: sogo-dbg +Section: debug +Priority: extra +Architecture: any +Depends: sogo (= ${binary:Version}), ${misc:Depends} +Description: a modern and scalable groupware - debugging symbols + SOGo is a groupware server built around OpenGroupware.org (OGo) and + the SOPE application server with focus on scalability. + . + This package contains the debugging symbols for SOGo. diff --git a/debian-multiarch/copyright b/debian-multiarch/copyright new file mode 100644 index 000000000..8c26684c5 --- /dev/null +++ b/debian-multiarch/copyright @@ -0,0 +1,31 @@ +This package was debianized by Inverse on +Mon, 27 Jul 2009 10:57:51 -0400. + +It was downloaded from http://www.sogo.nu/downloads/backend.html + +Upstream Authors: + + Inverse inc. + +Copyright: + + Copyright (C) 2006-2010 Inverse inc. + +License: + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +The Debian packaging is (c) 2009, Inverse and +is licensed under the GPL, see `/usr/share/common-licenses/GPL-2'. diff --git a/debian-multiarch/rules b/debian-multiarch/rules new file mode 100755 index 000000000..1580a1ce5 --- /dev/null +++ b/debian-multiarch/rules @@ -0,0 +1,115 @@ +#!/usr/bin/make -f +# -*- makefile -*- +export DH_VERBOSE=1 +# export DH_OPTIONS="-p sogo" + +DESTDIR=$(CURDIR)/debian/tmp +DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH) + +include /etc/GNUstep/GNUstep.conf +include /usr/share/GNUstep/Makefiles/common.make + +config.make: configure + dh_testdir + ./configure --prefix=$(GNUSTEP_SYSTEM_ROOT) + +#Architecture +build: build-arch + +build-arch: build-arch-stamp +build-arch-stamp: config.make +# Add here commands to compile the arch part of the package. + $(MAKE) + if pkg-config --atleast-version=1.0 libmapi; \ + then (cd OpenChange; $(MAKE)); \ + fi + touch $@ + +clean: + dh_testdir + dh_testroot + rm -f build-arch-stamp + ( cd Tests/Integration; make clean ) + rm -f Tests/Integration/config.py + -find Tests -name "*.pyc" -exec rm -f {} \; + if [ -f config.make ]; \ + then \ + if pkg-config --atleast-version=1.0 libmapi; \ + then \ + (cd OpenChange; make clean); \ + fi; \ + make clean; \ + fi + -rm -f OpenChange/MAPIStorePropertySelectors.* + -find OpenChange -type d -name "unrtf-*" -exec rm -rf {} \; + -rm -f OpenChange/unrtf*-stamp + -rm -f config.make + dh_clean + +install: install-arch + dh_testdir + dh_testroot +# dh_prep -i +# dh_installdirs -i +# dh_install -i + +install-arch: build-arch + dh_testdir + dh_testroot + dh_prep +# dh_installdirs -s + + $(MAKE) DESTDIR=$(DESTDIR) GNUSTEP_INSTALLATION_DOMAIN=SYSTEM install + if pkg-config --atleast-version=1.0 libmapi; \ + then \ + (cd OpenChange; \ + $(MAKE) \ + DESTDIR=$(DESTDIR) \ + GNUSTEP_INSTALLATION_DOMAIN=SYSTEM \ + install); \ + rm -f $(DESTDIR)/usr/lib/$(DEB_HOST_MULTIARCH)/mapistore_backends/libMAPIStoreSOGo.so.1; \ + rm -f $(DESTDIR)/usr/lib/$(DEB_HOST_MULTIARCH)/mapistore_backends/libMAPIStoreSOGo.so; \ + mv -f $(DESTDIR)/usr/lib/$(DEB_HOST_MULTIARCH)/mapistore_backends/libMAPIStoreSOGo.so.1.0.0 \ + $(DESTDIR)/usr/lib/$(DEB_HOST_MULTIARCH)/mapistore_backends/SOGo.so; \ + fi + + mkdir -p debian/tmp/etc/default + cp Scripts/sogo-default debian/tmp/etc/default/sogo + mkdir -p debian/tmp/usr/share/lintian/overrides + cp debian/sogo.overrides debian/tmp/usr/share/lintian/overrides/sogo + mkdir -p debian/tmp/etc/apache2/conf.d + cp Apache/SOGo.conf debian/tmp/etc/apache2/conf.d/SOGo.conf + install -D -m 644 Scripts/sogo.cron debian/tmp/etc/cron.d/sogo + +# Build architecture dependant packages using the common target. +binary-arch: build-arch install-arch + dh_testdir + dh_testroot + dh_installinit -r + dh_installlogrotate + dh_installcron + dh_installchangelogs ChangeLog + dh_installdocs +# dh_installexamples + dh_installman + dh_install + dh_link + dh_strip --dbg-package=sogo-dbg +# workaround for http://sourceware.org/bugzilla/show_bug.cgi?id=9538 +# to let gdb find the symbols for libSOGo + ( cd debian/sogo-dbg/usr/lib/debug/usr/lib/; \ + ln -s GNUstep/Frameworks/SOGo.framework/Versions/*/libSOGo* ./ ) + dh_compress + dh_fixperms + dh_makeshlibs -X/usr/lib/$(DEB_HOST_MULTIARCH)/mapistore_backends + dh_shlibdeps + dh_installdeb + dh_gencontrol + dh_md5sums + dh_builddeb + +binary-indep: build install +# We have nothing to do by default. + +binary: binary-arch binary-indep +.PHONY: build clean binary-arch binary install install-arch diff --git a/debian-multiarch/sogo-dev.install b/debian-multiarch/sogo-dev.install new file mode 100644 index 000000000..a29817742 --- /dev/null +++ b/debian-multiarch/sogo-dev.install @@ -0,0 +1,2 @@ +usr/include/GNUstep/* +usr/lib/lib*.so diff --git a/debian-multiarch/sogo-openchange.install b/debian-multiarch/sogo-openchange.install new file mode 100644 index 000000000..d3f119d33 --- /dev/null +++ b/debian-multiarch/sogo-openchange.install @@ -0,0 +1,2 @@ +usr/lib/*/mapistore_backends/* +usr/lib/GNUstep/SOGo/SOGoBackend.MAPIStore diff --git a/debian-multiarch/sogo.cron.daily b/debian-multiarch/sogo.cron.daily new file mode 100644 index 000000000..09bf4a3b3 --- /dev/null +++ b/debian-multiarch/sogo.cron.daily @@ -0,0 +1,6 @@ +#!/bin/sh + +SOGOSPOOL=/var/spool/sogo + +/usr/sbin/tmpreaper 24 "$SOGOSPOOL" +find "$SOGOSPOOL" -mindepth 1 -type d -empty -exec /bin/rmdir -p {} \; 2> /dev/null diff --git a/debian-multiarch/sogo.dirs b/debian-multiarch/sogo.dirs new file mode 100644 index 000000000..77877b7bd --- /dev/null +++ b/debian-multiarch/sogo.dirs @@ -0,0 +1,3 @@ +etc +var +usr diff --git a/debian-multiarch/sogo.docs b/debian-multiarch/sogo.docs new file mode 100644 index 000000000..02b9d95c5 --- /dev/null +++ b/debian-multiarch/sogo.docs @@ -0,0 +1,10 @@ +NEWS +TODO +Scripts/sql-update-1.2.2_to_1.3.0.sh +Scripts/sql-update-1.2.2_to_1.3.0-mysql.sh +Scripts/sql-update-1.3.3_to_1.3.4.sh +Scripts/sql-update-1.3.3_to_1.3.4-mysql.sh +Scripts/sql-update-1.3.11_to_1.3.12.sh +Scripts/sql-update-1.3.11_to_1.3.12-mysql.sh +Scripts/sogo-backup.sh +Scripts/updates.php diff --git a/debian-multiarch/sogo.init b/debian-multiarch/sogo.init new file mode 100644 index 000000000..9dc4b5c27 --- /dev/null +++ b/debian-multiarch/sogo.init @@ -0,0 +1,100 @@ +#!/bin/bash +### BEGIN INIT INFO +# Provides: sogo +# Required-Start: $remote_fs $network +# Required-Stop: $remote_fs $network +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: SOGo server +### END INIT INFO + +# SOGo init script for Debian GNU/Linux +# +# Copyright (C) 2007-2010 Inverse inc. +# +# Author: Wolfgang Sourdeau +# Ludovic Marcotte +# +# This file is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This file is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; see the file COPYING. If not, write to +# the Free Software Foundation, Inc., 59 Temple Place - Suite 330, +# Boston, MA 02111-1307, USA. +PATH=/sbin:/bin:/usr/sbin:/usr/bin + +NAME=sogo +DAEMON=/usr/sbin/sogod +DESC="SOGo" + +USER=$NAME +PREFORK=1 + +PIDFILE=/var/run/$NAME/$NAME.pid +LOGFILE=/var/log/$NAME/$NAME.log + +if [ -f /etc/default/$NAME ]; then + . /etc/default/$NAME +fi + +. /lib/lsb/init-functions + +if [ ! -x $DAEMON ]; then + log_failure_msg "$DAEMON is not executable." + exit 1 +fi + +set -e + +. /usr/share/GNUstep/Makefiles/GNUstep.sh + +DAEMON_OPTS="-WOWorkersCount $PREFORK -WOPidFile $PIDFILE -WOLogFile $LOGFILE" + +case "$1" in + start) + log_daemon_msg "Starting $DESC" "$NAME" + + # Ensure directory's existence and permissions + install -o $USER -g adm -m 755 -d /var/run/$NAME + install -o $USER -g adm -m 750 -d /var/spool/$NAME + install -o $USER -g adm -m 750 -d /var/log/$NAME + + if ! start-stop-daemon -c $USER --quiet --start --pidfile $PIDFILE --exec $DAEMON -- $DAEMON_OPTS + then + log_progress_msg "already running" + fi + log_end_msg 0 + ;; + stop) + log_daemon_msg "Stopping $DESC" "$NAME" + start-stop-daemon --stop --pidfile $PIDFILE --retry=TERM/20/KILL/5 --oknodo + log_end_msg 0 + ;; + restart|force-reload) + log_daemon_msg "Restarting $DESC" "$NAME" + start-stop-daemon --stop --pidfile $PIDFILE --retry=TERM/20/KILL/5 --oknodo + # Ensure directory's existence and permissions + install -o $USER -g adm -m 755 -d /var/run/$NAME + install -o $USER -g adm -m 750 -d /var/spool/$NAME + install -o $USER -g adm -m 750 -d /var/log/$NAME + start-stop-daemon -c $USER --quiet --start --pidfile $PIDFILE --exec $DAEMON -- $DAEMON_OPTS + log_end_msg 0 + ;; + status) + status_of_proc -p $PIDFILE "$DAEMON" $NAME && exit 0 || exit $? + ;; + *) + echo "Usage: $NAME {start|stop|restart|status}" >&2 + exit 1 + ;; +esac + +exit 0 diff --git a/debian-multiarch/sogo.install b/debian-multiarch/sogo.install new file mode 100644 index 000000000..8a55c7961 --- /dev/null +++ b/debian-multiarch/sogo.install @@ -0,0 +1,15 @@ +etc/default/sogo +etc/apache2/conf.d/SOGo.conf +etc/cron.d/sogo +usr/sbin/* +usr/lib/GNUstep/Frameworks/* +usr/lib/GNUstep/Libraries/* +usr/lib/GNUstep/OCSTypeModels/* +usr/lib/GNUstep/SaxDrivers-4.9/* +usr/lib/GNUstep/SaxMappings/* +usr/lib/GNUstep/WOxElemBuilders-4.9/* +usr/lib/GNUstep/SOGo/*.SOGo +usr/lib/GNUstep/SOGo/Templates +usr/lib/GNUstep/SOGo/WebServerResources +usr/lib/lib*.so.* +usr/share/lintian/* diff --git a/debian-multiarch/sogo.logrotate b/debian-multiarch/sogo.logrotate new file mode 100644 index 000000000..2e8b28fd8 --- /dev/null +++ b/debian-multiarch/sogo.logrotate @@ -0,0 +1,13 @@ +/var/log/sogo/*.log { + daily + missingok + rotate 7 + compress + delaycompress + notifempty + create 640 sogo sogo + sharedscripts + postrotate + /etc/init.d/sogo restart > /dev/null 2>&1 + endscript +} diff --git a/debian-multiarch/sogo.overrides b/debian-multiarch/sogo.overrides new file mode 100644 index 000000000..cf3442214 --- /dev/null +++ b/debian-multiarch/sogo.overrides @@ -0,0 +1,4 @@ +sogo: embedded-javascript-library usr/lib/GNUstep/SOGo/WebServerResources/prototype.js +sogo: extra-license-file usr/lib/GNUstep/SOGo/WebServerResources/scriptaculous/MIT-LICENSE +sogo: embedded-javascript-library usr/lib/GNUstep/SOGo/WebServerResources/scriptaculous/scriptaculous.js +sogo: package-name-doesnt-match-sonames libGDLContentStore4.9 libNGCards4.9 libOGoContentStore0.9 libSOGoUI1.0 diff --git a/debian-multiarch/sogo.postinst b/debian-multiarch/sogo.postinst new file mode 100644 index 000000000..e43bfd92a --- /dev/null +++ b/debian-multiarch/sogo.postinst @@ -0,0 +1,36 @@ +#!/bin/bash + +set -e + +# summary of how this script can be called: +# * `configure' +# * `abort-upgrade' +# * `abort-remove' `in-favour' +# +# * `abort-deconfigure' `in-favour' +# `removing' +# +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package +# + +PATH=/bin:/sbin:/usr/bin:/usr/sbin + +case "$1" in + configure) + # update timestamp on imgs,css,js to let apache know the files changed + find /usr/lib/GNUstep/SOGo/WebServerResources -exec touch {} \; + ;; + + abort-upgrade|abort-remove|abort-deconfigure) + ;; + + *) + echo "postinst called with unknown argument \`$1'" >&2 + exit 0 + ;; +esac + +#DEBHELPER# + +exit 0 diff --git a/debian-multiarch/sogo.postrm b/debian-multiarch/sogo.postrm new file mode 100644 index 000000000..9bed33fa5 --- /dev/null +++ b/debian-multiarch/sogo.postrm @@ -0,0 +1,35 @@ +#!/bin/bash + +set -e + +# summary of how this script can be called: +# * `remove' +# * `purge' +# * `upgrade' +# * `failed-upgrade' +# * `abort-install' +# * `abort-install' +# * `abort-upgrade' +# * `disappear' overwrit>r> +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package + +case "$1" in + purge|remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear) + if test "x$1" == "xpurge" + then + userdel -r sogo || true + rm -rf /var/spool/sogo + rm -rf /var/log/sogo + rm -rf /var/run/sogo + fi + ;; + + *) + echo "postrm called with unknown argument \`$1'" >&2 + exit 0 +esac + +#DEBHELPER# + +exit 0 diff --git a/debian-multiarch/sogo.preinst b/debian-multiarch/sogo.preinst new file mode 100644 index 000000000..384bffc2a --- /dev/null +++ b/debian-multiarch/sogo.preinst @@ -0,0 +1,32 @@ +#!/bin/bash + +set -e + +# summary of how this script can be called: +# * `install' +# * `install' +# * `upgrade' +# * `abort-upgrade' +# +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package + +if test "x$1" == "xinstall" && test -z "$2" +then + if ! id sogo 1> /dev/null 2>&1; then + groupadd -f -K GID_MIN=100 -K GID_MAX=500 sogo + useradd -d /home/sogo -g sogo -m -K UID_MIN=100 -K UID_MAX=500 -K PASS_MAX_DAYS=-1 -s /bin/bash sogo + fi + + for dir in run spool log + do + if ! test -d /var/$dir/sogo + then + install -m 750 -o sogo -g sogo -d /var/$dir/sogo + fi + done +fi + +#DEBHELPER# + +exit 0 diff --git a/debian-multiarch/sogo.prerm b/debian-multiarch/sogo.prerm new file mode 100644 index 000000000..914a28b5e --- /dev/null +++ b/debian-multiarch/sogo.prerm @@ -0,0 +1,17 @@ +#!/bin/bash + +set -e + +# summary of how this script can be called: +# * `remove' +# * `upgrade' +# * `failed-upgrade' +# * `remove' `in-favour' +# * `deconfigure' `in-favour' +# `removing' +# +# for details, see /usr/share/doc/packaging-manual/ + +#DEBHELPER# + +exit 0 diff --git a/debian-multiarch/source/format b/debian-multiarch/source/format new file mode 100644 index 000000000..163aaf8d8 --- /dev/null +++ b/debian-multiarch/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/debian/control b/debian/control index 7f20d1028..6642d7fb3 100644 --- a/debian/control +++ b/debian/control @@ -22,6 +22,17 @@ Description: a modern and scalable groupware UI for the users, consistency in look and feel with the Mozilla applications, and to reduce the load of the transactions on the server. +Package: sogo-dev +Section: devel +Architecture: any +Depends: sogo (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends} +Replaces: sogo (<< ${binary:Version}) +Description: a modern and scalable groupware - development files + SOGo is a groupware server built around OpenGroupware.org (OGo) and + the SOPE application server with focus on scalability. + . + This package contains the development files for developing SOGo modules. + Package: sogo-dbg Section: debug Priority: extra diff --git a/debian/control-squeeze b/debian/control-squeeze new file mode 100644 index 000000000..7a047b1a2 --- /dev/null +++ b/debian/control-squeeze @@ -0,0 +1,57 @@ +Source: sogo +Priority: optional +Maintainer: Inverse Support +Build-Depends: debhelper (>= 7.0.15), gobjc | objc-compiler, libgnustep-base-dev, libsope-appserver4.9-dev, libsope-core4.9-dev, libsope-gdl1-4.9-dev, libsope-ldap4.9-dev, libsope-mime4.9-dev, libsope-xml4.9-dev, libmemcached-dev, libxml2-dev, libsbjson-dev, libssl-dev, libcurl4-openssl-dev | libcurl4-gnutls-dev, libmapi-dev, libmapistore-dev, libmapiproxy-dev +Section: web +Standards-Version: 3.9.1 + +Package: sogo +Section: web +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends}, tmpreaper, sope4.9-libxmlsaxdriver, sope4.9-db-connector, gnustep-make, libcurl3 +Suggests: nginx +Description: a modern and scalable groupware + SOGo is a groupware server built around OpenGroupware.org (OGo) and + the SOPE application server with focus on scalability. + The Inverse edition of this project has many feature enhancements: + * CalDAV and GroupDAV compliance + * full handling of vCard as well as vCalendar/iCalendar formats + * support for folder sharing and ACLs + . + The Web interface has been rewritten in an AJAX fashion to provide a faster + UI for the users, consistency in look and feel with the Mozilla applications, + and to reduce the load of the transactions on the server. + +Package: sogo-dev +Section: devel +Architecture: any +Depends: sogo (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends} +Replaces: sogo (<< ${binary:Version}) +Description: a modern and scalable groupware - development files + SOGo is a groupware server built around OpenGroupware.org (OGo) and + the SOPE application server with focus on scalability. + . + This package contains the development files for developing SOGo modules. + +Package: sogo-openchange +Section: net +Priority: extra +Architecture: any +Depends: sogo (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends} +Description: a modern and scalable groupware - OpenChange backend + SOGo is a groupware server built around OpenGroupware.org (OGo) and + the SOPE application server with focus on scalability. + . + This package contains the backend plugin for using SOGo as a backend + to OpenChange. + +Package: sogo-dbg +Section: debug +Priority: extra +Architecture: any +Depends: sogo (= ${binary:Version}), ${misc:Depends} +Description: a modern and scalable groupware - debugging symbols + SOGo is a groupware server built around OpenGroupware.org (OGo) and + the SOPE application server with focus on scalability. + . + This package contains the debugging symbols for SOGo. diff --git a/debian/rules b/debian/rules index 4c5529411..023869853 100755 --- a/debian/rules +++ b/debian/rules @@ -3,9 +3,14 @@ export DH_VERBOSE=1 # export DH_OPTIONS="-p sogo" +DESTDIR=$(CURDIR)/debian/tmp + +include /etc/GNUstep/GNUstep.conf +include /usr/share/GNUstep/Makefiles/common.make + config.make: configure dh_testdir - ./configure + ./configure --prefix=$(GNUSTEP_SYSTEM_ROOT) #Architecture build: build-arch @@ -14,36 +19,66 @@ build-arch: build-arch-stamp build-arch-stamp: config.make # Add here commands to compile the arch part of the package. $(MAKE) + if pkg-config --atleast-version=1.0 libmapi; \ + then (cd OpenChange; $(MAKE)); \ + fi touch $@ clean: dh_testdir dh_testroot rm -f build-arch-stamp - if [ -f config.make ]; then make clean; fi + ( cd Tests/Integration; make clean ) + rm -f Tests/Integration/config.py + -find Tests -name "*.pyc" -exec rm -f {} \; + if [ -f config.make ]; \ + then \ + if pkg-config --atleast-version=1.0 libmapi; \ + then \ + (cd OpenChange; make clean); \ + fi; \ + make clean; \ + fi + -rm -f OpenChange/MAPIStorePropertySelectors.* + -find OpenChange -type d -name "unrtf-*" -exec rm -rf {} \; + -rm -f OpenChange/unrtf*-stamp + -rm -f config.make dh_clean install: install-arch dh_testdir dh_testroot - dh_prep -i - dh_installdirs -i - dh_install -i +# dh_prep -i +# dh_installdirs -i +# dh_install -i install-arch: build-arch dh_testdir dh_testroot - dh_prep -i + dh_prep # dh_installdirs -s - $(MAKE) DESTDIR=$(CURDIR)/debian/tmp GNUSTEP_INSTALLATION_DOMAIN=SYSTEM install + $(MAKE) DESTDIR=$(DESTDIR) GNUSTEP_INSTALLATION_DOMAIN=SYSTEM install + if pkg-config --atleast-version=1.0 libmapi; \ + then \ + (cd OpenChange; \ + $(MAKE) \ + DESTDIR=$(DESTDIR) \ + GNUSTEP_INSTALLATION_DOMAIN=SYSTEM \ + install); \ + rm -f $(DESTDIR)/usr/lib/mapistore_backends/libMAPIStoreSOGo.so.1; \ + rm -f $(DESTDIR)/usr/lib/mapistore_backends/libMAPIStoreSOGo.so; \ + mv -f $(DESTDIR)/usr/lib/mapistore_backends/libMAPIStoreSOGo.so.1.0.0 \ + $(DESTDIR)/usr/lib/mapistore_backends/SOGo.so; \ + fi + mkdir -p debian/tmp/etc/default cp Scripts/sogo-default debian/tmp/etc/default/sogo mkdir -p debian/tmp/usr/share/lintian/overrides cp debian/sogo.overrides debian/tmp/usr/share/lintian/overrides/sogo mkdir -p debian/tmp/etc/apache2/conf.d cp Apache/SOGo.conf debian/tmp/etc/apache2/conf.d/SOGo.conf - install -D -m 600 Scripts/sogo.cron debian/tmp/etc/cron.d/sogo + install -D -m 644 Scripts/sogo.cron debian/tmp/etc/cron.d/sogo # Build architecture dependant packages using the common target. binary-arch: build-arch install-arch @@ -64,8 +99,8 @@ binary-arch: build-arch install-arch ( cd debian/sogo-dbg/usr/lib/debug/usr/lib/; \ ln -s GNUstep/Frameworks/SOGo.framework/Versions/*/libSOGo* ./ ) dh_compress - dh_fixperms -X/etc/cron.d/sogo - dh_makeshlibs + dh_fixperms + dh_makeshlibs -X/usr/lib/mapistore_backends dh_shlibdeps dh_installdeb dh_gencontrol diff --git a/debian/sogo-dev.install b/debian/sogo-dev.install new file mode 100644 index 000000000..a29817742 --- /dev/null +++ b/debian/sogo-dev.install @@ -0,0 +1,2 @@ +usr/include/GNUstep/* +usr/lib/lib*.so diff --git a/debian/sogo-openchange.install b/debian/sogo-openchange.install new file mode 100644 index 000000000..dcae5f4e2 --- /dev/null +++ b/debian/sogo-openchange.install @@ -0,0 +1,2 @@ +usr/lib/mapistore_backends/* +usr/lib/GNUstep/SOGo/SOGoBackend.MAPIStore diff --git a/debian/sogo-openchange.install-multiarch b/debian/sogo-openchange.install-multiarch new file mode 100644 index 000000000..d3f119d33 --- /dev/null +++ b/debian/sogo-openchange.install-multiarch @@ -0,0 +1,2 @@ +usr/lib/*/mapistore_backends/* +usr/lib/GNUstep/SOGo/SOGoBackend.MAPIStore diff --git a/debian/sogo.install b/debian/sogo.install index e3c791a2d..8a55c7961 100644 --- a/debian/sogo.install +++ b/debian/sogo.install @@ -2,7 +2,14 @@ etc/default/sogo etc/apache2/conf.d/SOGo.conf etc/cron.d/sogo usr/sbin/* -usr/lib/GNUstep/* -usr/lib/lib* -usr/include/GNUstep/* +usr/lib/GNUstep/Frameworks/* +usr/lib/GNUstep/Libraries/* +usr/lib/GNUstep/OCSTypeModels/* +usr/lib/GNUstep/SaxDrivers-4.9/* +usr/lib/GNUstep/SaxMappings/* +usr/lib/GNUstep/WOxElemBuilders-4.9/* +usr/lib/GNUstep/SOGo/*.SOGo +usr/lib/GNUstep/SOGo/Templates +usr/lib/GNUstep/SOGo/WebServerResources +usr/lib/lib*.so.* usr/share/lintian/* diff --git a/debian/sogo.overrides b/debian/sogo.overrides index 63b0d0e6c..2b406f701 100644 --- a/debian/sogo.overrides +++ b/debian/sogo.overrides @@ -1,367 +1,4 @@ -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/Search-bar.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/abcard.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/accepted.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/account-settings.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/add-addressbook.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/add-calendar.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/add-contact.gif -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/add-user-addressbook.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/add-user-calendar.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/addrbook.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/alarm.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/arrow-dwn-sharp.gif -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/arrow-lft-sharp.gif -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/arrow-rit-sharp.gif -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/attachment.gif -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/browser_firefox.gif -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/browser_ie.gif -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/browser_safari.gif -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/busy.gif -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/calendar-folder-16x16.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/calendar-reload.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/choose-date.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/images/spacer.gif -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/plugins/about/dialogs/logo_ckeditor.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/plugins/flash/images/placeholder.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/plugins/link/images/anchor.gif -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/plugins/pagebreak/images/pagebreak.gif -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/plugins/showblocks/images/block_address.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/plugins/showblocks/images/block_blockquote.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/plugins/showblocks/images/block_div.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/plugins/showblocks/images/block_h1.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/plugins/showblocks/images/block_h2.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/plugins/showblocks/images/block_h3.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/plugins/showblocks/images/block_h4.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/plugins/showblocks/images/block_h5.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/plugins/showblocks/images/block_h6.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/plugins/showblocks/images/block_p.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/plugins/showblocks/images/block_pre.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/plugins/smiley/images/angel_smile.gif -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/plugins/smiley/images/angry_smile.gif -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/plugins/smiley/images/broken_heart.gif -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/plugins/smiley/images/confused_smile.gif -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/plugins/smiley/images/cry_smile.gif -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/plugins/smiley/images/devil_smile.gif -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/plugins/smiley/images/embaressed_smile.gif -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/plugins/smiley/images/envelope.gif -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/plugins/smiley/images/heart.gif -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/plugins/smiley/images/kiss.gif -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/plugins/smiley/images/lightbulb.gif -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/plugins/smiley/images/omg_smile.gif -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/plugins/smiley/images/regular_smile.gif -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/plugins/smiley/images/sad_smile.gif -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/plugins/smiley/images/shades_smile.gif -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/plugins/smiley/images/teeth_smile.gif -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/plugins/smiley/images/thumbs_down.gif -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/plugins/smiley/images/thumbs_up.gif -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/plugins/smiley/images/tounge_smile.gif -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/plugins/smiley/images/whatchutalkingabout_smile.gif -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/plugins/smiley/images/wink_smile.gif -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/plugins/templates/templates/images/template1.gif -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/plugins/templates/templates/images/template2.gif -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/plugins/templates/templates/images/template3.gif -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/plugins/uicolor/uicolor.gif -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/plugins/uicolor/yui/assets/hue_bg.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/plugins/uicolor/yui/assets/hue_thumb.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/plugins/uicolor/yui/assets/picker_mask.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/plugins/uicolor/yui/assets/picker_thumb.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/skins/kama/icons.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/skins/kama/images/arrowdown.gif -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/skins/kama/images/arrowleft.gif -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/skins/kama/images/arrowright.gif -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/skins/kama/images/arrowtop.gif -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/skins/kama/images/dialog_sides.gif -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/skins/kama/images/dialog_sides.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/skins/kama/images/dialog_sides_rtl.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/skins/kama/images/mini.gif -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/skins/kama/images/noimage.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/skins/kama/images/resizer.gif -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/skins/kama/images/resizer_rtl.gif -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/skins/kama/images/sprites.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/skins/kama/images/sprites_ie6.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/skins/kama/images/toolbar_start.gif -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/skins/kama/sprites.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/skins/office2003/icons.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/skins/office2003/images/arrowdown.gif -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/skins/office2003/images/arrowleft.gif -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/skins/office2003/images/arrowright.gif -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/skins/office2003/images/arrowtop.gif -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/skins/office2003/images/dialog_sides.gif -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/skins/office2003/images/dialog_sides.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/skins/office2003/images/dialog_sides_rtl.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/skins/office2003/images/mini.gif -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/skins/office2003/images/noimage.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/skins/office2003/images/resizer.gif -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/skins/office2003/images/resizer_rtl.gif -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/skins/office2003/images/sprites.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/skins/office2003/images/sprites_ie6.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/skins/v2/icons.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/skins/v2/images/arrowdown.gif -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/skins/v2/images/arrowleft.gif -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/skins/v2/images/arrowright.gif -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/skins/v2/images/arrowtop.gif -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/skins/v2/images/dialog_sides.gif -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/skins/v2/images/dialog_sides.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/skins/v2/images/dialog_sides_rtl.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/skins/v2/images/mini.gif -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/skins/v2/images/noimage.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/skins/v2/images/resizer.gif -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/skins/v2/images/resizer_rtl.gif -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/skins/v2/images/sprites.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/skins/v2/images/sprites_ie6.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/ckeditor/skins/v2/images/toolbar_start.gif -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/closewindow.gif -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/create-account.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/day-view-multicolumn.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/day-view.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/declined.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/delegated.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/dialog-left.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/dialog-right.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/dot.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/edit.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/empty.gif -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/event-gradient.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/first.gif -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/goto-today.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/green_corner.gif -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/icon-deleted.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/icon-forwarded-replied.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/icon-forwarded.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/icon-new.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/icon-replied.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/icon_unread.gif -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/important.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/inverse.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/last.gif -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/lori_32x32.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/manage-filters.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/manage-imap.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/menu-check-hover.gif -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/menu-check.gif -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/menu-nocheck.gif -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/message-copy.gif -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/message.gif -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-certificate.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-magicpoint.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-msword.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-ogg.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-pdf.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-postscript.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-rtf.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-vnd.lotus-1-2-3.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-vnd.ms-excel.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-vnd.ms-powerpoint.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-vnd.oasis.opendocument.graphics.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-vnd.oasis.opendocument.image.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-vnd.oasis.opendocument.presentation.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-vnd.oasis.opendocument.spreadsheet.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-vnd.oasis.opendocument.text-web.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-vnd.oasis.opendocument.text.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-vnd.rn-realmedia-secure.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-vnd.rn-realmedia-vbr.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-vnd.rn-realmedia.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-vnd.stardivision.calc.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-vnd.stardivision.impress.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-vnd.stardivision.writer.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-vnd.sun.xml.calc.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-vnd.sun.xml.draw.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-vnd.sun.xml.impress.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-vnd.sun.xml.writer.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-wordperfect.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-x-7z-compressed.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-x-abiword.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-x-applix-spreadsheet.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-x-applix-word.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-x-archive.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-x-arj.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-x-bzip-compressed-tar.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-x-bzip.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-x-cd-image.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-x-compress.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-x-compressed-tar.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-x-cpio-compressed.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-x-cpio.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-x-deb.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-x-dvi.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-x-executable.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-x-font-afm.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-x-font-bdf.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-x-font-linux-psf.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-x-font-pcf.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-x-font-sunos-news.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-x-font-ttf.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-x-gnumeric.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-x-gzip.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-x-gzpostscript.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-x-jar.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-x-killustrator.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-x-kpresenter.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-x-kspread.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-x-kword.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-x-lha.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-x-lhz.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-x-lzma-compressed-tar.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-x-lzma.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-x-ms-dos-executable.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-x-perl.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-x-php.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-x-python-bytecode.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-x-rar.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-x-rpm.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-x-scribus.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-x-shellscript.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-x-shockwave-flash.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-x-stuffit.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-x-tar.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-x-tarz.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-x-tex.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-xhtml+xml.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-application-zip.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-ascii.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-audio-x-generic.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-audio.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-binary.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-contents2.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-deb.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-document.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-empty.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-exec.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-folder_tar.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-font-x-generic.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-font.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-font_bitmap.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-font_truetype.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-font_type1.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-gnome-fs-executable.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-gnome-fs-regular.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-gnome-package.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-gtk-file.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-html.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-image-x-generic.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-image.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-kpresenter_kpr.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-mime_ascii.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-misc.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-package-x-generic.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-package.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-package_editors.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-package_wordprocessing.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-plan.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-rpm.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-shellscript.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-sound.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-spreadsheet.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-stock_addressbook.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-stock_calendar.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-stock_certificate.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-stock_script.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-tar.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-template_source.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-text-html.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-text-plain.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-text-vnd.wap.wml.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-text-x-csh.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-text-x-generic-template.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-text-x-generic.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-text-x-preview.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-text-x-python.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-text-x-script.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-text-x-sh.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-text-x-vcalendar.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-text-x-vcard.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-text-x-zsh.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-text.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-tgz.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-txt.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-txt2.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-unknown.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-vcalendar.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-vcard.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-video-x-generic.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-video.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-wordprocessing.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-www.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-x-font-afm.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-x-office-address-book.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-x-office-calendar.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-x-office-document.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-x-office-drawing.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-x-office-presentation.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-x-office-spreadsheet.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/mime-zip.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/minus.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/month-view.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/needs-action.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/new-card.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/new-event.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/new-list.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/new-task.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/next.gif -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/non_sorted.gif -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/offline-settings.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/plus.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/previous.gif -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/properties.png sogo: embedded-javascript-library usr/lib/GNUstep/SOGo/WebServerResources/prototype.js sogo: embedded-javascript-library usr/lib/GNUstep/SOGo/WebServerResources/jquery.js sogo: embedded-javascript-library usr/lib/GNUstep/SOGo/WebServerResources/jquery-ui.js -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/quota-level-alert.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/quota-level-ok.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/quota-level-warn.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/quota-level.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/read-messages.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/remote-addrbook.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/remove-addressbook.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/remove-calendar.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/remove-contact.gif -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/search-messages.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/slider_handle.gif -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/sogo-logo.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/submenu-active.gif -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/submenu-disabled.gif -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/submenu.gif -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/tab_left_active.gif -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/tab_left_inactive.gif -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/tab_right_active.gif -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/tab_right_inactive.gif -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/tb-ab-properties-flat-24x24.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/tb-compose-attach-flat-24x24.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/tb-compose-contacts-flat-24x24.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/tb-compose-save-flat-24x24.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/tb-compose-security-flat-24x24.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/tb-compose-send-flat-24x24.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/tb-mail-addressbook-flat-16x16.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/tb-mail-addressbook-flat-24x24.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/tb-mail-delete-flat-24x24.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/tb-mail-file-flat-24x24.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/tb-mail-forward-flat-24x24.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/tb-mail-getmail-flat-24x24.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/tb-mail-junk-flat-24x24.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/tb-mail-print-flat-24x24.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/tb-mail-reply-flat-24x24.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/tb-mail-replyall-flat-24x24.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/tb-mail-stop-flat-24x24.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/tb-mail-write-flat-24x24.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/tbtv_account_17x17.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/tbtv_corner_17x17.gif -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/tbtv_corner_minus_17x17.gif -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/tbtv_corner_plus_17x17.gif -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/tbtv_drafts_17x17.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/tbtv_inbox_17x17.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/tbtv_junction_17x17.gif -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/tbtv_leaf_corner_17x17.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/tbtv_line_17x17.gif -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/tbtv_minus_17x17.gif -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/tbtv_plus_17x17.gif -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/tbtv_sent_17x17.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/tbtv_trash_17x17.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/tentative.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/title_attachment_14x14.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/title_read_14x14.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/title_sortdown_12x12.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/title_sortup_12x12.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/week-view.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/write-message.png -sogo: image-file-in-usr-lib usr/lib/GNUstep/SOGo/WebServerResources/write.png sogo: package-name-doesnt-match-sonames libGDLContentStore4.9 libNGCards4.9 libOGoContentStore0.9 libSOGoUI1.0 diff --git a/debian/source/format b/debian/source/format new file mode 100644 index 000000000..163aaf8d8 --- /dev/null +++ b/debian/source/format @@ -0,0 +1 @@ +3.0 (quilt)