]> git.pld-linux.org Git - packages/sysdig.git/blob - sysdig.spec
zsh-completions cleanup
[packages/sysdig.git] / sysdig.spec
1 #
2 # Conditional build:
3 %bcond_without  kernel          # don't build kernel modules
4 %bcond_without  userspace       # don't build userspace programs
5 %bcond_without  dkms            # build dkms package
6
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
22 %define         rel     2
23 %define         pname   sysdig
24 Summary:        sysdig, a system-level exploration and troubleshooting tool
25 Name:           %{pname}%{?_pld_builder:%{?with_kernel:-kernel}}%{_alt_kernel}
26 Version:        0.1.101
27 Release:        %{rel}%{?_pld_builder:%{?with_kernel:@%{_kernel_ver_str}}}
28 License:        GPL v2
29 Group:          Applications/System
30 Source0:        https://github.com/draios/sysdig/archive/%{version}/%{pname}-%{version}.tar.gz
31 # Source0-md5:  5fe96a3a0fd98b2157a40cb29af41afc
32 Patch0:         buildflags.patch
33 URL:            http://www.sysdig.org/
34 BuildRequires:  rpmbuild(macros) >= 1.701
35 %if %{with userspace}
36 BuildRequires:  cmake >= 2.8.2
37 BuildRequires:  jsoncpp-devel
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
42 %endif
43 %{?with_kernel:%{expand:%buildrequires_kernel kernel%%{_alt_kernel}-module-build >= 3:2.6.20.2}}
44 ExclusiveArch:  %{ix86} %{x8664}
45 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
46
47 # constify %{name}
48 %{expand:%%global name %{pname}}
49
50 %define         zshdir %{_datadir}/zsh/site-functions
51
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
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
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
76 Requires:       %{name} = %{version}-%{rel}
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
88 Requires:       %{name} = %{version}-%{rel}
89 %if "%{_rpmversion}" >= "5"
90 BuildArch:      noarch
91 %endif
92
93 %description -n zsh-completion-%{name}
94 zsh-completion for sysdig.
95
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
130 %prep
131 %setup -q -n %{pname}-%{version}
132 %patch0 -p1
133
134 # we need just obj-m from the file
135 cp driver/Makefile{.in,}
136 %{__sed} -i -e 's/@KBUILD_FLAGS@//' driver/Makefile
137
138 %build
139 %{?with_kernel:%{expand:%build_kernel_packages}}
140
141 %if %{with userspace}
142 install -d build
143 cd build
144 %cmake \
145         -DDIR_ETC=%{_sysconfdir} \
146         -DSYSDIG_VERSION=%{version}-%{rel} \
147         -DBUILD_DRIVER=OFF \
148         -DUSE_BUNDLED_JSONCPP=OFF \
149         -DUSE_BUNDLED_LUAJIT=OFF \
150         -DUSE_BUNDLED_NCURSES=OFF \
151         -DUSE_BUNDLED_ZLIB=OFF \
152         ..
153 %{__make}
154 %endif
155
156 %install
157 rm -rf $RPM_BUILD_ROOT
158 %if %{with userspace}
159 %{__make} -C build install \
160         DESTDIR=$RPM_BUILD_ROOT
161
162 # already installed as %{zshdir}/_sysdig
163 %{__rm} $RPM_BUILD_ROOT%{_datadir}/zsh/vendor-completions/_sysdig
164 %endif
165
166 %if %{with kernel}
167 install -d $RPM_BUILD_ROOT
168 cp -a installed/* $RPM_BUILD_ROOT
169 %endif
170
171 %clean
172 rm -rf $RPM_BUILD_ROOT
173
174 %post -n dkms-%{name}
175 %{_sbindir}/dkms add -m %{name} -v %{version}-%{rel} --rpm_safe_upgrade && \
176 %{_sbindir}/dkms build -m %{name} -v %{version}-%{rel} --rpm_safe_upgrade && \
177 %{_sbindir}/dkms install -m %{name} -v %{version}-%{rel} --rpm_safe_upgrade || :
178
179 %preun -n dkms-%{name}
180 %{_sbindir}/dkms remove -m %{name} -v %{version}-%{rel} --rpm_safe_upgrade --all || :
181
182 %if %{with userspace}
183 %files
184 %defattr(644,root,root,755)
185 %doc README.md
186 %attr(755,root,root) %{_bindir}/csysdig
187 %attr(755,root,root) %{_bindir}/sysdig
188 %attr(755,root,root) %{_bindir}/sysdig-probe-loader
189 %{_mandir}/man8/csysdig.8*
190 %{_mandir}/man8/sysdig.8*
191 %{_datadir}/%{name}
192
193 %files -n bash-completion-%{name}
194 %defattr(644,root,root,755)
195 /etc/bash_completion.d/sysdig
196
197 %files -n zsh-completion-%{name}
198 %defattr(644,root,root,755)
199 %{zshdir}/_sysdig
200 %endif
201
202 %if %{with dkms}
203 %files -n dkms-%{name}
204 %defattr(644,root,root,755)
205 %{_usrsrc}/%{name}-%{version}-%{rel}
206 %endif
This page took 0.091569 seconds and 3 git commands to generate.