From 1b8ccf841843b43f64afd5aaca38608e07b020e4 Mon Sep 17 00:00:00 2001 From: James Antill Date: Thu, 26 May 2022 09:49:47 -0400 Subject: [PATCH] Auto sync2gitlab import of iotop-0.6-17.el8.src.rpm --- .gitignore | 1 + EMPTY | 1 - iotop-0.3.2-batchprintutf8.patch | 12 +++ iotop-0.6-delayacctmsg.patch | 41 +++++++ iotop-0.6-git9c49d59.patch | 63 +++++++++++ iotop-0.6-gitab35334d.patch | 60 +++++++++++ iotop-0.6-gitdd4fcc71.patch | 52 +++++++++ iotop-0.6-noendcurses.patch | 21 ++++ iotop-0.6-python3.patch | 9 ++ iotop-python3build.patch | 32 ++++++ iotop.spec | 180 +++++++++++++++++++++++++++++++ sources | 1 + 12 files changed, 472 insertions(+), 1 deletion(-) create mode 100644 .gitignore delete mode 100644 EMPTY create mode 100644 iotop-0.3.2-batchprintutf8.patch create mode 100644 iotop-0.6-delayacctmsg.patch create mode 100644 iotop-0.6-git9c49d59.patch create mode 100644 iotop-0.6-gitab35334d.patch create mode 100644 iotop-0.6-gitdd4fcc71.patch create mode 100644 iotop-0.6-noendcurses.patch create mode 100644 iotop-0.6-python3.patch create mode 100644 iotop-python3build.patch create mode 100644 iotop.spec create mode 100644 sources diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..49ad3ec --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/iotop-0.6.tar.bz2 diff --git a/EMPTY b/EMPTY deleted file mode 100644 index 0519ecb..0000000 --- a/EMPTY +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/iotop-0.3.2-batchprintutf8.patch b/iotop-0.3.2-batchprintutf8.patch new file mode 100644 index 0000000..4e63bc0 --- /dev/null +++ b/iotop-0.3.2-batchprintutf8.patch @@ -0,0 +1,12 @@ +diff -up iotop-0.6/iotop/ui.py.batchprintutf8 iotop-0.6/iotop/ui.py +--- iotop-0.6/iotop/ui.py.batchprintutf8 2016-11-14 11:21:23.690185257 +0100 ++++ iotop-0.6/iotop/ui.py 2016-11-14 11:23:26.511040007 +0100 +@@ -444,7 +444,7 @@ class IOTopUI(object): + if self.options.quiet <= int(first_time): + print(''.join(titles)) + for l in lines: +- print(l) ++ print(l.encode('utf-8')) + sys.stdout.flush() + else: + self.win.erase() diff --git a/iotop-0.6-delayacctmsg.patch b/iotop-0.6-delayacctmsg.patch new file mode 100644 index 0000000..e4c6577 --- /dev/null +++ b/iotop-0.6-delayacctmsg.patch @@ -0,0 +1,41 @@ +diff -up iotop-0.6/iotop/data.py.delayacctmsg iotop-0.6/iotop/data.py +--- iotop-0.6/iotop/data.py.delayacctmsg 2022-02-15 21:52:27.206378348 +0100 ++++ iotop-0.6/iotop/data.py 2022-02-15 21:52:27.208378321 +0100 +@@ -32,7 +32,6 @@ import time + # Check for requirements: + # o Linux >= 2.6.20 with I/O accounting and VM event counters + # +- + ioaccounting = os.path.exists('/proc/self/io') + + try: +@@ -77,7 +76,7 @@ class Stats(DumpableObject): + ('cancelled_write_bytes', 264) + ] + +- has_blkio_delay_total = False ++ has_blkio_delay_total = None + + def __init__(self, task_stats_buffer): + sd = self.__dict__ +@@ -88,7 +87,7 @@ class Stats(DumpableObject): + # This is a heuristic to detect if CONFIG_TASK_DELAY_ACCT is enabled in + # the kernel. + if not Stats.has_blkio_delay_total: +- Stats.has_blkio_delay_total = self.blkio_delay_total != 0 ++ Stats.has_blkio_delay_total = sysctl_task_delayacct() + + def accumulate(self, other_stats, destination, coeff=1): + """Update destination from operator(self, other_stats)""" +diff -up iotop-0.6/iotop/ui.py.delayacctmsg iotop-0.6/iotop/ui.py +--- iotop-0.6/iotop/ui.py.delayacctmsg 2022-02-15 21:52:27.208378321 +0100 ++++ iotop-0.6/iotop/ui.py 2022-02-15 21:52:54.607013860 +0100 +@@ -489,7 +489,7 @@ class IOTopUI(object): + title = title[:remaining_cols] + remaining_cols -= len(title) + self.win.addstr(title, attr) +- if self.has_swapin_io: ++ if self.has_swapin_io is not False: + status_msg = None + else: + status_msg = ('CONFIG_TASK_DELAY_ACCT ' diff --git a/iotop-0.6-git9c49d59.patch b/iotop-0.6-git9c49d59.patch new file mode 100644 index 0000000..a10aef3 --- /dev/null +++ b/iotop-0.6-git9c49d59.patch @@ -0,0 +1,63 @@ +diff -up iotop-0.6/iotop/ui.py.git9c49d59 iotop-0.6/iotop/ui.py +--- iotop-0.6/iotop/ui.py.git9c49d59 2022-02-15 21:35:33.983889767 +0100 ++++ iotop-0.6/iotop/ui.py 2022-02-15 21:39:22.508839448 +0100 +@@ -184,6 +184,12 @@ class IOTopUI(object): + self.sorting_key += delta + self.sorting_key = max(0, self.sorting_key) + self.sorting_key = min(len(IOTopUI.sorting_keys) - 1, self.sorting_key) ++ if not self.has_swapin_io: ++ if self.sorting_key in (5, 6): ++ if delta <= 0: ++ self.sorting_key = 4 ++ elif delta > 0: ++ self.sorting_key = 7 + if orig_sorting_key != self.sorting_key: + self.sorting_reverse = IOTopUI.sorting_keys[self.sorting_key][1] + +@@ -377,14 +383,22 @@ class IOTopUI(object): + def format(p): + stats = format_stats(self.options, p, self.process_list.duration) + io_delay, swapin_delay, read_bytes, write_bytes = stats ++ format = '%%%dd' % MAX_PID_WIDTH ++ params = p.pid, ++ format += ' %4s' ++ params += p.get_ioprio(), ++ format += ' %-8s' ++ params += p.get_user()[:8], ++ format += ' %11s %11s' ++ params += read_bytes, write_bytes + if self.has_swapin_io: +- delay_stats = '%7s %7s ' % (swapin_delay, io_delay) +- else: +- delay_stats = ' ?unavailable? ' +- pid_format = '%%%dd' % MAX_PID_WIDTH +- line = (pid_format + ' %4s %-8s %11s %11s %s') % ( +- p.pid, p.get_ioprio(), p.get_user()[:8], read_bytes, +- write_bytes, delay_stats) ++ format += ' %7s %7s' ++ params += swapin_delay, io_delay ++ elif self.options.batch: ++ format += ' %s ' ++ params += '?unavailable?', ++ format += ' ' ++ line = format % (params) + cmdline = p.get_cmdline() + if not self.options.batch: + remaining_length = self.width - len(line) +@@ -439,6 +453,7 @@ class IOTopUI(object): + # and iotop then uses the sysctl value instead. + if sysctl_task_delayacct() == False: + self.has_swapin_io = False ++ self.adjust_sorting_key(0) + lines = self.get_data() + if self.options.time: + titles = [' TIME'] + titles +@@ -462,6 +477,8 @@ class IOTopUI(object): + self.width) + remaining_cols = self.width + for i in range(len(titles)): ++ if not self.has_swapin_io and i in (5, 6): ++ continue + attr = curses.A_REVERSE + title = titles[i] + if i == self.sorting_key: diff --git a/iotop-0.6-gitab35334d.patch b/iotop-0.6-gitab35334d.patch new file mode 100644 index 0000000..a312f13 --- /dev/null +++ b/iotop-0.6-gitab35334d.patch @@ -0,0 +1,60 @@ +diff -up iotop-0.6/iotop/data.py.gitab35334d iotop-0.6/iotop/data.py +--- iotop-0.6/iotop/data.py.gitab35334d 2022-02-15 21:51:20.828263067 +0100 ++++ iotop-0.6/iotop/data.py 2022-02-15 21:51:20.830263041 +0100 +@@ -453,3 +453,11 @@ class ProcessList(DumpableObject): + + def clear(self): + self.processes = {} ++ ++ ++def sysctl_task_delayacct(): ++ try: ++ with open('/proc/sys/kernel/task_delayacct') as f: ++ return bool(int(f.read().strip())) ++ except FileNotFoundError: ++ return None +diff -up iotop-0.6/iotop/ui.py.gitab35334d iotop-0.6/iotop/ui.py +--- iotop-0.6/iotop/ui.py.gitab35334d 2022-02-15 21:51:20.828263067 +0100 ++++ iotop-0.6/iotop/ui.py 2022-02-15 21:51:56.415788740 +0100 +@@ -30,7 +30,7 @@ import signal + import sys + import time + +-from iotop.data import find_uids, TaskStatsNetlink, ProcessList, Stats ++from iotop.data import find_uids, TaskStatsNetlink, ProcessList, Stats, sysctl_task_delayacct + from iotop.data import ThreadInfo + from iotop.version import VERSION + from iotop import ioprio +@@ -377,7 +377,7 @@ class IOTopUI(object): + def format(p): + stats = format_stats(self.options, p, self.process_list.duration) + io_delay, swapin_delay, read_bytes, write_bytes = stats +- if Stats.has_blkio_delay_total: ++ if self.has_swapin_io: + delay_stats = '%7s %7s ' % (swapin_delay, io_delay) + else: + delay_stats = ' ?unavailable? ' +@@ -431,6 +431,14 @@ class IOTopUI(object): + pid += 'TID' + titles = [pid, ' PRIO', ' USER', ' DISK READ', ' DISK WRITE', + ' SWAPIN', ' IO', ' COMMAND'] ++ self.has_swapin_io = Stats.has_blkio_delay_total ++ if self.has_swapin_io: ++ # Linux kernels without the sysctl return None and ++ # iotop just uses the heuristic for those versions. ++ # Linux kernels with the sysctl return True or False ++ # and iotop then uses the sysctl value instead. ++ if sysctl_task_delayacct() == False: ++ self.has_swapin_io = False + lines = self.get_data() + if self.options.time: + titles = [' TIME'] + titles +@@ -464,7 +472,7 @@ class IOTopUI(object): + title = title[:remaining_cols] + remaining_cols -= len(title) + self.win.addstr(title, attr) +- if Stats.has_blkio_delay_total: ++ if self.has_swapin_io: + status_msg = None + else: + status_msg = ('CONFIG_TASK_DELAY_ACCT ' diff --git a/iotop-0.6-gitdd4fcc71.patch b/iotop-0.6-gitdd4fcc71.patch new file mode 100644 index 0000000..413a8ca --- /dev/null +++ b/iotop-0.6-gitdd4fcc71.patch @@ -0,0 +1,52 @@ +diff -up iotop-0.6/iotop.8.gitdd4fcc71 iotop-0.6/iotop.8 +--- iotop-0.6/iotop.8.gitdd4fcc71 2013-05-27 00:44:18.000000000 +0200 ++++ iotop-0.6/iotop.8 2022-02-15 21:48:24.738610077 +0100 +@@ -10,7 +10,8 @@ iotop watches I/O usage information outp + 2.6.20 or later) and displays a table of current I/O usage by processes + or threads on the system. At least the CONFIG_TASK_DELAY_ACCT, + CONFIG_TASK_IO_ACCOUNTING, CONFIG_TASKSTATS and CONFIG_VM_EVENT_COUNTERS +-options need to be enabled in your Linux kernel build configuration. ++options need to be enabled in your Linux kernel build configuration and ++since Linux kernel 5.14, the kernel.task_delayacct sysctl enabled. + .PP + iotop displays columns for the I/O bandwidth read and written by each + process/thread during the sampling period. It also displays the percentage +diff -up iotop-0.6/iotop/data.py.gitdd4fcc71 iotop-0.6/iotop/data.py +--- iotop-0.6/iotop/data.py.gitdd4fcc71 2013-05-27 00:44:18.000000000 +0200 ++++ iotop-0.6/iotop/data.py 2022-02-15 21:48:24.738610077 +0100 +@@ -49,7 +49,7 @@ if not ioaccounting or not vm_event_coun + if not ioaccounting: + print(' - I/O accounting support ' \ + '(CONFIG_TASKSTATS, CONFIG_TASK_DELAY_ACCT, ' \ +- 'CONFIG_TASK_IO_ACCOUNTING)') ++ 'CONFIG_TASK_IO_ACCOUNTING, kernel.task_delayacct sysctl)') + if not vm_event_counters: + print(' - VM event counters (CONFIG_VM_EVENT_COUNTERS)') + sys.exit(1) +diff -up iotop-0.6/iotop/ui.py.gitdd4fcc71 iotop-0.6/iotop/ui.py +--- iotop-0.6/iotop/ui.py.gitdd4fcc71 2022-02-15 21:48:24.738610077 +0100 ++++ iotop-0.6/iotop/ui.py 2022-02-15 21:50:55.382602220 +0100 +@@ -467,7 +467,9 @@ class IOTopUI(object): + if Stats.has_blkio_delay_total: + status_msg = None + else: +- status_msg = ('CONFIG_TASK_DELAY_ACCT not enabled in kernel, ' ++ status_msg = ('CONFIG_TASK_DELAY_ACCT ' ++ 'and kernel.task_delayacct sysctl ' ++ 'not enabled in kernel, ' + 'cannot determine SWAPIN and IO %') + num_lines = min(len(lines), self.height - 2 - int(bool(status_msg))) + for i in range(num_lines): +diff -up iotop-0.6/README.gitdd4fcc71 iotop-0.6/README +--- iotop-0.6/README.gitdd4fcc71 2013-05-27 00:44:18.000000000 +0200 ++++ iotop-0.6/README 2022-02-15 21:48:24.738610077 +0100 +@@ -1,7 +1,8 @@ + Iotop is a Python program with a top like UI used to show of behalf of which + process is the I/O going on. It requires Python >= 2.7 and a Linux kernel >= + 2.6.20 with the CONFIG_TASK_DELAY_ACCT CONFIG_TASKSTATS, +-CONFIG_TASK_IO_ACCOUNTING and CONFIG_VM_EVENT_COUNTERS options on. ++CONFIG_TASK_IO_ACCOUNTING and CONFIG_VM_EVENT_COUNTERS build options on ++and for Linux kernels since 5.14, the kernel.task_delayacct sysctl enabled. + + + To run a local version of iotop: diff --git a/iotop-0.6-noendcurses.patch b/iotop-0.6-noendcurses.patch new file mode 100644 index 0000000..b3529d4 --- /dev/null +++ b/iotop-0.6-noendcurses.patch @@ -0,0 +1,21 @@ +diff -up iotop-0.6/iotop/ui.py.noendcurses iotop-0.6/iotop/ui.py +--- iotop-0.6/iotop/ui.py.noendcurses 2014-12-03 17:50:38.941430261 +0100 ++++ iotop-0.6/iotop/ui.py 2014-12-03 17:51:40.108064465 +0100 +@@ -520,6 +525,17 @@ Please do not file bugs on iotop about t + sys.exit(1) + else: + raise ++ except curses.error as e: ++ stre = str(e) ++ if stre.find('ERR')>=0 and ( ++ stre.find('nocbreak()')>=0 or stre.find('endwin()')>=0 ++ ): ++ pass ++ # endwin and nocbreak can cause error (and raise hard to catch ++ # exception) if iotop was running in the terminal and that ++ # terminal got closed while iotop was still running ++ else: ++ raise + + # + # Profiling diff --git a/iotop-0.6-python3.patch b/iotop-0.6-python3.patch new file mode 100644 index 0000000..550a194 --- /dev/null +++ b/iotop-0.6-python3.patch @@ -0,0 +1,9 @@ +diff -ru iotop-0.6.orign/sbin/iotop iotop-0.6/sbin/iotop +--- iotop-0.6.orign/sbin/iotop 2013-05-27 00:44:18.000000000 +0200 ++++ iotop-0.6/sbin/iotop 2015-11-15 22:47:24.468058681 +0100 +@@ -1,4 +1,4 @@ +-#!/usr/bin/python ++#!/usr/bin/python3 + # iotop: Display I/O usage of processes in a top like UI + # Copyright (c) 2007, 2008 Guillaume Chazarain , GPLv2 + # See iotop --help for some help diff --git a/iotop-python3build.patch b/iotop-python3build.patch new file mode 100644 index 0000000..55b73db --- /dev/null +++ b/iotop-python3build.patch @@ -0,0 +1,32 @@ +From 99c8d7cedce81f17b851954d94bfa73787300599 Mon Sep 17 00:00:00 2001 +From: Christophe Vu-Brugier +Date: Fri, 17 Oct 2014 13:49:31 +0200 +Subject: [PATCH] Fix build error with Python 3 caused by itervalues() in + setup.py + +The itervalues() method is not available in Python 3. As a +consequence, this patch replaces the call to itervalues() in setup.py +with a call to values() which works on both Python 2 and Python 3. + +Signed-off-by: Christophe Vu-Brugier +Signed-off-by: Paul Wise +--- + setup.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/setup.py b/setup.py +index 7150102..9de6068 100755 +--- a/setup.py ++++ b/setup.py +@@ -7,7 +7,7 @@ from iotop.version import VERSION + # Dirty hack to make setup.py install the iotop script to sbin/ instead of bin/ + # while still honoring the choice of installing into local/ or not. + if hasattr(distutils_install, 'INSTALL_SCHEMES'): +- for d in distutils_install.INSTALL_SCHEMES.itervalues(): ++ for d in distutils_install.INSTALL_SCHEMES.values(): + if d.get('scripts', '').endswith('/bin'): + d['scripts'] = d['scripts'][:-len('/bin')] + '/sbin' + +-- +2.4.10.GIT + diff --git a/iotop.spec b/iotop.spec new file mode 100644 index 0000000..d0586f1 --- /dev/null +++ b/iotop.spec @@ -0,0 +1,180 @@ +Name: iotop +Version: 0.6 +Release: 17%{?dist} +Summary: Top like utility for I/O +License: GPLv2+ +URL: http://guichaz.free.fr/iotop/ +Source0: http://guichaz.free.fr/iotop/files/%{name}-%{version}.tar.bz2 + +# rhbz#1035503 +Patch0: iotop-0.6-noendcurses.patch +Patch1: iotop-0.6-python3.patch + +# Fix build error with Python 3 caused by itervalues() in setup.py +# http://repo.or.cz/iotop.git/commit/99c8d7cedce81f17b851954d94bfa73787300599 +Patch2: iotop-python3build.patch + +# sent upstream, iotop <= 0.6, rhbz#1285088 +Patch3: iotop-0.3.2-batchprintutf8.patch + +# 3x from upstream, iotop <= 0.6, prerequisities for rhbz#1679201 +Patch4: iotop-0.6-gitdd4fcc71.patch +Patch5: iotop-0.6-gitab35334d.patch +Patch6: iotop-0.6-git9c49d59.patch + +# rhbz#1679201 +Patch7: iotop-0.6-delayacctmsg.patch + +BuildArch: noarch +BuildRequires: python3-devel + +%description +Linux has always been able to show how much I/O was going on +(the bi and bo columns of the vmstat 1 command). +iotop is a Python program with a top like UI used to +show of behalf of which process is the I/O going on. + +%prep +%setup -n %{name}-%{version} +%patch0 -p1 -b .noendcurses +%patch1 -p1 -b .python3 +%patch2 -p1 +%patch3 -p1 -b .batchprintutf8 +%patch4 -p1 -b .gitdd4fcc71 +%patch5 -p1 -b .gitab35334d +%patch6 -p1 -b .git9c49d59 +%patch7 -p1 -b .delayacctmsg + +%build +%py3_build + +%install +%py3_install + +%files -n %{name} +%doc NEWS THANKS README ChangeLog +%license COPYING +%{python3_sitelib}/* +%{_sbindir}/iotop +%{_mandir}/man8/iotop.* + +%changelog +* Mon Feb 14 2022 Michal Hlavinka - 0.6-17 +- do not show DELAY_ACCT error for non-existent pids(#1679201) + +* Wed Feb 07 2018 Fedora Release Engineering - 0.6-16 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 0.6-15 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Fri Feb 10 2017 Fedora Release Engineering - 0.6-14 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Mon Dec 19 2016 Miro HronĨok - 0.6-13 +- Rebuild for Python 3.6 + +* Mon Nov 14 2016 Michal Hlavinka - 0.6-12 +- fix printing unicode strings in batch mode (#1285088) + +* Tue Jul 19 2016 Fedora Release Engineering - 0.6-11 +- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages + +* Mon Feb 29 2016 Charalampos Stratakis - 0.6-10 +- SPEC file cleanup +- Added licence tag +- Removal of old and unneeded macros +- Use of newest python macros +- Removed Python 2 dependency +- Added patch for Python 3 build + +* Thu Feb 04 2016 Fedora Release Engineering - 0.6-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Sun Nov 15 2015 Adel Gadllah - 0.6-8 +- Fix python3 patch + +* Sun Nov 15 2015 Adel Gadllah - 0.6-7 +- Rebuilt with python3 - RH#1282262 + +* Wed Jun 17 2015 Fedora Release Engineering - 0.6-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Fri Jan 30 2015 Michal Hlavinka - 0.6-5 +- always ignore nocbreak errors, there is way too many false positives (#1035503) + +* Wed Dec 03 2014 Michal Hlavinka - 0.6-4 +- ignore curses failures during termination (#1035503) + +* Sat Jun 07 2014 Fedora Release Engineering - 0.6-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Sat Aug 03 2013 Fedora Release Engineering - 0.6-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Wed May 29 2013 Michal Hlavinka - 0.6-1 +- iotop updated to 0.6 + +* Tue Feb 05 2013 Michal Hlavinka - 0.5-1 +- iotop updated to 0.5 + +* Thu Jul 19 2012 Fedora Release Engineering - 0.4.4-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Fri Jan 13 2012 Fedora Release Engineering - 0.4.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Wed Nov 16 2011 Michal Hlavinka - 0.4.4-1 +- iotop updated to 0.4.4 + +* Fri Oct 14 2011 Michal Hlavinka 0.4.3-3 +- fix typo in last patch + +* Thu Oct 13 2011 Michal Hlavinka 0.4.3-2 +- after CVE-2011-2494 fix, iotop needs root privileges + +* Sun Sep 18 2011 Adel Gadllah 0.4.3-1 +- New upstream version + +* Wed Feb 09 2011 Fedora Release Engineering - 0.4-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Wed Jul 21 2010 David Malcolm - 0.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild + +* Tue Jan 12 2010 Adel Gadllah 0.4-1 +- New upstream version + +* Fri Jul 24 2009 Fedora Release Engineering - 0.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Tue May 19 2009 Adel Gadllah 0.3-1 +- New upstream version +- fixes RH #475917 + +* Tue Feb 24 2009 Fedora Release Engineering - 0.2.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Sat Nov 29 2008 Ignacio Vazquez-Abrams - 0.2.1-2 +- Rebuild for Python 2.6 + +* Wed Jul 09 2008 Adel Gadllah 0.2.1-1 +- Update to 0.2.1 + +* Mon Jul 07 2008 Adel Gadllah 0.2-2 +- New upstream tarball.. + +* Mon May 26 2008 Adel Gadllah 0.2-1 +- Update to new upstream version + +* Fri Dec 28 2007 Adel Gadllah 0.1-3 +- Fix build issue + +* Fri Dec 28 2007 Adel Gadllah 0.1-2 +- Fix traceback on xterm-color RH #400071 + +* Sat Nov 3 2007 Adel Gadllah 0.1-1 +- Fix version + +* Sat Nov 3 2007 Adel Gadllah 20070930-1 +- Initial Build diff --git a/sources b/sources new file mode 100644 index 0000000..9b4a633 --- /dev/null +++ b/sources @@ -0,0 +1 @@ +SHA512 (iotop-0.6.tar.bz2) = b1047da3bc46604447cc8ab22442a3a5381e1a79a6b176fe9ee8402ee5cebb959205407a6aeaffccccde9d2f67624ff8ee6717b051838f13ab88bf3a16db3ab9