Name: libgbinder Version: 1.1.29 Release: 1%{?dist} Summary: Binder client library License: BSD URL: https://github.com/mer-hybris/libgbinder Source0: %{url}/archive/refs/tags/%{version}.tar.gz %define libglibutil_version 1.0.52 BuildRequires: pkgconfig(glib-2.0) BuildRequires: pkgconfig(libglibutil) >= %{libglibutil_version} BuildRequires: pkgconfig BuildRequires: make BuildRequires: gcc BuildRequires: bison flex Requires: libglibutil >= %{libglibutil_version} %description GLib-style interface to binder (Android IPC mechanism) Key features: 1. Integration with GLib event loop 2. Detection of 32 vs 64 bit kernel at runtime 3. Asynchronous transactions that don't block the event thread 4. Stable service manager and low-level transaction APIs Android keeps changing both low-level RPC and service manager protocols from version to version. To counter that, libgbinder implements configirable backends for different variants of those, and yet keeping its own API unchanged. %package devel Summary: Development library for %{name} Requires: %{name}%{?_isa} = %{version}-%{release} %description devel This package contains the development library for %{name}. %prep %setup -q %build %{make_build} LIBDIR=%{_libdir} KEEP_SYMBOLS=1 release pkgconfig %{make_build} -C test/binder-bridge KEEP_SYMBOLS=1 release %{make_build} -C test/binder-list KEEP_SYMBOLS=1 release %{make_build} -C test/binder-ping KEEP_SYMBOLS=1 release %{make_build} -C test/binder-call KEEP_SYMBOLS=1 release %install %{make_build} LIBDIR=%{_libdir} DESTDIR=%{buildroot} install-dev %{make_build} -C test/binder-bridge DESTDIR=%{buildroot} install %{make_build} -C test/binder-list DESTDIR=%{buildroot} install %{make_build} -C test/binder-ping DESTDIR=%{buildroot} install %{make_build} -C test/binder-call DESTDIR=%{buildroot} install %check %{make_build} -C unit test %files %{_libdir}/%{name}.so.* %license LICENSE %files devel %{_libdir}/pkgconfig/*.pc %{_libdir}/%{name}.so %{_includedir}/gbinder # Tools # Missing manpages: https://github.com/mer-hybris/libgbinder/issues/107 %package tools Summary: Binder tools Requires: %{name} >= %{version} %description tools Binder command line utilities %files tools %{_bindir}/binder-bridge %{_bindir}/binder-list %{_bindir}/binder-ping %{_bindir}/binder-call %changelog * Sat Nov 26 2022 Alessandro Astone - 1.1.29-1 - Update to 1.1.29 - Build binder-call tool * Sat Oct 29 2022 Alessandro Astone - 1.1.26-1 - Update to 1.1.26 * Tue Jul 19 2022 Alessandro Astone - 1.1.25-1 - Handle RPC protocol change at run time * Wed Jul 06 2022 Alessandro Astone - 1.1.23-1 - Support API 31 * Mon Jun 20 2022 Alessandro Astone - 1.1.21-1 - Tests pass again! * Sat Jun 11 2022 Alessandro Astone - 1.1.20-1 - Make RPC protocol selectable at runtime * Tue Feb 22 2022 Mo 森 - 1.1.19-1 - Added reader and writer for aidl parcelables * Wed Jan 19 2022 Mo 森 - 1.1.18-1 - Make sure stale object pointers don't hang around - Properly shut down remote object inside the proxy - Read ref_count from GObject atomically - Don't release remote proxy handle too early (sometimes never) - Disassociate auto-created proxies to stop them from piling up * Tue Dec 28 2021 Mo 森 - 1.1.15-1 - Added readers and writers for int8 and int16 * Sun Nov 28 2021 Mo 森 - 1.1.14-2 - Support for FMQ (Fast Message Queues) - Support for Android 11 (API level 30) - Made GBinderReader API slightly more NULL tolerant - Added gbinder_client_rpc_header() - Added gbinder_reader_get_data() - Added gbinder_writer_get_data() - Added gbinder_servicemanager_device() - Added gbinder_local_reply_append_fd()