diff --git a/.gitignore b/.gitignore index 538db90..38f6c37 100644 --- a/.gitignore +++ b/.gitignore @@ -3,4 +3,3 @@ acct-6.5.4.tar.gz /acct-6.6.1.tar.gz /acct-6.6.2.tar.gz /acct-6.6.3.tar.gz -/acct-6.6.4.tar.gz diff --git a/acct-6.3.2-sa_manpage.patch b/acct-6.3.2-sa_manpage.patch new file mode 100644 index 0000000..e07964e --- /dev/null +++ b/acct-6.3.2-sa_manpage.patch @@ -0,0 +1,12 @@ +diff -up acct-6.3.2/sa.8.pom acct-6.3.2/sa.8 +--- acct-6.3.2/sa.8.pom 2008-11-13 13:08:54.000000000 +0100 ++++ acct-6.3.2/sa.8 2008-11-13 13:09:38.000000000 +0100 +@@ -323,8 +323,6 @@ file. + .I acct + The raw system wide process accounting file. See + .BR acct (5) +-(or +-.BR pacct (5)) + for further details. + .TP + .I savacct diff --git a/f42-fix-ftbfs.patch b/f42-fix-ftbfs.patch deleted file mode 100644 index 360d08e..0000000 --- a/f42-fix-ftbfs.patch +++ /dev/null @@ -1,28 +0,0 @@ -commit c035a2754be2c9cdf7d802554d26e2171b25ee07 -Author: rpm-build -Date: Fri Jan 24 14:50:51 2025 +0100 - - f42-fix-ftbfs.patch - -diff --git a/sa.c b/sa.c -index e2e654e..a7f1cf1 100644 ---- a/sa.c -+++ b/sa.c -@@ -1506,7 +1506,7 @@ void print_user_list(void) - Remember to correct the number of elements to adjust... */ - - qsort (entry_array + 1, (size_t) num_users - 1, -- sizeof (struct hashtab_elem *), (int (*)()) compare_user_entry); -+ sizeof (struct hashtab_elem *), (int (*)(const void*, const void*)) compare_user_entry); - - /* Now we've got a sorted list of user entries. */ - -@@ -1686,7 +1686,7 @@ void print_command_list(void) - than the number of commands */ - - qsort (entry_array + 1, (size_t) num_commands - 1, -- sizeof (struct hashtab_entry *), (int (*)()) compare_sum_entry); -+ sizeof (struct hashtab_entry *), (int (*)(const void*, const void*)) compare_sum_entry); - - for (temp = 0; temp < num_commands; temp++) - { diff --git a/psacct-6.3.2-lastcomm_man.patch b/psacct-6.3.2-lastcomm_man.patch new file mode 100644 index 0000000..09050e6 --- /dev/null +++ b/psacct-6.3.2-lastcomm_man.patch @@ -0,0 +1,12 @@ +diff -up acct-6.5.4/lastcomm.1.pom acct-6.5.4/lastcomm.1 +--- acct-6.5.4/lastcomm.1.pom 2010-01-23 20:18:03.000000000 +0100 ++++ acct-6.5.4/lastcomm.1 2010-02-12 12:57:34.000000000 +0100 +@@ -111,7 +111,7 @@ For each entry the following information + D -- command terminated with the generation of a core file + X -- command was terminated with the signal SIGTERM + + the name of the user who ran the process +- + time the process exited ++ + time the process started + .SH OPTIONS + .PD 0 + .TP diff --git a/psacct-6.3.2-man-pages.patch b/psacct-6.3.2-man-pages.patch new file mode 100644 index 0000000..fa7d7d9 --- /dev/null +++ b/psacct-6.3.2-man-pages.patch @@ -0,0 +1,128 @@ +diff -up acct-6.3.2/dump-acct.8.orig acct-6.3.2/dump-acct.8 +--- acct-6.3.2/dump-acct.8.orig 2009-12-02 13:56:58.000000000 +0100 ++++ acct-6.3.2/dump-acct.8 2009-12-02 13:56:58.000000000 +0100 +@@ -0,0 +1,37 @@ ++.\" Copyright (C) 2009 Red Hat, Inc. All Rights Reserved. ++.\" Written by Ivana Hutarova Varekova ++.TH DUMP_ACCT 8 "2009 December 2" "Linux accounting system" ++ ++.SH NAME ++dump\-acct \- print an acct/pacct file in human-readable format ++ ++.SH SYNOPSYS ++\fBdump-acct\fR [\fB-hrR\fR] [\fB-n\fR <\fIrecs\fR>] <\fBfiles\fR> ++ [\fB--num\fR <\fIrecs\fR>] [\fB--raw\fR] [\fB--reverse\fR] [\fB--help\fR] ++ ++.SH DESCRIPTION ++The dump-acct command transforms the output \fBfile\fR from the ++accton format to the human-readable format: one record per line. ++Each record consists of severald fields which are separated by ++character "|" (the meaning of concreate field depends on the ++version of kernel package - with which the accton file was created). ++ ++.SH OPTIONS ++The following options are supported: ++.TP ++.B -h, --help ++Print a help message and the default location of the process accounting file ++and exit. ++.TP ++.B -r, --reverse ++Print the output in reverse order. ++.TP ++.B -R, --raw ++The records will be printed without any parsing. ++.TP ++.B -n, --num NUMRECS ++Display only the first NUMRECS number of records. ++ ++.SH SEE ALSO ++accton (8), lastcomm (1) ++ +diff -up ./acct-6.5.5/dump-utmp.8.orig ./acct-6.5.5/dump-utmp.8 +--- acct-6.5.5/dump-utmp.8.orig 2010-10-23 13:33:27.000000000 +0200 ++++ acct-6.5.5/dump-utmp.8 2010-11-09 17:08:53.000000000 +0100 +@@ -1,65 +1,29 @@ +-.TH DUMP-UTMP 8 "2006-04-22" "6.5.1" "GNU Accounting Utilities" ++.\" Copyright (C) 2009 Red Hat, Inc. All Rights Reserved. ++.\" Written by Ivana Hutarova Varekova ++.TH DUMP_UTMP 8 "2009 December 2" "Linux accounting system" + + .SH NAME +-dump-utmp \- print an utmp file in human-readable format. ++dump\-utmp \- print a utmp file in human-readable format + +-.SH SYNOPSIS +-.B dump-acct +-.RB [\| \-r \||\| \-\-reverse \|] +-.RB [\| \-R \||\| \-\-raw \|] +-.RB [\| \-n \||\| \-\-num +-.IR recs \|] +-.RB [\| \-h \||\| \-\-help \|] +-.RB [\| +-.IR files \|] +- +-.SH DESCRIPTION +-.B dump-acct +-.I filename +-prints a list of all logins. This list is usually written in +-.IR /var/log/wtmp . +-.LP +-All fields are separated by vertical line. Fields are: +-.IR "user name" , +-.IR tty , +-.IR type , +-.IR id , +-.IR pid , +-.IR hostaddr , +-.IR host , +-.IR time . ++.SH SYNOPSYS ++\fBdump-utmp\fR [\fB-hrR\fR] [\fB-n\fR <\fIrecs\fR>] <\fBfiles\fR> ++ [\fB--num\fR <\fIrecs\fR>] [\fB--raw\fR] [\fB--reverse\fR] [\fB--help\fR] + + .SH OPTIONS ++The following options are supported: + .TP +-.B \-h, \-\-help +-Prints the usage string and default locations of system files to standard output +-and exits. +-.TP +-.B \-n, \-\-num recs +-Number of lines to print. ++.B -h, --help ++Print a help message and the default location of the process accounting file ++and exit. + .TP +-.B \-r, \-\-reverse +-Start printing from last records. ++.B -r, --reverse ++Print the output in reverse order. + .TP +-.B \-R, \-\-raw +-Print raw records, not human-readable. +- +-.SH FILES ++.B -R, --raw ++The records will be printed without any parsing. + .TP +-.I wtmp +-The system wide login record file. See +-.BR wtmp (5) +-for further details. ++.B -n, --num NUMRECS ++Display only the first NUMRECS number of records. + + .SH SEE ALSO +-.BR login (1), +-.BR wtmp (5), +-.BR init (8), +-.BR sa (8). +- +-.SH AUTHOR +-The GNU accounting utilities were written by Noel Cragg . +-.PP +-This manual page was written by Ognyan Kulev and updated +-by Daniel Baumann for the Debian project (but may be used by +-others). ++accton (8), lastcomm (1), utmp (5) diff --git a/psacct-6.6.1-RH-man-page-scan.patch b/psacct-6.6.1-RH-man-page-scan.patch new file mode 100644 index 0000000..b006051 --- /dev/null +++ b/psacct-6.6.1-RH-man-page-scan.patch @@ -0,0 +1,167 @@ +diff -Naur acct-6.6.1.orig/ac.c acct-6.6.1/ac.c +--- acct-6.6.1.orig/ac.c 2011-03-16 23:50:13.000000000 +0100 ++++ acct-6.6.1/ac.c 2013-07-31 16:44:17.859142249 +0200 +@@ -343,12 +343,29 @@ + + void give_usage(void) + { +- (void)printf("\ +- Usage: %s [-dhpVy] [-f ] [people] ...\n\ +- [--daily-totals] [--individual-totals] [--file ]\n\ +- [--complain] [--reboots] [--supplants] [--timewarps] [--print-year]\n\ +- [--compatibility] [--print-zeros] [--debug] [--tw-leniency ]\n\ +- [--tw-suspicious ] [--version] [--help]\n", program_name); ++ (void)printf( ++ "\n" ++ "Usage: %s [OPTION] ...\n" ++ "\n" ++ "OPTIONS:\n" ++ " -d, --daily-totals Print totals for each day\n" ++ " -p, --individual-totals Print time totals for each user\n" ++ " -f, --file Read from \n" ++ " --complain Print errors for whatever problem\n" ++ " --reboots Count the time between login and reboot\n" ++ " --supplants Count the time between logins on the terminal\n" ++ " --timewarps Count the time between login and time warp\n" ++ " --compatibility Shortcut for --reboots --supplants --timewarps\n" ++ " -a, --all-days Do not skip days without login activity\n" ++ " --tw-leniency Set the time warp leniency in seconds\n" ++ " --tw-suspicious Set the time warp suspicious in seconds\n" ++ " --print-year Print year when displaying dates\n" ++ " --print-zeros Don't suppress zeros in category totals\n" ++ " --debug Print verbose internal information\n" ++ " -V, --version Show version and exit\n" ++ " -h, --help Show help and exit\n" ++ , program_name); ++ + print_wtmp_file_location(); + } + +diff -Naur acct-6.6.1.orig/dump-acct.c acct-6.6.1/dump-acct.c +--- acct-6.6.1.orig/dump-acct.c 2011-03-16 23:50:13.000000000 +0100 ++++ acct-6.6.1/dump-acct.c 2013-07-31 17:45:03.075476755 +0200 +@@ -52,6 +52,7 @@ + #ifdef LINUX_MULTIFORMAT +- printf (" [--format ] [--byteswap]\n"); ++ printf (" [--format ] [--byteswap]\n"); + #endif ++ printf (" [--ahz ]\n"); + print_acct_file_location (); + } + +diff -Naur acct-6.6.1.orig/lastcomm.c acct-6.6.1/lastcomm.c +--- acct-6.6.1.orig/lastcomm.c 2011-03-16 23:50:13.000000000 +0100 ++++ acct-6.6.1/lastcomm.c 2013-07-31 18:01:57.772529043 +0200 +@@ -304,7 +304,7 @@ + #ifdef HAVE_PAGING + "[--show-paging] " + #endif +- "[--version] [--help]\n", program_name); ++ "[--ahz ] [--version] [--help]\n", program_name); + print_acct_file_location (); + } + +diff -Naur acct-6.6.1.orig/lastcomm.1 acct-6.6.1/lastcomm.1 +--- acct-6.6.1.orig/lastcomm.1 2013-07-31 15:44:16.000000000 +0200 ++++ acct-6.6.1/lastcomm.1 2013-07-31 17:08:33.442122085 +0200 +@@ -18,54 +18,7 @@ + .I terminal-name ... + ] + .br +-[ +-.B \-\-strict-match +-] +-.br +-[ +-.B \-\-forwards +-] +-.br +-[ +-.BI \-f " filename" +-| +-.BI \-\-file " filename" +-] +-[ +-.BI \-\-ahz " hz" +-] +-.br +-[ +-.B \-\-user +-.I name +-] +-[ +-.B \-\-command +-.I name +-] +-[ +-.B \-\-tty +-.I name +-] +-.br +-[ +-.B \p +-| +-.B \-\-show_paging +-] +-[ +-.B \-\-debug +-] +-[ +-.B \-V +-| +-.B \-\-version +-] +-[ +-.B \-h +-| +-.B \-\-help +-] ++[ OPTION ... ] + .ad b + .hy 1 + .SH DESCRIPTION +@@ -115,10 +68,13 @@ + .SH OPTIONS + .PD 0 + .TP +-.B \-\-strict-match ++.B \-\-strict\-match + Print only entries that match *all* of the arguments on the command + line. + .TP ++.B \-\-print\-controls ++Print control characters. ++.TP + .BI \-\-user " name" + List records for user with + .I name. +diff -Naur acct-6.6.1.orig/sa.8 acct-6.6.1/sa.8 +--- acct-6.6.1.orig/sa.8 2013-07-31 15:44:16.000000000 +0200 ++++ acct-6.6.1/sa.8 2013-07-31 17:19:06.325431034 +0200 +@@ -43,7 +43,7 @@ + [ + .B \-i + | +-.B \-\-dont-read-summary-file ++.B \-\-dont-read-summary-files + ] + .br + [ +@@ -282,7 +282,7 @@ + When using the `\-\-threshold' option, assume that all answers to + interactive queries will be affirmative. + .TP +-.B \-i, \-\-dont-read-summary-file ++.B \-i, \-\-dont-read-summary-files + Don't read the information in the system's default + .I savacct + file. +@@ -386,7 +386,7 @@ + .I SAVACCT + file. + .TP +-.BI \-\-other-file " filename" ++.BI \-\-other-acct-file " filename" + Read from the file + .I filename + instead of the system's default diff --git a/psacct-6.6.1-man-dump-acct.patch b/psacct-6.6.1-man-dump-acct.patch new file mode 100644 index 0000000..654f17e --- /dev/null +++ b/psacct-6.6.1-man-dump-acct.patch @@ -0,0 +1,57 @@ +diff -Naur acct-6.6.1.orig/dump-acct.8 acct-6.6.1/dump-acct.8 +--- acct-6.6.1.orig/dump-acct.8 2013-07-31 18:56:57.000000000 +0200 ++++ acct-6.6.1/dump-acct.8 2013-07-31 19:19:21.606615965 +0200 +@@ -0,0 +1,53 @@ ++.\" Copyright (C) 2009 Red Hat, Inc. All Rights Reserved. ++.\" Written by Ivana Hutarova Varekova ++.TH DUMP_ACCT 8 "2009 December 2" "Linux accounting system" ++ ++.SH NAME ++dump\-acct \- print an acct/pacct file in human-readable format ++ ++.SH SYNOPSIS ++.B dump-acct ++[\fB\-r\fR|\fB\-\-reverse\fR] ++[\fB\-R\fR|\fB\-\-raw\fR] ++[\fB\-n\fR|\fB\-\-num\fR\ \fIrecs\fR] ++[\fB\-\-byte\-swap\fR] ++[\fB\-\-format\fR] ++[\fB\-\-ahz\fR\ \fIfreq\fR] ++[\fB\-h\fR|\fB\-\-help\fR] ++[\fIfiles\fR] ++ ++.SH DESCRIPTION ++The dump-acct command transforms the output \fBfile\fR from the ++accton format to the human-readable format: one record per line. ++Each record consists of severald fields which are separated by ++character "|" (the meaning of concreate field depends on the ++version of kernel package - with which the accton file was created). ++ ++.SH OPTIONS ++The following options are supported: ++.TP ++.B -r, --reverse ++Print the output in reverse order. ++.TP ++.B -R, --raw ++The records will be printed without any parsing. ++.TP ++.B -n, --num NUMRECS ++Display only the first NUMRECS number of records. ++.TP ++.B --byteswap ++Swap the bytes (relative to your system's native byte order) in --raw output. ++.TP ++.B --format ++Set output format with --raw option. ++.TP ++.B --ahz FREQ ++Set the AHZ (platform dependent frequency in Hertz) to FREQ. ++.TP ++.B -h, --help ++Print a help message and the default location of the process accounting file ++and exit. ++ ++.SH SEE ALSO ++accton (8), lastcomm (1) ++ diff --git a/psacct-6.6.3-lastcomm-new-pid-option.patch b/psacct-6.6.3-lastcomm-new-pid-option.patch new file mode 100644 index 0000000..11ec4ab --- /dev/null +++ b/psacct-6.6.3-lastcomm-new-pid-option.patch @@ -0,0 +1,105 @@ +diff -up ./lastcomm.1.ori ./lastcomm.1 +--- ./lastcomm.1.ori 2017-02-08 23:28:06.000000000 +0100 ++++ ./lastcomm.1 2017-06-22 16:21:46.249345984 +0200 +@@ -122,13 +122,10 @@ format as your current machine, but has + .B AHZ. + .TP + .B \-p, \-\-show\-paging +-Print paging statistics ++Print paging statistics. + .TP + .B \-\-pid +-Add pid of the process and pid of the process parent to the output +-(pid is the last but one and parent pid the last column). +-These values are shown only when they are generated by acct function +-(depends on the version of kernel) ++Show PID and PPID of the process if acct version 3 format is supported by kernel. + .TP + .B \-\-debug + Print verbose internal information. +diff -up ./lastcomm.c.ori ./lastcomm.c +--- ./lastcomm.c.ori 2017-04-05 23:06:33.000000000 +0200 ++++ ./lastcomm.c 2017-06-22 16:21:14.814430103 +0200 +@@ -77,6 +77,8 @@ char *program_name; /* name of the prog + + int show_paging = 0; /* If they want paging stats, print 'em */ + ++char show_pid = 0; ++ + static unsigned int hzval; + + /* Here are various lists for the user to specify entries that they +@@ -125,6 +127,9 @@ int main(int argc, char *argv[]) + { "show-paging", no_argument, NULL, 11 }, + #endif + { "forwards", no_argument, NULL, 12 }, ++#ifdef LINUX_MULTIFORMAT ++ { "pid", no_argument, NULL, 13}, ++#endif + { 0, 0, 0, 0 } + }; + +@@ -209,6 +214,9 @@ int main(int argc, char *argv[]) + } + backwards = 0; + break; ++ case 13: ++ show_pid = 1; ++ break; + case 'h': + case 3: + /* This should fall through to default! */ +@@ -304,6 +312,7 @@ void give_usage(void) + #ifdef HAVE_PAGING + "[--show-paging] " + #endif ++ "[--pid] " + "[--ahz ] [--version] [--help]\n", program_name); + print_acct_file_location (); + } +@@ -392,8 +401,8 @@ void parse_entries(void) + (void)putchar(' '); + + btime = (time_t) rec->ac_btime; +- if ( show_paging == 0 ) +- (void)printf(" %-8.8s %-8.8s %6.2f secs %-16.16s\n", ++ if ( show_paging == 0) ++ (void)printf(" %-8.8s %-8.8s %6.2f secs %-16.16s", + this_uid, this_dev, + #ifdef LINUX_MULTIFORMAT + ((ut + st) / (double) rec->ac_ahz), +@@ -403,7 +412,7 @@ void parse_entries(void) + ctime (&btime)); + else + #ifdef HAVE_PAGING +- (void)printf(" %6.0fmin %6.0fmaj %4.0fswp %6.2f secs %-16.16s\n", ++ (void)printf(" %6.0fmin %6.0fmaj %4.0fswp %6.2f secs %-16.16s", + minf, majf, swap, + #ifdef LINUX_MULTIFORMAT + ((ut + st) / (double) rec->ac_ahz), +@@ -412,8 +421,24 @@ void parse_entries(void) + #endif + ctime (&btime)); + #else +- (void)printf(" --- No paging statistics! --- \n" ); ++ (void)printf(" --- No paging statistics! --- " ); + #endif ++ ++ ++ if (show_pid) ++ { ++#ifdef LINUX_MULTIFORMAT ++ if ((rec->ac_version & 0x7f) == 3) ++ { ++ (void) printf(" %d %d", rec->ac_pid, rec->ac_ppid); ++ } ++#else ++ (void)printf(" --- No PID information available! --- " ); ++#endif ++ } ++ ++ ++ (void) printf("\n"); + } + } + } diff --git a/psacct-6.6.4-lastcomm-manpage-pid-twice.patch b/psacct-6.6.4-lastcomm-manpage-pid-twice.patch deleted file mode 100644 index efa88a4..0000000 --- a/psacct-6.6.4-lastcomm-manpage-pid-twice.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -up ./lastcomm.1.ori ./lastcomm.1 ---- ./lastcomm.1.ori 2018-06-19 17:50:43.223211872 +0200 -+++ ./lastcomm.1 2018-06-19 17:50:58.211147752 +0200 -@@ -125,9 +125,6 @@ format as your current machine, but has - Print paging statistics. - .TP - .B \-\-pid --Show PID and PPID of the process if acct version 3 format is supported by kernel. --.TP --.B \-\-pid - Add pid of the process and pid of the process parent to the output - (pid is the last but one and parent pid the last column). - These values are shown only when they are generated by acct function diff --git a/psacct-6.6.4-specfile-tweaks-file-locs.patch b/psacct-6.6.4-specfile-tweaks-file-locs.patch deleted file mode 100644 index 270c7da..0000000 --- a/psacct-6.6.4-specfile-tweaks-file-locs.patch +++ /dev/null @@ -1,43 +0,0 @@ -From fcc034e5674dfedebcdace114d059a77d312c0de Mon Sep 17 00:00:00 2001 -From: rpm-build -Date: Tue, 2 May 2023 13:11:07 +0200 -Subject: [PATCH] files locates specfile tweak - ---- - files.h.in | 6 +++--- - lib/stdio.in.h | 2 +- - 2 files changed, 4 insertions(+), 4 deletions(-) - -diff --git a/files.h.in b/files.h.in -index 900ad29..9800222 100644 ---- a/files.h.in -+++ b/files.h.in -@@ -31,9 +31,9 @@ - #include - - #define WTMP_FILE_LOC "@WTMP_FILE_LOC@" --#define ACCT_FILE_LOC "@ACCT_FILE_LOC@" --#define SAVACCT_FILE_LOC "@SAVACCT_FILE_LOC@" --#define USRACCT_FILE_LOC "@USRACCT_FILE_LOC@" -+#define ACCT_FILE_LOC "/var/account/pacct" -+#define SAVACCT_FILE_LOC "/var/account/savacct" -+#define USRACCT_FILE_LOC "/var/account/usracct" - - /* Workaround for a kernel includes problem */ - #if defined(__linux__) && defined(__alpha__) -diff --git a/lib/stdio.in.h b/lib/stdio.in.h -index d6af99c..e58d026 100644 ---- a/lib/stdio.in.h -+++ b/lib/stdio.in.h -@@ -700,7 +700,7 @@ _GL_WARN_ON_USE (getline, "getline is unportable - " - removed it. */ - #undef gets - #if HAVE_RAW_DECL_GETS --_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); -+ - #endif - - --- -2.40.0 - diff --git a/psacct-6.6.4-sprintf-buffer-overflow.patch b/psacct-6.6.4-sprintf-buffer-overflow.patch deleted file mode 100644 index d86d0eb..0000000 --- a/psacct-6.6.4-sprintf-buffer-overflow.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up ./dev_hash.c.ori ./dev_hash.c ---- ./dev_hash.c.ori 2023-05-02 10:40:45.509862165 +0200 -+++ ./dev_hash.c 2023-05-02 10:40:48.266876499 +0200 -@@ -147,7 +147,7 @@ static void setup_devices(char *dirname) - { - char *fullname = (char *) alloca ((strlen (dirname) - + NAMLEN (dp) -- + 1) * sizeof (char)); -+ + 2) * sizeof (char)); /* slash + null; Fedora BZ#2190057 */ - - (void)sprintf (fullname, "%s/%s", dirname, dp->d_name); - if (stat (fullname, &sp)) diff --git a/psacct.spec b/psacct.spec index 79a4838..95fad19 100644 --- a/psacct.spec +++ b/psacct.spec @@ -3,9 +3,10 @@ Summary: Utilities for monitoring process activities Name: psacct -Version: 6.6.4 -Release: 25%{?dist} -License: GPL-3.0-or-later +Version: 6.6.3 +Release: 4%{?dist} +License: GPLv3+ +Group: Applications/System URL: http://www.gnu.org/software/acct/ Source: ftp://ftp.gnu.org/pub/gnu/acct/acct-%{version}.tar.gz @@ -13,24 +14,31 @@ Source1: psacct.service Source2: psacct-logrotate.in Source3: accton-create -Patch1: psacct-6.6.2-unnumberedsubsubsec.patch -Patch2: psacct-6.6.1-SEGV-when-record-incomplete.patch -Patch3: psacct-6.6.4-lastcomm-manpage-pid-twice.patch -Patch4: psacct-6.6.4-sprintf-buffer-overflow.patch -Patch5: psacct-6.6.4-specfile-tweaks-file-locs.patch -Patch6: f42-fix-ftbfs.patch +#Patch1: psacct-6.3.2-lastcomm_man.patch +#Patch2: acct-6.3.2-sa_manpage.patch +# The upstream man page is more correct than the usage +# .. the C sources need to be fixed, not the man page +#Patch3: psacct-6.3.2-man-pages.patch +Patch4: psacct-6.6.2-unnumberedsubsubsec.patch +#Patch5: psacct-6.6.1-RH-man-page-scan.patch +# Partial replacement for Patch3: psacct-6.3.2-man-pages.patch +#Patch6: psacct-6.6.1-man-dump-acct.patch +# Preventing SEGVs when an incomplete record appears +Patch7: psacct-6.6.1-SEGV-when-record-incomplete.patch +Patch8: psacct-6.6.3-lastcomm-new-pid-option.patch Conflicts: filesystem < 3 +Requires: /sbin/install-info Requires: coreutils +Requires(post): chkconfig +Requires(post): systemd-sysv Requires(post): systemd Requires(preun): systemd Requires(postun): systemd -BuildRequires: make BuildRequires: autoconf BuildRequires: systemd BuildRequires: gcc -BuildRequires: git %description @@ -44,7 +52,25 @@ commands. %prep -%autosetup -S git -n acct-%{version} +%setup -q -n acct-%{version} + +#%%patch1 -p1 -b .man +#%%patch2 -p1 -b .pct +#%%patch3 -p1 -b .new +%patch4 -p1 -b .subsubsec +#%%patch5 -p1 -b .rh-man-scan +#%%patch6 -p1 -b .man-dump-acct +%patch7 -p1 +%patch8 -p1 + +# fixing 'gets' undeclared +sed -i 's|.*(gets,.*||g' lib/stdio.in.h + +# workaround for broken autotools stuff +sed -i 's|@ACCT_FILE_LOC@|/var/account/pacct|g' files.h.in +sed -i 's|@SAVACCT_FILE_LOC@|/var/account/savacct|g' files.h.in +sed -i 's|@USRACCT_FILE_LOC@|/var/account/usracct|g' files.h.in + %build %configure --enable-linux-multiformat @@ -84,19 +110,36 @@ rm -f %{buildroot}%{_bindir}/last %{buildroot}%{_mandir}/man1/last.1* %post %systemd_post psacct.service + +/sbin/install-info %{_infodir}/accounting.info %{_infodir}/dir || : touch /var/account/pacct && chmod 0600 /var/account/pacct %preun %systemd_preun psacct.service +if [ $1 -eq 0 ]; then + # Package removal, not upgrade + /sbin/install-info --delete %{_infodir}/accounting.info %{_infodir}/dir || : +fi + + %postun %systemd_postun_with_restart psacct.service +%triggerun -- psacct < 6.5.5-3 +# Save the current service runlevel info +# User must manually run systemd-sysv-convert --apply psacct +# to migrate them to systemd targets +%{_bindir}/systemd-sysv-convert --save psacct >/dev/null 2>&1 ||: + +# Run these because the SysV package being removed won't do them +/sbin/chkconfig --del psacct >/dev/null 2>&1 || : +/bin/systemctl try-restart psacct.service >/dev/null 2>&1 || : + %files -%license COPYING -%doc README +%doc README COPYING %dir /var/account %{_unitdir}/psacct.service %attr(0600,root,root) %ghost %config /var/account/pacct @@ -105,7 +148,6 @@ touch /var/account/pacct && chmod 0600 /var/account/pacct %{_sbindir}/sa %{_sbindir}/dump-utmp %{_sbindir}/dump-acct -%dir %{_libexecdir}/psacct %{_libexecdir}/psacct/accton-create %{_bindir}/ac %if %{with_last} @@ -121,90 +163,10 @@ touch /var/account/pacct && chmod 0600 /var/account/pacct %{_mandir}/man8/accton.8* %{_mandir}/man8/dump-acct.8* %{_mandir}/man8/dump-utmp.8* -%{_infodir}/accounting.info.* +%{_infodir}/accounting.info.gz %changelog -* Fri Jul 25 2025 Fedora Release Engineering - 6.6.4-25 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild - -* Fri Jan 24 2025 Jan Rybar - 6.6.4-24 -- fix compile errors - stricter check, incompat types - -* Sat Jan 18 2025 Fedora Release Engineering - 6.6.4-23 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild - -* Fri Jul 19 2024 Fedora Release Engineering - 6.6.4-22 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild - -* Fri Jan 26 2024 Fedora Release Engineering - 6.6.4-21 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Sun Jan 21 2024 Fedora Release Engineering - 6.6.4-20 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Fri Jul 21 2023 Fedora Release Engineering - 6.6.4-19 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - -* Tue May 02 2023 Jan Rybar - 6.6.4-18 -- forgot to add the second patch... again - -* Tue May 02 2023 Jan Rybar - 6.6.4-17 -- migrate to autosetup; convert specfile script to a patch -- FORTIFY_SOURCE_3 detected a buffer overflow -- Resolves: bz#2190057 - -* Mon Apr 24 2023 Lukáš Zaoral - 6.6.4-16 -- migrate to SPDX license format - -* Fri Jan 20 2023 Fedora Release Engineering - 6.6.4-15 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild - -* Fri Jul 22 2022 Fedora Release Engineering - 6.6.4-14 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - -* Wed Jun 08 2022 Jan Rybar - 6.6.4-13 -- Spec file alignment with guidelines -- Resolves: bz#1965232 - -* Fri Jan 21 2022 Fedora Release Engineering - 6.6.4-12 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild - -* Fri Jul 23 2021 Fedora Release Engineering - 6.6.4-11 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - -* Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek - 6.6.4-10 -- Rebuilt for updated systemd-rpm-macros - See https://pagure.io/fesco/issue/2583. - -* Wed Jan 27 2021 Fedora Release Engineering - 6.6.4-9 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - -* Tue Jul 28 2020 Fedora Release Engineering - 6.6.4-8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Thu Jan 30 2020 Fedora Release Engineering - 6.6.4-7 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - -* Fri Jul 26 2019 Fedora Release Engineering - 6.6.4-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - -* Wed Apr 24 2019 Björn Esser - 6.6.4-5 -- Remove hardcoded gzip suffix from GNU info pages - -* Sat Feb 02 2019 Fedora Release Engineering - 6.6.4-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild - -* Wed Oct 17 2018 Peter Robinson 6.6.4-3 -- Use %%license, drop legacy sys-v bits - -* Fri Jul 13 2018 Fedora Release Engineering - 6.6.4-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild - -* Tue Jun 19 2018 Jan Rybar - 6.6.4-1 -- Rebase to acct-6.6.4 -- lastcomm: Fixed "--pid" twice in manpage - * Fri Mar 02 2018 Jan Rybar - 6.6.3-4 - SPEC - changes in Requires and BuildRequires - systemd and gcc diff --git a/sources b/sources index f2a7aff..de1eb1f 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (acct-6.6.4.tar.gz) = 413aa446caece8fd773c92e2995bbaa034f63dd0ced521815a676c49f118e02982862b9c0ab7e60be5212c87d1e82ba6325bda212cf4857392a068d359a1e2c2 +SHA512 (acct-6.6.3.tar.gz) = 161a0c19af9cfb88689935dca0d64c94922bcf9135063349ef8c4d2bf7702864ade1b75ebab2b4fe182a7a9011b755e8608d253a30a263038bc8d57a22a92bc2