]>
Commit | Line | Data |
---|---|---|
ae52c48b JB |
1 | # |
2 | # Conditional build: | |
3 | %bcond_without apidocs # do not build and package API docs | |
4 | %bcond_without static_libs # don't build static libraries | |
5 | # | |
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 | |
8 | Name: fstrm | |
3da95447 JB |
9 | Version: 0.6.0 |
10 | Release: 1 | |
f44646ae | 11 | License: Apache v2.0 |
ae52c48b | 12 | Group: Libraries |
f44646ae | 13 | #Source0Download: https://github.com/farsightsec/fstrm/releases |
bc027326 | 14 | Source0: https://dl.farsightsecurity.com/dist/fstrm/%{name}-%{version}.tar.gz |
3da95447 | 15 | # Source0-md5: e14684243e89d54e311ab228b4c9a309 |
ae52c48b | 16 | URL: https://github.com/farsightsec/fstrm |
f44646ae JB |
17 | BuildRequires: autoconf >= 2.64 |
18 | BuildRequires: automake >= 1:1.11 | |
ae52c48b JB |
19 | BuildRequires: doxygen |
20 | BuildRequires: libevent-devel >= 2 | |
f44646ae | 21 | BuildRequires: libtool >= 2:2 |
ae52c48b JB |
22 | BuildRequires: pkgconfig |
23 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) | |
24 | ||
25 | %description | |
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. | |
32 | ||
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 | |
39 | format. | |
40 | ||
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. | |
48 | ||
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 | |
55 | formatu logu dnstap. | |
56 | ||
57 | %package devel | |
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} | |
62 | ||
63 | %description devel | |
64 | Header files for fstrm library. | |
65 | ||
66 | %description devel -l pl.UTF-8 | |
67 | Pliki nagłówkowe biblioteki fstrm. | |
68 | ||
69 | %package static | |
70 | Summary: Static fstrm library | |
71 | Summary(pl.UTF-8): Statyczna biblioteka fstrm | |
72 | Group: Development/Libraries | |
73 | Requires: %{name}-devel = %{version}-%{release} | |
74 | ||
75 | %description static | |
76 | Static fstrm library. | |
77 | ||
78 | %description static -l pl.UTF-8 | |
79 | Statyczna biblioteka fstrm. | |
80 | ||
81 | %prep | |
82 | %setup -q | |
83 | ||
84 | %build | |
f44646ae JB |
85 | %{__libtoolize} |
86 | %{__aclocal} -I m4 | |
87 | %{__autoconf} | |
88 | %{__autoheader} | |
89 | %{__automake} | |
ae52c48b JB |
90 | %configure \ |
91 | --disable-silent-rules \ | |
92 | %{!?with_static_libs:--disable-static} | |
93 | %{__make} | |
94 | ||
95 | %install | |
96 | rm -rf $RPM_BUILD_ROOT | |
97 | ||
98 | %{__make} install \ | |
99 | DESTDIR=$RPM_BUILD_ROOT | |
100 | ||
101 | # obsoleted by pkg-config | |
102 | %{__rm} $RPM_BUILD_ROOT%{_libdir}/libfstrm.la | |
103 | ||
104 | %clean | |
105 | rm -rf $RPM_BUILD_ROOT | |
106 | ||
107 | %post -p /sbin/ldconfig | |
108 | %postun -p /sbin/ldconfig | |
109 | ||
110 | %files | |
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 | |
2a859a66 | 115 | %attr(755,root,root) %{_bindir}/fstrm_replay |
ae52c48b JB |
116 | %attr(755,root,root) %{_libdir}/libfstrm.so.*.*.* |
117 | %attr(755,root,root) %ghost %{_libdir}/libfstrm.so.0 | |
2a859a66 JB |
118 | %{_mandir}/man1/fstrm_capture.1* |
119 | %{_mandir}/man1/fstrm_dump.1* | |
120 | %{_mandir}/man1/fstrm_replay.1* | |
ae52c48b JB |
121 | |
122 | %files devel | |
123 | %defattr(644,root,root,755) | |
124 | %attr(755,root,root) %{_libdir}/libfstrm.so | |
125 | %{_includedir}/fstrm | |
126 | %{_includedir}/fstrm.h | |
127 | %{_pkgconfigdir}/libfstrm.pc | |
128 | ||
129 | %if %{with static_libs} | |
130 | %files static | |
131 | %defattr(644,root,root,755) | |
132 | %{_libdir}/libfstrm.a | |
133 | %endif |