From 4481de905734c873d8ccfe4f2e0b2af4304bb8a3 Mon Sep 17 00:00:00 2001 From: Toshaan Bharvani Date: Sun, 13 Oct 2024 16:11:56 +0200 Subject: [PATCH] initial package creationg Signed-off-by: Toshaan Bharvani --- ...76AAAC1B0FF849792D8CB129A794FD2272BC86.gpg | Bin 0 -> 4529 bytes ...Prefer-clock_gettime-CLOCK_MONOTONIC.patch | 108 ++++++ .../time-1.9-Close-outfp-before-exec.patch | 34 ++ ...fo-directory-index-entry-description.patch | 32 ++ ...stead-of-kilobytes-in-a-documentatio.patch | 189 ++++++++++ SPECS/time.spec | 354 ++++++++++++++++++ 6 files changed, 717 insertions(+) create mode 100644 SOURCES/gpgkey-F576AAAC1B0FF849792D8CB129A794FD2272BC86.gpg create mode 100644 SOURCES/time-1.8-Prefer-clock_gettime-CLOCK_MONOTONIC.patch create mode 100644 SOURCES/time-1.9-Close-outfp-before-exec.patch create mode 100644 SOURCES/time-1.9-Improve-info-directory-index-entry-description.patch create mode 100644 SOURCES/time-1.9-Use-kibibytes-instead-of-kilobytes-in-a-documentatio.patch create mode 100644 SPECS/time.spec diff --git a/SOURCES/gpgkey-F576AAAC1B0FF849792D8CB129A794FD2272BC86.gpg b/SOURCES/gpgkey-F576AAAC1B0FF849792D8CB129A794FD2272BC86.gpg new file mode 100644 index 0000000000000000000000000000000000000000..c17e1624260aff4dd566355b6dd34e03aa523431 GIT binary patch literal 4529 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 literal 0 HcmV?d00001 diff --git a/SOURCES/time-1.8-Prefer-clock_gettime-CLOCK_MONOTONIC.patch b/SOURCES/time-1.8-Prefer-clock_gettime-CLOCK_MONOTONIC.patch new file mode 100644 index 0000000..ec5c8aa --- /dev/null +++ b/SOURCES/time-1.8-Prefer-clock_gettime-CLOCK_MONOTONIC.patch @@ -0,0 +1,108 @@ +From a3c400a8553b598bc2fd01eb0f63c5748b2147e1 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= +Date: Wed, 8 Nov 2017 17:02:42 +0100 +Subject: [PATCH] Prefer clock_gettime(CLOCK_MONOTONIC) +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +gettimeofday() reports wrong elapsed real time if a time step was +inserted while running a program. This can happen on initial time +adjustment from NTP server or by manual adjustement by date command. + +This patch uses clock_gettime(CLOCK_MONOTONIC) instead (if available) +that does not suffer from the issue. + + + +Signed-off-by: Petr Písař +--- + configure.ac | 3 +++ + src/resuse.c | 27 +++++++++++++++++++++++++-- + 2 files changed, 28 insertions(+), 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index ede8fd5..d2950bd 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -72,6 +72,9 @@ dnl Checks for library functions. + AC_FUNC_VPRINTF + AC_FUNC_WAIT3 + AC_CHECK_FUNCS(strerror) ++AC_SEARCH_LIBS(clock_gettime, [rt]) ++test "$ac_cv_search_clock_gettime" != "no" && \ ++ AC_DEFINE([HAVE_CLOCK_GETTIME], [1], [System provides clock_gettime() call]) + + + # What memory units are reported by getrusage(2) ? +diff --git a/src/resuse.c b/src/resuse.c +index d2ab870..ec54863 100644 +--- a/src/resuse.c ++++ b/src/resuse.c +@@ -26,7 +26,14 @@ + #include + #include + +-#if !HAVE_WAIT3 ++#if HAVE_WAIT3 ++# if HAVE_CLOCK_GETTIME ++# ifndef _POSIX_C_SOURCE ++# define _POSIX_C_SOURCE 199309L ++# endif ++# include ++# endif ++#else + # include + # ifndef HZ + # include +@@ -51,7 +58,14 @@ resuse_start (resp) + RESUSE *resp; + { + #if HAVE_WAIT3 ++#if HAVE_CLOCK_GETTIME ++ struct timespec res; ++ clock_gettime(CLOCK_MONOTONIC, &res); ++ resp->start.tv_sec = res.tv_sec; ++ resp->start.tv_usec = res.tv_nsec / 1000; ++#else + gettimeofday (&resp->start, (struct timezone *) 0); ++#endif /* !HAVE_CLOCK_GETTIME */ + #else + long value; + struct tms tms; +@@ -59,7 +73,7 @@ resuse_start (resp) + value = times (&tms); + resp->start.tv_sec = value / HZ; + resp->start.tv_usec = value % HZ * (1000000 / HZ); +-#endif ++#endif /* !HAVE_WAIT3 */ + } + + /* Wait for and fill in data on child process PID. +@@ -79,6 +93,9 @@ resuse_end (pid, resp) + int status; + + #if HAVE_WAIT3 ++#if HAVE_CLOCK_GETTIME ++ struct timespec res; ++#endif + pid_t caught; + + /* Ignore signals, but don't ignore the children. When wait3 +@@ -89,7 +106,13 @@ resuse_end (pid, resp) + return 0; + } + ++#if HAVE_CLOCK_GETTIME ++ clock_gettime(CLOCK_MONOTONIC, &res); ++ resp->elapsed.tv_sec = res.tv_sec; ++ resp->elapsed.tv_usec = res.tv_nsec / 1000; ++#else + gettimeofday (&resp->elapsed, (struct timezone *) 0); ++#endif + #else /* !HAVE_WAIT3 */ + long value; + struct tms tms; +-- +2.13.6 + diff --git a/SOURCES/time-1.9-Close-outfp-before-exec.patch b/SOURCES/time-1.9-Close-outfp-before-exec.patch new file mode 100644 index 0000000..3902bb6 --- /dev/null +++ b/SOURCES/time-1.9-Close-outfp-before-exec.patch @@ -0,0 +1,34 @@ +From 6a5c4499aab677d19157c7adcf598d14267283c1 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= +Date: Mon, 16 Nov 2020 17:45:04 +0100 +Subject: [PATCH] Close outfp before exec +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +When called with --outfile, we open an output file to which +we log timing results. Close that descriptor in the child +fork before exec'ing the process to be timed. + +Reported-by: Ed Santiago +Signed-off-by: Petr Písař +--- + src/time.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/time.c b/src/time.c +index f76265a..2f2b702 100644 +--- a/src/time.c ++++ b/src/time.c +@@ -738,6 +738,8 @@ run_command (cmd, resp) + error (EXIT_CANCELED, errno, "cannot fork"); + else if (pid == 0) + { /* If child. */ ++ if (outfp != stderr) ++ fclose(outfp); + /* Don't cast execvp arguments; that causes errors on some systems, + versus merely warnings if the cast is left off. */ + execvp (cmd[0], cmd); +-- +2.25.4 + diff --git a/SOURCES/time-1.9-Improve-info-directory-index-entry-description.patch b/SOURCES/time-1.9-Improve-info-directory-index-entry-description.patch new file mode 100644 index 0000000..99cc110 --- /dev/null +++ b/SOURCES/time-1.9-Improve-info-directory-index-entry-description.patch @@ -0,0 +1,32 @@ +From d8cf31417c84646497657280830c432b6f412495 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= +Date: Mon, 18 Jun 2018 10:05:06 +0200 +Subject: [PATCH] Improve info directory index entry description +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Describing "time" as "time" is not explanatory. Use better +description. + +Signed-off-by: Petr Písař +--- + doc/time.texi | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/doc/time.texi b/doc/time.texi +index 63d25b4..dac65b4 100644 +--- a/doc/time.texi ++++ b/doc/time.texi +@@ -28,7 +28,7 @@ Texts. A copy of the license is included in the section entitled + + @dircategory Basics + @direntry +-* Time: (time). time ++* Time: (time). GNU time utility. + @end direntry + + +-- +2.14.4 + diff --git a/SOURCES/time-1.9-Use-kibibytes-instead-of-kilobytes-in-a-documentatio.patch b/SOURCES/time-1.9-Use-kibibytes-instead-of-kilobytes-in-a-documentatio.patch new file mode 100644 index 0000000..de751d8 --- /dev/null +++ b/SOURCES/time-1.9-Use-kibibytes-instead-of-kilobytes-in-a-documentatio.patch @@ -0,0 +1,189 @@ +From 9fd52d5705fad70c0cb4ad8d508596a488262acf Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= +Date: Mon, 13 Jul 2020 09:24:35 +0200 +Subject: [PATCH] Use kibibytes instead of kilobytes in a documentation +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +This patch does not changes any output of the time program. It only +clarifies a manual and the comments. + + + +Signed-off-by: Petr Písař +--- + configure.ac | 6 +++--- + doc/time.texi | 12 ++++++------ + src/rusage-kb.c | 4 ++-- + src/rusage-kb.h | 10 +++++----- + src/time.c | 6 +++--- + tests/time-max-rss.sh | 4 ++-- + 6 files changed, 21 insertions(+), 21 deletions(-) + +diff --git a/configure.ac b/configure.ac +index d2950bd..67738b5 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -90,7 +90,7 @@ if test -z "$time_getrusage_mem_units" ; then + + solaris*) time_getrusage_mem_units=pages ;; + +- # As a fallback, assume KB (the most common value). ++ # As a fallback, assume KiB (the most common value). + # Set the 'warn' variable to warn the user at the end + # of ./configure + *) time_getrusage_mem_units=kb +@@ -104,7 +104,7 @@ case $time_getrusage_mem_units in + kb) + AC_DEFINE([GETRUSAGE_RETURNS_KB],[1], + [Define to 1 if getrusage(2) on this systems returns +- ru_maxrss in kilobytes]) ++ ru_maxrss in kibibytes]) + ;; + + bytes) +@@ -140,7 +140,7 @@ AC_OUTPUT + # Warn the user if getrusage(2) behaviour on this OS is unknown + if test "$warn_getrusage_mem_units" ; then + AC_MSG_WARN([unknown getrusage behavior on operating system '$host_os'. +- Assuming Kilobytes. ++ Assuming kibibytes. + please report this with the output of 'uname -a' to + bug-time@gnu.org]) + fi +diff --git a/doc/time.texi b/doc/time.texi +index dac65b4..3a05ed9 100644 +--- a/doc/time.texi ++++ b/doc/time.texi +@@ -241,22 +241,22 @@ times divied by the total running time. + @table @code + @item M + Maximum resident set size of the process during its lifetime, in +-Kilobytes. ++kibibytes. + + @item t +-Average resident set size of the process, in Kilobytes. ++Average resident set size of the process, in kibibytes. + + @item K +-Average total (data+stack+text) memory use of the process, in Kilobytes. ++Average total (data+stack+text) memory use of the process, in kibibytes. + + @item D +-Average size of the process's unshared data area, in Kilobytes. ++Average size of the process's unshared data area, in kibibytes. + + @item p +-Average size of the process's unshared stack, in Kilobytes. ++Average size of the process's unshared stack, in kibibytes. + + @item X +-Average size of the process's shared text, in Kilobytes. ++Average size of the process's shared text, in kibibytes. + + @item Z + System's page size, in bytes. This is a per-system constant, but +diff --git a/src/rusage-kb.c b/src/rusage-kb.c +index aad06b8..04352cd 100644 +--- a/src/rusage-kb.c ++++ b/src/rusage-kb.c +@@ -25,8 +25,8 @@ + #include + #include + +-/* Return the number of kilobytes corresponding to a number of pages PAGES. +- (Actually, we use it to convert pages*ticks into kilobytes*ticks.) ++/* Return the number of kibibytes corresponding to a number of pages PAGES. ++ (Actually, we use it to convert pages*ticks into kibibytes*ticks.) + + Try to do arithmetic so that the risk of overflow errors is minimized. + This is funky since the pagesize could be less than 1K. +diff --git a/src/rusage-kb.h b/src/rusage-kb.h +index 4a53515..b7b1155 100644 +--- a/src/rusage-kb.h ++++ b/src/rusage-kb.h +@@ -19,7 +19,7 @@ + #ifndef _RUSAGE_KB_ + #define _RUSAGE_KB_ + +-/* As of 2017, most kernels' getrusage(2) returns ru_maxrss in kilobytes: ++/* As of 2017, most kernels' getrusage(2) returns ru_maxrss in kibibytes: + Linux, Hurd, Free/Open/Net-BSD, MINIX, AIX7 + + OpenSolaris's getrusage(2) documents a return value in pages, +@@ -32,20 +32,20 @@ + + #if GETRUSAGE_RETURNS_KB + +-/* define as no-op, as RUSAGE values are already in KB */ ++/* define as no-op, as RUSAGE values are already in KiB */ + #define RUSAGE_MEM_TO_KB(x) (x) + + #elif GETRUSAGE_RETURNS_BYTES + +-/* Convert bytes to kilobytes */ ++/* Convert bytes to kibibytes */ + #define RUSAGE_MEM_TO_KB(x) ((x)/1024) + + #elif GETRUSAGE_RETURNS_PAGES + +-/* Convert bytes to kilobytes */ ++/* Convert bytes to kibibytes */ + #define RUSAGE_MEM_TO_KB(x) (ptok (x)) + +-/* A function to get the system's page size and convert pages to KB */ ++/* A function to get the system's page size and convert pages to KiB */ + unsigned long + ptok (unsigned long pages); + +diff --git a/src/time.c b/src/time.c +index 7e07995..f76265a 100644 +--- a/src/time.c ++++ b/src/time.c +@@ -108,8 +108,8 @@ typedef RETSIGTYPE (*sighandler) (); + and 100 on the sun4. + + Some manuals have an apparent error, claiming that units for average +- sizes are kb*sec. Judging by the contents of `struct rusage', it +- looks like it should be kb*ticks, like on SunOS. Ticks/sec seems ++ sizes are KiB*sec. Judging by the contents of `struct rusage', it ++ looks like it should be KiB*ticks, like on SunOS. Ticks/sec seems + to be (empirically): + 50 Mt. Xinu + 250 Ultrix (mips) +@@ -412,7 +412,7 @@ linear_argv (argv) + x == exit status of command + + Various memory usages are found by converting from page-seconds +- to kbytes by multiplying by the page size, dividing by 1024, ++ to kibibytes by multiplying by the page size, dividing by 1024, + and dividing by elapsed real time. + + FP is the stream to print to. +diff --git a/tests/time-max-rss.sh b/tests/time-max-rss.sh +index 0adda5c..5ecd3f2 100755 +--- a/tests/time-max-rss.sh ++++ b/tests/time-max-rss.sh +@@ -27,7 +27,7 @@ fail= + # The auxiliary program should be built and runnable + time-aux || framework_failure_ "time-aux is missing/not runnable" + +-# Get the baseline number of MAX-RSS kilobytes ++# Get the baseline number of MAX-RSS kibibytes + # use by the program when not allocating any extra memory + env time -o mem-baseline -f "%M" time-aux \ + || framework_failure_ "failed to run time/time-aux (baseline max-rss)" +@@ -49,7 +49,7 @@ test "$b" -eq "0" && test "$c" -eq 0 \ + # There could be alot of variation between each invocation, + # accept a reasonable range + if test "$d" -ge 5000 && test "$d" -le 6000 ; then +- : # acceptable values: 5000-6000 KB ++ : # acceptable values: 5000-6000 KiB + else + cat<&2 + time(1) failed to detect 5MB allcoation. +-- +2.25.4 + diff --git a/SPECS/time.spec b/SPECS/time.spec new file mode 100644 index 0000000..878d860 --- /dev/null +++ b/SPECS/time.spec @@ -0,0 +1,354 @@ +Summary: A GNU utility for monitoring a program's use of system resources +Name: time +Version: 1.9 +Release: 18%{?dist} +# src/time.c: GPLv3+ +# COPYING: GPLv3 text +# doc/time.texi: GFDL +# doc/fdl.texi: GFDL 1.3 text +# doc/time.info: GFDL +# lib/stdnoreturn.in.h: GPLv3+ +# lib/strerror-override.c: GPLv3+ +# lib/error.h: GPLv3+ +## Not in a binary package +# tests/init.sh: GPLv3+ +# INSTALL: FSFAP +# configure: FSFUL +# build-aux/config.guess: GPLv3+ with exceptions +# build-aux/install-sh: MIT and Public Domain +# build-aux/config.rpath: FSFULLR +# build-aux/test-driver: GPLv2+ with exceptions +# build-aux/update-copyright: GPLv3+ +# build-aux/useless-if-before-free: GPLv3+ +# build-aux/vc-list-files: GPLv3+ +# build-aux/missing: GPLv2+ with exceptions +# build-aux/compile: GPLv2+ with exceptions +# build-aux/config.sub: GPLv3+ with exceptions +# build-aux/gitlog-to-changelog: GPLv3+ +# build-aux/git-version-gen: GPLv3+ +# build-aux/texinfo.tex: GPLv3+ with exceptions +# build-aux/depcomp: GPLv2+ with exceptions +# build-aux/mdate-sh: GPLv2+ with exceptions +# GNUmakefile: GPLv3+ +# m4/asm-underscore.m4: FSFULLR +# m4/gnulib-cache.m4: GPLv3+ with exceptions +# m4/host-cpu-c-abi.m4: FSFULLR +# m4/longlong.m4: FSFULLR +# m4/ssize_t.m4: FSFULLR +# m4/stdnoreturn.m4: FSFULLR +# maint.mk: GPLv3+ +# tests/time-posix-quiet.sh: GPLv3+ +License: GPLv3+ and GFDL +Url: https://www.gnu.org/software/%{name}/ +Source0: https://ftp.gnu.org/gnu/%{name}/%{name}-%{version}.tar.gz +Source1: https://ftp.gnu.org/gnu/%{name}/%{name}-%{version}.tar.gz.sig +# Obtained from a key server +Source2: gpgkey-F576AAAC1B0FF849792D8CB129A794FD2272BC86.gpg +# Fix measuring time when a clock experiences a jump, bug #1004416, +# +Patch0: time-1.8-Prefer-clock_gettime-CLOCK_MONOTONIC.patch +# Fix info directory entry +Patch1: time-1.9-Improve-info-directory-index-entry-description.patch +# Clarify RSS size as kibibytes in a documentation, proposed to an upstream, +# +Patch2: time-1.9-Use-kibibytes-instead-of-kilobytes-in-a-documentatio.patch +# Do not leak a file descriptor of the --output argument to a command, +# proposed to an upstream, +# +Patch3: time-1.9-Close-outfp-before-exec.patch +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: bash +BuildRequires: coreutils +BuildRequires: gcc +BuildRequires: gnupg2 +BuildRequires: make +BuildRequires: sed +BuildRequires: texinfo + +%description +The GNU time utility runs another program, collects information about +the resources used by that program while it is running, and displays +the results. + +%prep +%{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}' +%setup -q +%patch0 -p1 +%patch1 -p1 +%patch2 -p1 +# Set time stamp stored in an info page to the latest patch +touch -d "$(sed -n -e '/^Date: /{s/^[^:]*: //;p}' %{PATCH2})" doc/time.texi +%patch3 -p1 +# Correct version VERSION flag for doc/time.texi +# +printf '%{version}\n' > .tarball-version +autoreconf -fi + +%build +%configure +%{make_build} + +%install +%{make_install} +# Remove info index, it's updated by file triggers +rm -f $RPM_BUILD_ROOT%{_infodir}/dir + +%check +%{make_build} check + +%files +%license COPYING +%doc AUTHORS ChangeLog NEWS README +%{_bindir}/time +%{_infodir}/time.info* +# time(1) manual page lives in man-pages package, bug #1612294. + +%changelog +* Tue Aug 10 2021 Mohan Boddu - 1.9-18 +- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags + Related: rhbz#1991688 + +* Fri Apr 16 2021 Mohan Boddu - 1.9-17 +- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937 + +* Wed Jan 27 2021 Fedora Release Engineering - 1.9-16 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Wed Jan 13 2021 Petr Pisar - 1.9-15 +- Retrieve a time stamp of the info page from a patch date header + +* Wed Jan 13 2021 Petr Pisar - 1.9-14 +- Correct version in an info page +- Set time stamp stored in an info page to the latest patch + +* Wed Jan 13 2021 Petr Pisar - 1.9-13 +- Update URL and Source addresses (thanks to Robert Scheck) +- Verify an upstream archive signature + +* Mon Nov 16 2020 Petr Pisar - 1.9-12 +- Fix a regression in closing a file descriptor if no --output was given + (bug #1898138) + +* Wed Nov 11 2020 Petr Pisar - 1.9-11 +- Do not leak a file descriptor of the --output argument to a command + +* Wed Jul 29 2020 Fedora Release Engineering - 1.9-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Mon Jul 13 2020 Petr Pisar - 1.9-9 +- Clarify RSS size as kibibytes in a documentation + +* Fri Jan 31 2020 Fedora Release Engineering - 1.9-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Sat Jul 27 2019 Fedora Release Engineering - 1.9-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Sun Feb 03 2019 Fedora Release Engineering - 1.9-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Tue Aug 07 2018 Petr Pisar - 1.9-5 +- Remove time(1) manual page because it's provided by man-pages (bug #1612294) + +* Mon Aug 06 2018 Petr Pisar - 1.9-4 +- Add time(1) manual page (bug #1612294) + +* Sat Jul 14 2018 Fedora Release Engineering - 1.9-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Mon Jun 18 2018 Petr Pisar - 1.9-2 +- Remove install-info from scriptlets + +* Tue Mar 13 2018 Petr Pisar - 1.9-1 +- 1.9 bump + +* Fri Feb 09 2018 Fedora Release Engineering - 1.8-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Thu Nov 09 2017 Petr Pisar - 1.8-2 +- Use upstream patch for POSIX mode +- Silence compiler warnings + +* Wed Nov 08 2017 Petr Pisar - 1.8-1 +- 1.8 bump +- License changed from GPLv2+ to (GPLv3+ and GFDL) +- Disable printing command failure in POSIX mode + +* Thu Aug 03 2017 Fedora Release Engineering - 1.7-54 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Thu Jul 27 2017 Fedora Release Engineering - 1.7-53 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Mon Feb 06 2017 Petr Pisar - 1.7-52 +- Package COPYING file as a license text (bug #1418528) + +* Wed Jan 11 2017 Petr Pisar - 1.7-51 +- Search clock_gettime() also in rt library (bug #1004416) + +* Wed Jan 11 2017 Petr Pisar - 1.7-50 +- Fix measuring time when a clock experiences a jump (bug #1004416) + +* Fri Feb 05 2016 Fedora Release Engineering - 1.7-49 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Fri Jun 19 2015 Fedora Release Engineering - 1.7-48 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Sat Feb 21 2015 Till Maas - 1.7-47 +- Rebuilt for Fedora 23 Change + https://fedoraproject.org/wiki/Changes/Harden_all_packages_with_position-independent_code + +* Mon Aug 18 2014 Fedora Release Engineering - 1.7-46 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Sun Jun 08 2014 Fedora Release Engineering - 1.7-45 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Sun Aug 04 2013 Fedora Release Engineering - 1.7-44 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Fri Feb 15 2013 Fedora Release Engineering - 1.7-43 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Thu Sep 06 2012 Petr Pisar - 1.7-42 +- Package AUTHORS and ChangeLog + +* Sat Jul 21 2012 Fedora Release Engineering - 1.7-41 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Sat Jan 14 2012 Fedora Release Engineering - 1.7-40 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Wed May 11 2011 Petr Pisar - 1.7-39 +- Fix maximal RSS report (bug #702826) +- Clean spec file +- Recompute CPU usage at finer level (bug #527276) + +* Wed Feb 09 2011 Fedora Release Engineering - 1.7-38 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Tue Aug 11 2009 Roman Rakus - 1.7-37 +- Don't print errors in post and preun sections (#515936) + +* Sun Jul 26 2009 Fedora Release Engineering - 1.7-36 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Wed Feb 25 2009 Fedora Release Engineering - 1.7-35 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Sun Sep 21 2008 Ville Skyttä - 1.7-34 +- Fix Patch:/%%patch0 mismatch. + Resolves: #463067 + +* Tue Mar 4 2008 Roman Rakus - 1.7-33 +- Added patch from JW (redhat@zacglen.com), less nonverbose output + +* Tue Feb 19 2008 Fedora Release Engineering - 1.7-32 +- Autorebuild for GCC 4.3 + +* Tue Jan 08 2008 Florian La Roche - 1.7-31 +- update url/license tags + +* Tue Aug 21 2007 Florian La Roche - 1.7-30 +- rebuild + +* Tue Feb 27 2007 Karsten Hopp 1.7-29 +- remove trailing dot from summary +- replace tabs with spaces +- replace PreReq with Requires(post)/Requires(preun) +- include license file in %%doc +- add smp flags +- use make install DESTDIR= + +* Mon Jan 22 2007 Florian La Roche +- add dist tag +- fix rhbz#223720 + +* Wed Jul 12 2006 Jesse Keating - 1.7-27.2.2 +- rebuild + +* Fri Feb 10 2006 Jesse Keating - 1.7-27.2.1 +- bump again for double-long bug on ppc(64) + +* Tue Feb 07 2006 Jesse Keating - 1.7-27.2 +- rebuilt for new gcc4.1 snapshot and glibc changes + +* Fri Dec 09 2005 Jesse Keating +- rebuilt + +* Wed Mar 02 2005 Karsten Hopp 1.7-27 +- build with gcc-4 + +* Wed Feb 09 2005 Karsten Hopp 1.7-26 +- update source URL +- rebuilt + +* Tue Jun 15 2004 Elliot Lee +- rebuilt + +* Fri Feb 13 2004 Elliot Lee +- rebuilt + +* Tue Jun 17 2003 Florian La Roche +- rebuild + +* Wed Jun 04 2003 Elliot Lee +- rebuilt + +* Wed Jan 22 2003 Tim Powers +- rebuilt + +* Tue Nov 19 2002 Tim Powers +- rebuild on all arches + +* Fri Jun 21 2002 Tim Powers +- automated rebuild + +* Wed Jun 19 2002 Florian La Roche +- do not strip apps, do not compress info page + +* Thu May 23 2002 Tim Powers +- automated rebuild + +* Mon Feb 25 2002 Elliot Lee +- Remove HAVE_WAIT3 hack, tried to replace it with a requirement for an +autoconf with the fixed test, didn't work, put in another less-bad hack +instead. + +* Wed Dec 05 2001 Tom Tromey +- Bump release, force HAVE_WAIT3 to be defined at build time + +* Sun Jun 24 2001 Elliot Lee +- Bump release + rebuild. + +* Wed Jan 31 2001 Preston Brown +- prereq install-info (#24715) + +* Wed Jul 12 2000 Prospector +- automatic rebuild + +* Thu Jun 29 2000 Preston Brown +- using / as the file manifesto has weird results. + +* Sun Jun 4 2000 Jeff Johnson +- FHS packaging. + +* Sun Mar 21 1999 Cristian Gafton +- auto rebuild in the new build environment (release 9) + +* Mon Aug 10 1998 Erik Troan +- buildrooted and defattr'd + +* Mon Apr 27 1998 Prospector System +- translations modified for de, fr, tr + +* Mon Oct 27 1997 Cristian Gafton +- fixed info handling + +* Thu Oct 23 1997 Cristian Gafton +- updated the spec file; added info file handling + +* Mon Jun 02 1997 Erik Troan +- built against glibc