]> TLD Linux GIT Repositories - packages/systemtap.git/blobdiff - systemtap.spec
- rediffed patches
[packages/systemtap.git] / systemtap.spec
index 7aee501919f094d041e0b8fc83a70f0aa40c4e3e..04c911e44c28eec0063472fb3a68b0e7e6b26dab 100644 (file)
@@ -1,33 +1,34 @@
 #
 # Conditional build:
 %bcond_without doc             # documentation build
-%bcond_with    publican        # publican guides build (requires functional publican+wkhtmltopdf)
+%bcond_with    publican        # publican guides build [as of 3.0 not rebuilt automatically, PDFs are included]
 %bcond_without crash           # crash extension
-%bcond_without dyninst         # dyninst support
+%bcond_with    dyninst         # dyninst support
 %bcond_without java            # Java runtime support
-#
-%ifnarch %{ix86} %{x8664} alpha arm ia64 ppc64 s390 s390x
+%bcond_without python2         # Python 2.x runtime support
+%bcond_without python3         # Python 3.x runtime support
+
+%ifnarch %{ix86} %{x8664} x32 alpha arm ia64 ppc64 s390 s390x
 %undefine      with_crash
 %endif
-%ifnarch %{ix86} %{x8664} ppc ppc64
+%ifnarch %{ix86} %{x8664} x32 ppc ppc64 aarch64
 %undefine      with_dyninst
 %endif
 Summary:       Instrumentation System
 Summary(pl.UTF-8):     System oprzyrządowania
 Name:          systemtap
-Version:       2.6
-Release:       3
+Version:       3.3
+Release:       6
 License:       GPL v2+
 Group:         Base
 Source0:       http://sourceware.org/systemtap/ftp/releases/%{name}-%{version}.tar.gz
-# Source0-md5: 65e6745f0ec103758c711dd1d12fb6bf
-Source1:       systemtap.tmpfiles
-Source2:       stap-server.tmpfiles
+# Source0-md5: 7f80117649a9eb663781b5372e8a4f96
 Patch0:                %{name}-configure.patch
 Patch1:                %{name}-build.patch
-Patch2:                %{name}-rpm5-support.patch
-Patch3:                %{name}-dtrace-flexibility.patch
+Patch2:                %{name}-rpm-4.5-support.patch
+Patch3:                %{name}-no-werror.patch
 Patch4:                format-security.patch
+Patch5:                %{name}-dyninst.patch
 URL:           http://sourceware.org/systemtap/
 BuildRequires: autoconf >= 2.63
 BuildRequires: automake
@@ -37,19 +38,34 @@ BuildRequires:      boost-devel
 BuildRequires: docbook-dtd412-xml
 %{?with_dyninst:BuildRequires: dyninst-devel >= 8.0}
 BuildRequires: elfutils-devel >= 0.148
-BuildRequires: gettext-tools >= 0.18.2
-BuildRequires: glib2-devel
+BuildRequires: gettext-devel >= 0.19.4
+BuildRequires: gettext-tools >= 0.19.4
+BuildRequires: glib2-devel >= 2.0
+BuildRequires: json-c-devel >= 0.12
 %{?with_java:BuildRequires:    jdk}
 %if %{with dyninst} || %{with java}
 BuildRequires: libselinux-devel
 %endif
-BuildRequires: libstdc++-devel
+BuildRequires: libstdc++-devel >= 6:4.5
 BuildRequires: libvirt-devel >= 1.0.2
 BuildRequires: libxml2-devel >= 2.0
 BuildRequires: mysql-devel
+BuildRequires: ncurses-devel
 BuildRequires: nss-devel >= 3
+BuildRequires: pkgconfig
+%if %{with python2}
+BuildRequires: python-devel >= 1:2.6
+BuildRequires: python-setuptools
+%endif
+%if %{with python3}
+BuildRequires: python3-devel >= 1:3.2
+BuildRequires: python3-setuptools
+%endif
+BuildRequires: readline-devel
 BuildRequires: rpm-devel
-BuildRequires: sqlite3-devel >= 3
+%{?with_java:BuildRequires:    rpm-javaprov}
+BuildRequires: rpmbuild(macros) >= 1.219
+BuildRequires: sqlite3-devel >= 3.7
 BuildRequires: xmlto
 %if %{with doc}
 BuildRequires: latex2html
@@ -58,6 +74,8 @@ BuildRequires:        texlive-dvips
 BuildRequires: texlive-fonts-bitstream
 BuildRequires: texlive-fonts-type1-bitstream
 BuildRequires: texlive-latex
+BuildRequires: texlive-latex-psnfss
+BuildRequires: texlive-xetex
 %endif
 # let base mean client+local development package
 Requires:      %{name}-client = %{version}-%{release}
@@ -80,6 +98,7 @@ lokalnego tworzenia i wykonywania skryptów systemtap.
 Summary:       Programmable system-wide instrumentation system - runtime
 Summary(pl.UTF-8):     Programowalny systemowy system oprzyrządowania - środowisko uruchomieniowe
 Group:         Applications/System
+Requires:      json-c >= 0.12
 
 %description runtime
 SystemTap runtime contains the components needed to execute a
@@ -105,8 +124,38 @@ runtimes using Byteman.
 
 %description runtime-java -l pl.UTF-8
 Ten pakiet zawiera pliki niezbędne do uruchamiania skryptów systemtap
-sondujące procesy Javy działające w środowiskach OpenJDK 1.6 i OpenJDK
-1.7 przy użyciu Bytemana.
+sondujących procesy Javy działające w środowiskach OpenJDK 1.6 i
+OpenJDK 1.7 przy użyciu Bytemana.
+
+%package runtime-python2
+Summary:       SystemTap Python 2 Runtime Support
+Summary(pl.UTF-8):     Obsługa Pythona 2 dla środowiska uruchomieniowego SystemTap
+Group:         Development/Tools
+Requires:      %{name}-runtime = %{version}-%{release}
+Requires:      python-modules >= 1:2.6
+
+%description runtime-python2
+This package includes support files needed to run systemtap scripts
+that probe Python 2 processes.
+
+%description runtime-python2 -l pl.UTF-8
+Ten pakiet zawiera pliki niezbędne do uruchamiania skryptów systemtap
+sondujących procesy Pythona 2.
+
+%package runtime-python3
+Summary:       SystemTap Python 3 Runtime Support
+Summary(pl.UTF-8):     Obsługa Pythona 3 dla środowiska uruchomieniowego SystemTap
+Group:         Development/Tools
+Requires:      %{name}-runtime = %{version}-%{release}
+Requires:      python3-modules >= 1:3.2
+
+%description runtime-python3
+This package includes support files needed to run systemtap scripts
+that probe Python 3 processes.
+
+%description runtime-python3 -l pl.UTF-8
+Ten pakiet zawiera pliki niezbędne do uruchamiania skryptów systemtap
+sondujących procesy Pythona 3.
 
 %package client
 Summary:       Programmable system-wide instrumentation system - client
@@ -142,7 +191,6 @@ Summary(pl.UTF-8):  Programowalny systemowy system oprzyrządowania - pliki nagł
 Group:         Development/Tools
 Requires:      %{name}-client = %{version}-%{release}
 Requires:      gcc
-Requires:      kernel-module-build
 Requires:      make
 
 %description devel
@@ -218,15 +266,25 @@ przestrzeni użytkownika, wraz z opcjonalnym preprocesorem zgodności z
 dtrace, który przetwarza pliki .d na pliki nagłówkowe .h z makrami
 śledzącymi.
 
+%package doc
+Summary:       SystemTap guides and tutorials
+Summary(pl.UTF-8):     Przewodniki i dokumentacja wprowadzająca do SystemTap
+Group:         Documentation
+
+%description doc
+SystemTap guides and tutorials.
+
+%description doc -l pl.UTF-8
+Przewodniki i dokumentacja wprowadzająca do SystemTap.
+
 %prep
 %setup -q
 %patch0 -p1
 %patch1 -p1
+%patch2 -p1
 %patch3 -p1
 %patch4 -p1
-%if "%{_rpmversion}" >= "5.0"
-%patch2 -p1
-%endif
+%patch5 -p1
 
 %build
 %{__gettextize}
@@ -239,7 +297,6 @@ dtrace, który przetwarza pliki .d na pliki nagłówkowe .h z makrami
        %{?with_crash:--enable-crash} \
        --enable-docs%{!?with_doc:=no} \
        --enable-pie \
-       --enable-publican%{!?with_publican:=no} \
        --enable-server \
        --enable-sqlite \
        --with-dyninst%{!?with_dyninst:=no} \
@@ -248,26 +305,22 @@ dtrace, który przetwarza pliki .d na pliki nagłówkowe .h z makrami
 
 %install
 rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{/var/{cache,run}/%{name},%{systemdtmpfilesdir},%{systemdunitdir}} \
+install -d $RPM_BUILD_ROOT/var/{cache,run}/%{name} \
        $RPM_BUILD_ROOT{%{_sysconfdir}/stap-server/conf.d,/etc/{sysconfig,logrotate.d,rc.d/init.d}} \
        $RPM_BUILD_ROOT/var/log/stap-server
 
 %{__make} install \
        DESTDIR=$RPM_BUILD_ROOT
 
-cp -p %{SOURCE1} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/systemtap.conf
-cp -p %{SOURCE2} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/stap-server.conf
-
 # not installed by make
-install stap-prep $RPM_BUILD_ROOT%{_bindir}/stap-prep
+install -p stap-prep $RPM_BUILD_ROOT%{_bindir}/stap-prep
 
-install initscript/systemtap $RPM_BUILD_ROOT/etc/rc.d/init.d
-install initscript/config.systemtap $RPM_BUILD_ROOT%{_sysconfdir}/systemtap/config
+install -p initscript/systemtap $RPM_BUILD_ROOT/etc/rc.d/init.d
+cp -p initscript/config.systemtap $RPM_BUILD_ROOT%{_sysconfdir}/systemtap/config
 
-install initscript/stap-server $RPM_BUILD_ROOT/etc/rc.d/init.d
-install initscript/config.stap-server $RPM_BUILD_ROOT/etc/sysconfig/stap-server
-install initscript/logrotate.stap-server $RPM_BUILD_ROOT/etc/logrotate.d/stap-server
-install stap-server.service $RPM_BUILD_ROOT%{systemdunitdir}
+install -p initscript/stap-server $RPM_BUILD_ROOT/etc/rc.d/init.d
+cp -p initscript/config.stap-server $RPM_BUILD_ROOT/etc/sysconfig/stap-server
+cp -p initscript/logrotate.stap-server $RPM_BUILD_ROOT/etc/logrotate.d/stap-server
 
 install -d $RPM_BUILD_ROOT%{_sysconfdir}/systemtap/{conf.d,script.d}
 install -d $RPM_BUILD_ROOT/var/lib/stap-server/.systemtap
@@ -275,6 +328,10 @@ install -d $RPM_BUILD_ROOT/var/log/stap-server
 
 %{__mv} $RPM_BUILD_ROOT%{_docdir}/systemtap docs-installed
 
+%if %{with python2}
+%py_postclean
+%endif
+
 %find_lang %{name}
 
 %clean
@@ -288,55 +345,106 @@ rm -rf $RPM_BUILD_ROOT
 %doc AUTHORS NEWS README*
 %attr(755,root,root) %{_bindir}/stap-merge
 %attr(755,root,root) %{_bindir}/stap-report
+%attr(755,root,root) %{_bindir}/stapbpf
 %{?with_dyninst:%attr(755,root,root) %{_bindir}/stapdyn}
 %attr(755,root,root) %{_bindir}/stapsh
 # XXX: %attr(4754,root,stapusr) staprun ?
 %attr(755,root,root) %{_bindir}/staprun
+%dir %{_libexecdir}/%{name}
+%attr(755,root,root) %{_libexecdir}/%{name}/stap-authorize-cert
+%attr(755,root,root) %{_libexecdir}/%{name}/stapio
+%if %{with crash}
+%if "%{_libdir}" != "%{_libexecdir}"
 %dir %{_libdir}/%{name}
-%attr(755,root,root) %{_libdir}/%{name}/stap-authorize-cert
-%attr(755,root,root) %{_libdir}/%{name}/stapio
-%{?with_crash:%attr(755,root,root) %{_libdir}/%{name}/staplog.so}
+%endif
+%attr(755,root,root) %{_libdir}/%{name}/staplog.so
+%endif
 %{_mandir}/man1/stap-merge.1*
 %{_mandir}/man1/stap-report.1*
-%{_mandir}/man3/function::*.3stap*
-%{_mandir}/man3/probe::*.3stap*
+%{_mandir}/man1/stapref.1*
 %{_mandir}/man3/stapex.3stap*
 %{_mandir}/man3/stapfuncs.3stap*
 %{_mandir}/man3/stapprobes.3stap*
 %{_mandir}/man3/stapvars.3stap*
+%if %{with doc}
+%{_mandir}/man3/function::*.3stap*
+%{_mandir}/man3/macro::*.3stap*
+%{_mandir}/man3/probe::*.3stap*
 %{_mandir}/man3/tapset::*.3stap*
+%endif
 %{_mandir}/man7/error::*.7stap*
 %{_mandir}/man7/stappaths.7*
 %{_mandir}/man7/warning::debuginfo.7stap*
 %{_mandir}/man7/warning::symbols.7stap*
+%{_mandir}/man8/stapbpf.8*
 %{?with_dyninst:%{_mandir}/man8/stapdyn.8*}
 %{_mandir}/man8/staprun.8*
 %{_mandir}/man8/stapsh.8*
 %{_mandir}/man8/systemtap.8*
+%lang(cs) %{_mandir}/cs/man1/stap-merge.1*
+%lang(cs) %{_mandir}/cs/man1/stap-report.1*
+%lang(cs) %{_mandir}/cs/man1/stapref.1*
+%lang(cs) %{_mandir}/cs/man3/stapex.3stap*
+%lang(cs) %{_mandir}/cs/man3/stapfuncs.3stap*
+%lang(cs) %{_mandir}/cs/man3/stapprobes.3stap*
+%lang(cs) %{_mandir}/cs/man3/stapvars.3stap*
+%lang(cs) %{_mandir}/cs/man7/error::*.7stap*
+%lang(cs) %{_mandir}/cs/man7/stappaths.7*
+%lang(cs) %{_mandir}/cs/man7/warning::debuginfo.7stap*
+%lang(cs) %{_mandir}/cs/man7/warning::symbols.7stap*
+%lang(cs) %{_mandir}/cs/man8/stapsh.8*
+%lang(cs) %{_mandir}/cs/man8/systemtap.8*
 
 %if %{with java}
 %files runtime-java
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/%{name}/stapbm
-%attr(755,root,root) %{_libdir}/%{name}/libHelperSDT_*.so
-%{_libdir}/%{name}/HelperSDT.jar
+%attr(755,root,root) %{_libexecdir}/%{name}/stapbm
+%attr(755,root,root) %{_libexecdir}/%{name}/libHelperSDT_*.so
+%{_libexecdir}/%{name}/HelperSDT.jar
+%endif
+
+%if %{with python2}
+%files runtime-python2
+%defattr(644,root,root,755)
+%dir %{py_sitedir}/HelperSDT
+%attr(755,root,root) %{py_sitedir}/HelperSDT/_HelperSDT.so
+%{py_sitedir}/HelperSDT/*.py[co]
+%{py_sitedir}/HelperSDT-0.1.0-py*.egg-info
+%endif
+
+%if %{with python3}
+%files runtime-python3
+%defattr(644,root,root,755)
+%dir %{py3_sitedir}/HelperSDT
+%attr(755,root,root) %{py3_sitedir}/HelperSDT/_HelperSDT.cpython-*.so
+%{py3_sitedir}/HelperSDT/*.py
+%{py3_sitedir}/HelperSDT/__pycache__
+%{py3_sitedir}/HelperSDT-0.1.0-py*.egg-info
 %endif
 
 %files client
 %defattr(644,root,root,755)
-%doc docs-installed/examples %{?with_docs:docs-installed/{tapsets,langref.pdf,tutorial.pdf}}
 %attr(755,root,root) %{_bindir}/stap
 %attr(755,root,root) %{_bindir}/stap-prep
 %attr(755,root,root) %{_bindir}/stapvirt
 %dir %{_datadir}/%{name}
+%{_datadir}/%{name}/examples
 %{_datadir}/%{name}/tapset
 %{_mandir}/man1/stap.1*
 %{_mandir}/man1/stap-prep.1*
 %{_mandir}/man1/stapvirt.1*
+%lang(cs) %{_mandir}/cs/man1/stap.1*
+%lang(cs) %{_mandir}/cs/man1/stap-prep.1*
+%lang(cs) %{_mandir}/cs/man1/stapvirt.1*
 
 %files devel
 %defattr(644,root,root,755)
 %{_datadir}/%{name}/runtime
+%if %{with python2} || %{with python3}
+%dir %{_libexecdir}/%{name}
+%dir %{_libexecdir}/%{name}/python
+%attr(755,root,root) %{_libexecdir}/systemtap/python/stap-resolve-module-function.py
+%endif
 
 %files initscript
 %defattr(644,root,root,755)
@@ -345,32 +453,30 @@ rm -rf $RPM_BUILD_ROOT
 %dir %{_sysconfdir}/systemtap/conf.d
 %dir %{_sysconfdir}/systemtap/script.d
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/systemtap/config
-%{systemdtmpfilesdir}/systemtap.conf
 %dir /var/cache/%{name}
 %dir /var/run/%{name}
 
 %files server
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/stap-server
-%attr(755,root,root) %{_libdir}/%{name}/stap-env
-%attr(755,root,root) %{_libdir}/%{name}/stap-gen-cert
-%attr(755,root,root) %{_libdir}/%{name}/stap-serverd
-%attr(755,root,root) %{_libdir}/%{name}/stap-sign-module
-%attr(755,root,root) %{_libdir}/%{name}/stap-start-server
-%attr(755,root,root) %{_libdir}/%{name}/stap-stop-server
+%attr(755,root,root) %{_libexecdir}/%{name}/stap-env
+%attr(755,root,root) %{_libexecdir}/%{name}/stap-gen-cert
+%attr(755,root,root) %{_libexecdir}/%{name}/stap-serverd
+%attr(755,root,root) %{_libexecdir}/%{name}/stap-sign-module
+%attr(755,root,root) %{_libexecdir}/%{name}/stap-start-server
+%attr(755,root,root) %{_libexecdir}/%{name}/stap-stop-server
 %dir %{_sysconfdir}/stap-server
 %dir %{_sysconfdir}/stap-server/conf.d
 %attr(754,root,root) /etc/rc.d/init.d/stap-server
 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/stap-server
 %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/stap-server
-%{systemdunitdir}/stap-server.service
-%{systemdtmpfilesdir}/stap-server.conf
 # TODO: create user/group
 #%attr(750,stap-server,stap-server) %dir /var/lib/stap-server
 #%attr(700,stap-server,stap-server) %dir /var/lib/stap-server/.systemtap
 #%attr(755,stap-server,stap-server) %dir /var/log/stap-server
 #%attr(755,stap-server,stap-server) %dir /var/run/stap-server
 %{_mandir}/man8/stap-server.8*
+%lang(cs) %{_mandir}/cs/man8/stap-server.8*
 
 %files sdt-devel
 %defattr(644,root,root,755)
@@ -378,3 +484,10 @@ rm -rf $RPM_BUILD_ROOT
 %{_includedir}/sys/sdt.h
 %{_includedir}/sys/sdt-config.h
 %{_mandir}/man1/dtrace.1*
+%lang(cs) %{_mandir}/cs/man1/dtrace.1*
+
+%if %{with doc}
+%files doc
+%defattr(644,root,root,755)
+%doc doc/{langref,tutorial}.pdf doc/beginners/SystemTap_Beginners_Guide.pdf docs-installed/tapsets.pdf
+%endif