psacct/psacct.spec
cvsdist dffc79e2ef auto-import changelog data from psacct-6.3.2-19.src.rpm
Wed Mar 27 2002 Mike A. Harris <mharris@redhat.com> 6.3.2-19
- Made initscript touch/chmod accounting file if it is not present during
    startup, to ensure accounting works properly when enabled.
2004-09-09 10:47:24 +00:00

242 lines
7.6 KiB
Bash

#!/bin/bash
# Broken RH Alpha buildsystem is wasting my time
Excludearch: alpha
%define FHS_compliant 1
%if %{FHS_compliant}
%define accounting_logdir /var/account
%else
%define accounting_logdir /var/log
%endif
Summary: Utilities for monitoring process activities.
Name: psacct
Version: 6.3.2
Release: 19
License: GPL
Group: Applications/System
Source: ftp://ftp.gnu.org/pub/gnu/acct-6.3.2.tar.gz
Source1: psacct.init
# This dumb patch breaks FHS 2.2 compliance, so it is disabled now except
# in 7.x builds. Do not use it in new products.
Patch0: acct-6.3.2-config.patch
Patch1: acct-6.3.2-exit.patch
# Fixes some broken calls to ctime() on 64bit arch's <mharris@redhat.com>
Patch2: psacct-6.3.2-64bit-fixes.patch
Buildroot: %{_tmppath}/%{name}-%{version}-root
Prereq: /sbin/install-info
BuildRequires: autoconf
# This conflict is to avoid psacct being forced on by old initscripts now that
# we have a proper initscript in place. initscripts 6.55 and later are fixed.
Conflicts: initscripts < 6.55
%description
The psacct package contains several utilities for monitoring process
activities, including ac, lastcomm, accton and sa. The ac command
displays statistics about how long users have been logged on. The
lastcomm command displays information about previous executed
commands. The accton command turns process accounting on or off. The
sa command summarizes information about previously executed
commmands.
%prep
%setup -q -n acct-%{version}
%if ! %{FHS_compliant}
%patch0 -p0 -b .config
%endif
%patch1 -p1 -b .psacct-exit
%patch2 -p0 -b .64bit-fixes
%build
%if ! %{FHS_compliant}
autoconf
%endif
%configure
sed -e "s/\/\* #undef HAVE_LINUX_ACCT_H \*\//#define HAVE_LINUX_ACCT_H/" config.h > config.h.new
mv -f config.h.new config.h
touch texinfo.tex
make
%install
[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT
mkdir -p $RPM_BUILD_ROOT{/sbin,%{_bindir},%{_mandir},%{_sbindir}}
%{makeinstall}
# move accton to /sbin -- leave historical symlink
mv $RPM_BUILD_ROOT%{_sbindir}/accton $RPM_BUILD_ROOT/sbin/accton
ln -s ../../sbin/accton $RPM_BUILD_ROOT%{_sbindir}/accton
gzip -9f $RPM_BUILD_ROOT%{_infodir}/*
mkdir -p $RPM_BUILD_ROOT%{accounting_logdir}
touch $RPM_BUILD_ROOT%{accounting_logdir}/pacct
# Create logrotate config file
mkdir -p $RPM_BUILD_ROOT/etc/logrotate.d
cat > $RPM_BUILD_ROOT/etc/logrotate.d/psacct <<EOF
# Logrotate file for psacct RPM
%{accounting_logdir}/pacct {
prerotate
%{_sbindir}/accton
endscript
compress
notifempty
daily
rotate 31
create 0600 root root
postrotate
%{_sbindir}/accton %{accounting_logdir}/pacct
endscript
}
EOF
# Install initscript
mkdir -p $RPM_BUILD_ROOT/etc/rc.d/init.d
install -m 755 %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/psacct
%clean
[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT
%post
# we need this hack to get rid of an old, incorrect accounting info entry.
if [ $1 = 0 ]; then
grep -v '* accounting: (psacct)' < /etc/info-dir > /etc/info-dir.new
mv -f /etc/info-dir.new /etc/info-dir
/sbin/install-info %{_infodir}/accounting.info.gz %{_infodir}/dir --entry="* accounting: (accounting). The GNU Process Accounting Suite."
/sbin/chkconfig --add psacct
fi
%preun
if [ $1 = 0 ]; then
/sbin/install-info --delete %{_infodir}/accounting.info.gz %{_infodir}/dir --entry="* accounting: (accounting). The GNU Process Accounting Suite." 2>/dev/null
/sbin/chkconfig --del psacct
fi
%files
%defattr(-,root,root)
%if %{FHS_compliant}
%dir /var/account
%endif
/etc/rc.d/init.d/psacct
%attr(0600,root,root) %config %{accounting_logdir}/pacct
%attr(0644,root,root) %config(noreplace) /etc/logrotate.d/*
/sbin/accton
%{_sbindir}/accton
%{_sbindir}/sa
%{_sbindir}/dump-utmp
%{_sbindir}/dump-acct
%{_bindir}/ac
%{_bindir}/lastcomm
%{_mandir}/man1/ac.1*
%{_mandir}/man1/lastcomm.1*
%{_mandir}/man8/sa.8*
%{_mandir}/man8/accton.8*
%{_infodir}/accounting.info.gz
%changelog
* Tue Mar 27 2002 Mike A. Harris <mharris@redhat.com> 6.3.2-19
- Made initscript touch/chmod accounting file if it is not present during
startup, to ensure accounting works properly when enabled.
* Mon Mar 26 2002 Mike A. Harris <mharris@redhat.com> 6.3.2-18
- Fixed duh in initscript pointing to wrong accounting file (#61939)
* Sun Mar 17 2002 Mike A. Harris <mharris@redhat.com> 6.3.2-17
- Removed the files usracct and savacct, which are not used by psacct
utilities at all, but by the sa program. Our sa uses files in a different
location, and so these files are unused and unnecessary.
* Sat Mar 16 2002 Mike A. Harris <mharris@redhat.com> 6.3.2-16
- Added chkconfig to post and preun scripts for bug (#61191)
* Tue Mar 12 2002 Mike A. Harris <mharris@redhat.com> 6.3.2-15
- Added new feature - psacct initscript now controls process accounting so
that it is not just forced on if installed as was the previous behaviour
- Modified the initscripts package to not force psacct on anymore and made
the new psacct-6.3.2-15 conflict with previous initscripts packages.
- Fixed logrotate config to set perms/owner of new log files, and closed
bug (#54165)
* Thu Mar 7 2002 Mike A. Harris <mharris@redhat.com> 6.3.2-14
- Fixed 64bit bug in calls to ctime() in lastcomm and dump-utmp (#60712)
* Wed Mar 6 2002 Mike A. Harris <mharris@redhat.com> 6.3.2-13
- Removed Build_7x flag, added FHS_compliant flag, reworked specfile to use new
flag, and fixed bug (#60716)
* Thu Feb 28 2002 Bill Nottingham <notting@redhat.com> 6.3.2-12
- rebuild in new environment for FHS correctness
* Thu Jan 31 2002 Mike A. Harris <mharris@redhat.com> 6.3.2-11
- Conditionalized acct-6.3.2-config.patch to only be applied for RHL 7.x
builds, as it breaks FHS compliance by putting files in nonstandard
locations. Also fixed up other places in specfile for FHS 2.2.
- Added acct-6.3.2-I-HATE-GNU-AUTOCONK.patch because I hate GNU autoconk
really really badly.
- Bumped to -11 to avoid buildsystem stupidness
* Thu Sep 06 2001 Mike A. Harris <mharris@redhat.com> 6.3.2-9
- Fixed bug (#53307) psacct is enabled by default, and the log files
are huge, and will fill the disk up very quickly. logrotate will
now compress them daily.
* Sat Sep 01 2001 Florian La Roche <Florian.LaRoche@redhat.de> 6.3.2-8
- do not fail for ENOSYS to silently support kernels without
process accounting
* Sun Aug 26 2001 Mike A. Harris <mharris@redhat.com> 6.3.2-7
- Change spec tag Copyright -> License
- change logrotate to rotate daily, and keep 1 month (31 days) of data
* Sun Jun 24 2001 Elliot Lee <sopwith@redhat.com>
- Bump release + rebuild.
* Mon Feb 02 2001 Helge Deller <hdeller@redhat.de>
- added logrotate file for /var/log/pacct (#24900)
* Wed Jul 12 2000 Prospector <bugzilla@redhat.com>
- automatic rebuild
* Mon Jun 5 2000 Nalin Dahyabhai <nalin@redhat.com>
- FHS fixes
* Sat May 6 2000 Bill Nottingham <notting@redhat.com>
- fix for new patch
* Thu Feb 03 2000 Nalin Dahyabhai <nalin@redhat.com>
- update to 6.3.2
* Mon Apr 05 1999 Preston Brown <pbrown@redhat.com>
- wrap post script with reference count.
* Tue Mar 23 1999 Preston Brown <pbrown@redhat.com>
- install-info sucks. Still.
* Sun Mar 21 1999 Cristian Gafton <gafton@redhat.com>
- auto rebuild in the new build environment (release 8)
* Thu Mar 18 1999 Bill Nottingham <notting@redhat.com>
- #define HAVE_LINUX_ACCT_H too, so it works. :)
* Sun Aug 16 1998 Jeff Johnson <jbj@redhat.com>
- accton needs to be accessible to /etc/rc.d/init.d/halt
* Fri May 08 1998 Erik Troan <ewt@redhat.com>
- install-info sucks
* Mon Apr 27 1998 Prospector System <bugs@redhat.com>
- translations modified for de, fr, tr
* Thu Oct 23 1997 Donnie Barnes <djb@redhat.com>
- updated from 6.2 to 6.3
* Mon Jul 21 1997 Erik Troan <ewt@redhat.com>
- built against glibc