From 13a8210f167d5dd22115c839336873e42ac498e182050e37a961f4da7d1c6632 Mon Sep 17 00:00:00 2001 From: Michael Matz Date: Mon, 12 Feb 2018 15:44:31 +0000 Subject: [PATCH 1/2] Accepting request 574715 from home:matz2:branches:devel:tools - Don't include the headers files in sdt-devel - Add systemtap-headers to Requires of sdt-devel, so that it provides the same files as before. [fate#324969] - Created new specfile systemtap-headers.spec, so bootstrap cycles packages can use them without blowing up the cycle. [fate#324969] OBS-URL: https://build.opensuse.org/request/show/574715 OBS-URL: https://build.opensuse.org/package/show/devel:tools/systemtap?expand=0&rev=96 --- systemtap-headers.changes | 6 ++++ systemtap-headers.spec | 61 +++++++++++++++++++++++++++++++++++++++ systemtap.changes | 7 +++++ systemtap.spec | 4 ++- 4 files changed, 77 insertions(+), 1 deletion(-) create mode 100644 systemtap-headers.changes create mode 100644 systemtap-headers.spec diff --git a/systemtap-headers.changes b/systemtap-headers.changes new file mode 100644 index 0000000..31eddd4 --- /dev/null +++ b/systemtap-headers.changes @@ -0,0 +1,6 @@ +------------------------------------------------------------------- +Thu Feb 8 15:26:17 UTC 2018 - matz@suse.com + +- Created new specfile systemtap-headers.spec, so bootstrap cycles + packages can use them without blowing up the cycle. + [fate#324969] diff --git a/systemtap-headers.spec b/systemtap-headers.spec new file mode 100644 index 0000000..213c5a0 --- /dev/null +++ b/systemtap-headers.spec @@ -0,0 +1,61 @@ +# +# spec file for package systemtap-headers +# +# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + + +%if ! %{defined _rundir} +%define _rundir %{_localstatedir}/run +%endif +Name: systemtap-headers +Version: 3.2 +Release: 0 +Summary: SystemTap headers +License: GPL-2.0+ +Group: Development/Tools/Debuggers +Url: http://sourceware.org/systemtap/ +Source0: http://sourceware.org/systemtap/ftp/releases/systemtap-%{version}.tar.gz +Source1: http://sourceware.org/systemtap/ftp/releases/systemtap-%{version}.tar.gz.asc +Source2: systemtap.keyring +Source3: README-BEFORE-ADDING-PATCHES +Source4: README-KEYRING +Source5: stap-server.conf +Patch1: systemtap-build-source-dir.patch +Patch2: systemtap-change-extra_cflags-escape-processing.patch +BuildRoot: %{_tmppath}/%{name}-%{version}-build + +%description +SystemTap is an instrumentation system for systems running Linux. +This package contains the headers for static system probes. + +%prep +%setup -q -n systemtap-%{version} +%patch1 -p1 +%patch2 -p1 + +%build +# Our binutils always support '?' in the section characters on all +# architectures, no need for configure tests +sed -e 's/@support_section_question@/1/' < includes/sys/sdt-config.h.in > includes/sys/sdt-config.h + +%install +mkdir -p %{buildroot}%{_includedir}/sys +cp -rp includes/sys/*.h %{buildroot}%{_includedir}/sys/ + +%files +%defattr(-,root,root) +%{_includedir}/sys/*.h + +%changelog diff --git a/systemtap.changes b/systemtap.changes index a54e163..7d62df0 100644 --- a/systemtap.changes +++ b/systemtap.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Thu Feb 8 15:28:32 UTC 2018 - matz@suse.com + +- Don't include the headers files in sdt-devel +- Add systemtap-headers to Requires of sdt-devel, so that it + provides the same files as before. [fate#324969] + ------------------------------------------------------------------- Mon Nov 20 23:01:35 UTC 2017 - tonyj@suse.com diff --git a/systemtap.spec b/systemtap.spec index 348b831..99c5e28 100644 --- a/systemtap.spec +++ b/systemtap.spec @@ -85,6 +85,7 @@ This package contains the server component of systemtap. Summary: Static probe support tools Group: Development/Tools/Debuggers Requires: %{name} = %{version}-%{release} +Requires: %{name}-headers = %{version}-%{release} %description sdt-devel SystemTap is an instrumentation system for systems running Linux. @@ -111,6 +112,8 @@ rm -f %{buildroot}%{_libexecdir}/systemtap/stap-server-request rm -rf %{buildroot}%{_docdir}/systemtap/ rm -rf %{buildroot}%{_datadir}/systemtap/examples rm -rf %{buildroot}%{_mandir}/man3 %{buildroot}%{_mandir}/cs/man3 +# the headers come from systemtap-headers, a separate .spec file +rm -rf %{buildroot}%{_includedir}/sys mkdir -p %{buildroot}%{_docdir}/systemtap/ cp COPYING %{buildroot}%{_docdir}/systemtap/ mkdir -p %{buildroot}%{_localstatedir}/cache/systemtap @@ -174,6 +177,5 @@ systemd-tmpfiles --create %{_libexecdir}/tmpfiles.d/stap-server.conf %files sdt-devel %defattr(-,root,root) %{_bindir}/dtrace -%{_includedir}/sys/*.h %changelog From 49da3875a709395cca6d5783e833c3c85acd5c0743ccbdf0efa962e805746337 Mon Sep 17 00:00:00 2001 From: Michael Matz Date: Tue, 20 Feb 2018 12:53:55 +0000 Subject: [PATCH 2/2] Accepting request 578031 from home:matz2:branches:devel:tools - Add Conflicts with systemtap-sdt-devel, as that one again provides the headers as well. - Care for pecularities of build counter syncs between different build rings: the Requires from sdt-devel can't use %release for systemtap-headers, but we also don't want to just include %version, so separate both totally: * Add the include headers to sdt-devel again. * Add Conflicts with systemtap-headers to care for the resulting file conflicts. * Remove Require from sdt-devel to systemtap-headers again. OBS-URL: https://build.opensuse.org/request/show/578031 OBS-URL: https://build.opensuse.org/package/show/devel:tools/systemtap?expand=0&rev=97 --- systemtap-headers.changes | 6 ++++++ systemtap-headers.spec | 12 +++++++++++- systemtap.changes | 12 ++++++++++++ systemtap.spec | 7 ++++--- 4 files changed, 33 insertions(+), 4 deletions(-) diff --git a/systemtap-headers.changes b/systemtap-headers.changes index 31eddd4..69e7734 100644 --- a/systemtap-headers.changes +++ b/systemtap-headers.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Fri Feb 16 15:20:50 UTC 2018 - matz@suse.com + +- Add Conflicts with systemtap-sdt-devel, as that one again + provides the headers as well. + ------------------------------------------------------------------- Thu Feb 8 15:26:17 UTC 2018 - matz@suse.com diff --git a/systemtap-headers.spec b/systemtap-headers.spec index 213c5a0..82dda9b 100644 --- a/systemtap-headers.spec +++ b/systemtap-headers.spec @@ -16,6 +16,11 @@ # +# Note: this separate package systemtap-headers exists so that ring0 +# packages can make use of the SDT headers without pulling in all +# build requirements of the normal systemtap package. Normal use +# outside of BuildRequires in ring0 packages should use systemtap-sdt-devel + %if ! %{defined _rundir} %define _rundir %{_localstatedir}/run %endif @@ -26,6 +31,9 @@ Summary: SystemTap headers License: GPL-2.0+ Group: Development/Tools/Debuggers Url: http://sourceware.org/systemtap/ +# sdt-devel provides the same header files as us, so we +# must conflict +Conflicts: systemtap-sdt-devel Source0: http://sourceware.org/systemtap/ftp/releases/systemtap-%{version}.tar.gz Source1: http://sourceware.org/systemtap/ftp/releases/systemtap-%{version}.tar.gz.asc Source2: systemtap.keyring @@ -38,7 +46,9 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-build %description SystemTap is an instrumentation system for systems running Linux. -This package contains the headers for static system probes. +This package contains only the headers for static system probes and +exists only to limit build cycles. Normally you should install +systemtap-sdt-devel, which also contains these headers. %prep %setup -q -n systemtap-%{version} diff --git a/systemtap.changes b/systemtap.changes index 7d62df0..39c2492 100644 --- a/systemtap.changes +++ b/systemtap.changes @@ -1,3 +1,15 @@ +------------------------------------------------------------------- +Fri Feb 16 15:28:22 UTC 2018 - matz@suse.com + +- Care for pecularities of build counter syncs between different + build rings: the Requires from sdt-devel can't use %release + for systemtap-headers, but we also don't want to just include + %version, so separate both totally: + * Add the include headers to sdt-devel again. + * Add Conflicts with systemtap-headers to care for the resulting + file conflicts. + * Remove Require from sdt-devel to systemtap-headers again. + ------------------------------------------------------------------- Thu Feb 8 15:28:32 UTC 2018 - matz@suse.com diff --git a/systemtap.spec b/systemtap.spec index 99c5e28..3e5005d 100644 --- a/systemtap.spec +++ b/systemtap.spec @@ -84,8 +84,10 @@ This package contains the server component of systemtap. %package sdt-devel Summary: Static probe support tools Group: Development/Tools/Debuggers +# systemtap-headers provides the same header files +# as sdt-devel, so we must conflict. +Conflicts: systemtap-headers Requires: %{name} = %{version}-%{release} -Requires: %{name}-headers = %{version}-%{release} %description sdt-devel SystemTap is an instrumentation system for systems running Linux. @@ -112,8 +114,6 @@ rm -f %{buildroot}%{_libexecdir}/systemtap/stap-server-request rm -rf %{buildroot}%{_docdir}/systemtap/ rm -rf %{buildroot}%{_datadir}/systemtap/examples rm -rf %{buildroot}%{_mandir}/man3 %{buildroot}%{_mandir}/cs/man3 -# the headers come from systemtap-headers, a separate .spec file -rm -rf %{buildroot}%{_includedir}/sys mkdir -p %{buildroot}%{_docdir}/systemtap/ cp COPYING %{buildroot}%{_docdir}/systemtap/ mkdir -p %{buildroot}%{_localstatedir}/cache/systemtap @@ -176,6 +176,7 @@ systemd-tmpfiles --create %{_libexecdir}/tmpfiles.d/stap-server.conf %files sdt-devel %defattr(-,root,root) +%{_includedir}/sys/*.h %{_bindir}/dtrace %changelog