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 #Source0Download: https://github.com/farsightsec/fstrm/releases
14 Source0: https://dl.farsightsecurity.com/dist/fstrm/%{name}-%{version}.tar.gz
15 # Source0-md5: e14684243e89d54e311ab228b4c9a309
16 URL: https://github.com/farsightsec/fstrm
17 BuildRequires: autoconf >= 2.64
18 BuildRequires: automake >= 1:1.11
19 BuildRequires: doxygen
20 BuildRequires: libevent-devel >= 2
21 BuildRequires: libtool >= 2:2
22 BuildRequires: pkgconfig
23 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
26 Frame Streams is a light weight, binary clean protocol that allows for
27 the transport of arbitrarily encoded data payload sequences with
28 minimal framing overhead - just four bytes per data frame. Frame
29 Streams does not specify an encoding format for data frames and can be
30 used with any data serialization format that produces byte sequences,
31 such as Protocol Buffers, XML, JSON, MessagePack, YAML, etc.
33 fstrm is an optimized C implementation of Frame Streams that includes
34 a fast, lockless circular queue implementation and exposes library
35 interfaces for setting up a dedicated Frame Streams I/O thread and
36 asynchronously submitting data frames for transport from worker
37 threads. It was originally written to facilitate the addition of high
38 speed binary logging to DNS servers written in C using the dnstap log
41 %description -l pl.UTF-8
42 Frame Streams to lekki, bezpieczny dla binariów protokół pozwalający
43 na przesyłanie dowolnie zakodowanych sekwencji danych z minimalnym
44 narzutem na ramki - tylko cztery bajty na jedną. Frame Streams nie
45 określają formatu kodowania ramek danych i mogą być używane z dowolnym
46 formatem serializacji tworzącym sekwencje bajtów, takim jak Protocol
47 Buffers, XML, JSON, MessagePack, YAML itp.
49 fstrm to zoptymalizowana implementacja Frame Streams w języku C,
50 zawierająca szybką, pozbawioną blokad kolejkę cykliczną; udostępnia
51 interfejsy biblioteczne do ustawiania dedykowanego wątku we/wy oraz
52 asynchronicznego przekazywania ramek danych do przesłania z wątków
53 roboczych. Pierwotnie powstała, aby ułatwić dodanie bardzo szybkiego,
54 binarnego logowania w serwerach DNS, napisanych w C, przy użyciu
58 Summary: Header files for fstrm library
59 Summary(pl.UTF-8): Pliki nagłówkowe biblioteki fstrm
60 Group: Development/Libraries
61 Requires: %{name} = %{version}-%{release}
64 Header files for fstrm library.
66 %description devel -l pl.UTF-8
67 Pliki nagłówkowe biblioteki fstrm.
70 Summary: Static fstrm library
71 Summary(pl.UTF-8): Statyczna biblioteka fstrm
72 Group: Development/Libraries
73 Requires: %{name}-devel = %{version}-%{release}
78 %description static -l pl.UTF-8
79 Statyczna biblioteka fstrm.
91 --disable-silent-rules \
92 %{!?with_static_libs:--disable-static}
96 rm -rf $RPM_BUILD_ROOT
99 DESTDIR=$RPM_BUILD_ROOT
101 # obsoleted by pkg-config
102 %{__rm} $RPM_BUILD_ROOT%{_libdir}/libfstrm.la
105 rm -rf $RPM_BUILD_ROOT
107 %post -p /sbin/ldconfig
108 %postun -p /sbin/ldconfig
111 %defattr(644,root,root,755)
112 %doc COPYRIGHT ChangeLog README.md
113 %attr(755,root,root) %{_bindir}/fstrm_capture
114 %attr(755,root,root) %{_bindir}/fstrm_dump
115 %attr(755,root,root) %{_bindir}/fstrm_replay
116 %attr(755,root,root) %{_libdir}/libfstrm.so.*.*.*
117 %attr(755,root,root) %ghost %{_libdir}/libfstrm.so.0
118 %{_mandir}/man1/fstrm_capture.1*
119 %{_mandir}/man1/fstrm_dump.1*
120 %{_mandir}/man1/fstrm_replay.1*
123 %defattr(644,root,root,755)
124 %attr(755,root,root) %{_libdir}/libfstrm.so
126 %{_includedir}/fstrm.h
127 %{_pkgconfigdir}/libfstrm.pc
129 %if %{with static_libs}
131 %defattr(644,root,root,755)
132 %{_libdir}/libfstrm.a