+%define libsyscommon_version 5.0.0
+%define libsyscommon_plugin_api_common_version 0.1.0
+%define libsyscommon_plugin_api_resourced_version 0.1.0
+%define libsyscommon_plugin_api_deviced_version 0.1.0
+%define libsyscommon_plugin_api_update_control_version 0.1.0
+
Name: libsyscommon
Summary: System Libraries
-Version: 4.1
+Version: %{libsyscommon_version}
Release: 0%{?release_flags}
-License: Apache-2.0
+License: MIT
Group: System/Libraries
Source: %{name}-%{version}.tar.gz
-%if 0%{?_with_tizen}
Source1001: %{name}.manifest
-%endif
-BuildRequires: autoconf
-BuildRequires: automake
-BuildRequires: libtool
+BuildRequires: cmake
+BuildRequires: pkgconfig(cmocka)
BuildRequires: pkgconfig(glib-2.0) >= 2.44
BuildRequires: pkgconfig(gio-2.0) >= 2.44
BuildRequires: pkgconfig(gio-unix-2.0)
-BuildRequires: gperf
-
-Requires: /bin/cp
+BuildRequires: pkgconfig(dlog)
+BuildRequires: pkgconfig(json-c)
+BuildRequires: pkgconfig(capi-system-info)
+BuildRequires: pkgconfig(capi-system-resource)
-Requires(post): /sbin/ldconfig
+Requires: /bin/cp
+Requires(post): /sbin/ldconfig
Requires(postun): /sbin/ldconfig
%description
-System utility libraries.
+System common utility libraries.
+
+%package -n libsyscommon-devel
+Summary: Header files for system common library
+License: MIT
+Requires: libsyscommon = %{version}
+
+%description -n libsyscommon-devel
+Development header files for system common library.
+
+# Packages for system plugin api
+%package -n libsyscommon-plugin-api-common
+Summary: Common system plugin APIs
+Version: %{libsyscommon_plugin_api_common_version}
+License: MIT
+
+%package -n libsyscommon-plugin-api-common-devel
+Summary: Header files for common system plugin APIs
+Version: %{libsyscommon_plugin_api_common_version}
+License: MIT
+
+%description -n libsyscommon-plugin-api-common-devel
+Development header files for common system plugin APIs.
+
+%package -n libsyscommon-plugin-api-resourced
+Summary: System plugin APIs for the resourced
+Version: %{libsyscommon_plugin_api_resourced_version}
+License: MIT
+
+%description -n libsyscommon-plugin-api-resourced
+System plugin APIs for the resourced.
+
+%package -n libsyscommon-plugin-api-resourced-devel
+Summary: Header files for system plugin APIs for the resourced
+Version: %{libsyscommon_plugin_api_resourced_version}
+License: MIT
+
+%description -n libsyscommon-plugin-api-resourced-devel
+Development header files for system plugin APIs for the resourced.
+
+%package -n libsyscommon-plugin-api-deviced
+Summary: System plugin APIs for the deviced
+Version: %{libsyscommon_plugin_api_deviced_version}
+License: MIT
+
+%description -n libsyscommon-plugin-api-deviced
+System plugin APIs for the deviced.
-%package -n libgdbus
-Summary: Dbus library
-License: Apache-2.0
+%package -n libsyscommon-plugin-api-deviced-devel
+Summary: Header files for system plugin APIs for the deviced
+Version: %{libsyscommon_plugin_api_deviced_version}
+License: MIT
-%description -n libgdbus
-Internal dbus library
+%description -n libsyscommon-plugin-api-deviced-devel
+Development header files for system plugin APIs for the deviced.
-%package -n libgdbus-devel
-Summary: Header files for dbus library
-License: Apache-2.0
-Requires: libgdbus = %{version}
-Requires: pkgconfig(gio-2.0)
-Requires: pkgconfig(gio-unix-2.0)
-Requires: pkgconfig(dbus-1)
+%package -n libsyscommon-plugin-api-update-control
+Summary: System plugin API for the update-control
+Version: %{libsyscommon_plugin_api_update_control_version}
+License: MIT
+
+%description -n libsyscommon-plugin-api-update-control
+System plugin API for update-control.
+
+%package -n libsyscommon-plugin-api-update-control-devel
+Summary: Header files for system plugin API for update-control
+Version: %{libsyscommon_plugin_api_update_control_version}
+License: MIT
+
+%description -n libsyscommon-plugin-api-update-control-devel
+Development header files for system plugin API for update-control.
+
+
+######
-%description -n libgdbus-devel
-Development header files for dbus library.
%prep
%setup -q
-%if 0%{?_with_tizen}
cp %{SOURCE1001} .
-%endif
%build
-%if 0%{?debug_enable}
-export CFLAGS=$(echo $CFLAGS | sed -e 's/^-g / /g' | sed -e 's/ -g / /g')
-export CFLAGS=$(echo $CFLAGS | sed -e 's/^-O[0-9] / /g' | sed -e 's/ $-O[0-9] / /g')
-export CFLAGS=$(echo $CFLAGS | sed -e 's/-Wp,-D_FORTIFY_SOURCE=2 / /g')
-export CFLAGS="-O0 -g $CFLAGS"
-%endif
-
-./autogen.sh
-%configure
-
+PLUGIN_API_COMMON_MAJORVER=$(echo %{libsyscommon_plugin_api_common_version} | cut -d'.' -f1)
+PLUGIN_API_RESOURCED_MAJORVER=$(echo %{libsyscommon_plugin_api_resourced_version} | cut -d'.' -f1)
+PLUGIN_API_DEVICED_MAJORVER=$(echo %{libsyscommon_plugin_api_deviced_version} | cut -d'.' -f1)
+PLUGIN_API_UPDATE_CONTROL_MAJORVER=$(echo %{libsyscommon_plugin_api_update_control} | cut -d'.' -f1)
+%cmake . -DFULLVER=%{libsyscommon_version} \
+ -DPLUGIN_API_COMMON_VERSION=%{libsyscommon_plugin_api_common_version} \
+ -DPLUGIN_API_COMMON_MAJORVER=${PLUGIN_API_COMMON_MAJORVER} \
+ -DPLUGIN_API_RESOURCED_VERSION=%{libsyscommon_plugin_api_resourced_version} \
+ -DPLUGIN_API_RESOURCED_MAJORVER=${PLUGIN_API_RESOURCED_MAJORVER} \
+ -DPLUGIN_API_DEVICED_VERSION=%{libsyscommon_plugin_api_deviced_version} \
+ -DPLUGIN_API_DEVICED_MAJORVER=${PLUGIN_API_DEVICED_MAJORVER} \
+ -DPLUGIN_API_UPDATE_CONTROL_VERSION=%{libsyscommon_plugin_api_update_control_version} \
+ -DPLUGIN_API_UPDATE_CONTROL_MAJORVER=${PLUGIN_API_UPDATE_CONTROL_MAJORVER} \
+ -DPLUGIN_API_COMMON_ENABLE_DLOG=1 \
+ -DPLUGIN_API_RESOURCED_ENABLE_DLOG=1 \
+ -DPLUGIN_API_DEVICED_ENABLE_DLOG=1 \
+ -DPLUGIN_API_UPDATE_CONTROL_ENABLE_DLOG=1
make %{?_smp_mflags}
%install
%make_install
-rm -f %{buildroot}%{_libdir}/*.la
-
# make sure debugsources.list exist, it used by rpm macro in %file
# section.
touch debugsources.list
-%check
-make check
-
%post
/sbin/ldconfig
%postun -p /sbin/ldconfig
-%files -n libgdbus
+%files
+%defattr(-,root,root,-)
+%manifest %{name}.manifest
+%license LICENSE.MIT
+%{_libdir}/libsyscommon.so.*
+
+%files -n libsyscommon-devel
+%defattr(-,root,root,-)
+%manifest %{name}.manifest
+%license LICENSE.MIT
+%{_libdir}/libsyscommon.so
+%{_includedir}/libsyscommon/*.h
+%{_libdir}/pkgconfig/libsyscommon.pc
+
+%description -n libsyscommon-plugin-api-common
+Common system plugin APIs to load another APIs from backend.
+
+%files -n libsyscommon-plugin-api-common
+%defattr(-,root,root,-)
+%manifest %{name}.manifest
+%license LICENSE.MIT
+%{_libdir}/libsyscommon-plugin-api-common.so.*
+
+%post -n libsyscommon-plugin-api-common
+/sbin/ldconfig
+
+%files -n libsyscommon-plugin-api-common-devel
+%defattr(-,root,root,-)
+%manifest %{name}.manifest
+%license LICENSE.MIT
+%{_includedir}/system/syscommon-plugin-common*.h
+%{_libdir}/pkgconfig/libsyscommon-plugin-api-common.pc
+%{_libdir}/libsyscommon-plugin-api-common.so
+
+%files -n libsyscommon-plugin-api-resourced
+%defattr(-,root,root,-)
+%manifest %{name}.manifest
+%license LICENSE.MIT
+%{_libdir}/libsyscommon-plugin-api-resourced.so.*
+
+%post -n libsyscommon-plugin-api-resourced
+/sbin/ldconfig
+
+%files -n libsyscommon-plugin-api-resourced-devel
+%defattr(-,root,root,-)
+%manifest %{name}.manifest
+%license LICENSE.MIT
+%{_includedir}/system/syscommon-plugin-resourced*.h
+%{_libdir}/pkgconfig/libsyscommon-plugin-api-resourced.pc
+%{_libdir}/libsyscommon-plugin-api-resourced.so
+
+%files -n libsyscommon-plugin-api-deviced
+%defattr(-,root,root,-)
+%manifest %{name}.manifest
+%license LICENSE.MIT
+%{_libdir}/libsyscommon-plugin-api-deviced.so.*
+
+%files -n libsyscommon-plugin-api-deviced-devel
+%defattr(-,root,root,-)
+%manifest %{name}.manifest
+%license LICENSE.MIT
+%{_includedir}/system/syscommon-plugin-deviced*.h
+%{_libdir}/pkgconfig/libsyscommon-plugin-api-deviced.pc
+%{_libdir}/libsyscommon-plugin-api-deviced.so
+
+%files -n libsyscommon-plugin-api-update-control
%defattr(-,root,root,-)
-%if 0%{?_with_tizen}
%manifest %{name}.manifest
-%endif
-%license LICENSE.Apache-2.0
-%{_libdir}/libgdbus.so.*
+%license LICENSE.MIT
+%{_libdir}/libsyscommon-plugin-api-update-control.so.*
-%files -n libgdbus-devel
+%files -n libsyscommon-plugin-api-update-control-devel
%defattr(-,root,root,-)
-%if 0%{?_with_tizen}
%manifest %{name}.manifest
-%endif
-%license LICENSE.Apache-2.0
-%{_libdir}/libgdbus.so
-%{_includedir}/libgdbus/dbus-system.h
-%{_libdir}/pkgconfig/libgdbus.pc
+%license LICENSE.MIT
+%{_includedir}/system/syscommon-plugin-update-control*.h
+%{_libdir}/pkgconfig/libsyscommon-plugin-api-update-control.pc
+%{_libdir}/libsyscommon-plugin-api-update-control.so