EDS: updated syncevolution.org packages, incompatible with EDS 3.6
The EDS backend in the syncevolution.org packages are compiled for the API in EDS <= 3.4. With some tricks (dynamically loading libs) it works across a range of libecal and libebook releases. Now the syncevolution-evolution meta package declares that it depends on one of these libecal/ebook libraries (was missing earlier), to ensure that the libs get installed on a system which did not have them already. The dynamic loading will no longer attempt to work with EDS 3.6. For EDS 3.6 it will be necessary to update the EClient variant of the EDS backend and compile the syncevolution.org binaries differently.
This commit is contained in:
parent
af9ec74339
commit
7feed6634a
22
Makefile.am
22
Makefile.am
|
@ -197,9 +197,24 @@ endif
|
|||
PLATFORM_FILES_evolution = platformgnome syncecal syncebook
|
||||
PLATFORM_FILES_kde = platformkde syncakonadi
|
||||
|
||||
# Additional parameters for syncevolution-kde/evolution.deb.
|
||||
# Fake conflicts/replaces works around a bug in CheckInstall,
|
||||
# which creates empty, invalid entries for those unless
|
||||
# something is given.
|
||||
# something is given. For Evolution we hard-code dependencies
|
||||
# (because with EDS compatibility turned on, several
|
||||
# alternatives will work at runtime) and conflict with
|
||||
# EDS 3.6, because that breaks the API and does not work for us
|
||||
# at the moment.
|
||||
SYNCEVOLUTION_kde_DEB_ARGS = \
|
||||
--conflicts=syncevolution-foobar \
|
||||
--replaces=syncevolution-foobar
|
||||
SYNCEVOLUTION_evolution_DEB_ARGS = \
|
||||
--conflicts="'evolution-data-server (>= 3.6), libebook-1.2-14 (>= 3.6), libecal-1.2.12 (>= 3.6)'" \
|
||||
--replaces=syncevolution-foobar
|
||||
SYNCEVOLUTION_evolution_DEB_REQUIRES = \
|
||||
, libebook-1.2-5 | libebook-1.2-6 | libebook-1.2-7 | libebook-1.2-8 | libebook-1.2-9 | libebook-1.2-10 | libebook-1.2-11 | libebook-1.2-12 \
|
||||
, libecal-1.2-3 | libecal-1.2-4 | libecal-1.2-5 | libecal-1.2-6 | libecal-1.2-7 | libecal-1.2-8 | libecal-1.2-9 | libecal-1.2-10 | libecal-1.2-11
|
||||
|
||||
syncevolution-%-deb: checkinstall/dist/$(distdir) checkinstall/dist/debian/control
|
||||
(echo "SyncEvolution - meta package for $*" && cat $(srcdir)/description) >checkinstall/description-pak
|
||||
tmpdir=`mktemp -d $$HOME/syncevolution.XXXXXXXXXX` && \
|
||||
|
@ -212,11 +227,10 @@ syncevolution-%-deb: checkinstall/dist/$(distdir) checkinstall/dist/debian/contr
|
|||
--nodoc \
|
||||
--pkgversion=$(PLATFORM_DEB_VERSION) \
|
||||
--pkgrelease=$(PLATFORM_DEB_RELEASE) \
|
||||
$(SYNCEVOLUTION_$*_DEB_ARGS) \
|
||||
--pkgname=syncevolution-$* \
|
||||
--pkgarch=all \
|
||||
--requires="'$(shell set -x; cd checkinstall/dist; LD_LIBRARY_PATH=$(distdir)/usr/lib:$(distdir)/usr/lib/syncevolution dpkg-shlibdeps -L$(srcdir)/src/shlibs.local --ignore-missing-info -O $$(for i in $(patsubst %,$(distdir)/usr/lib/syncevolution/backends/%.so,$(PLATFORM_FILES_$*)); do if file $$i | grep ELF >/dev/null; then echo $$i; fi; done) | sed $(REQUIRES_SED_KDE) -e 's/[^=]*=//'), $(PKGNAME) (= $(VERSION_deb)-$(RELEASE))'" \
|
||||
--conflicts=syncevolution-foobar \
|
||||
--replaces=syncevolution-foobar \
|
||||
--requires="'$(shell set -x; cd checkinstall/dist; LD_LIBRARY_PATH=$(distdir)/usr/lib:$(distdir)/usr/lib/syncevolution dpkg-shlibdeps -L$(srcdir)/src/shlibs.local --ignore-missing-info -O $$(for i in $(patsubst %,$(distdir)/usr/lib/syncevolution/backends/%.so,$(PLATFORM_FILES_$*)); do if file $$i | grep ELF >/dev/null; then echo $$i; fi; done) | sed $(REQUIRES_SED_KDE) -e 's/[^=]*=//'), $(PKGNAME) (= $(VERSION_deb)-$(RELEASE))$(SYNCEVOLUTION_$*_DEB_REQUIRES)'" \
|
||||
--maintainer="'Patrick Ohly <patrick.ohly@gmx.de>'" \
|
||||
--pkgsource='http://syncevolution.org' \
|
||||
--pkggroup='$*' \
|
||||
|
|
|
@ -185,7 +185,7 @@ extern "C" void EDSAbiWrapperInit()
|
|||
# ifdef HAVE_EDS
|
||||
edshandle =
|
||||
findSymbols("libedataserver-1.2.so", 7, 16,
|
||||
FIND_SYMBOLS_NEED_ALL|FIND_SYMBOLS_LENIENT_MAX_VERSION, NULL,
|
||||
FIND_SYMBOLS_NEED_ALL, NULL,
|
||||
&EDSAbiWrapperSingleton.e_source_get_type, "e_source_get_type",
|
||||
&EDSAbiWrapperSingleton.e_source_get_uri, "e_source_get_uri",
|
||||
&EDSAbiWrapperSingleton.e_source_group_get_type, "e_source_group_get_type",
|
||||
|
@ -201,7 +201,7 @@ extern "C" void EDSAbiWrapperInit()
|
|||
libebookMaxVersion = 13;
|
||||
ebookhandle =
|
||||
findSymbols("libebook-1.2.so", libebookMinVersion, libebookMaxVersion,
|
||||
FIND_SYMBOLS_NEED_ALL|FIND_SYMBOLS_LENIENT_MAX_VERSION, NULL,
|
||||
FIND_SYMBOLS_NEED_ALL, NULL,
|
||||
&EDSAbiWrapperSingleton.e_book_add_contact, "e_book_add_contact",
|
||||
&EDSAbiWrapperSingleton.e_book_authenticate_user, "e_book_authenticate_user",
|
||||
&EDSAbiWrapperSingleton.e_book_commit_contact, "e_book_commit_contact",
|
||||
|
@ -242,7 +242,7 @@ extern "C" void EDSAbiWrapperInit()
|
|||
libecalMaxVersion = 11;
|
||||
ecalhandle =
|
||||
findSymbols("libecal-1.2.so", libecalMinVersion, libecalMaxVersion,
|
||||
FIND_SYMBOLS_NEED_ALL|FIND_SYMBOLS_LENIENT_MAX_VERSION, NULL,
|
||||
FIND_SYMBOLS_NEED_ALL, NULL,
|
||||
&EDSAbiWrapperSingleton.e_cal_add_timezone, "e_cal_add_timezone",
|
||||
&EDSAbiWrapperSingleton.e_cal_component_get_icalcomponent, "e_cal_component_get_icalcomponent",
|
||||
&EDSAbiWrapperSingleton.e_cal_component_get_last_modified, "e_cal_component_get_last_modified",
|
||||
|
|
Loading…
Reference in New Issue