3 %bcond_without apidocs # do not build and package API docs
4 %bcond_without static_libs # don't build static libraries
6 Summary: C implementation of the Frame Streams transport protocol
7 Summary(pl.UTF-8): Implementacja protokołu transportowego Frame Streams w języku C
13 Source0: https://github.com/farsightsec/fstrm/releases/download/v%{version}/%{name}-%{version}.tar.gz
14 # Source0-md5: 63520f76b982e2fcf0084b39fa673525
15 URL: https://github.com/farsightsec/fstrm
16 BuildRequires: doxygen
17 BuildRequires: libevent-devel >= 2
18 BuildRequires: pkgconfig
19 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
22 Frame Streams is a light weight, binary clean protocol that allows for
23 the transport of arbitrarily encoded data payload sequences with
24 minimal framing overhead - just four bytes per data frame. Frame
25 Streams does not specify an encoding format for data frames and can be
26 used with any data serialization format that produces byte sequences,
27 such as Protocol Buffers, XML, JSON, MessagePack, YAML, etc.
29 fstrm is an optimized C implementation of Frame Streams that includes
30 a fast, lockless circular queue implementation and exposes library
31 interfaces for setting up a dedicated Frame Streams I/O thread and
32 asynchronously submitting data frames for transport from worker
33 threads. It was originally written to facilitate the addition of high
34 speed binary logging to DNS servers written in C using the dnstap log
37 %description -l pl.UTF-8
38 Frame Streams to lekki, bezpieczny dla binariów protokół pozwalający
39 na przesyłanie dowolnie zakodowanych sekwencji danych z minimalnym
40 narzutem na ramki - tylko cztery bajty na jedną. Frame Streams nie
41 określają formatu kodowania ramek danych i mogą być używane z dowolnym
42 formatem serializacji tworzącym sekwencje bajtów, takim jak Protocol
43 Buffers, XML, JSON, MessagePack, YAML itp.
45 fstrm to zoptymalizowana implementacja Frame Streams w języku C,
46 zawierająca szybką, pozbawioną blokad kolejkę cykliczną; udostępnia
47 interfejsy biblioteczne do ustawiania dedykowanego wątku we/wy oraz
48 asynchronicznego przekazywania ramek danych do przesłania z wątków
49 roboczych. Pierwotnie powstała, aby ułatwić dodanie bardzo szybkiego,
50 binarnego logowania w serwerach DNS, napisanych w C, przy użyciu
54 Summary: Header files for fstrm library
55 Summary(pl.UTF-8): Pliki nagłówkowe biblioteki fstrm
56 Group: Development/Libraries
57 Requires: %{name} = %{version}-%{release}
60 Header files for fstrm library.
62 %description devel -l pl.UTF-8
63 Pliki nagłówkowe biblioteki fstrm.
66 Summary: Static fstrm library
67 Summary(pl.UTF-8): Statyczna biblioteka fstrm
68 Group: Development/Libraries
69 Requires: %{name}-devel = %{version}-%{release}
74 %description static -l pl.UTF-8
75 Statyczna biblioteka fstrm.
82 --disable-silent-rules \
83 %{!?with_static_libs:--disable-static}
87 rm -rf $RPM_BUILD_ROOT
90 DESTDIR=$RPM_BUILD_ROOT
92 # obsoleted by pkg-config
93 %{__rm} $RPM_BUILD_ROOT%{_libdir}/libfstrm.la
96 rm -rf $RPM_BUILD_ROOT
98 %post -p /sbin/ldconfig
99 %postun -p /sbin/ldconfig
102 %defattr(644,root,root,755)
103 %doc COPYRIGHT ChangeLog README.md
104 %attr(755,root,root) %{_bindir}/fstrm_capture
105 %attr(755,root,root) %{_bindir}/fstrm_dump
106 %attr(755,root,root) %{_libdir}/libfstrm.so.*.*.*
107 %attr(755,root,root) %ghost %{_libdir}/libfstrm.so.0
110 %defattr(644,root,root,755)
111 %attr(755,root,root) %{_libdir}/libfstrm.so
113 %{_includedir}/fstrm.h
114 %{_pkgconfigdir}/libfstrm.pc
116 %if %{with static_libs}
118 %defattr(644,root,root,755)
119 %{_libdir}/libfstrm.a