From 67a06dcb18cb8ea7083a5f0d99b44ba10d35bb7b Mon Sep 17 00:00:00 2001 From: DongHun Kwak Date: Fri, 24 Jun 2022 11:41:48 +0900 Subject: [PATCH] feat: Add glib extension-symbolic package Add glib extension-symbolic package Change-Id: I5ca40b4434b042d65378f7d39c41502d87626fbe --- packaging/glib2.spec | 40 ++++++++++++++++++++++++++++++++++------ 1 file changed, 34 insertions(+), 6 deletions(-) diff --git a/packaging/glib2.spec b/packaging/glib2.spec index 2790703..d070e13 100644 --- a/packaging/glib2.spec +++ b/packaging/glib2.spec @@ -1,12 +1,13 @@ # Do not create provides from extension .so files because the main package # should anchor any reverse-dependencies -%global __provides_exclude_from ^(.*\\.extension-kdbus)$ +%global __provides_exclude_from ^(.*\\.extension-kdbus|.*\\.extension-symbolic)$ %define baseline 2.70 %define with_systemtap 0 %define keepstatic 1 %define build_dir _build %define build_dir_kdbus _build_kdbus +%define build_dir_symbolic _build_symbolic %define relative_dbus_tests_base_dir %{_libdir}/dbus-tests @@ -175,6 +176,12 @@ Requires: libgio = %{version}-%{release} %description -n libgio-extension-kdbus This modifies libgio to support KDBUS in Tizen. +%package -n libglib-extension-symbolic +Summary: Extension for libglib to allow the override of internal defined global function. +Requires: libglib = %{version}-%{release} + +%description -n libglib-extension-symbolic +This modifies libglib to allow the override of internal defined global function. %package -n libgthread Summary: General-Purpose Utility Library -- Library for Threads @@ -229,9 +236,6 @@ fi --default-library=both \ -Dinstalled_tests=true \ -Dselinux=disabled \ -%if 0%{?disable_glib_symbolic_funcs:1} - -Dbsymbolic_functions=false \ -%endif -Db_pie=true %meson_build @@ -242,9 +246,16 @@ fi -Dkdbus=true \ -Dlibdbuspolicy=true \ -Dselinux=disabled \ -%if 0%{?disable_glib_symbolic_funcs:1} + -Db_pie=true +%meson_build + +# Configure symbolic_functions disabled build +%define _vpath_builddir %{build_dir_symbolic} +%meson \ + --default-library=both \ + -Dinstalled_tests=true \ + -Dselinux=disabled \ -Dbsymbolic_functions=false \ -%endif -Db_pie=true %meson_build @@ -252,6 +263,11 @@ fi %__cc %{_builddir}/%{name}-%{version}/test-runner.c -DTESTS_DIR='"'%{relative_dbus_tests_base_dir}/test-suites/glib-tests'"' -fPIC -pie -o %{_builddir}/%{name}-%{version}/glib-tests %install +# symbolic diabled install and gather required files +%define _vpath_builddir %{build_dir_symbolic} +%meson_install +for FILE in %{buildroot}%{_libdir}/libglib*; do mv "$FILE" "$FILE.extension-symbolic"; done + # kdbus extension install and gather required files %define _vpath_builddir %{build_dir_kdbus} %meson_install @@ -336,6 +352,7 @@ chmod 755 %{buildroot}%{_bindir}/* %manifest %{name}.manifest %defattr(-, root, root) %license COPYING +%exclude %{_libdir}/libglib*.so.*.extension-symbolic %{_libdir}/libglib*.so.* %files -n libgmodule @@ -380,6 +397,16 @@ popd %license COPYING %{_libdir}/libgio*.so.*.extension-kdbus +%post -n libglib-extension-symbolic +pushd %{_libdir} +for FILE in libglib*.so.*.extension-symbolic; do mv "$FILE" "${FILE%.extension-symbolic}"; done +popd + +%files -n libglib-extension-symbolic +%manifest %{name}.manifest +%license COPYING +%{_libdir}/libglib*.so.*.extension-symbolic + %files devel %manifest %{name}.manifest %defattr(-,root,root) @@ -429,6 +456,7 @@ popd %license COPYING %{_libdir}/lib*.a %{_libdir}/lib*.a.extension-kdbus +%{_libdir}/lib*.a.extension-symbolic %files tests %manifest %{name}.manifest -- 2.7.4