From: Nick Alcock Date: Tue, 4 Oct 2016 10:13:45 +0000 (+0100) Subject: SPEC: dtrace-module specfile revamp. X-Git-Tag: v4.1.12-111.0.20170907_2225~3^2~3^2~40 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=ac18b06a3601fe09f3bec0f501ce2e995ac188d8;p=users%2Fjedix%2Flinux-maple.git SPEC: dtrace-module specfile revamp. Merge both the specfiles into one, and remove all conditionalizing for older module versions: the specfile now relates only to the current version, but applies to both OL6 and OL7. The string @SOURCE_TARBALL@ must be replaced with the name of the source tarball before building. (The release autobuilders already do this.) Signed-off-by: Nick Alcock --- diff --git a/dtrace/dtrace-module-OL7.spec b/dtrace/dtrace-module-OL7.spec deleted file mode 100644 index d6392aee40492..0000000000000 --- a/dtrace/dtrace-module-OL7.spec +++ /dev/null @@ -1,459 +0,0 @@ -%ifarch i686 -%define karch i686 -%endif -%ifarch x86_64 -%define karch x86_64 -%endif -%ifarch sparc64 -%define karch sparc64 -%endif - -# Redefine 'build_variant' at build time to create a kernel package named -# something like 'kernel-uek-dtrace'. -%define variant %{?build_variant:%{build_variant}}%{!?build_variant:-uek} - -# Set this to the version of the kernel this module is compiled against. -%define kver %{?build_kver:%{build_kver}}%{!?build_kver:4.1.12-43.el7uek} - -%define _signmodules %{?signmodules: %{signmodules}} %{?!signmodules: 1} - -# Select the correct source code version based on the kernel version. -# Failing to pick the correct version can have disasterous effects! -# For safety, we assume that the kernel version is not supported, unless we -# explicitly recognize it below... Unsupported versions will always have -# version code 0. -# -# We also set a version code (vercode) to make it possible to make parts of -# the specfile conditional on the modules version. -%define dt_vcode 0 -%define dt_0_3_2 770 -%define dt_0_4_0 1024 -%define dt_0_4_1 1025 -%define dt_0_4_2 1026 -%define dt_0_4_3 1027 -%define dt_0_4_4 1028 -%define dt_0_4_5 1029 -%define dt_0_4_6 1030 -%define dt_0_5_0 1280 -%define dt_0_5_1 1281 -%define dt_0_5_2 1282 -%define dt_0_5_3 1283 -%{lua: - local kver = rpm.expand("%{kver}") - - if rpm.vercmp(kver, "4.1.4-3") >= 0 then - rpm.define("arches x86_64 sparc64") - else - rpm.define("arches x86_64") - end - - if rpm.vercmp(kver, "4.1.12-61") >= 0 then - rpm.define("srcver 0.5.3") - rpm.define("bldrel 2") - rpm.define("dt_vcode "..rpm.expand("%{dt_0_5_3}")) - elseif rpm.vercmp(kver, "4.1.12-33") >= 0 then - rpm.define("srcver 0.5.2") - rpm.define("bldrel 1") - rpm.define("dt_vcode "..rpm.expand("%{dt_0_5_2}")) - elseif rpm.vercmp(kver, "4.1.12-24") >= 0 then - rpm.define("srcver 0.5.1") - rpm.define("bldrel 1") - rpm.define("dt_vcode "..rpm.expand("%{dt_0_5_1}")) - elseif rpm.vercmp(kver, "4.1.4-3") >= 0 then - rpm.define("srcver 0.5.0") - rpm.define("bldrel 4") - rpm.define("dt_vcode "..rpm.expand("%{dt_0_5_0}")) --- elseif rpm.vercmp(kver, "3.8.13-119") >= 0 then --- rpm.define("srcver 0.4.6") --- rpm.define("bldrel 1") --- rpm.define("dt_vcode "..rpm.expand("%{dt_0_4_6}")) - elseif rpm.vercmp(kver, "3.8.13-87") >= 0 then - rpm.define("srcver 0.4.5") - rpm.define("bldrel 3") - rpm.define("dt_vcode "..rpm.expand("%{dt_0_4_5}")) - elseif rpm.vercmp(kver, "3.8.13-69") >= 0 then - rpm.define("srcver 0.4.4") - rpm.define("bldrel 1") - rpm.define("dt_vcode "..rpm.expand("%{dt_0_4_4}")) - elseif rpm.vercmp(kver, "3.8.13-33") >= 0 then - rpm.define("srcver 0.4.3") - rpm.define("bldrel 4") - rpm.define("dt_vcode "..rpm.expand("%{dt_0_4_3}")) - elseif rpm.vercmp(kver, "3.8.13-22") >= 0 then - rpm.define("srcver 0.4.2") - rpm.define("bldrel 3") - rpm.define("dt_vcode "..rpm.expand("%{dt_0_4_2}")) - elseif rpm.vercmp(kver, "3.8.13-16.2.1") >= 0 then - rpm.define("srcver 0.4.1") - rpm.define("bldrel 3") - rpm.define("dt_vcode "..rpm.expand("%{dt_0_4_1}")) - elseif rpm.vercmp(kver, "3.8.13-16") >= 0 then - rpm.define("srcver 0.4.0") - rpm.define("bldrel 3") - rpm.define("dt_vcode "..rpm.expand("%{dt_0_4_0}")) - elseif rpm.vercmp(kver, "3") >= 0 then - -- No DTrace in 3.x kernels prior to 3.8.13-16 - elseif rpm.vercmp(kver, "2.6.39-201.0.2") >= 0 then - rpm.define("srcver 0.3.2") - rpm.define("bldrel 2") - rpm.define("dt_vcode "..rpm.expand("%{dt_0_3_2}")) - end -} -%if %{dt_vcode} == 0 - %{error:Kernel %{kver} is not supported for DTrace or source code missing} -%endif - -# -# Current (new) RPM specification, with cleaned up dependencies. -# -%if %{dt_vcode} >= %{dt_0_4_2} - -%if %{dt_vcode} >= %{dt_0_4_4} -%define header_pkg dtrace-modules-shared-headers -%else -%define header_pkg dtrace-modules-headers -%endif - -Name: dtrace-modules-%{kver} -Summary: dtrace module -Version: %{srcver} -Release: %{bldrel}.el7 -Provides: dtrace-modules -%if %{dt_vcode} >= %{dt_0_4_6} -Requires: at -%else -Requires: kernel%{variant} = %{kver} -%endif -License: CDDL -Group: System Environment/Kernel -Source0: dtrace-module-%{srcver}.tar.bz2 -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) -BuildRequires: kernel%{variant}-devel = %{kver} -BuildRequires: libdtrace-ctf -ExclusiveArch: x86_64 sparc64 - -%if %{_signmodules} -Source1: mod-sign.sh -%define modsign_cmd %{SOURCE1} -%endif - -%description -DTrace kernel modules. - -This package contains the DTrace core module, and standard provider modules: -dtrace, profile, syscall, sdt (io, proc,sched), and fasttrap (USDT). - -Maintainers: ------------- -Nick Alcock -Kris Van Hees - -%if %{dt_vcode} >= %{dt_0_4_6} -# If this package is not removed, but its dependent kernel is, schedule -# a later removal via at, late enough that this yum job is probably over. -%triggerun -- kernel%{variant} = %{kver} - -at now + 4 hours >/dev/null 2>&1 <<'EOF' -rpm --quiet -e dtrace-modules-%{kver} -EOF -%endif - -%package -n %{header_pkg} -Summary: Header files for communication with the DTrace kernel module. -%if %{dt_vcode} >= %{dt_0_4_4} -Obsoletes: dtrace-modules-headers -Provides: dtrace-modules-headers 1:1 -%endif -%description -n %{header_pkg} -This package contains header files describing the protocol used by userspace to -communicate with the DTrace kernel module. - -%package -n dtrace-modules-provider-headers -Summary: Header files for implementation of DTrace providers. -Requires: %{header_pkg} -%description -n dtrace-modules-provider-headers -This package contains header files defining the API used to implement DTrace -providers. - -%else - -Name: dtrace-modules-%{kver} -Summary: dtrace module -Version: %{srcver} -Release: %{bldrel}.el7 -Provides: dtrace-kernel-interface = 1 -License: CDDL -Group: System Environment/Kernel -%if %{dt_vcode} < %{dt_0_4_6} -Requires: kernel%{variant} = %{kver} -%endif -Source0: dtrace-module-%{srcver}.tar.bz2 -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) -BuildRequires: kernel%{variant}-devel = %{kver} -BuildRequires: libdtrace-ctf -ExclusiveArch: x86_64 sparc64 - -%description -DTrace kernel modules. - -This package contains the DTrace core module, and standard provider modules: -dtrace, profile, syscall, sdt (io, proc,sched), and fasttrap (USDT). - -Maintainers: ------------- -Nick Alcock -Kris Van Hees - -%package headers -Summary: Header files for communication with the DTrace kernel module. -Requires: dtrace-modules-%{kver} -Provides: dtrace-modules-headers = 1 -%description headers -This package contains header files describing the protocol used by userspace to -communicate with the DTrace kernel module. - -%package provider-headers -Summary: Header files for implementation of DTrace providers. -Requires: dtrace-modules-headers = 1 -Provides: dtrace-modules-provider-headers = 1 -%description provider-headers -This package contains header files defining the API used to implement DTrace -providers. - -%endif - -%prep -rm -rf %{BuildRoot} - -%setup -c -n %{name} - -%build -cd dtrace -KSRC=/usr/src/kernels/%{kver}.%{karch} -make KERNELDIR=$KSRC karch=%{karch} modules - -%if %{_signmodules} -%{modsign_cmd} ${RPM_BUILD_DIR}/%{name}/dtrace -%endif - -%install -rm -rf %{buildroot} -mkdir -p %{buildroot}/lib/modules/%{kver}.%{karch}/kernel/drivers/dtrace -install -m0644 ${RPM_BUILD_DIR}/%{name}/dtrace/*.ko %{buildroot}/lib/modules/%{kver}.%{karch}/kernel/drivers/dtrace/ -mkdir -p %{buildroot}/usr/share/doc/dtrace-modules-%{kver} -install -m0644 ${RPM_BUILD_DIR}/%{name}/dtrace/NEWS %{buildroot}/usr/share/doc/dtrace-modules-%{kver} -cd dtrace -KSRC=/usr/src/kernels/%{kver}.%{karch} -make KERNELDIR=$KSRC karch=%{karch} headers_install INSTALL_HDR_PATH=%{buildroot} - -%post -depmod -a %{kver}.%{karch} > /dev/null 2> /dev/null - -%clean -rm -rf %{buildroot} - -%files -%defattr(-,root,root,-) -/lib/modules/%{kver}.%{karch}/kernel/drivers/dtrace* -/usr/share/doc/dtrace-modules-%{kver}* - -%if %{dt_vcode} >= %{dt_0_4_2} - -%files -n %{header_pkg} -%defattr(-,root,root,-) -/usr/include/linux/dtrace -%exclude /usr/include/linux/dtrace/provider*.h -%exclude /usr/include/linux/dtrace/types.h - -%files -n dtrace-modules-provider-headers -%defattr(-,root,root,-) -/usr/include/linux/dtrace/provider*.h -/usr/include/linux/dtrace/types.h - -%else - -%files headers -%defattr(-,root,root,-) -/usr/include/linux/dtrace -%exclude /usr/include/linux/dtrace/provider*.h -%exclude /usr/include/linux/dtrace/types.h - -%files provider-headers -%defattr(-,root,root,-) -/usr/include/linux/dtrace/provider*.h -/usr/include/linux/dtrace/types.h - -%endif - -%changelog -%if %{dt_vcode} >= %{dt_0_5_3} -* Wed Jul 20 2016 Nick Alcock - 0.5.3-2 -- Re-enable 0.5.3 release after bugfix [Orabug: 23344927] -* Mon May 23 2016 Kris Van Hees - 0.5.3-1 -- Provider 'perf' added to SDT for perf events. - (Nick Alcock) [Orabug: 23004534] -- Fix to ensure that pdata and sdt_tab handling works across module reloads. - [Orabug: 23331667] -- Moving pdata size assertion checking to arch-specific code. - (Nick Alcock) [Orabug: 23331667] -%endif -%if %{dt_vcode} >= %{dt_0_5_2} -* Thu Feb 4 2016 Kris Van Hees - 0.5.2-1 -- Correct probe disable/enable mechanism for syscalls. - [Orabug: 22352636] -- Fix access to uregs[I_R7] for sparc64. - (Nick Alcock) [Orabug: 22602870] -- Use a more efficient, consistent, and reliable mechanism to read user - stack locations. - (Nick Alcock) [Orabug: 22629102] -%endif -%if %{dt_vcode} >= %{dt_0_5_1} -* Tue Nov 17 2015 Kris Van Hees - 0.5.1-1 -- Remove explicit dependency on kernel RPM. - [Orabug: 21669543] -- Ensure safety checks are enforced on copyout() and copyoutstr(). - [Orabug: 21930954] -- Fix device file minor number for dt_perf. - [Orabug: 21814949] -%endif -%if %{dt_vcode} >= %{dt_0_5_0} -* Tue Nov 17 2015 Kris Van Hees - 0.5.0-4 -- Remove explicit dependency on kernel RPM. - [Orabug: 21669543] -* Fri Sep 18 2015 Kris Van Hees - 0.5.0-3 -- Enable building DTrace modules on SPARC64. -* Tue Aug 18 2015 Kris Van Hees - 0.5.0-2 -- Synchronize versions with OL6. -* Mon Aug 10 2015 Kris Van Hees - 0.5.0-1 -- Use kernel-provided SDT trampoline memory area for SPARC64. - [Orabug: 21220344] -- Add support for sparc64. - [Orabug: 19005048] -- Update uid / gid handling in view of namespaces in UEK4 kernels. - [Orabug: 20456825] -%else -%if %{dt_vcode} >= %{dt_0_4_6} -* Tue Nov 17 2015 Kris Van Hees - 0.4.6-1 -- Remove explicit dependency on kernel RPM. - [Orabug: 21669543] -- Ensure safety checks are enforced on copyout() and copyoutstr(). - [Orabug: 21930954] -- Fix device file minor number for dt_perf. - [Orabug: 21814949] -%endif -%endif -%if %{dt_vcode} >= %{dt_0_4_5} -* Mon Jul 6 2015 Natalya Naumova - 0.4.5-3 -- modules signing support -* Tue Jun 23 2015 Kris Van Hees - 0.4.5-2 -- Validate d_path() argument pointer to avoid crash. - [Orabug: 21304207] -* Wed Jun 17 2015 Kris Van Hees - 0.4.5-1 -- Support USDT for 32-bit applications on 64-bit hosts. - [Orabug: 21219315] -- Convert from sdt_instr_t to asm_instr_t. - [Orabug: 21219374] -- Restructuring to support DTrace on multiple architectures. - [Orabug: 21273259] -- Fix dtrace_helptrace_buffer memory leak. - [Orabug: 20514336] -- Add .gitignore file. - [Orabug: 20266608] -%endif -%if %{dt_vcode} >= %{dt_0_4_4} -* Thu Mar 9 2015 Nick Alcock - 0.4.4-1 -- Rename dtrace-modules-headers to dtrace-modules-shared-headers. - [Orabug: 20508087] -%endif -%if %{dt_vcode} >= %{dt_0_4_3} -* Fri Apr 24 2014 Kris Van Hees - 0.4.3-4 -- Updated NEWS file: test stress/buffering/tst.resize1.d is XFAIL for now. -- Align with kernel header file change: FOLL_NOFAULT -> FOLL_IMMED. - [Orabug: 18653713] -* Fri Apr 24 2014 Kris Van Hees - 0.4.3-3 -- Rebuild with cleaned up source tree. -* Thu Apr 24 2014 Nick Alcock - 0.4.3-2 -- Various fixes to handle multi-threaded processes. - [Orabug: 18412802] -* Tue Apr 15 2014 Kris Van Hees - 0.4.3-1 -- Implmentation of profile-* probes in the profile provider. - [Orabug: 18323513] -%endif -%if %{dt_vcode} >= %{dt_0_4_2} -* Wed Jan 29 2014 Nick Alcock - 0.4.2-3 -- Obsolete the old provider headers package. - [Orabug: 18061595] -* Mon Jan 27 2014 Nick Alcock - 0.4.2-2 -- Change name of provider headers package, to avoid conflicts on yum update. - [Orabug: 18061595] -* Fri Dec 20 2013 Kris Van Hees - 0.4.2-1 -- Fix 'vtimestamp' implementation. - [Orabug: 17741477] -- Support SDT probes points in kernel modules. - [Orabug: 17851716] -%endif -%if %{dt_vcode} >= %{dt_0_4_1} -* Wed Nov 6 2013 Kris Van Hees - 0.4.1-3 -- Fix 'errno' implementation. - [Orabug: 17704568] -* Wed Oct 26 2013 Kris Van Hees - 0.4.1-2 -- Fix lock ordering issues. - [Orabug: 17624236] -* Wed Oct 16 2013 Kris Van Hees - 0.4.1-1 -- Align with new cyclic implementation in UEK3 kernel. - [Orabug: 17553446] -- Bugfix for module reference counting. -- Fix memory leak. -- Fix race condition in speculative tracing buffer cleaning. - [Orabug: 17591351] -- Ensure safe access to userspace stack memory location. - [Orabug: 17591351] -%endif -%if %{dt_vcode} == %{dt_0_4_0} -* Thu Oct 17 2013 Nick Alcock - 0.4.0-3 -- fix changelog, no code changes -%endif -%if %{dt_vcode} >= %{dt_0_4_0} -* Thu Oct 10 2013 Kris Van Hees - 0.4.0-2 -- Bugfix for ustack() to avoid using vma data. -* Wed Aug 7 2013 Kris Van Hees - 0.4.0-1 -- Bugfix for module unloading. -- Support meta-providers, USDT, and fasttrap (for USDT only). -- Export DTrace kernel headers to userspace. -- Improved ustack() robustness. - [Orabug: 17591351] -- Reimplemented ustack(). - (Nick Alcock) [Orabug: 17591351] -- Bugfixes. -%endif -%if %{dt_vcode} >= %{dt_0_3_2} -* Fri Nov 2 2012 Nick Alcock - 0.3.2 -- Release for new kernel and CTF section layout -%endif -* Mon Oct 1 2012 Kris Van Hees - 0.3.1 -- Skipped version number -* Mon Sep 17 2012 Kris Van Hees - 0.3.0-2 -- Remove development-only providers because they should not be built/released. -* Fri Sep 14 2012 Kris Van Hees - 0.3.0 -- Release of the DTrace kernel modules for UEK2 2.6.39-201.0.1 (DTrace kernel). -* Mon Mar 19 2012 Nick Alcock - 0.2.5-2 -- Fix typo causing unconditional depmod at postinstall time -* Tue Mar 13 2012 Nick Alcock - 0.2.5 -- New kernel, new userspace: no module changes. -* Wed Feb 15 2012 Kris van Hees - 0.2.4 -- Ban unloading of in-use dtrace modules while dtrace is running. -* Thu Feb 9 2012 Nick Alcock - 0.2.3 -- There is one new DTrace option now, used internally by the - testsuite. -* Tue Feb 7 2012 Kris Van Hees - 0.2.2 -- Switch MUTEX_HELD() from using mutex_is_locked() to new mutex_owned(). -* Mon Jan 23 2012 Kris Van Hees - 0.2.1 -- Ensure that allocation attempts are done in atomic fashion so that a failing - allocation attempt won't interfere with other allocations. -- Surpress OOM warnings. -* Mon Jan 23 2012 Kris Van Hees - 0.2.0 -- Release of the DTrace kernel modules for UEK2 2.6.39-101.0.1 (DTrace kernel). -* Wed Oct 19 2011 Kris Van Hees - 0.1.0-1.el6 -- Disable stub-based syscalls in the release pending merging in fixes. -* Thu Sep 29 2011 Maxim Uvarov - 0.1 -- Initial release. diff --git a/dtrace/dtrace-module-OL6.spec b/dtrace/dtrace-module.spec similarity index 60% rename from dtrace/dtrace-module-OL6.spec rename to dtrace/dtrace-module.spec index 7c9c5bfba114c..b700a8b61225a 100644 --- a/dtrace/dtrace-module-OL6.spec +++ b/dtrace/dtrace-module.spec @@ -13,120 +13,19 @@ %define variant %{?build_variant:%{build_variant}}%{!?build_variant:-uek} # Set this to the version of the kernel this module is compiled against. -%define kver %{?build_kver:%{build_kver}}%{!?build_kver:4.1.12-43.el6uek} +%define kver %{?build_kver:%{build_kver}}%{!?build_kver:4.1.12-43%{dist}uek} %define _signmodules %{?signmodules: %{signmodules}} %{?!signmodules: 1} -# Select the correct source code version based on the kernel version. -# Failing to pick the correct version can have disasterous effects! -# For safety, we assume that the kernel version is not supported, unless we -# explicitly recognize it below... Unsupported versions will always have -# version code 0. -# -# We also set a version code (vercode) to make it possible to make parts of -# the specfile conditional on the modules version. -%define dt_vcode 0 -%define dt_0_3_2 770 -%define dt_0_4_0 1024 -%define dt_0_4_1 1025 -%define dt_0_4_2 1026 -%define dt_0_4_3 1027 -%define dt_0_4_4 1028 -%define dt_0_4_5 1029 -%define dt_0_4_6 1030 -%define dt_0_5_0 1280 -%define dt_0_5_1 1281 -%define dt_0_5_2 1282 -%define dt_0_5_3 1283 -%{lua: - local kver = rpm.expand("%{kver}") - - if rpm.vercmp(kver, "4.1.4-3") >= 0 then - rpm.define("arches x86_64 sparc64") - else - rpm.define("arches x86_64") - end - - if rpm.vercmp(kver, "4.1.12-61") >= 0 then - rpm.define("srcver 0.5.3") - rpm.define("bldrel 2") - rpm.define("dt_vcode "..rpm.expand("%{dt_0_5_3}")) - elseif rpm.vercmp(kver, "4.1.12-33") >= 0 then - rpm.define("srcver 0.5.2") - rpm.define("bldrel 1") - rpm.define("dt_vcode "..rpm.expand("%{dt_0_5_2}")) - elseif rpm.vercmp(kver, "4.1.12-24") >= 0 then - rpm.define("srcver 0.5.1") - rpm.define("bldrel 1") - rpm.define("dt_vcode "..rpm.expand("%{dt_0_5_1}")) - elseif rpm.vercmp(kver, "4.1.4-3") >= 0 then - rpm.define("srcver 0.5.0") - rpm.define("bldrel 4") - rpm.define("dt_vcode "..rpm.expand("%{dt_0_5_0}")) --- elseif rpm.vercmp(kver, "3.8.13-119") >= 0 then --- rpm.define("srcver 0.4.6") --- rpm.define("bldrel 1") --- rpm.define("dt_vcode "..rpm.expand("%{dt_0_4_6}")) - elseif rpm.vercmp(kver, "3.8.13-87") >= 0 then - rpm.define("srcver 0.4.5") - rpm.define("bldrel 3") - rpm.define("dt_vcode "..rpm.expand("%{dt_0_4_5}")) - elseif rpm.vercmp(kver, "3.8.13-69") >= 0 then - rpm.define("srcver 0.4.4") - rpm.define("bldrel 1") - rpm.define("dt_vcode "..rpm.expand("%{dt_0_4_4}")) - elseif rpm.vercmp(kver, "3.8.13-33") >= 0 then - rpm.define("srcver 0.4.3") - rpm.define("bldrel 4") - rpm.define("dt_vcode "..rpm.expand("%{dt_0_4_3}")) - elseif rpm.vercmp(kver, "3.8.13-22") >= 0 then - rpm.define("srcver 0.4.2") - rpm.define("bldrel 3") - rpm.define("dt_vcode "..rpm.expand("%{dt_0_4_2}")) - elseif rpm.vercmp(kver, "3.8.13-16.2.1") >= 0 then - rpm.define("srcver 0.4.1") - rpm.define("bldrel 3") - rpm.define("dt_vcode "..rpm.expand("%{dt_0_4_1}")) - elseif rpm.vercmp(kver, "3.8.13-16") >= 0 then - rpm.define("srcver 0.4.0") - rpm.define("bldrel 3") - rpm.define("dt_vcode "..rpm.expand("%{dt_0_4_0}")) - elseif rpm.vercmp(kver, "3") >= 0 then - -- No DTrace in 3.x kernels prior to 3.8.13-16 - elseif rpm.vercmp(kver, "2.6.39-201.0.2") >= 0 then - rpm.define("srcver 0.3.2") - rpm.define("bldrel 2") - rpm.define("dt_vcode "..rpm.expand("%{dt_0_3_2}")) - end -} -%if %{dt_vcode} == 0 - %{error:Kernel %{kver} is not supported for DTrace or source code missing} -%endif - -# -# Current (new) RPM specification, with cleaned up dependencies. -# -%if %{dt_vcode} >= %{dt_0_4_2} - -%if %{dt_vcode} >= %{dt_0_4_4} -%define header_pkg dtrace-modules-shared-headers -%else -%define header_pkg dtrace-modules-headers -%endif - Name: dtrace-modules-%{kver} Summary: dtrace module -Version: %{srcver} -Release: %{bldrel}.el6 +Version: 0.5.3 +Release: 2%{dist} Provides: dtrace-modules -%if %{dt_vcode} >= %{dt_0_4_6} Requires: at -%else -Requires: kernel%{variant} = %{kver} -%endif License: CDDL Group: System Environment/Kernel -Source0: dtrace-module-%{srcver}.tar.bz2 +Source0: @SOURCE_TARBALL@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: kernel%{variant}-devel = %{kver} BuildRequires: libdtrace-ctf @@ -148,7 +47,6 @@ Maintainers: Nick Alcock Kris Van Hees -%if %{dt_vcode} >= %{dt_0_4_6} # If this package is not removed, but its dependent kernel is, schedule # a later removal via at, late enough that this yum job is probably over. %triggerun -- kernel%{variant} = %{kver} @@ -156,81 +54,32 @@ Kris Van Hees at now + 4 hours >/dev/null 2>&1 <<'EOF' rpm --quiet -e dtrace-modules-%{kver} EOF -%endif -%package -n %{header_pkg} +%package -n dtrace-modules-shared-headers Summary: Header files for communication with the DTrace kernel module. -%if %{dt_vcode} >= %{dt_0_4_4} Obsoletes: dtrace-modules-headers Provides: dtrace-modules-headers 1:1 -%endif -%description -n %{header_pkg} + +%description -n dtrace-modules-shared-headers This package contains header files describing the protocol used by userspace to communicate with the DTrace kernel module. %package -n dtrace-modules-provider-headers Summary: Header files for implementation of DTrace providers. -Requires: %{header_pkg} +Requires: dtrace-modules-shared-headers %{lua: local obsoleted = {"16.1.1", "16.2.1", "16.2.2", "16.2.3", "16.3.1", "16.3.2", "16.3.3", "16"} for ignore, vers in ipairs(obsoleted) do print("Obsoletes: dtrace-modules-3.8.13-" .. vers .. - ".el6uek-provider-headers\n") + "%{dist}uek-provider-headers\n") end } %description -n dtrace-modules-provider-headers This package contains header files defining the API used to implement DTrace providers. -%else - -Name: dtrace-modules-%{kver} -Summary: dtrace module -Version: %{srcver} -Release: %{bldrel}.el6 -Provides: dtrace-kernel-interface = 1 -License: CDDL -Group: System Environment/Kernel -%if %{dt_vcode} < %{dt_0_4_6} -Requires: kernel%{variant} = %{kver} -%endif -Source0: dtrace-module-%{srcver}.tar.bz2 -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) -BuildRequires: kernel%{variant}-devel = %{kver} -BuildRequires: libdtrace-ctf -ExclusiveArch: x86_64 sparc64 - -%description -DTrace kernel modules. - -This package contains the DTrace core module, and standard provider modules: -dtrace, profile, syscall, sdt (io, proc,sched), and fasttrap (USDT). - -Maintainers: ------------- -Nick Alcock -Kris Van Hees - -%package headers -Summary: Header files for communication with the DTrace kernel module. -Requires: dtrace-modules-%{kver} -Provides: dtrace-modules-headers = 1 -%description headers -This package contains header files describing the protocol used by userspace to -communicate with the DTrace kernel module. - -%package provider-headers -Summary: Header files for implementation of DTrace providers. -Requires: dtrace-modules-headers = 1 -Provides: dtrace-modules-provider-headers = 1 -%description provider-headers -This package contains header files defining the API used to implement DTrace -providers. - -%endif - %prep rm -rf %{BuildRoot} @@ -263,12 +112,10 @@ rm -rf %{buildroot} %files %defattr(-,root,root,-) -/lib -/usr/share/doc - -%if %{dt_vcode} >= %{dt_0_4_2} +/lib/modules/%{kver}.%{karch}/kernel/drivers/dtrace* +/usr/share/doc/dtrace-modules-%{kver}* -%files -n %{header_pkg} +%files -n dtrace-modules-shared-headers %defattr(-,root,root,-) /usr/include/linux/dtrace %exclude /usr/include/linux/dtrace/provider*.h @@ -279,23 +126,7 @@ rm -rf %{buildroot} /usr/include/linux/dtrace/provider*.h /usr/include/linux/dtrace/types.h -%else - -%files headers -%defattr(-,root,root,-) -/usr/include/linux/dtrace -%exclude /usr/include/linux/dtrace/provider*.h -%exclude /usr/include/linux/dtrace/types.h - -%files provider-headers -%defattr(-,root,root,-) -/usr/include/linux/dtrace/provider*.h -/usr/include/linux/dtrace/types.h - -%endif - %changelog -%if %{dt_vcode} >= %{dt_0_5_3} * Wed Jul 20 2016 Nick Alcock - 0.5.3-2 - Re-enable 0.5.3 release after bugfix [Orabug: 23344927] * Mon May 23 2016 Kris Van Hees - 0.5.3-1 @@ -305,8 +136,6 @@ rm -rf %{buildroot} [Orabug: 23331667] - Moving pdata size assertion checking to arch-specific code. (Nick Alcock) [Orabug: 23331667] -%endif -%if %{dt_vcode} >= %{dt_0_5_2} * Thu Feb 4 2016 Kris Van Hees - 0.5.2-1 - Correct probe disable/enable mechanism for syscalls. [Orabug: 22352636] @@ -315,8 +144,6 @@ rm -rf %{buildroot} - Use a more efficient, consistent, and reliable mechanism to read user stack locations. (Nick Alcock) [Orabug: 22629102] -%endif -%if %{dt_vcode} >= %{dt_0_5_1} * Tue Nov 17 2015 Kris Van Hees - 0.5.1-1 - Remove explicit dependency on kernel RPM. [Orabug: 21669543] @@ -324,12 +151,10 @@ rm -rf %{buildroot} [Orabug: 21930954] - Fix device file minor number for dt_perf. [Orabug: 21814949] -%endif -%if %{dt_vcode} >= %{dt_0_5_0} * Fri Sep 18 2015 Kris Van Hees - 0.5.0-3 - Enable building DTrace modules for SPARC64. * Mon Aug 10 2015 Natalya Naumova - 0.5.0-2 -- modules signing support +- modules signing support [OL6] * Mon Aug 10 2015 Kris Van Hees - 0.5.0-1 - Use kernel-provided SDT trampoline memory area for SPARC64. [Orabug: 21220344] @@ -337,20 +162,8 @@ rm -rf %{buildroot} [Orabug: 19005048] - Update uid / gid handling in view of namespaces in UEK4 kernels. [Orabug: 20456825] -%else -%if %{dt_vcode} >= %{dt_0_4_6} -* Tue Nov 17 2015 Kris Van Hees - 0.4.6-1 -- Remove explicit dependency on kernel RPM. - [Orabug: 21669543] -- Ensure safety checks are enforced on copyout() and copyoutstr(). - [Orabug: 21930954] -- Fix device file minor number for dt_perf. - [Orabug: 21814949] -%endif -%endif -%if %{dt_vcode} >= %{dt_0_4_5} -* Tue Jul 7 2015 Kris Van Hees - 0.4.5-3 -- Synchronize versions with OL7 +* Mon Jul 6 2015 Natalya Naumova - 0.4.5-3 +- modules signing support [OL7] * Tue Jun 23 2015 Kris Van Hees - 0.4.5-2 - Validate d_path() argument pointer to avoid crash. [Orabug: 21304207] @@ -365,13 +178,9 @@ rm -rf %{buildroot} [Orabug: 20514336] - Add .gitignore file. [Orabug: 20266608] -%endif -%if %{dt_vcode} >= %{dt_0_4_4} * Thu Mar 9 2015 Nick Alcock - 0.4.4-1 - Rename dtrace-modules-headers to dtrace-modules-shared-headers. [Orabug: 20508087] -%endif -%if %{dt_vcode} >= %{dt_0_4_3} * Fri Apr 24 2014 Kris Van Hees - 0.4.3-4 - Updated NEWS file: test stress/buffering/tst.resize1.d is XFAIL for now. - Align with kernel header file change: FOLL_NOFAULT -> FOLL_IMMED. @@ -384,8 +193,6 @@ rm -rf %{buildroot} * Tue Apr 15 2014 Kris Van Hees - 0.4.3-1 - Implmentation of profile-* probes in the profile provider. [Orabug: 18323513] -%endif -%if %{dt_vcode} >= %{dt_0_4_2} * Wed Jan 29 2014 Nick Alcock - 0.4.2-3 - Obsolete the old provider headers package. [Orabug: 18061595] @@ -397,14 +204,14 @@ rm -rf %{buildroot} [Orabug: 17741477] - Support SDT probes points in kernel modules. [Orabug: 17851716] -%endif -%if %{dt_vcode} >= %{dt_0_4_1} * Wed Nov 6 2013 Kris Van Hees - 0.4.1-3 - Fix 'errno' implementation. [Orabug: 17704568] * Wed Oct 26 2013 Kris Van Hees - 0.4.1-2 - Fix lock ordering issues. [Orabug: 17624236] +* Thu Oct 17 2013 Nick Alcock - 0.4.0-3 +- fix changelog, no code changes * Wed Oct 16 2013 Kris Van Hees - 0.4.1-1 - Align with new cyclic implementation in UEK3 kernel. [Orabug: 17553446] @@ -414,12 +221,6 @@ rm -rf %{buildroot} [Orabug: 17591351] - Ensure safe access to userspace stack memory location. [Orabug: 17591351] -%endif -%if %{dt_vcode} == %{dt_0_4_0} -* Thu Oct 17 2013 Nick Alcock - 0.4.0-3 -- fix changelog, no code changes -%endif -%if %{dt_vcode} >= %{dt_0_4_0} * Thu Oct 10 2013 Kris Van Hees - 0.4.0-2 - Bugfix for ustack() to avoid using vma data. * Wed Aug 7 2013 Kris Van Hees - 0.4.0-1 @@ -431,11 +232,8 @@ rm -rf %{buildroot} - Reimplemented ustack(). (Nick Alcock) [Orabug: 17591351] - Bugfixes. -%endif -%if %{dt_vcode} >= %{dt_0_3_2} * Fri Nov 2 2012 Nick Alcock - 0.3.2 - Release for new kernel and CTF section layout -%endif * Mon Oct 1 2012 Kris Van Hees - 0.3.1 - Skipped version number * Mon Sep 17 2012 Kris Van Hees - 0.3.0-2