]>
Commit | Line | Data |
---|---|---|
0f961bb8 ER |
1 | # |
2 | # Conditional build: | |
74f0998f ER |
3 | %bcond_without kernel # don't build kernel modules |
4 | %bcond_without userspace # don't build userspace programs | |
0f961bb8 ER |
5 | %bcond_without dkms # build dkms package |
6 | ||
74f0998f ER |
7 | %if "%{?alt_kernel}" != "" && 0%{?build_kernels:1} |
8 | %{error:alt_kernel (%{?alt_kernel}) and build_kernels (%{?build_kernels}) defined} | |
9 | %endif | |
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 | ||
07070165 | 22 | %define rel 1 |
74f0998f ER |
23 | %define pname sysdig |
24 | Summary: sysdig, a system-level exploration and troubleshooting tool | |
25 | Name: %{pname}%{?_pld_builder:%{?with_kernel:-kernel}}%{_alt_kernel} | |
74fbb710 | 26 | Version: 0.1.101 |
74f0998f | 27 | Release: %{rel}%{?_pld_builder:%{?with_kernel:@%{_kernel_ver_str}}} |
74fbb710 ER |
28 | License: GPL v2 |
29 | Group: Applications/System | |
74f0998f | 30 | Source0: https://github.com/draios/sysdig/archive/%{version}/%{pname}-%{version}.tar.gz |
74fbb710 | 31 | # Source0-md5: 5fe96a3a0fd98b2157a40cb29af41afc |
87555a2e | 32 | Patch0: buildflags.patch |
74fbb710 | 33 | URL: http://www.sysdig.org/ |
fe7ef0e8 ER |
34 | BuildRequires: rpmbuild(macros) >= 1.701 |
35 | %if %{with userspace} | |
c91ce2ea | 36 | BuildRequires: cmake >= 2.8.2 |
c91ce2ea | 37 | BuildRequires: jsoncpp-devel |
8dde2f70 ER |
38 | BuildRequires: libstdc++-devel >= 6:4.4 |
39 | BuildRequires: luajit-devel >= 2.0.3 | |
40 | BuildRequires: ncurses-devel >= 5.9 | |
41 | BuildRequires: zlib-devel >= 1.2.8 | |
fe7ef0e8 | 42 | %endif |
74f0998f | 43 | %{?with_kernel:%{expand:%buildrequires_kernel kernel%%{_alt_kernel}-module-build >= 3:2.6.20.2}} |
96d4f88b | 44 | ExclusiveArch: %{ix86} %{x8664} |
74fbb710 ER |
45 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) |
46 | ||
70614e31 ER |
47 | # constify %{name} |
48 | %{expand:%%global name %{pname}} | |
49 | ||
baa4cab5 ER |
50 | %define zshdir %{_datadir}/zsh/site-functions |
51 | ||
74fbb710 ER |
52 | %description |
53 | Sysdig instruments your physical and virtual machines at the OS level | |
54 | by installing into the Linux kernel and capturing system calls and | |
55 | other OS events. Then, using sysdig's command line interface, you can | |
56 | filter and decode these events in order to extract useful information. | |
57 | Sysdig can be used to inspect systems live in real-time, or to | |
58 | generate trace files that can be analyzed at a later stage. | |
59 | ||
0f961bb8 ER |
60 | %package -n dkms-%{name} |
61 | Summary: DKMS-ready driver for sysdig | |
62 | License: GPL v2+ | |
63 | Group: Base/Kernel | |
64 | Requires(pre,post): dkms >= 2.1.0.0 | |
65 | %if "%{_rpmversion}" >= "5" | |
66 | BuildArch: noarch | |
67 | %endif | |
68 | ||
69 | %description -n dkms-%{name} | |
70 | This package contains a DKMS-ready driver for sysdig. | |
71 | ||
baa4cab5 ER |
72 | %package -n bash-completion-%{name} |
73 | Summary: bash-completion for sysdig | |
74 | Summary(pl.UTF-8): Bashowe dopełnianie składni dla sysdig | |
75 | Group: Applications/Shells | |
73a3ce5f | 76 | Requires: %{name} = %{version}-%{rel} |
baa4cab5 ER |
77 | Requires: bash-completion |
78 | %if "%{_rpmversion}" >= "5" | |
79 | BuildArch: noarch | |
80 | %endif | |
81 | ||
82 | %description -n bash-completion-%{name} | |
83 | bash-completion for sysdig. | |
84 | ||
85 | %package -n zsh-completion-%{name} | |
86 | Summary: zsh-completion for sysdig | |
87 | Group: Applications/Shells | |
73a3ce5f | 88 | Requires: %{name} = %{version}-%{rel} |
baa4cab5 ER |
89 | %if "%{_rpmversion}" >= "5" |
90 | BuildArch: noarch | |
91 | %endif | |
92 | ||
93 | %description -n zsh-completion-%{name} | |
94 | zsh-completion for sysdig. | |
95 | ||
74f0998f ER |
96 | %define kernel_pkg()\ |
97 | %package -n kernel%{_alt_kernel}-misc-%{pname}\ | |
98 | Summary: Linux driver for sysdig\ | |
99 | Release: %{rel}@%{_kernel_ver_str}\ | |
100 | Group: Base/Kernel\ | |
101 | Requires(post,postun): /sbin/depmod\ | |
102 | %requires_releq_kernel\ | |
103 | Requires(postun): %releq_kernel\ | |
104 | \ | |
105 | %description -n kernel%{_alt_kernel}-misc-%{pname}\ | |
106 | This is driver for sysdig-probe for Linux.\ | |
107 | \ | |
108 | This package contains Linux module.\ | |
109 | \ | |
110 | %if %{with kernel}\ | |
111 | %files -n kernel%{_alt_kernel}-misc-%{pname}\ | |
112 | %defattr(644,root,root,755)\ | |
113 | /lib/modules/%{_kernel_ver}/misc/*.ko*\ | |
114 | %endif\ | |
115 | \ | |
116 | %post -n kernel%{_alt_kernel}-misc-%{pname}\ | |
117 | %depmod %{_kernel_ver}\ | |
118 | \ | |
119 | %postun -n kernel%{_alt_kernel}-misc-%{pname}\ | |
120 | %depmod %{_kernel_ver}\ | |
121 | %{nil} | |
122 | ||
123 | %define build_kernel_pkg()\ | |
124 | %build_kernel_modules -C driver -m sysdig-probe\ | |
125 | %install_kernel_modules -D installed -m driver/sysdig-probe -d misc\ | |
126 | %{nil} | |
127 | ||
128 | %{?with_kernel:%{expand:%create_kernel_packages}} | |
129 | ||
74fbb710 | 130 | %prep |
70614e31 | 131 | %setup -q -n %{pname}-%{version} |
87555a2e | 132 | %patch0 -p1 |
74fbb710 | 133 | |
74f0998f ER |
134 | # we need just obj-m from the file |
135 | cp driver/Makefile{.in,} | |
136 | %{__sed} -i -e 's/@KBUILD_FLAGS@//' driver/Makefile | |
137 | ||
74fbb710 | 138 | %build |
74f0998f ER |
139 | %{?with_kernel:%{expand:%build_kernel_packages}} |
140 | ||
141 | %if %{with userspace} | |
c91ce2ea | 142 | install -d build |
74fbb710 ER |
143 | cd build |
144 | %cmake \ | |
4d80860c | 145 | -DDIR_ETC=%{_sysconfdir} \ |
73a3ce5f | 146 | -DSYSDIG_VERSION=%{version}-%{rel} \ |
74fbb710 | 147 | -DBUILD_DRIVER=OFF \ |
c91ce2ea ER |
148 | -DUSE_BUNDLED_JSONCPP=OFF \ |
149 | -DUSE_BUNDLED_LUAJIT=OFF \ | |
150 | -DUSE_BUNDLED_NCURSES=OFF \ | |
151 | -DUSE_BUNDLED_ZLIB=OFF \ | |
74fbb710 ER |
152 | .. |
153 | %{__make} | |
74f0998f | 154 | %endif |
74fbb710 ER |
155 | |
156 | %install | |
157 | rm -rf $RPM_BUILD_ROOT | |
74f0998f | 158 | %if %{with userspace} |
74fbb710 ER |
159 | %{__make} -C build install \ |
160 | DESTDIR=$RPM_BUILD_ROOT | |
74f0998f ER |
161 | %endif |
162 | ||
163 | %if %{with kernel} | |
164 | install -d $RPM_BUILD_ROOT | |
165 | cp -a installed/* $RPM_BUILD_ROOT | |
166 | %endif | |
74fbb710 | 167 | |
74fbb710 ER |
168 | %clean |
169 | rm -rf $RPM_BUILD_ROOT | |
170 | ||
0f961bb8 | 171 | %post -n dkms-%{name} |
73a3ce5f ER |
172 | %{_sbindir}/dkms add -m %{name} -v %{version}-%{rel} --rpm_safe_upgrade && \ |
173 | %{_sbindir}/dkms build -m %{name} -v %{version}-%{rel} --rpm_safe_upgrade && \ | |
174 | %{_sbindir}/dkms install -m %{name} -v %{version}-%{rel} --rpm_safe_upgrade || : | |
0f961bb8 ER |
175 | |
176 | %preun -n dkms-%{name} | |
73a3ce5f | 177 | %{_sbindir}/dkms remove -m %{name} -v %{version}-%{rel} --rpm_safe_upgrade --all || : |
0f961bb8 | 178 | |
74f0998f | 179 | %if %{with userspace} |
74fbb710 ER |
180 | %files |
181 | %defattr(644,root,root,755) | |
514412de | 182 | %doc README.md |
74fbb710 ER |
183 | %attr(755,root,root) %{_bindir}/csysdig |
184 | %attr(755,root,root) %{_bindir}/sysdig | |
185 | %attr(755,root,root) %{_bindir}/sysdig-probe-loader | |
186 | %{_mandir}/man8/csysdig.8* | |
187 | %{_mandir}/man8/sysdig.8* | |
188 | %{_datadir}/%{name} | |
baa4cab5 ER |
189 | |
190 | %files -n bash-completion-%{name} | |
191 | %defattr(644,root,root,755) | |
74fbb710 | 192 | /etc/bash_completion.d/sysdig |
baa4cab5 ER |
193 | |
194 | %files -n zsh-completion-%{name} | |
195 | %defattr(644,root,root,755) | |
196 | %{zshdir}/_sysdig | |
4d80860c | 197 | %{_datadir}/zsh/vendor-completions/_sysdig |
74f0998f | 198 | %endif |
0f961bb8 ER |
199 | |
200 | %if %{with dkms} | |
201 | %files -n dkms-%{name} | |
202 | %defattr(644,root,root,755) | |
73a3ce5f | 203 | %{_usrsrc}/%{name}-%{version}-%{rel} |
0f961bb8 | 204 | %endif |