[4.0] Remove OBS Project Dependency (kdbus/TV) 30/117630/2 accepted/tizen/common/20170310.122149 accepted/tizen/ivi/20170310.102437 accepted/tizen/mobile/20170310.102350 accepted/tizen/tv/20170310.102405 accepted/tizen/unified/20170310.104544 accepted/tizen/wearable/20170310.102422 submit/tizen/20170310.031600 submit/tizen_unified/20170310.103135
authorMyungJoo Ham <myungjoo.ham@samsung.com>
Tue, 7 Mar 2017 03:53:17 +0000 (12:53 +0900)
committerMyungJoo Ham <myungjoo.ham@samsung.com>
Thu, 9 Mar 2017 08:07:55 +0000 (17:07 +0900)
- 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 <myungjoo.ham@samsung.com>
packaging/glib2.spec

index 9ce05eb..2c04651 100644 (file)
@@ -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