Compare commits

...

No commits in common. "c8s" and "c10s" have entirely different histories.
c8s ... c10s

17 changed files with 215 additions and 540 deletions

1
.fmf/version Normal file
View File

@ -0,0 +1 @@
1

1
.gitignore vendored
View File

@ -3,3 +3,4 @@ acct-6.5.4.tar.gz
/acct-6.6.1.tar.gz /acct-6.6.1.tar.gz
/acct-6.6.2.tar.gz /acct-6.6.2.tar.gz
/acct-6.6.3.tar.gz /acct-6.6.3.tar.gz
/acct-6.6.4.tar.gz

View File

@ -1,12 +0,0 @@
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

1
ci.fmf Normal file
View File

@ -0,0 +1 @@
resultsdb-testcase: separate

6
gating.yaml Normal file
View File

@ -0,0 +1,6 @@
--- !Policy
product_versions:
- rhel-10
decision_context: osci_compose_gate
rules:
- !PassingTestCaseRule {test_case_name: osci.brew-build./plans/tier1-internal.functional}

14
plans/tier1-internal.fmf Normal file
View File

@ -0,0 +1,14 @@
summary: Internal gating tests plan
discover:
- name: Internal gating tests (psacct)
how: fmf
url: https://pkgs.devel.redhat.com/git/tests/psacct
- name: Internal gating tests (selinux-policy)
how: fmf
filter: 'component: psacct'
url: https://pkgs.devel.redhat.com/git/tests/selinux-policy
execute:
how: tmt
adjust:
enabled: false
when: distro == centos-stream or distro == fedora

View File

@ -1,12 +0,0 @@
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

View File

@ -1,128 +0,0 @@
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 <varekova@redhat.com>
+.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 <varekova@redhat.com>
+.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 <noel@gnu.ai.mit.edu>.
-.PP
-This manual page was written by Ognyan Kulev <ogi@fmi.uni-sofia.bg> and updated
-by Daniel Baumann <daniel@debian.org> for the Debian project (but may be used by
-others).
+accton (8), lastcomm (1), utmp (5)

View File

@ -1,167 +0,0 @@
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 <file>] [people] ...\n\
- [--daily-totals] [--individual-totals] [--file <file>]\n\
- [--complain] [--reboots] [--supplants] [--timewarps] [--print-year]\n\
- [--compatibility] [--print-zeros] [--debug] [--tw-leniency <value>]\n\
- [--tw-suspicious <value>] [--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 <file> Read from <file>\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 <value> Set the time warp leniency <value> in seconds\n"
+ " --tw-suspicious <value> Set the time warp suspicious <value> 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 <version>] [--byteswap]\n");
+ printf (" [--format <version>] [--byteswap]\n");
#endif
+ printf (" [--ahz <freq>]\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 <freq>] [--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

View File

@ -1,57 +0,0 @@
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 <varekova@redhat.com>
+.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)
+

View File

@ -1,105 +0,0 @@
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 <freq>] [--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");
}
}
}

View File

@ -0,0 +1,13 @@
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

View File

@ -0,0 +1,43 @@
From fcc034e5674dfedebcdace114d059a77d312c0de Mon Sep 17 00:00:00 2001
From: rpm-build <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 <utmp.h>
#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

View File

@ -0,0 +1,12 @@
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))

View File

@ -3,10 +3,9 @@
Summary: Utilities for monitoring process activities Summary: Utilities for monitoring process activities
Name: psacct Name: psacct
Version: 6.6.3 Version: 6.6.4
Release: 4%{?dist} Release: 24%{?dist}
License: GPLv3+ License: GPL-3.0-or-later
Group: Applications/System
URL: http://www.gnu.org/software/acct/ URL: http://www.gnu.org/software/acct/
Source: ftp://ftp.gnu.org/pub/gnu/acct/acct-%{version}.tar.gz Source: ftp://ftp.gnu.org/pub/gnu/acct/acct-%{version}.tar.gz
@ -14,31 +13,24 @@ Source1: psacct.service
Source2: psacct-logrotate.in Source2: psacct-logrotate.in
Source3: accton-create Source3: accton-create
#Patch1: psacct-6.3.2-lastcomm_man.patch Patch1: psacct-6.6.2-unnumberedsubsubsec.patch
#Patch2: acct-6.3.2-sa_manpage.patch Patch2: psacct-6.6.1-SEGV-when-record-incomplete.patch
# The upstream man page is more correct than the usage Patch3: psacct-6.6.4-lastcomm-manpage-pid-twice.patch
# .. the C sources need to be fixed, not the man page Patch4: psacct-6.6.4-sprintf-buffer-overflow.patch
#Patch3: psacct-6.3.2-man-pages.patch Patch5: psacct-6.6.4-specfile-tweaks-file-locs.patch
Patch4: psacct-6.6.2-unnumberedsubsubsec.patch Patch6: sast_bugs.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 Conflicts: filesystem < 3
Requires: /sbin/install-info
Requires: coreutils Requires: coreutils
Requires(post): chkconfig
Requires(post): systemd-sysv
Requires(post): systemd Requires(post): systemd
Requires(preun): systemd Requires(preun): systemd
Requires(postun): systemd Requires(postun): systemd
BuildRequires: make
BuildRequires: autoconf BuildRequires: autoconf
BuildRequires: systemd BuildRequires: systemd
BuildRequires: gcc BuildRequires: gcc
BuildRequires: git
%description %description
@ -52,25 +44,7 @@ commands.
%prep %prep
%setup -q -n acct-%{version} %autosetup -S git -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 %build
%configure --enable-linux-multiformat %configure --enable-linux-multiformat
@ -110,36 +84,19 @@ rm -f %{buildroot}%{_bindir}/last %{buildroot}%{_mandir}/man1/last.1*
%post %post
%systemd_post psacct.service %systemd_post psacct.service
/sbin/install-info %{_infodir}/accounting.info %{_infodir}/dir || :
touch /var/account/pacct && chmod 0600 /var/account/pacct touch /var/account/pacct && chmod 0600 /var/account/pacct
%preun %preun
%systemd_preun psacct.service %systemd_preun psacct.service
if [ $1 -eq 0 ]; then
# Package removal, not upgrade
/sbin/install-info --delete %{_infodir}/accounting.info %{_infodir}/dir || :
fi
%postun %postun
%systemd_postun_with_restart psacct.service %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 %files
%doc README COPYING %license COPYING
%doc README
%dir /var/account %dir /var/account
%{_unitdir}/psacct.service %{_unitdir}/psacct.service
%attr(0600,root,root) %ghost %config /var/account/pacct %attr(0600,root,root) %ghost %config /var/account/pacct
@ -148,6 +105,7 @@ fi
%{_sbindir}/sa %{_sbindir}/sa
%{_sbindir}/dump-utmp %{_sbindir}/dump-utmp
%{_sbindir}/dump-acct %{_sbindir}/dump-acct
%dir %{_libexecdir}/psacct
%{_libexecdir}/psacct/accton-create %{_libexecdir}/psacct/accton-create
%{_bindir}/ac %{_bindir}/ac
%if %{with_last} %if %{with_last}
@ -163,10 +121,89 @@ fi
%{_mandir}/man8/accton.8* %{_mandir}/man8/accton.8*
%{_mandir}/man8/dump-acct.8* %{_mandir}/man8/dump-acct.8*
%{_mandir}/man8/dump-utmp.8* %{_mandir}/man8/dump-utmp.8*
%{_infodir}/accounting.info.gz %{_infodir}/accounting.info.*
%changelog %changelog
* Tue Oct 29 2024 Troy Dawson <tdawson@redhat.com> - 6.6.4-24
- Bump release for October 2024 mass rebuild:
Resolves: RHEL-64018
* Tue Oct 15 2024 Jan Rybar <jrybar@redhat.com> - 6.6.4-23
- fixed bugs discovered by static analysis
- Resolves: RHEL-43279
* Mon Jun 24 2024 Troy Dawson <tdawson@redhat.com> - 6.6.4-22
- Bump release for June 2024 mass rebuild
* Fri Jan 26 2024 Fedora Release Engineering <releng@fedoraproject.org> - 6.6.4-21
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Sun Jan 21 2024 Fedora Release Engineering <releng@fedoraproject.org> - 6.6.4-20
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Fri Jul 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 6.6.4-19
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Tue May 02 2023 Jan Rybar <jrybar@redhat.com> - 6.6.4-18
- forgot to add the second patch... again
* Tue May 02 2023 Jan Rybar <jrybar@redhat.com> - 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 <lzaoral@redhat.com> - 6.6.4-16
- migrate to SPDX license format
* Fri Jan 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 6.6.4-15
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 6.6.4-14
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Wed Jun 08 2022 Jan Rybar <jrybar@redhat.com> - 6.6.4-13
- Spec file alignment with guidelines
- Resolves: bz#1965232
* Fri Jan 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 6.6.4-12
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 6.6.4-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 6.6.4-10
- Rebuilt for updated systemd-rpm-macros
See https://pagure.io/fesco/issue/2583.
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 6.6.4-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 6.6.4-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 6.6.4-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 6.6.4-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Wed Apr 24 2019 Björn Esser <besser82@fedoraproject.org> - 6.6.4-5
- Remove hardcoded gzip suffix from GNU info pages
* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 6.6.4-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Wed Oct 17 2018 Peter Robinson <pbrobinson@fedoraproject.org> 6.6.4-3
- Use %%license, drop legacy sys-v bits
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 6.6.4-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Tue Jun 19 2018 Jan Rybar <jrybar@redhat.com> - 6.6.4-1
- Rebase to acct-6.6.4
- lastcomm: Fixed "--pid" twice in manpage
* Fri Mar 02 2018 Jan Rybar <jrybar@redhat.com> - 6.6.3-4 * Fri Mar 02 2018 Jan Rybar <jrybar@redhat.com> - 6.6.3-4
- SPEC - changes in Requires and BuildRequires - systemd and gcc - SPEC - changes in Requires and BuildRequires - systemd and gcc

28
sast_bugs.patch Normal file
View File

@ -0,0 +1,28 @@
diff --git a/sa.c b/sa.c
index e2e654e..a432e5a 100644
--- a/sa.c
+++ b/sa.c
@@ -1042,9 +1042,11 @@ void write_savacct_file(char *filename)
{
printf ("%s (write_savacct_file): probs writing to file `%s'\n",
program_name, s);
+ fclose(fp);
exit(EXIT_FAILURE);
}
}
+ fclose(fp);
if (rename (s, filename) != 0)
{
@@ -1084,9 +1086,11 @@ void write_usracct_file(char *filename)
{
printf ("%s (write_usracct_file): probs writing to file `%s'\n",
program_name, s);
+ fclose(fp);
exit(EXIT_FAILURE);
}
}
+ fclose(fp);
if (rename (s, filename) != 0)
{

View File

@ -1 +1 @@
SHA512 (acct-6.6.3.tar.gz) = 161a0c19af9cfb88689935dca0d64c94922bcf9135063349ef8c4d2bf7702864ade1b75ebab2b4fe182a7a9011b755e8608d253a30a263038bc8d57a22a92bc2 SHA512 (acct-6.6.4.tar.gz) = 413aa446caece8fd773c92e2995bbaa034f63dd0ced521815a676c49f118e02982862b9c0ab7e60be5212c87d1e82ba6325bda212cf4857392a068d359a1e2c2