]> git.pld-linux.org Git - packages/sysdig.git/blobdiff - sysdig.spec
- updated to 0.15.1
[packages/sysdig.git] / sysdig.spec
index 712f3d7bb3994e11776527fe08bc00b0f580bc9b..544dc2f71d2d819c44c3e7ab55849141dcc52dfc 100644 (file)
@@ -1,20 +1,63 @@
-Summary:       sysdig
-Name:          sysdig
-Version:       0.1.101
-Release:       0.1
+#
+# NOTES:
+# - https://github.com/draios/sysdig/wiki/How-to-Install-Sysdig-from-the-Source-Code
+#
+# Conditional build:
+%bcond_without kernel          # kernel modules
+%bcond_without userspace       # userspace packages
+%bcond_without dkms            # DKMS package
+%bcond_without luajit          # use plain lua5.1 instead of luajit
+
+%if 0%{?_pld_builder:1} && %{with kernel} && %{with userspace}
+%{error:kernel and userspace cannot be built at the same time on PLD builders}
+exit 1
+%endif
+
+%if %{without userspace}
+%undefine      with_dkms
+# nothing to be placed to debuginfo package
+%define                _enable_debug_packages  0
+%endif
+%ifnarch %{ix86} %{x8664} %{arm} mips ppc
+%undefine      with_luajit
+%endif
+
+%define                rel     1
+%define                pname   sysdig
+Summary:       sysdig, a system-level exploration and troubleshooting tool
+Summary(pl.UTF-8):     sysdig - narzędzie do przeglądu i rozwiązywania problemów na poziomie systemowym
+Name:          %{pname}%{?_pld_builder:%{?with_kernel:-kernel}}%{_alt_kernel}
+Version:       0.15.1
+Release:       %{rel}%{?_pld_builder:%{?with_kernel:@%{_kernel_ver_str}}}
 License:       GPL v2
 Group:         Applications/System
-Source0:       https://github.com/draios/sysdig/archive/%{version}/%{name}-%{version}.tar.gz
-# Source0-md5: 5fe96a3a0fd98b2157a40cb29af41afc
+#Source0Download: https://github.com/draios/sysdig/releases
+Source0:       https://github.com/draios/sysdig/archive/%{version}/%{pname}-%{version}.tar.gz
+# Source0-md5: e5607899dbe3b0709e51aa223e1b9fe0
+Patch0:                buildflags.patch
 URL:           http://www.sysdig.org/
+BuildRequires: rpmbuild(macros) >= 1.701
 BuildRequires: cmake >= 2.8.2
-BuildRequires: gcc >= 6:4.4
+BuildRequires: curl-devel >= 7.45.0
+BuildRequires: jq-devel >= 1.5
 BuildRequires: jsoncpp-devel
-BuildRequires: luajit-devel
-BuildRequires: ncurses-devel
-BuildRequires: zlib-devel
+BuildRequires: libb64-devel >= 1.2.1
+BuildRequires: libstdc++-devel >= 6:4.4
+%{!?with_luajit:BuildRequires: lua51-devel >= 5.1}
+%{?with_luajit:BuildRequires:  luajit-devel >= 2.0.3}
+BuildRequires: ncurses-devel >= 5.9
+BuildRequires: openssl-devel >= 1.0.2
+BuildRequires: zlib-devel >= 1.2.8
+%{!?with_luajit:BuildConflicts:        luajit-devel}
+%{?with_kernel:%{expand:%buildrequires_kernel kernel%%{_alt_kernel}-module-build >= 3:2.6.20.2}}
+ExclusiveArch: %{ix86} %{x8664} x32
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
+# constify %{name}
+%{expand:%%global name %{pname}}
+
+%define                zshdir %{_datadir}/zsh/site-functions
+
 %description
 Sysdig instruments your physical and virtual machines at the OS level
 by installing into the Linux kernel and capturing system calls and
@@ -23,41 +66,177 @@ filter and decode these events in order to extract useful information.
 Sysdig can be used to inspect systems live in real-time, or to
 generate trace files that can be analyzed at a later stage.
 
+%description -l pl.UTF-8
+Sysdig obsługuje maszyny fizyczne i wirtualne na poziomie systemu
+operacyjnego, instalując się w jądrze Linuksa i przechwytując
+wywołania systemowe oraz inne zdarzenia systemu. Następnie, przy
+użyciu interfejsu linii poleceń sysdiga można odfiltrować i zdekodować
+te zdarzenia, aby wydobyć z nich przydatne informacje. Sysdiga można
+używać do dozorowania systemów w czasie rzeczywistym albo generowania
+plików śladów do późniejszej analizy.
+
+%package -n dkms-%{name}
+Summary:       DKMS-ready driver for sysdig
+Summary(pl.UTF-8):     Sterownik sysdiga zgodny z DKMS
+License:       GPL v2+
+Group:         Base/Kernel
+Requires(pre,post):    dkms >= 2.1.0.0
+%if "%{_rpmversion}" >= "5"
+BuildArch:     noarch
+%endif
+
+%description -n dkms-%{name}
+This package contains a DKMS-ready driver for sysdig.
+
+%description -n dkms-%{name} -l pl.UTF-8
+Ten pakiet zawiera sterownik sysdiga w postaci zgodnej z DKMS.
+
+%package -n bash-completion-%{name}
+Summary:       bash-completion for sysdig command
+Summary(pl.UTF-8):     Bashowe dopełnianie składni polecenia sysdig
+Group:         Applications/Shells
+Requires:      %{name} = %{version}-%{rel}
+Requires:      bash-completion
+%if "%{_rpmversion}" >= "5"
+BuildArch:     noarch
+%endif
+
+%description -n bash-completion-%{name}
+bash-completion for sysdig command.
+
+%description -n bash-completion-%{name} -l pl.UTF-8
+Bashowe dopełnianie składni polecenia sysdig.
+
+%package -n zsh-completion-%{name}
+Summary:       zsh-completion for sysdig command
+Summary(pl.UTF-8):     Dopełnianie składni polecenia sysdig w powłoce zsh
+Group:         Applications/Shells
+Requires:      %{name} = %{version}-%{rel}
+%if "%{_rpmversion}" >= "5"
+BuildArch:     noarch
+%endif
+
+%description -n zsh-completion-%{name}
+zsh-completion for sysdig command.
+
+%description -n zsh-completion-%{name} -l pl.UTF-8
+Dopełnianie składni polecenia sysdig w powłoce zsh.
+
+%define        kernel_pkg()\
+%package -n kernel%{_alt_kernel}-misc-%{pname}\
+Summary:       Linux driver for sysdig\
+Summary(pl.UTF-8):     Sterownik jądra Linuksa dla sysdiga\
+Release:       %{rel}@%{_kernel_ver_str}\
+Group:         Base/Kernel\
+Requires(post,postun): /sbin/depmod\
+%requires_releq_kernel\
+Requires(postun):      %releq_kernel\
+\
+%description -n kernel%{_alt_kernel}-misc-%{pname}\
+This is sysdig-probe module for Linux.\
+\
+%description -n kernel%{_alt_kernel}-misc-%{pname} -l pl.UTF-8\
+Ten pakiet zawiera moduł sysdig-probe for jądra Linuksa.\
+\
+%if %{with kernel}\
+%files -n kernel%{_alt_kernel}-misc-%{pname}\
+%defattr(644,root,root,755)\
+/lib/modules/%{_kernel_ver}/misc/*.ko*\
+%endif\
+\
+%post  -n kernel%{_alt_kernel}-misc-%{pname}\
+%depmod %{_kernel_ver}\
+\
+%postun        -n kernel%{_alt_kernel}-misc-%{pname}\
+%depmod %{_kernel_ver}\
+%{nil}
+
+%define build_kernel_pkg()\
+%build_kernel_modules -C driver -m sysdig-probe\
+%install_kernel_modules -D installed -m driver/sysdig-probe -d misc\
+%{nil}
+
+%{?with_kernel:%{expand:%create_kernel_packages}}
+
 %prep
-%setup -q
+%setup -q -n %{pname}-%{version}
+%patch0 -p1
 
 %build
 install -d build
 cd build
-%cmake \
+%cmake .. \
+       -DDIR_ETC=%{_sysconfdir} \
+       -DSYSDIG_VERSION=%{version}-%{rel} \
        -DBUILD_DRIVER=OFF \
+       -DUSE_BUNDLED_B64=OFF \
+       -DUSE_BUNDLED_CURL=OFF \
+       -DUSE_BUNDLED_JQ=OFF \
        -DUSE_BUNDLED_JSONCPP=OFF \
        -DUSE_BUNDLED_LUAJIT=OFF \
        -DUSE_BUNDLED_NCURSES=OFF \
-       -DUSE_BUNDLED_ZLIB=OFF \
-       ..
-%{__make}
+       -DUSE_BUNDLED_OPENSSL=OFF \
+       -DUSE_BUNDLED_ZLIB=OFF
+cd ..
+
+%if %{with kernel}
+cp -f build/driver/Makefile.dkms driver/Makefile
+%{expand:%build_kernel_packages}
+%endif
+
+%if %{with userspace}
+%{__make} -C build
+%endif
 
 %install
 rm -rf $RPM_BUILD_ROOT
+
+%if %{with userspace}
 %{__make} -C build install \
        DESTDIR=$RPM_BUILD_ROOT
 
-mv $RPM_BUILD_ROOT%{_prefix}/src/sysdig* $RPM_BUILD_ROOT%{_prefix}/src/sysdig-%{version}
-install -d $RPM_BUILD_ROOT%{_sysconfdir}
-mv $RPM_BUILD_ROOT%{_prefix}/etc/bash_completion.d $RPM_BUILD_ROOT%{_sysconfdir}
-rm -rf $RPM_BUILD_ROOT%{_datadir}/zsh
+# already installed as %{zshdir}/_sysdig
+%{__rm} $RPM_BUILD_ROOT%{_datadir}/zsh/vendor-completions/_sysdig
+%endif
+
+%if %{with kernel}
+install -d $RPM_BUILD_ROOT
+cp -a installed/* $RPM_BUILD_ROOT
+%endif
 
 %clean
 rm -rf $RPM_BUILD_ROOT
 
+%post -n dkms-%{name}
+%{_sbindir}/dkms add -m %{name} -v %{version}-%{rel} --rpm_safe_upgrade && \
+%{_sbindir}/dkms build -m %{name} -v %{version}-%{rel} --rpm_safe_upgrade && \
+%{_sbindir}/dkms install -m %{name} -v %{version}-%{rel} --rpm_safe_upgrade || :
+
+%preun -n dkms-%{name}
+%{_sbindir}/dkms remove -m %{name} -v %{version}-%{rel} --rpm_safe_upgrade --all || :
+
+%if %{with userspace}
 %files
 %defattr(644,root,root,755)
+%doc README.md
 %attr(755,root,root) %{_bindir}/csysdig
 %attr(755,root,root) %{_bindir}/sysdig
 %attr(755,root,root) %{_bindir}/sysdig-probe-loader
 %{_mandir}/man8/csysdig.8*
 %{_mandir}/man8/sysdig.8*
 %{_datadir}/%{name}
-%{_prefix}/src/sysdig-%{version}
+
+%files -n bash-completion-%{name}
+%defattr(644,root,root,755)
 /etc/bash_completion.d/sysdig
+
+%files -n zsh-completion-%{name}
+%defattr(644,root,root,755)
+%{zshdir}/_sysdig
+%endif
+
+%if %{with dkms}
+%files -n dkms-%{name}
+%defattr(644,root,root,755)
+%{_usrsrc}/%{name}-%{version}-%{rel}
+%endif
This page took 0.475199 seconds and 4 git commands to generate.