diff --git a/.gitignore b/.gitignore index 71287ae..0844276 100644 --- a/.gitignore +++ b/.gitignore @@ -46,3 +46,4 @@ /systemtap-4.4-0.20200715gitce0fa621eb35.tar.gz /systemtap-4.4-0.20200731git87344e948606.tar.gz /systemtap-4.4-0.20200805git82b8e1a07.tar.gz +/systemtap-4.5.tar.gz diff --git a/sources b/sources index afeaccf..9e90fe5 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (systemtap-4.4-0.20200805git82b8e1a07.tar.gz) = ea6fb8444ecd120a5aca25795d50c313ab87791a7515c20ec6af40da585099e0226c0a708a5044d23e82ff014b7f884ca07138a2be09e933f2894c7a1bb81105 +SHA512 (systemtap-4.5.tar.gz) = 8136779a9f5cb0fbaae565eab1ab6fa307f1024dfc2c6c3845acfadff0eecc684ba89aa5d442c7b90c2c73edaab41ca07bae2bad8361f80fe8e9928b40466cd3 diff --git a/systemtap.spec b/systemtap.spec index ff04966..9e6dd2c 100644 --- a/systemtap.spec +++ b/systemtap.spec @@ -10,7 +10,7 @@ %{!?with_crash: %global with_crash 1} %endif %{!?with_rpm: %global with_rpm 1} -%{!?elfutils_version: %global elfutils_version 0.142} +%{!?elfutils_version: %global elfutils_version 0.179} %{!?pie_supported: %global pie_supported 1} %{!?with_boost: %global with_boost 0} %ifarch %{ix86} x86_64 ppc ppc64 ppc64le aarch64 @@ -22,6 +22,7 @@ %{!?with_systemd: %global with_systemd 0%{?fedora} >= 19 || 0%{?rhel} >= 7} %{!?with_emacsvim: %global with_emacsvim 0%{?fedora} >= 19 || 0%{?rhel} >= 7} %{!?with_java: %global with_java 0%{?fedora} >= 19 || 0%{?rhel} >= 7} +%{!?with_debuginfod: %global with_debuginfod 0%{?fedora} >= 25 || 0%{?rhel} >= 7} %{!?with_virthost: %global with_virthost 0%{?fedora} >= 19 || 0%{?rhel} >= 7} %{!?with_virtguest: %global with_virtguest 1} %{!?with_dracut: %global with_dracut 0%{?fedora} >= 19 || 0%{?rhel} >= 6} @@ -88,8 +89,8 @@ %define __brp_mangle_shebangs_exclude_from .stp$ Name: systemtap -Version: 4.4 -Release: 0.20200805git82b8e1a07%{?dist} +Version: 4.5 +Release: 1%{?release_override}%{?dist} # for version, see also configure.ac @@ -123,14 +124,18 @@ Release: 0.20200805git82b8e1a07%{?dist} Summary: Programmable system-wide instrumentation system License: GPLv2+ URL: http://sourceware.org/systemtap/ -Source: %{name}-%{version}-0.20200805git82b8e1a07.tar.gz +Source: ftp://sourceware.org/pub/systemtap/releases/systemtap-%{version}.tar.gz # Build* +BuildRequires: make BuildRequires: gcc-c++ BuildRequires: cpio BuildRequires: gettext-devel BuildRequires: pkgconfig(nss) BuildRequires: pkgconfig(avahi-client) +%if %{with_debuginfod} +BuildRequires: pkgconfig(libdebuginfod) +%endif %if %{with_dyninst} BuildRequires: dyninst-devel >= 10.0 BuildRequires: pkgconfig(libselinux) @@ -161,9 +166,6 @@ BuildRequires: /usr/bin/latex /usr/bin/dvips /usr/bin/ps2pdf %if 0%{?fedora} >= 18 || 0%{?rhel} >= 7 BuildRequires: tex(fullpage.sty) tex(fancybox.sty) tex(bchr7t.tfm) tex(graphicx.sty) %endif -# For the html.sty mentioned in the .tex files, even though latex2html is -# not run during the build, only during manual scripts/update-docs runs: -BuildRequires: latex2html %if %{with_htmldocs} # On F10, xmlto's pdf support was broken off into a sub-package, # called 'xmlto-tex'. To avoid a specific F10 BuildReq, we'll do a @@ -175,7 +177,7 @@ BuildRequires: xmlto /usr/share/xmlto/format/fo/pdf BuildRequires: emacs %endif %if %{with_java} -BuildRequires: jpackage-utils java-devel +BuildRequires: java-devel %endif %if %{with_virthost} # BuildRequires: libvirt-devel >= 1.0.2 @@ -262,6 +264,9 @@ Requires: kernel-devel-uname-r %endif Requires: gcc make +# for compiling --runtime=dyninst sripts, need elfutils headers, bz1930973 +Requires: elfutils-devel >= %{elfutils_version} + Conflicts: systemtap-client < %{version}-%{release} Conflicts: systemtap-server < %{version}-%{release} Conflicts: systemtap-runtime < %{version}-%{release} @@ -365,7 +370,16 @@ Requires: systemtap = %{version}-%{release} Requires: systemtap-sdt-devel = %{version}-%{release} Requires: systemtap-server = %{version}-%{release} Requires: dejagnu which elfutils grep nc +%if %{with_debuginfod} Requires: elfutils-debuginfod +%endif +# work around fedora ci gating kvetching about i686<->x86-64 conflicts +%ifarch x86_64 +Conflicts: systemtap-testsuite = %{version}-%{release}.i686 +%endif +%ifarch i686 +Conflicts: systemtap-testsuite = %{version}-%{release}.x86_64 +%endif Requires: gcc gcc-c++ make glibc-devel # testsuite/systemtap.base/ptrace.exp needs strace Requires: strace @@ -396,7 +410,12 @@ Requires: systemtap-runtime-python2 = %{version}-%{release} Requires: systemtap-runtime-python3 = %{version}-%{release} %endif %ifarch x86_64 +%if 0%{?rhel} >= 8 || 0%{?fedora} >= 20 +# fweimer, personal correspondence +Recommends: glibc-devel(x86-32) +%else Requires: /usr/lib/libc.so +%endif # ... and /usr/lib/libgcc_s.so.* # ... and /usr/lib/libstdc++.so.* %endif @@ -420,6 +439,13 @@ Summary: Systemtap Java Runtime Support License: GPLv2+ URL: http://sourceware.org/systemtap/ Requires: systemtap-runtime = %{version}-%{release} +# work around fedora ci gating kvetching about i686<->x86-64 conflicts +%ifarch x86_64 +Conflicts: systemtap-runtime = %{version}-%{release}.i686 +%endif +%ifarch i686 +Conflicts: systemtap-runtime = %{version}-%{release}.x86_64 +%endif Requires: byteman > 2.0 Requires: iproute Requires: java-devel @@ -527,6 +553,13 @@ systemtap-runtime-virthost machine to execute systemtap scripts. %global sqlite_config --disable-sqlite %endif +%if %{with_debuginfod} +%global debuginfod_config --with-debuginfod +%else +%global debuginfod_config --without-debuginfod +%endif + + # Enable/disable the crash extension %if %{with_crash} %global crash_config --enable-crash @@ -608,7 +641,7 @@ systemtap-runtime-virthost machine to execute systemtap scripts. # We don't ship compileworthy python code, just oddball samples %global py_auto_byte_compile 0 -%configure %{dyninst_config} %{sqlite_config} %{crash_config} %{docs_config} %{pie_config} %{rpm_config} %{java_config} %{virt_config} %{dracut_config} %{python3_config} %{python2_probes_config} %{python3_probes_config} %{httpd_config} %{bpf_config} --disable-silent-rules --with-extra-version="rpm %{version}-%{release}" +%configure %{dyninst_config} %{sqlite_config} %{crash_config} %{docs_config} %{pie_config} %{rpm_config} %{java_config} %{virt_config} %{dracut_config} %{python3_config} %{python2_probes_config} %{python3_probes_config} %{httpd_config} %{bpf_config} %{debuginfod_config} --disable-silent-rules --with-extra-version="rpm %{version}-%{release}" make %{?_smp_mflags} @@ -948,60 +981,8 @@ exit 0 # ------------------------------------------------------------------------ -%if %{with_java} - -%triggerin runtime-java -- java-1.8.0-openjdk, java-1.7.0-openjdk, java-1.6.0-openjdk -for f in %{_libexecdir}/systemtap/libHelperSDT_*.so; do - %ifarch %{ix86} - arch=i386 - %else - arch=`basename $f | cut -f2 -d_ | cut -f1 -d.` - %endif - for archdir in %{_jvmdir}/*openjdk*/jre/lib/${arch}; do - if [ -d ${archdir} ]; then - ln -sf %{_libexecdir}/systemtap/libHelperSDT_${arch}.so ${archdir}/libHelperSDT_${arch}.so - ln -sf %{_libexecdir}/systemtap/HelperSDT.jar ${archdir}/../ext/HelperSDT.jar - fi - done -done - -%triggerun runtime-java -- java-1.8.0-openjdk, java-1.7.0-openjdk, java-1.6.0-openjdk -for f in %{_libexecdir}/systemtap/libHelperSDT_*.so; do - %ifarch %{ix86} - arch=i386 - %else - arch=`basename $f | cut -f2 -d_ | cut -f1 -d.` - %endif - for archdir in %{_jvmdir}/*openjdk*/jre/lib/${arch}; do - rm -f ${archdir}/libHelperSDT_${arch}.so - rm -f ${archdir}/../ext/HelperSDT.jar - done -done - -%triggerpostun runtime-java -- java-1.8.0-openjdk, java-1.7.0-openjdk, java-1.6.0-openjdk -# Restore links for any JDKs remaining after a package removal: -for f in %{_libexecdir}/systemtap/libHelperSDT_*.so; do - %ifarch %{ix86} - arch=i386 - %else - arch=`basename $f | cut -f2 -d_ | cut -f1 -d.` - %endif - for archdir in %{_jvmdir}/*openjdk*/jre/lib/${arch}; do - if [ -d ${archdir} ]; then - ln -sf %{_libexecdir}/systemtap/libHelperSDT_${arch}.so ${archdir}/libHelperSDT_${arch}.so - ln -sf %{_libexecdir}/systemtap/HelperSDT.jar ${archdir}/../ext/HelperSDT.jar - fi - done -done - -# XXX: analogous support for other types of JRE/JDK?? - -%endif - -# ------------------------------------------------------------------------ - %files -# The master "systemtap" rpm doesn't include any files. +# The main "systemtap" rpm doesn't include any files. %files server -f systemtap.lang %{_bindir}/stap-server @@ -1055,7 +1036,7 @@ done %license COPYING %if %{with_java} %dir %{_libexecdir}/systemtap -%{_libexecdir}/systemtap/libHelperSDT_*.so +%{_libexecdir}/systemtap/libHelperSDT.so %endif %if %{with_emacsvim} %{_emacs_sitelispdir}/*.el* @@ -1175,7 +1156,7 @@ done %if %{with_java} %files runtime-java %dir %{_libexecdir}/systemtap -%{_libexecdir}/systemtap/libHelperSDT_*.so +%{_libexecdir}/systemtap/libHelperSDT.so %{_libexecdir}/systemtap/HelperSDT.jar %{_libexecdir}/systemtap/stapbm %endif @@ -1229,34 +1210,20 @@ done # PRERELEASE %changelog -* Wed Aug 05 2020 William Cohen - 4.4-0.20200805git82b8e1a07 -- Automated weekly rawhide release -- Applied spec changes from upstream git +* Fri May 07 2021 Serhei Makarov - 4.5-1 +- Upstream release. -* Fri Jul 31 2020 Frank Ch. Eigler - 4.4-0.20200731git87344e948606 -- Automated weekly rawhide release -- Applied spec changes from upstream git +* Mon Mar 22 2021 Frank Ch. Eigler - 4.4-4 +- Add kernel 5.11 compatibility backports -* Wed Jul 29 2020 Fedora Release Engineering - 4.4-0.20200716gitce0fa621eb35 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild +* Wed Feb 10 2021 Frank Ch. Eigler - 4.4-3 +- Add debuginfod client-lib prereq for buildid probing -* Wed Jul 15 2020 Frank Ch. Eigler - 4.4-0.20200715gitce0fa621eb35 -- Automated weekly rawhide release -- Applied spec changes from upstream git +* Mon Dec 07 2020 Stan Cox - 4.4-2 +- Rebuild for dyninst 10.2 -* Tue Jul 14 2020 Frank Ch. Eigler - 4.4-0.20200714gite5a63d9c000a -- Automated weekly rawhide release -- Applied spec changes from upstream git - -* Tue Jul 14 2020 Frank Ch. Eigler - 4.4-0.20200714git8212024da2ae -- Automated weekly rawhide release -- Applied spec changes from upstream git - -* Sat Jul 11 2020 Jiri Vanek - 4.3-3 -- Rebuilt for JDK-11, see https://fedoraproject.org/wiki/Changes/Java11 - -* Wed Jul 01 2020 Jeff Law - 4.3-2 -- Disable LTO +* Mon Nov 09 2020 Frank Ch. Eigler - 4.4-1 +- Upstream release. * Thu Jun 11 2020 Frank Ch. Eigler - 4.3-1 - Upstream release. @@ -1295,7 +1262,7 @@ done - Upstream release. * Mon Jul 07 2014 Josh Stone -- Flip with_dyninst to an %%ifarch whitelist. +- Flip with_dyninst to an %%ifarch passlist. * Wed Apr 30 2014 Jonathan Lebon - 2.5-1 - Upstream release. diff --git a/tests/dejagnu-smoketest/runtest.sh b/tests/dejagnu-smoketest/runtest.sh index d988142..4f598b8 100755 --- a/tests/dejagnu-smoketest/runtest.sh +++ b/tests/dejagnu-smoketest/runtest.sh @@ -3,6 +3,8 @@ set -e set -x +export DEBUGINFOD_URLS=https://debuginfod.fedoraproject.org/ +stap-prep dnf debuginfo-install -y kernel # on Fedora CI, can only assume about 1GB RAM to run these tests