|
From: Daniel G. <go...@b1...> - 2009-09-26 07:25:04
|
On Saturday 26 September 2009 05:48:53 am Chris Frey wrote: > Hi, > > I posted about this before, and was pointed to the following ticket: > > http://opensync.org/ticket/890 > > It appears that this ticket suggestion was not used. So there is the > possibility of configurations conflicting between 0.22 and 0.4x. > > Fortunately, the following conflicts are resolved: > > - pkg-config: > > 0.22: opensync-1.0.pc > 0.40: libopensync.pc (should be libopensync1.pc, but no biggie) Need to check why we took libopensync.pc not libopensync1.pc .... > > - include directories: > > 0.22: /usr/include/opensync-1.0 > 0.40: /usr/include/libopensync1 ok > > - library names: > > 0.22: libopensync.so.0 and libosengine.so.0 > 0.40: libopensync.so.1 ok > > - plugin directory: > > 0.22: /usr/lib/opensync/plugins > 0.40: /usr/lib/libopensync1/plugins ok > > Unfortunately: > > - HOME config > > 0.22: ~/.opensync > 0.40: ~/.opensync Yeahh ... thats tricky .. > > I like the suggestion in #890. At least the 0.40 directory. Even a > ~/.libopensync1 directory would be good... actually that's probably best. > > Since all configuration is supposed to be done through opensync anyway, > the actual name of this directory shouldn't matter, and should, in my > opinion, get renamed as the API and config formats change. Good point. > > If this were implemented, it would be possible to write applications > that support both libraries at runtime, which I'm working on right now. Hmm interesting ... do you really think it's worth to stay with 0.22 for long? > As it is, I'll likely have to use non-standard configdirs for my app, > which will separate it from all other opensync apps. Right - but thats possible. You can set osync_group_set_config_dir() or so. At least thats better then writing your own Synchronization Engine from scratch ;) > This is ok too, > I suppose, but not ideal. [...] One thing which didn't got mentioned yet is: OSyncUpdater OSyncUpdater is an API to perform configurtaion transations from 0.22 -> 0.40 (and of course in a general fashion X.XX -> Y.YY). This OSyncUpdater API needs to get called by the OpenSync Applications/("Frontends"). See http://article.gmane.org/gmane.comp.misc.opensync.devel/2498 Currently this implementation would use ~/.opensync/groupX/ and overwrite all configuration with the updated configuraiton format. (In advance a backup would get created by the API - in case anything went wrong on conversion ...) The OSyncUpdater conversion works only in one direction. So you can't converter back to 0.22 from 0.40. Not quite sure yet how this OSyncUpdater thing might conflict with this multi- version GroupEnv? And i'm also not quite sure if it's really worth to put so much effort in supporting several APIs - at least so early ... But if someone wants to take care about this i'm not going to stop her/him ... At least i'm going to concentrate on a "simple" update-path for now ... As workaround people still can use --configdir from msynctool/osynctool to change the path from ~/.opensync to ~/.opensync0.22 or so ... Best Regards, Daniel -- Daniel Gollub Geschaeftsfuehrer: Ralph Dehner FOSS Developer Unternehmenssitz: Vohburg B1 Systems GmbH Amtsgericht: Ingolstadt Mobil: +49-(0)-160 47 73 970 Handelsregister: HRB 3537 EMail: go...@b1... http://www.b1-systems.de Adresse: B1 Systems GmbH, Osterfeldstraße 7, 85088 Vohburg http://pgpkeys.pca.dfn.de/pks/lookup?op=get&search=0xED14B95C2F8CA78D |