]> git.pld-linux.org Git - packages/sysdig.git/blob - sysdig.spec
f1666d00e81a9272683315cad53ff8a79dce7632
[packages/sysdig.git] / sysdig.spec
1 #
2 # NOTES:
3 # - https://github.com/draios/sysdig/wiki/How-to-Install-Sysdig-from-the-Source-Code
4 #
5 # Conditional build:
6 %bcond_without  kernel          # kernel modules
7 %bcond_without  userspace       # userspace packages
8 %bcond_without  dkms            # DKMS package
9 %bcond_without  luajit          # use plain lua5.1 instead of luajit
10
11 %if 0%{?_pld_builder:1} && %{with kernel} && %{with userspace}
12 %{error:kernel and userspace cannot be built at the same time on PLD builders}
13 exit 1
14 %endif
15
16 %if %{without userspace}
17 %undefine       with_dkms
18 # nothing to be placed to debuginfo package
19 %define         _enable_debug_packages  0
20 %endif
21 %ifnarch %{ix86} %{x8664} %{arm} mips ppc
22 %undefine       with_luajit
23 %endif
24
25 %define         rel     1
26 %define         pname   sysdig
27 Summary:        sysdig, a system-level exploration and troubleshooting tool
28 Summary(pl.UTF-8):      sysdig - narzędzie do przeglądu i rozwiązywania problemów na poziomie systemowym
29 Name:           %{pname}%{?_pld_builder:%{?with_kernel:-kernel}}%{_alt_kernel}
30 Version:        0.24.2
31 Release:        %{rel}%{?_pld_builder:%{?with_kernel:@%{_kernel_ver_str}}}
32 License:        GPL v2
33 Group:          Applications/System
34 #Source0Download: https://github.com/draios/sysdig/releases
35 Source0:        https://github.com/draios/sysdig/archive/%{version}/%{pname}-%{version}.tar.gz
36 # Source0-md5:  ea98fc19fea18f02651a7955d069dcf1
37 Patch0:         kernel-5.0.patch
38 Patch1:         kernel-5.1.patch
39 URL:            http://www.sysdig.org/
40 BuildRequires:  rpmbuild(macros) >= 1.701
41 BuildRequires:  cmake >= 2.8.2
42 BuildRequires:  curl-devel >= 7.45.0
43 BuildRequires:  jq-devel >= 1.5
44 BuildRequires:  jsoncpp-devel
45 BuildRequires:  libb64-devel >= 1.2.1
46 BuildRequires:  libstdc++-devel >= 6:4.4
47 %{!?with_luajit:BuildRequires:  lua51-devel >= 5.1}
48 %{?with_luajit:BuildRequires:   luajit-devel >= 2.0.3}
49 BuildRequires:  ncurses-devel >= 5.9
50 BuildRequires:  openssl-devel >= 1.0.2
51 BuildRequires:  zlib-devel >= 1.2.8
52 %{!?with_luajit:BuildConflicts: luajit-devel}
53 %{?with_kernel:%{expand:%buildrequires_kernel kernel%%{_alt_kernel}-module-build >= 3:2.6.20.2}}
54 ExclusiveArch:  %{ix86} %{x8664} x32
55 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
56
57 # constify %{name}
58 %{expand:%%global name %{pname}}
59
60 %define         zshdir %{_datadir}/zsh/site-functions
61
62 %description
63 Sysdig instruments your physical and virtual machines at the OS level
64 by installing into the Linux kernel and capturing system calls and
65 other OS events. Then, using sysdig's command line interface, you can
66 filter and decode these events in order to extract useful information.
67 Sysdig can be used to inspect systems live in real-time, or to
68 generate trace files that can be analyzed at a later stage.
69
70 %description -l pl.UTF-8
71 Sysdig obsługuje maszyny fizyczne i wirtualne na poziomie systemu
72 operacyjnego, instalując się w jądrze Linuksa i przechwytując
73 wywołania systemowe oraz inne zdarzenia systemu. Następnie, przy
74 użyciu interfejsu linii poleceń sysdiga można odfiltrować i zdekodować
75 te zdarzenia, aby wydobyć z nich przydatne informacje. Sysdiga można
76 używać do dozorowania systemów w czasie rzeczywistym albo generowania
77 plików śladów do późniejszej analizy.
78
79 %package -n dkms-%{name}
80 Summary:        DKMS-ready driver for sysdig
81 Summary(pl.UTF-8):      Sterownik sysdiga zgodny z DKMS
82 License:        GPL v2+
83 Group:          Base/Kernel
84 Requires(pre,post):     dkms >= 2.1.0.0
85 %if "%{_rpmversion}" >= "5"
86 BuildArch:      noarch
87 %endif
88
89 %description -n dkms-%{name}
90 This package contains a DKMS-ready driver for sysdig.
91
92 %description -n dkms-%{name} -l pl.UTF-8
93 Ten pakiet zawiera sterownik sysdiga w postaci zgodnej z DKMS.
94
95 %package -n bash-completion-%{name}
96 Summary:        bash-completion for sysdig command
97 Summary(pl.UTF-8):      Bashowe dopełnianie składni polecenia sysdig
98 Group:          Applications/Shells
99 Requires:       %{name} = %{version}-%{rel}
100 Requires:       bash-completion
101 %if "%{_rpmversion}" >= "5"
102 BuildArch:      noarch
103 %endif
104
105 %description -n bash-completion-%{name}
106 bash-completion for sysdig command.
107
108 %description -n bash-completion-%{name} -l pl.UTF-8
109 Bashowe dopełnianie składni polecenia sysdig.
110
111 %package -n zsh-completion-%{name}
112 Summary:        zsh-completion for sysdig command
113 Summary(pl.UTF-8):      Dopełnianie składni polecenia sysdig w powłoce zsh
114 Group:          Applications/Shells
115 Requires:       %{name} = %{version}-%{rel}
116 %if "%{_rpmversion}" >= "5"
117 BuildArch:      noarch
118 %endif
119
120 %description -n zsh-completion-%{name}
121 zsh-completion for sysdig command.
122
123 %description -n zsh-completion-%{name} -l pl.UTF-8
124 Dopełnianie składni polecenia sysdig w powłoce zsh.
125
126 %define kernel_pkg()\
127 %package -n kernel%{_alt_kernel}-misc-%{pname}\
128 Summary:        Linux driver for sysdig\
129 Summary(pl.UTF-8):      Sterownik jądra Linuksa dla sysdiga\
130 Release:        %{rel}@%{_kernel_ver_str}\
131 Group:          Base/Kernel\
132 Requires(post,postun):  /sbin/depmod\
133 %requires_releq_kernel\
134 Requires(postun):       %releq_kernel\
135 \
136 %description -n kernel%{_alt_kernel}-misc-%{pname}\
137 This is sysdig-probe module for Linux.\
138 \
139 %description -n kernel%{_alt_kernel}-misc-%{pname} -l pl.UTF-8\
140 Ten pakiet zawiera moduł sysdig-probe for jądra Linuksa.\
141 \
142 %if %{with kernel}\
143 %files -n kernel%{_alt_kernel}-misc-%{pname}\
144 %defattr(644,root,root,755)\
145 /lib/modules/%{_kernel_ver}/misc/*.ko*\
146 %endif\
147 \
148 %post   -n kernel%{_alt_kernel}-misc-%{pname}\
149 %depmod %{_kernel_ver}\
150 \
151 %postun -n kernel%{_alt_kernel}-misc-%{pname}\
152 %depmod %{_kernel_ver}\
153 %{nil}
154
155 %define build_kernel_pkg()\
156 %build_kernel_modules -C driver -m sysdig-probe\
157 %install_kernel_modules -D installed -m driver/sysdig-probe -d misc\
158 %{nil}
159
160 %{?with_kernel:%{expand:%create_kernel_packages}}
161
162 %prep
163 %setup -q -n %{pname}-%{version}
164 %patch0 -p1
165 %patch1 -p1
166
167 %build
168 install -d build
169 cd build
170 %cmake .. \
171         -DDIR_ETC=%{_sysconfdir} \
172         -DSYSDIG_VERSION=%{version}-%{rel} \
173         -DBUILD_DRIVER=OFF \
174         -DUSE_BUNDLED_B64=OFF \
175         -DUSE_BUNDLED_CURL=OFF \
176         -DUSE_BUNDLED_JQ=OFF \
177         -DUSE_BUNDLED_JSONCPP=OFF \
178         -DUSE_BUNDLED_LUAJIT=OFF \
179         -DUSE_BUNDLED_NCURSES=OFF \
180         -DUSE_BUNDLED_OPENSSL=OFF \
181         -DUSE_BUNDLED_ZLIB=OFF
182 cd ..
183
184 %if %{with kernel}
185 cp -f build/driver/Makefile.dkms driver/Makefile
186 %{expand:%build_kernel_packages}
187 %endif
188
189 %if %{with userspace}
190 %{__make} -C build
191 %endif
192
193 %install
194 rm -rf $RPM_BUILD_ROOT
195
196 %if %{with userspace}
197 %{__make} -C build install \
198         DESTDIR=$RPM_BUILD_ROOT
199
200 # already installed as %{zshdir}/_sysdig
201 %{__rm} $RPM_BUILD_ROOT%{_datadir}/zsh/vendor-completions/_sysdig
202 %endif
203
204 %if %{with kernel}
205 install -d $RPM_BUILD_ROOT
206 cp -a installed/* $RPM_BUILD_ROOT
207 %endif
208
209 %clean
210 rm -rf $RPM_BUILD_ROOT
211
212 %post -n dkms-%{name}
213 %{_sbindir}/dkms add -m %{name} -v %{version}-%{rel} --rpm_safe_upgrade && \
214 %{_sbindir}/dkms build -m %{name} -v %{version}-%{rel} --rpm_safe_upgrade && \
215 %{_sbindir}/dkms install -m %{name} -v %{version}-%{rel} --rpm_safe_upgrade || :
216
217 %preun -n dkms-%{name}
218 %{_sbindir}/dkms remove -m %{name} -v %{version}-%{rel} --rpm_safe_upgrade --all || :
219
220 %if %{with userspace}
221 %files
222 %defattr(644,root,root,755)
223 %doc README.md
224 %attr(755,root,root) %{_bindir}/csysdig
225 %attr(755,root,root) %{_bindir}/sysdig
226 %attr(755,root,root) %{_bindir}/sysdig-probe-loader
227 %{_mandir}/man8/csysdig.8*
228 %{_mandir}/man8/sysdig.8*
229 %{_datadir}/%{name}
230
231 %files -n bash-completion-%{name}
232 %defattr(644,root,root,755)
233 /etc/bash_completion.d/sysdig
234
235 %files -n zsh-completion-%{name}
236 %defattr(644,root,root,755)
237 %{zshdir}/_sysdig
238 %endif
239
240 %if %{with dkms}
241 %files -n dkms-%{name}
242 %defattr(644,root,root,755)
243 %{_usrsrc}/%{name}-%{version}-%{rel}
244 %endif
This page took 0.106804 seconds and 2 git commands to generate.