Compare commits

...

No commits in common. "c8" and "8074e3e756ab342880184fd90126766b1613bd5d" have entirely different histories.

8 changed files with 168 additions and 15 deletions

View File

@ -1 +1 @@
da76ff5b2387443de5a1ee9ca32e165881959868 SOURCES/blktrace-1.2.0.tar.bz2 da76ff5b2387443de5a1ee9ca32e165881959868 blktrace-1.2.0.tar.bz2

8
.gitignore vendored
View File

@ -1 +1,7 @@
SOURCES/blktrace-1.2.0.tar.bz2 blktrace-1.0.1.tar.bz2
/blktrace-1.0.2.tar.bz2
/blktrace-1.0.3.tar.bz2
/blktrace-1.0.4.tar.bz2
/blktrace-1.0.5.tar.bz2
/blktrace-1.1.0.tar.bz2
/blktrace-1.2.0.tar.bz2

View File

@ -0,0 +1,70 @@
From 519fd9a5d08d85f3d9cb4192d624fe8351e40232 Mon Sep 17 00:00:00 2001
From: "Robin H. Johnson" <robbat2@gentoo.org>
Date: Tue, 23 Jan 2018 17:57:55 -0500
Subject: [PATCH] fix parallel build failures
When building in parallel, the btreplay/btrecord and btreplay/btreplay
targets cause make to kick off two jobs for `make -C btreplay` and they
sometimes end up clobbering each other. We could fix this by making one
a dependency of the other, but it's a bit cleaner to refactor things to
be based on subdirs. This way changes in subdirs also get noticed:
$ touch btreplay/*.[ch]
$ make
<btreplay is now correctly updated>
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
---
Makefile | 24 ++++++++++--------------
1 file changed, 10 insertions(+), 14 deletions(-)
diff --git a/Makefile b/Makefile
index 68de591..5917814 100644
--- a/Makefile
+++ b/Makefile
@@ -4,23 +4,19 @@ ALL_CFLAGS = $(CFLAGS) -D_GNU_SOURCE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
PROGS = blkparse blktrace verify_blkparse blkrawverify blkiomon
LIBS = -lpthread
SCRIPTS = btrace
+SUBDIRS = btreplay btt iowatcher
-ALL = $(PROGS) $(SCRIPTS) btt/btt btreplay/btrecord btreplay/btreplay \
+ALL = $(PROGS) $(SCRIPTS)
+INSTALL_ALL = $(ALL) btt/btt btreplay/btrecord btreplay/btreplay \
btt/bno_plot.py iowatcher/iowatcher
-all: $(ALL)
+all: $(ALL) $(SUBDIRS)
-btt/btt:
- $(MAKE) -C btt
-
-iowatcher/iowatcher:
- $(MAKE) -C iowatcher
-
-btreplay/btrecord:
- $(MAKE) -C btreplay
-
-btreplay/btreplay:
- $(MAKE) -C btreplay
+# We always descend into subdirs because they contain their own dependency
+# information which we don't track in this top level Makefile.
+$(SUBDIRS):
+ $(MAKE) -C $@
+.PHONY: $(SUBDIRS)
%.o: %.c
$(CC) -o $*.o -c $(ALL_CFLAGS) $<
@@ -85,7 +81,7 @@ install: all
$(INSTALL) -m 755 -d $(DESTDIR)$(bindir)
$(INSTALL) -m 755 -d $(DESTDIR)$(mandir)/man1
$(INSTALL) -m 755 -d $(DESTDIR)$(mandir)/man8
- $(INSTALL) -m 755 $(ALL) $(DESTDIR)$(bindir)
+ $(INSTALL) -m 755 $(INSTALL_ALL) $(DESTDIR)$(bindir)
$(INSTALL) -m 644 doc/*.1 $(DESTDIR)$(mandir)/man1
$(INSTALL) -m 644 doc/*.8 $(DESTDIR)$(mandir)/man8
--
2.25.3

View File

@ -0,0 +1,38 @@
From f4f8ef7cdea138cfaa2f3ca0ee31fa23d3bcf1cc Mon Sep 17 00:00:00 2001
From: Gwendal Grignou <gwendal@chromium.org>
Date: Thu, 16 Jan 2020 12:33:26 -0800
Subject: [PATCH] fix parallel build of btt and blkiomon
rbtree.c is used by both binaries. It is possible that when make -C btt
is invoked rbtree.o does not exist yet, but is already schedule by the
compilation of blkiomon. That could result in recompiling rbtree.o again
for btt/btt.
In that case, at install time, make will recompile blkiomon which can
fail in gentoo, because CC variable is not overriden by ebuild script at
install time. (see https://bugs.gentoo.org/705594)
Add a dependency on SUBDIRS to wait for all binary in . to be compiled.
It will guarante rbtree.o exists.
Signed-off-by: Gwendal Grignou <gwendal@chromium.org>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
---
Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile b/Makefile
index 5917814..eb3c6a1 100644
--- a/Makefile
+++ b/Makefile
@@ -14,7 +14,7 @@ all: $(ALL) $(SUBDIRS)
# We always descend into subdirs because they contain their own dependency
# information which we don't track in this top level Makefile.
-$(SUBDIRS):
+$(SUBDIRS): $(PROGS)
$(MAKE) -C $@
.PHONY: $(SUBDIRS)
--
2.25.3

View File

@ -188,3 +188,5 @@ Index: blktrace-1.2.0/btt/btt_plot.py
if not file in ['min_x', 'max_x', 'min_y', 'max_y']: if not file in ['min_x', 'max_x', 'min_y', 'max_y']:
keys.append(file) keys.append(file)

View File

@ -1,17 +1,21 @@
Summary: Utilities for performing block layer IO tracing in the Linux kernel Summary: Utilities for performing block layer IO tracing in the Linux kernel
Name: blktrace Name: blktrace
Version: 1.2.0 Version: 1.2.0
Release: 10%{?dist} Release: 19%{?dist}
License: GPLv2+ License: GPLv2+
Group: Development/System
Source: http://brick.kernel.dk/snaps/blktrace-%{version}.tar.bz2 Source: http://brick.kernel.dk/snaps/blktrace-%{version}.tar.bz2
Url: http://brick.kernel.dk/snaps Url: http://brick.kernel.dk/snaps
Requires: librsvg2-tools
BuildRequires: python3-devel BuildRequires: python3-devel
BuildRequires: gcc, libaio-devel, librsvg2-devel BuildRequires: gcc, libaio-devel, librsvg2-devel
BuildRequires: make
Patch0: blktrace-fix-btt-overflow.patch Patch0: blktrace-fix-btt-overflow.patch
Patch1: blktrace-python3.patch Patch1: blktrace-python3.patch
Patch2: 0001-fix-parallel-build-failures.patch
Patch3: 0001-fix-parallel-build-of-btt-and-blkiomon.patch
%description %description
blktrace is a block layer IO tracing mechanism which provides detailed blktrace is a block layer IO tracing mechanism which provides detailed
@ -22,17 +26,18 @@ and blkparse, a utility which formats trace data collected by blktrace.
You should install the blktrace package if you need to gather detailed You should install the blktrace package if you need to gather detailed
information about IO patterns. information about IO patterns.
%prep %prep
%setup -q %setup -q
%patch0 -p1 %patch0 -p1
%patch1 -p1 %patch1 -p1
%patch2 -p1
%patch3 -p1
sed -i '1s=^#!/usr/bin/python3=#!%{__python3}=' \ sed -i '1s=^#!/usr/bin/python3=#!%{__python3}=' \
btt/{btt_plot.py,bno_plot.py} btt/{btt_plot.py,bno_plot.py}
%build %build
make CFLAGS="%{optflags} %{build_ldflags}" all %{make_build} CFLAGS="%{optflags} %{build_ldflags}" all
%install %install
rm -rf %{buildroot} rm -rf %{buildroot}
@ -63,7 +68,7 @@ make dest=%{buildroot} prefix=%{buildroot}/%{_prefix} mandir=%{buildroot}/%{_man
%package -n iowatcher %package -n iowatcher
Summary: Utility for visualizing block layer IO patterns and performance Summary: Utility for visualizing block layer IO patterns and performance
Requires: blktrace sysstat theora-tools librsvg2-tools Requires: blktrace sysstat theora-tools
%description -n iowatcher %description -n iowatcher
iowatcher generates graphs from blktrace runs to help visualize IO patterns and iowatcher generates graphs from blktrace runs to help visualize IO patterns and
@ -80,19 +85,50 @@ information about IO patterns.
%{_mandir}/man1/iowatcher.* %{_mandir}/man1/iowatcher.*
%changelog %changelog
* Tue May 14 2019 Eric Sandeen <sandeen@redhat.com> - 1.2.0-10 * Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 1.2.0-19
- Add librsvg2-tools dependency to iowatcher (#1700065) - Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
Related: rhbz#1991688
* Wed Jun 20 2018 Tomas Orsava <torsava@redhat.com> - 1.2.0-9 * Thu Apr 15 2021 Mohan Boddu <mboddu@redhat.com> - 1.2.0-18
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.0-17
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.0-16
- Second attempt - Rebuilt for
https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.0-15
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Tue May 05 2020 Tom Stellard <tstellar@redhat.com> - 1.2.0-14
- Backport patches from upstream to fix parallel builds
* Mon Feb 03 2020 Tom Stellard <tstellar@redhat.com> - 1.2.0-13
- Use make_build macro instead of plain make
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.0-12
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.0-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Thu May 2 2019 Eric Sandeen <sandeen@redhat.com> - 1.2.0-10
- Add Requires: librsvg2-tools to support building videos (#1700062)
* Mon Feb 11 2019 Eric Sandeen <sandeen@redhat.com> - 1.2.0-9
- Make scripts python3-ready
- Use LDFLAGS from redhat-rpm-config
- Switch hardcoded python3 shebangs into the %%{__python3} macro - Switch hardcoded python3 shebangs into the %%{__python3} macro
- Add missing BuildRequires on python3-devel so that %%{__python3} macro is - Add missing BuildRequires on python3-devel so that %%{__python3} macro is
defined defined
* Thu May 24 2018 Eric Sandeen <sandeen@redhat.com> - 1.2.0-8 * Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.0-8
- Fix CVE-2018-10689 buffer overflow (#1575121) - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Wed May 16 2018 Eric Sandeen <sandeen@redhat.com> - 1.2.0-7 * Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.0-7
- Make scripts python3-ready - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Mon May 07 2018 Eric Sandeen <sandeen@redhat.com> - 1.2.0-6 * Mon May 07 2018 Eric Sandeen <sandeen@redhat.com> - 1.2.0-6
- Fix for CVE-2018-10689 (#1575120) - Fix for CVE-2018-10689 (#1575120)

1
sources Normal file
View File

@ -0,0 +1 @@
SHA512 (blktrace-1.2.0.tar.bz2) = ce82c8010ca5c2868746d8eb7c6a107fc7382c05df949eeff79e612f5b1a98301a5aa5ab39de0766ea1c074f95e378ba985401cbeba9a296e3182da7d7a23b86