diff options
Diffstat (limited to 'source/ap/acct')
-rw-r--r-- | source/ap/acct/581421-sa-hz-division.patch | 66 | ||||
-rwxr-xr-x | source/ap/acct/acct.SlackBuild | 6 |
2 files changed, 70 insertions, 2 deletions
diff --git a/source/ap/acct/581421-sa-hz-division.patch b/source/ap/acct/581421-sa-hz-division.patch new file mode 100644 index 000000000..0c15c0171 --- /dev/null +++ b/source/ap/acct/581421-sa-hz-division.patch @@ -0,0 +1,66 @@ +From: Dominique Brazziel <dbrazziel@snet.net> +Subject: Fix for sa reporting 'inf' or 'nan' instead of correct values + because of division by clock values. +Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=581421 +Last-Updated: 2010-07-23 + +--- acct-6.5.4.orig/sa.c 2010-02-11 20:55:14.000000000 -0500 ++++ acct-6.5.4/sa.c 2010-07-22 14:08:26.000000000 -0400 +@@ -417,7 +417,6 @@ + (void)printf("%s: GNU Accounting Utilities (release %s)\n", + program_name, VERSION_STRING); + exit(EXIT_SUCCESS); +- case 4: + acct_file_name = optarg; + break; + case 'j': +@@ -594,8 +593,11 @@ + exit(EXIT_FAILURE); + } + ++ /* Set HZ value from system */ ++ hzval = sysconf(_SC_CLK_TCK); ++ + /* Print out some debugging information. */ +- ++ + if (debugging_enabled) + { + (void)fprintf (stddebug, "hzval -> %d\n", hzval); +@@ -1162,31 +1164,30 @@ + # define CURR_AHZ ((double)(ahz)) + #endif + +- + if (debugging_enabled) + fprintf (stddebug, "\ + ----------------------------------------------------------------------\n\ + acct entries\n\ + ----------------------------------------------------------------------\n\ + "); +- ++ + /* loop while there are entries to be had */ + while ((rec = pacct_get_entry ()) != NULL) + { + #ifdef HAVE_ACUTIME +- double ut = comp_t_2_double (rec->ac_utime) / (double) hzval; ++ double ut = comp_t_2_double (rec->ac_utime) / CURR_AHZ; + #endif + + #ifdef HAVE_ACSTIME +- double st = comp_t_2_double (rec->ac_stime) / (double) hzval; ++ double st = comp_t_2_double (rec->ac_stime) / CURR_AHZ; + #endif + + #ifdef HAVE_ACETIME +- double et = comp_t_2_double (rec->ac_etime) / (double) hzval; ++ double et = ACETIME_2_DOUBLE (rec->ac_etime) / CURR_AHZ; + #endif + + #ifdef HAVE_ACIO +- double di = comp_t_2_double (rec->ac_io) / (double) hzval; ++ double di = comp_t_2_double (rec->ac_io) / CURR_AHZ; + #endif + + #ifdef HAVE_ACMEM diff --git a/source/ap/acct/acct.SlackBuild b/source/ap/acct/acct.SlackBuild index bfdd46fd5..43cc97459 100755 --- a/source/ap/acct/acct.SlackBuild +++ b/source/ap/acct/acct.SlackBuild @@ -1,5 +1,5 @@ #!/bin/sh -# Copyright 2006, 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, MN, USA +# Copyright 2006, 2008, 2009, 2010, 2013 Patrick J. Volkerding, Sebeka, MN, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -23,7 +23,7 @@ PKGNAM=acct PKGVER=6.5.4 VERSION=6.5.4 -BUILD=${BUILD:-1} +BUILD=${BUILD:-2} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then @@ -66,6 +66,8 @@ find . \ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ -exec chmod 644 {} \; +zcat $CWD/581421-sa-hz-division.patch.gz | patch -p1 || exit 1 + zcat $CWD/acct.logdir.fhs.diff.gz | patch -p1 || exit 1 # Need this after patching configure.ac: autoreconf |