X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=lttng-ust.spec;h=8405295830db5b7750d804e37b28a67274a1b120;hb=refs%2Fheads%2Fmaster;hp=137b92bf9aa82899fcd4dbf7f1c1558e08b1f3f0;hpb=101cc56505c0d2254ac8506765f2744606ac4ac0;p=packages%2Flttng-ust.git diff --git a/lttng-ust.spec b/lttng-ust.spec index 137b92b..8405295 100644 --- a/lttng-ust.spec +++ b/lttng-ust.spec @@ -1,32 +1,53 @@ # # Conditional build: -%bcond_without java # JNI interface +%bcond_without java # JNI interface [builds with java-sun 1.6, but not gcj 4.9] +%bcond_without python # Python agent %bcond_without systemtap # SystemTap integration +%bcond_without static_libs # static libraries # Summary: LTTng Userspace Tracer Summary(pl.UTF-8): LTTng Userspace Tracer - narzędzia LTTng do śledzenia przestrzeni użytkownika Name: lttng-ust -Version: 2.3.1 +Version: 2.13.8 Release: 1 License: LGPL v2.1 (library), MIT (headers), GPL v2 (programs) Group: Libraries -Source0: http://lttng.org/files/lttng-ust/%{name}-%{version}.tar.bz2 -# Source0-md5: e6a3fd7d4c104b7af2e9098bba5d2499 +Source0: https://lttng.org/files/lttng-ust/%{name}-%{version}.tar.bz2 +# Source0-md5: 4077be3f26d293d95fd779d12b830a10 Patch0: %{name}-link.patch -Patch1: %{name}-java.patch -URL: http://lttng.org/ust -BuildRequires: autoconf >= 2.50 -BuildRequires: automake -%{?with_java:BuildRequires: jdk} -BuildRequires: rpmbuild(macros) >= 1.294 +Patch2: %{name}-python.patch +URL: https://lttng.org/ +BuildRequires: autoconf >= 2.69 +BuildRequires: automake >= 1:1.12 +# for examples build +BuildRequires: cmake >= 2.8.11 +BuildRequires: libstdc++-devel >= 6:4.7 BuildRequires: libtool >= 2:2 +BuildRequires: numactl-devel +BuildRequires: pkgconfig +%{?with_python:BuildRequires: python >= 1:2.7} +%{?with_python:BuildRequires: python-modules >= 1:2.7} +BuildRequires: rpmbuild(macros) >= 1.294 +BuildRequires: sed >= 4.0 %{?with_systemtap:BuildRequires: systemtap-sdt-devel} -BuildRequires: userspace-rcu-devel >= 0.7.2 -Requires: userspace-rcu >= 0.7.2 +BuildRequires: userspace-rcu-devel >= 0.13 +%if %{with java} +BuildRequires: java-log4j +BuildRequires: jdk +BuildRequires: jpackage-utils +%endif +Requires: userspace-rcu >= 0.13 +ExclusiveArch: %{ix86} %{x8664} x32 %{arm} aarch64 mips ppc ppc64 s390 s390x tile BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) -# rcu_reader_bp is some kind of symbol that check doesn't support -%define skip_post_check_so liblttng-ust-cyg-profile\.so.* liblttng-ust-cyg-profile-fast\.so.* liblttng-ust-tracepoint\.so.* +# non-function rcu_reader_bp symbol +%define skip_post_check_so_1 liblttng-ust\.so.* liblttng-ust-cyg-profile\.so.* liblttng-ust-cyg-profile-fast\.so.* liblttng-ust-dl\.so.* liblttng-ust-java\.so.* liblttng-ust-python-agent\.so.* liblttng-ust-tracepoint\.so.* +# non-function lttng_ust_context_info_tls symbol +%define skip_post_check_so_2 liblttng-ust-jul-jni\.so.* liblttng-ust-log4j-jni\.so.* +# lttng_ust_sigbus_state symbol must be defined in executable +%define skip_post_check_so_3 liblttng-ust-ctl\.so.* + +%define skip_post_check_so %{skip_post_check_so_1} %{skip_post_check_so_2} %{skip_post_check_so_3} %description The LTTng Userspace Tracer (UST) is a library accompanied by a set of @@ -41,7 +62,8 @@ Summary: Header files for LTTNG-UST libraries Summary(pl.UTF-8): Pliki nagłówkowe bibliotek LTTNG-UST Group: Development/Libraries Requires: %{name} = %{version}-%{release} -Requires: userspace-rcu-devel >= 0.7.2 +Requires: userspace-rcu-devel >= 0.13 +%{?with_systemtap:Requires: systemtap-sdt-devel} %description devel Header files for LTTNG-UST libraries. @@ -73,10 +95,24 @@ JNI interface for LTTng Userspace Tracer library. %description -n java-lttng-ust -l pl.UTF-8 Interfejs JNI do biblioteki LTTng Userspace Tracer. +%package -n python-lttng-ust +Summary: Python agent for LTTng Userspace Tracer library +Summary(pl.UTF-8): Agent Pythona do biblioteki LTTng Userspace Tracer +Group: Libraries/Python +Requires: %{name} = %{version}-%{release} + +%description -n python-lttng-ust +Python agent for LTTng Userspace Tracer library. + +%description -n python-lttng-ust -l pl.UTF-8 +Agent Pythona do biblioteki LTTng Userspace Tracer. + %prep %setup -q %patch0 -p1 -%patch1 -p1 +%patch2 -p1 + +%{__sed} -i -e '1s,/usr/bin/env python$,%{__python},' tools/lttng-gen-tp %build %{__libtoolize} @@ -84,31 +120,39 @@ Interfejs JNI do biblioteki LTTng Userspace Tracer. %{__autoconf} %{__autoheader} %{__automake} -%{?with_java:CPPFLAGS="%{rpmcppflags} -I%{_jvmdir}/java/include -I%{_jvmdir}/java/include/linux"} +export CLASSPATH=.:%{_javadir}/log4j.jar %configure \ + %{?with_java:JAVA_HOME="%{java_home}" JAVAC=javac} \ --disable-silent-rules \ - %{?with_java:--with-jni-interface} \ - %{?with_systemtap:--with-sdt} + %{?with_java:--enable-jni-interface --enable-java-agent-all} \ + %{?with_python:--enable-python-agent} \ + %{?with_systemtap:--with-sdt} \ + %{?with_static_libs:--enable-static} -%{__make} +%{__make} -j1 %install rm -rf $RPM_BUILD_ROOT %{__make} install \ - DESTDIR=$RPM_BUILD_ROOT + DESTDIR=$RPM_BUILD_ROOT \ + lttnglibjavadir=%{_javadir} # *.la kept - no .pc files for individual libraries install -d $RPM_BUILD_ROOT%{_examplesdir} %{__mv} $RPM_BUILD_ROOT%{_docdir}/lttng-ust/examples $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version} # packaged as %doc -%{__rm} $RPM_BUILD_ROOT%{_docdir}/lttng-ust/{ChangeLog,README} +%{__rm} $RPM_BUILD_ROOT%{_docdir}/lttng-ust/{ChangeLog,README.md,java-agent.txt} %if %{with java} -install -d $RPM_BUILD_ROOT%{_javadir} -cp -p liblttng-ust-java/liblttng-ust-java.jar $RPM_BUILD_ROOT%{_javadir} -%{__rm} $RPM_BUILD_ROOT%{_libdir}/liblttng-ust-java.{la,a} +%{__rm} $RPM_BUILD_ROOT%{_libdir}/liblttng-ust-{context-jni,java,jul-jni,log4j-jni}.la \ + %{?with_static_libs:$RPM_BUILD_ROOT%{_libdir}/liblttng-ust-{context-jni,java,jul-jni,log4j-jni}.a} +%endif +%if %{with python} +%{__rm} $RPM_BUILD_ROOT%{_libdir}/liblttng-ust-python-agent.la \ + %{?with_static_libs:$RPM_BUILD_ROOT%{_libdir}/liblttng-ust-python-agent.a} +%py_postclean %endif %clean @@ -120,63 +164,125 @@ rm -rf $RPM_BUILD_ROOT %post -n java-lttng-ust -p /sbin/ldconfig %postun -n java-lttng-ust -p /sbin/ldconfig +%post -n python-lttng-ust -p /sbin/ldconfig +%postun -n python-lttng-ust -p /sbin/ldconfig + %files %defattr(644,root,root,755) -%doc COPYING ChangeLog README +%doc ChangeLog LICENSE README.md %attr(755,root,root) %{_libdir}/liblttng-ust.so.*.*.* -%attr(755,root,root) %ghost %{_libdir}/liblttng-ust.so.0 +%attr(755,root,root) %ghost %{_libdir}/liblttng-ust.so.1 +%attr(755,root,root) %{_libdir}/liblttng-ust-common.so.*.*.* +%attr(755,root,root) %ghost %{_libdir}/liblttng-ust-common.so.1 %attr(755,root,root) %{_libdir}/liblttng-ust-ctl.so.*.*.* -%attr(755,root,root) %ghost %{_libdir}/liblttng-ust-ctl.so.2 +%attr(755,root,root) %ghost %{_libdir}/liblttng-ust-ctl.so.5 %attr(755,root,root) %{_libdir}/liblttng-ust-cyg-profile.so.*.*.* -%attr(755,root,root) %ghost %{_libdir}/liblttng-ust-cyg-profile.so.0 +%attr(755,root,root) %ghost %{_libdir}/liblttng-ust-cyg-profile.so.1 %attr(755,root,root) %{_libdir}/liblttng-ust-cyg-profile-fast.so.*.*.* -%attr(755,root,root) %ghost %{_libdir}/liblttng-ust-cyg-profile-fast.so.0 +%attr(755,root,root) %ghost %{_libdir}/liblttng-ust-cyg-profile-fast.so.1 +%attr(755,root,root) %{_libdir}/liblttng-ust-dl.so.*.*.* +%attr(755,root,root) %ghost %{_libdir}/liblttng-ust-dl.so.1 +%attr(755,root,root) %{_libdir}/liblttng-ust-fd.so.*.*.* +%attr(755,root,root) %ghost %{_libdir}/liblttng-ust-fd.so.1 %attr(755,root,root) %{_libdir}/liblttng-ust-fork.so.*.*.* -%attr(755,root,root) %ghost %{_libdir}/liblttng-ust-fork.so.0 +%attr(755,root,root) %ghost %{_libdir}/liblttng-ust-fork.so.1 %attr(755,root,root) %{_libdir}/liblttng-ust-libc-wrapper.so.*.*.* -%attr(755,root,root) %ghost %{_libdir}/liblttng-ust-libc-wrapper.so.0 +%attr(755,root,root) %ghost %{_libdir}/liblttng-ust-libc-wrapper.so.1 +%attr(755,root,root) %{_libdir}/liblttng-ust-pthread-wrapper.so.*.*.* +%attr(755,root,root) %ghost %{_libdir}/liblttng-ust-pthread-wrapper.so.1 %attr(755,root,root) %{_libdir}/liblttng-ust-tracepoint.so.*.*.* -%attr(755,root,root) %ghost %{_libdir}/liblttng-ust-tracepoint.so.0 +%attr(755,root,root) %ghost %{_libdir}/liblttng-ust-tracepoint.so.1 %files devel %defattr(644,root,root,755) %attr(755,root,root) %{_bindir}/lttng-gen-tp %attr(755,root,root) %{_libdir}/liblttng-ust.so +%attr(755,root,root) %{_libdir}/liblttng-ust-common.so %attr(755,root,root) %{_libdir}/liblttng-ust-ctl.so %attr(755,root,root) %{_libdir}/liblttng-ust-cyg-profile.so %attr(755,root,root) %{_libdir}/liblttng-ust-cyg-profile-fast.so +%attr(755,root,root) %{_libdir}/liblttng-ust-dl.so +%attr(755,root,root) %{_libdir}/liblttng-ust-fd.so %attr(755,root,root) %{_libdir}/liblttng-ust-fork.so %attr(755,root,root) %{_libdir}/liblttng-ust-libc-wrapper.so +%attr(755,root,root) %{_libdir}/liblttng-ust-pthread-wrapper.so %attr(755,root,root) %{_libdir}/liblttng-ust-tracepoint.so %{_libdir}/liblttng-ust.la +%{_libdir}/liblttng-ust-common.la %{_libdir}/liblttng-ust-ctl.la %{_libdir}/liblttng-ust-cyg-profile.la %{_libdir}/liblttng-ust-cyg-profile-fast.la +%{_libdir}/liblttng-ust-dl.la +%{_libdir}/liblttng-ust-fd.la %{_libdir}/liblttng-ust-fork.la %{_libdir}/liblttng-ust-libc-wrapper.la +%{_libdir}/liblttng-ust-pthread-wrapper.la %{_libdir}/liblttng-ust-tracepoint.la %{_includedir}/lttng %{_pkgconfigdir}/lttng-ust.pc +%{_pkgconfigdir}/lttng-ust-ctl.pc %{_mandir}/man1/lttng-gen-tp.1* +%{_mandir}/man3/do_tracepoint.3* %{_mandir}/man3/lttng-ust.3* %{_mandir}/man3/lttng-ust-cyg-profile.3* +%{_mandir}/man3/lttng-ust-dl.3* +%{_mandir}/man3/lttng_ust_*.3* +%{_mandir}/man3/tracef.3* +%{_mandir}/man3/tracelog.3* +%{_mandir}/man3/tracepoint.3* +%{_mandir}/man3/tracepoint_enabled.3* %{_examplesdir}/%{name}-%{version} +%if %{with static_libs} %files static %defattr(644,root,root,755) %{_libdir}/liblttng-ust.a +%{_libdir}/liblttng-ust-common.a %{_libdir}/liblttng-ust-ctl.a %{_libdir}/liblttng-ust-cyg-profile.a %{_libdir}/liblttng-ust-cyg-profile-fast.a +%{_libdir}/liblttng-ust-dl.a +%{_libdir}/liblttng-ust-fd.a %{_libdir}/liblttng-ust-fork.a %{_libdir}/liblttng-ust-libc-wrapper.a +%{_libdir}/liblttng-ust-pthread-wrapper.a %{_libdir}/liblttng-ust-tracepoint.a +%endif %if %{with java} %files -n java-lttng-ust %defattr(644,root,root,755) +%doc doc/java-agent.txt +%attr(755,root,root) %{_libdir}/liblttng-ust-context-jni.so.*.*.* +%attr(755,root,root) %ghost %{_libdir}/liblttng-ust-context-jni.so.0 +%attr(755,root,root) %{_libdir}/liblttng-ust-context-jni.so %attr(755,root,root) %{_libdir}/liblttng-ust-java.so.*.*.* %attr(755,root,root) %ghost %{_libdir}/liblttng-ust-java.so.0 %attr(755,root,root) %{_libdir}/liblttng-ust-java.so +%attr(755,root,root) %{_libdir}/liblttng-ust-jul-jni.so.*.*.* +%attr(755,root,root) %ghost %{_libdir}/liblttng-ust-jul-jni.so.0 +%attr(755,root,root) %{_libdir}/liblttng-ust-jul-jni.so +%attr(755,root,root) %{_libdir}/liblttng-ust-log4j-jni.so.*.*.* +%attr(755,root,root) %ghost %{_libdir}/liblttng-ust-log4j-jni.so.0 +%attr(755,root,root) %{_libdir}/liblttng-ust-log4j-jni.so +%{_javadir}/liblttng-ust-agent.jar %{_javadir}/liblttng-ust-java.jar +%{_javadir}/lttng-ust-agent-all-1.0.0.jar +%{_javadir}/lttng-ust-agent-all.jar +%{_javadir}/lttng-ust-agent-common-1.0.0.jar +%{_javadir}/lttng-ust-agent-common.jar +%{_javadir}/lttng-ust-agent-jul-1.0.0.jar +%{_javadir}/lttng-ust-agent-jul.jar +%{_javadir}/lttng-ust-agent-log4j-1.0.0.jar +%{_javadir}/lttng-ust-agent-log4j.jar +%endif + +%if %{with python} +%files -n python-lttng-ust +%defattr(644,root,root,755) +%attr(755,root,root) %{_libdir}/liblttng-ust-python-agent.so.*.*.* +%attr(755,root,root) %ghost %{_libdir}/liblttng-ust-python-agent.so.1 +%attr(755,root,root) %{_libdir}/liblttng-ust-python-agent.so +%{py_sitescriptdir}/lttngust +%{py_sitescriptdir}/lttngust-%{version}-py*.egg-info %endif