From 3299e35927c45537bc74f36536387d4b47f6304d Mon Sep 17 00:00:00 2001 From: MyungJoo Ham Date: Tue, 7 Mar 2017 12:53:17 +0900 Subject: [PATCH] [4.0] Remove OBS Project Dependency (kdbus/TV) - Please add "libgio-extension-kdbus" for TV/arm-wayland images via JIRA-TRE issue. - Without this commit, this package won't be built correctly in Tizen 4.0. Change-Id: I42182599e930499fdd9b862f4a2e87bede2db33f Signed-off-by: MyungJoo Ham --- packaging/glib2.spec | 57 ++++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 51 insertions(+), 6 deletions(-) diff --git a/packaging/glib2.spec b/packaging/glib2.spec index 9ce05eb..2c04651 100644 --- a/packaging/glib2.spec +++ b/packaging/glib2.spec @@ -1,4 +1,7 @@ -%bcond_with dbuspolicy +# Do not create provides from extension .so files because the main package +# should anchor any reverse-dependencies +%global __provides_exclude_from ^(.*\\.extension-kdbus)$ + %bcond_with coverage %define baseline 2.40 %define with_systemtap 0 @@ -41,9 +44,7 @@ BuildRequires: pkgconfig(libffi) BuildRequires: pkgconfig(libpcre) BuildRequires: pkgconfig(zlib) # Enable support for libdbuspolicy (only for kdbus transport) -%if %{with dbuspolicy} BuildRequires: pkgconfig(libdbuspolicy1) -%endif %description GLib is a general-purpose utility library, which provides many useful @@ -155,6 +156,13 @@ a main loop abstraction, and so on. GIO provides a modern, easy-to-use VFS API. +%package -n libgio-extension-kdbus +Summary: Extension for libgio to support KDBUS in Tizen +Requires: libgio = %{version}-%{release} + +%description -n libgio-extension-kdbus +This modifies libgio to support KDBUS in Tizen. + %package -n libgthread Summary: General-Purpose Utility Library -- Library for Threads @@ -218,6 +226,32 @@ fi NOAUTORECONF=1 NOCONFIGURE=1 ./autogen.sh export CFLAGS+=" -D_TIZEN_DBUS_TOUCH" +# Create kdbus extension first (libgio) +%reconfigure \ + --enable-static \ +%if 0%{?with_systemtap} + --enable-systemtap \ +%endif + --enable-libdbuspolicy \ + --enable-always-build-tests \ + --enable-installed-tests \ +%if %{with coverage} + --disable-gcov-coverage \ +%endif + --with-pcre=system + +%{__make} %{?_smp_mflags} V=1 + +mkdir -p extension-kdbus +pushd gio/.libs/ +# rm if symlink. mv if regular file. +for FILE in libgio-*.so*; do test -h "$FILE" && rm "$FILE" || mv "$FILE" ../../extension-kdbus/ ; done +popd + +%{__make} clean + + + # Support for generating separate packages with libraries generating coverage files # WARNING: if coverage build is enabled, incremental builds will not work correctly. # Use the option only to generate glib2-coverage packages. @@ -246,9 +280,6 @@ find g* -name '*.gcno' -exec mv '{}' coverage-objects ';' %if 0%{?with_systemtap} --enable-systemtap \ %endif -%if %{with dbuspolicy} - --enable-libdbuspolicy \ -%endif --enable-always-build-tests \ --enable-installed-tests \ %if %{with coverage} @@ -265,6 +296,11 @@ find g* -name '*.gcno' -exec mv '{}' coverage-objects ';' %make_install %find_lang glib20 %{?no_lang_C} +# kdbus extension +pushd extension-kdbus +for FILE in *; do mv "$FILE" "%{buildroot}%{_libdir}/$FILE.extension-kdbus"; done +popd + mkdir -p %{buildroot}%{_sysconfdir}/profile.d install -D -m0644 glib2.sh %{buildroot}%{_sysconfdir}/profile.d/zzz-glib2.sh install -D -m0644 glib2.csh %{buildroot}%{_sysconfdir}/profile.d/zzz-glib2.csh @@ -382,6 +418,7 @@ install -m 0644 coverage-objects/* %{cov_lib_dir}/objects %files -n libgio %manifest %{name}.manifest %defattr(-, root, root) +%exclude %{_libdir}/libgio*.so.*.extension-kdbus %{_libdir}/libgio*.so.* %dir %{_libdir}/gio %dir %{_libdir}/gio/modules @@ -398,6 +435,14 @@ install -m 0644 coverage-objects/* %{cov_lib_dir}/objects %lang_package -f glib20 +%post -n libgio-extension-kdbus +pushd %{_libdir} +for FILE in libgio*.so.*.extension-kdbus; do mv "$FILE" "${FILE%.extension-kdbus}"; done +popd +%files -n libgio-extension-kdbus +%manifest %{name}.manifest +%{_libdir}/libgio*.so.*.extension-kdbus + %files devel %manifest %{name}.manifest -- 2.7.4