]> git.pld-linux.org Git - packages/fstrm.git/blob - fstrm.spec
- new
[packages/fstrm.git] / fstrm.spec
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
9 Version:        0.2.0
10 Release:        1
11 License:        Apache 2.0
12 Group:          Libraries
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)
20
21 %description
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.
28
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
35 format.
36
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.
44
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
51 formatu logu dnstap.
52
53 %package devel
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}
58
59 %description devel
60 Header files for fstrm library.
61
62 %description devel -l pl.UTF-8
63 Pliki nagłówkowe biblioteki fstrm.
64
65 %package static
66 Summary:        Static fstrm library
67 Summary(pl.UTF-8):      Statyczna biblioteka fstrm
68 Group:          Development/Libraries
69 Requires:       %{name}-devel = %{version}-%{release}
70
71 %description static
72 Static fstrm library.
73
74 %description static -l pl.UTF-8
75 Statyczna biblioteka fstrm.
76
77 %prep
78 %setup -q
79
80 %build
81 %configure \
82         --disable-silent-rules \
83         %{!?with_static_libs:--disable-static}
84 %{__make}
85
86 %install
87 rm -rf $RPM_BUILD_ROOT
88
89 %{__make} install \
90         DESTDIR=$RPM_BUILD_ROOT
91
92 # obsoleted by pkg-config
93 %{__rm} $RPM_BUILD_ROOT%{_libdir}/libfstrm.la
94
95 %clean
96 rm -rf $RPM_BUILD_ROOT
97
98 %post   -p /sbin/ldconfig
99 %postun -p /sbin/ldconfig
100
101 %files
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
108
109 %files devel
110 %defattr(644,root,root,755)
111 %attr(755,root,root) %{_libdir}/libfstrm.so
112 %{_includedir}/fstrm
113 %{_includedir}/fstrm.h
114 %{_pkgconfigdir}/libfstrm.pc
115
116 %if %{with static_libs}
117 %files static
118 %defattr(644,root,root,755)
119 %{_libdir}/libfstrm.a
120 %endif
This page took 0.054354 seconds and 3 git commands to generate.