1 Summary: Userspace RCU implementation
2 Summary(pl.UTF-8): Implementacja RCU w przestrzeni użytkownika
6 License: LGPL v2.1+ (library), GPL v2 (tests)
8 Source0: https://lttng.org/files/urcu/%{name}-%{version}.tar.bz2
9 # Source0-md5: eecffc78f89938424b328298d76d856f
10 Patch0: no_examples.patch
11 URL: http://liburcu.org/
12 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
15 liburcu is a LGPL userspace RCU (read-copy-update) library. This data
16 synchronization library provides read-side access which scales
17 linearly with the number of cores. It does so by allowing multiples
18 copies of a given data structure to live at the same time, and by
19 monitoring the data structure accesses to detect grace periods after
20 which memory reclamation is possible.
22 liburcu-cds provides efficient data structures based on RCU and
23 lock-free algorithms. Those structures include hash tables, queues,
24 stacks, and doubly-linked lists.
26 %description -l pl.UTF-8
27 liburcu to dostępna na licencji LGPL biblioteka będąca implementacją
28 algorytmu RCU (read-copy-update) w przestrzeni użytkownika. Ta
29 biblioteka synchronizacji danych pozwala na dostęp w trybie odczytu
30 skalujący się liniowo wraz z liczbą rdzeni. Jest to osiągalne poprzez
31 zezwolenie na istnienie naraz wielu kopii struktur danych i śledzenie
32 dostępów do tych struktur, aby wykryć okresy, kiedy możliwe jest
35 liburdu-cms udostępnia wydajne struktury danych oparte na algorytmach
36 RCU oraz bez blokad. Struktury te obejmują tablice haszujące, kolejki,
37 stosy i listy dwukierunkowe.
40 Summary: Header files for Userspace RCU libraries
41 Summary(pl.UTF-8): Pliki nagłówkowe bibliotek Userspace RCU
42 Group: Development/Libraries
43 Requires: %{name} = %{version}-%{release}
46 Header files for Userspace RCU libraries.
48 %description devel -l pl.UTF-8
49 Pliki nagłówkowe bibliotek Userspace RCU.
52 Summary: Static Userspace RCU libraries
53 Summary(pl.UTF-8): Statyczne biblioteki Userspace RCU
54 Group: Development/Libraries
55 Requires: %{name}-devel = %{version}-%{release}
58 Static Userspace RCU libraries.
60 %description static -l pl.UTF-8
61 Statyczne biblioteki Userspace RCU.
72 --disable-silent-rules
77 rm -rf $RPM_BUILD_ROOT
80 DESTDIR=$RPM_BUILD_ROOT
82 # *.la kept - urcu-common not handled in any way in .pc files
85 %{__rm} $RPM_BUILD_ROOT%{_docdir}/userspace-rcu/{{rcu,cds,uatomic}-api.md,LICENSE,README.md,solaris-build.md}
88 rm -rf $RPM_BUILD_ROOT
90 %post -p /sbin/ldconfig
91 %postun -p /sbin/ldconfig
94 %defattr(644,root,root,755)
95 %doc ChangeLog LICENSE README.md lgpl-relicensing.txt
96 %attr(755,root,root) %{_libdir}/liburcu.so.*.*.*
97 %attr(755,root,root) %ghost %{_libdir}/liburcu.so.8
98 %attr(755,root,root) %{_libdir}/liburcu-bp.so.*.*.*
99 %attr(755,root,root) %ghost %{_libdir}/liburcu-bp.so.8
100 %attr(755,root,root) %{_libdir}/liburcu-cds.so.*.*.*
101 %attr(755,root,root) %ghost %{_libdir}/liburcu-cds.so.8
102 %attr(755,root,root) %{_libdir}/liburcu-common.so.*.*.*
103 %attr(755,root,root) %ghost %{_libdir}/liburcu-common.so.8
104 %attr(755,root,root) %{_libdir}/liburcu-mb.so.*.*.*
105 %attr(755,root,root) %ghost %{_libdir}/liburcu-mb.so.8
106 %attr(755,root,root) %{_libdir}/liburcu-memb.so.*.*.*
107 %attr(755,root,root) %ghost %{_libdir}/liburcu-memb.so.8
108 %attr(755,root,root) %{_libdir}/liburcu-qsbr.so.*.*.*
109 %attr(755,root,root) %ghost %{_libdir}/liburcu-qsbr.so.8
110 %attr(755,root,root) %{_libdir}/liburcu-signal.so.*.*.*
111 %attr(755,root,root) %ghost %{_libdir}/liburcu-signal.so.8
114 %defattr(644,root,root,755)
115 %doc doc/{rcu,cds,uatomic}-api.md
116 %attr(755,root,root) %{_libdir}/liburcu.so
117 %attr(755,root,root) %{_libdir}/liburcu-bp.so
118 %attr(755,root,root) %{_libdir}/liburcu-cds.so
119 %attr(755,root,root) %{_libdir}/liburcu-common.so
120 %attr(755,root,root) %{_libdir}/liburcu-mb.so
121 %attr(755,root,root) %{_libdir}/liburcu-memb.so
122 %attr(755,root,root) %{_libdir}/liburcu-qsbr.so
123 %attr(755,root,root) %{_libdir}/liburcu-signal.so
124 %{_libdir}/liburcu.la
125 %{_libdir}/liburcu-bp.la
126 %{_libdir}/liburcu-cds.la
127 %{_libdir}/liburcu-common.la
128 %{_libdir}/liburcu-mb.la
129 %{_libdir}/liburcu-memb.la
130 %{_libdir}/liburcu-qsbr.la
131 %{_libdir}/liburcu-signal.la
133 %{_includedir}/urcu*.h
134 %{_pkgconfigdir}/liburcu.pc
135 %{_pkgconfigdir}/liburcu-bp.pc
136 %{_pkgconfigdir}/liburcu-cds.pc
137 %{_pkgconfigdir}/liburcu-mb.pc
138 %{_pkgconfigdir}/liburcu-memb.pc
139 %{_pkgconfigdir}/liburcu-qsbr.pc
140 %{_pkgconfigdir}/liburcu-signal.pc
143 %defattr(644,root,root,755)
145 %{_libdir}/liburcu-bp.a
146 %{_libdir}/liburcu-cds.a
147 %{_libdir}/liburcu-common.a
148 %{_libdir}/liburcu-mb.a
149 %{_libdir}/liburcu-memb.a
150 %{_libdir}/liburcu-qsbr.a
151 %{_libdir}/liburcu-signal.a