From bf8bfc9bd17e261654d21e542184ad69775f0e68 Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Tue, 7 May 2019 07:21:59 -0400 Subject: [PATCH] import time-1.9-3.el8 --- .gitignore | 1 + .time.metadata | 1 + ...Prefer-clock_gettime-CLOCK_MONOTONIC.patch | 108 +++++++ SPECS/time.spec | 295 ++++++++++++++++++ 4 files changed, 405 insertions(+) create mode 100644 .gitignore create mode 100644 .time.metadata create mode 100644 SOURCES/time-1.8-Prefer-clock_gettime-CLOCK_MONOTONIC.patch create mode 100644 SPECS/time.spec diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..85309a6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/time-1.9.tar.gz diff --git a/.time.metadata b/.time.metadata new file mode 100644 index 0000000..d165ac4 --- /dev/null +++ b/.time.metadata @@ -0,0 +1 @@ +75068c26abbed3ad3980685bae21d7202d288317 SOURCES/time-1.9.tar.gz 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/SPECS/time.spec b/SPECS/time.spec new file mode 100644 index 0000000..bc9130b --- /dev/null +++ b/SPECS/time.spec @@ -0,0 +1,295 @@ +Summary: A GNU utility for monitoring a program's use of system resources +Name: time +Version: 1.9 +Release: 3%{?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 +# 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: http://www.gnu.org/software/%{name}/ +Source: ftp://ftp.gnu.org/gnu/%{name}/%{name}-%{version}.tar.gz +# Fix measuring time when a clock experiences a jump, bug #1004416, +# +Patch0: time-1.8-Prefer-clock_gettime-CLOCK_MONOTONIC.patch +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: bash +BuildRequires: coreutils +BuildRequires: gcc +BuildRequires: make +BuildRequires: texinfo +# Tests +BuildRequires: sed +Requires(post): /sbin/install-info +Requires(preun): /sbin/install-info + +%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 +%setup -q +%patch0 -p1 +autoreconf -fi + +%build +%configure +%make_build + +%install +make install DESTDIR=$RPM_BUILD_ROOT +# Remove info index, we update it in %%post script +rm -f $RPM_BUILD_ROOT%{_infodir}/dir + +%check +make %{?_smp_mflags} check + +%post +/sbin/install-info %{_infodir}/time.info.gz %{_infodir}/dir \ + --entry="* time: (time). GNU time Utility" >/dev/null 2>&1 || : + +%preun +if [ "$1" = 0 ]; then + /sbin/install-info --delete %{_infodir}/time.info.gz %{_infodir}/dir \ + --entry="* time: (time). GNU time Utility" >/dev/null 2>&1 || : +fi + +%files +%license COPYING +%doc AUTHORS ChangeLog NEWS README +%{_bindir}/time +%{_infodir}/time.info* +# time(1) manual page lives in man-pages package, bug #1612725. + +%changelog +* Tue Aug 07 2018 Petr Pisar - 1.9-3 +- Remove time(1) manual page because it's provided by man-pages (bug #1612725) + +* Mon Aug 06 2018 Petr Pisar - 1.9-2 +- Add time(1) manual page (bug #1612725) + +* 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