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