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