Blob Blame History Raw
# Our /usr/bin/last is in the SysVInit packae
%define with_last	0

%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: 37.1
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
Patch3: psacct-6.3.2-hzval-fixes2.patch
Patch4: acct-6.3.2-pts.patch
Patch5: psacct-6.3.2-strictmatch.patch
Patch6: psacct-6.3.2-sa-manfix.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
%patch3 -p1 -b .hz
%patch4 -p1 -b .pts
%patch5 -p1 -b .strictmatch
%patch6 -p1 -b .tio-avio

%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
sed -e "s;#define HAVE_ACIO 1;/* #undef HAVE_ACIO */;" 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 loses accounting records, let's no
#   prerotate
#       %{_sbindir}/accton
#   endscript
    compress
    delaycompress
    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

%if ! %{with_last}
rm -f $RPM_BUILD_ROOT%{_bindir}/last $RPM_BUILD_ROOT%{_mandir}/man1/last.1*
%endif

%clean
[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT

%post
/sbin/chkconfig --add psacct
# we need this hack to get rid of an old, incorrect accounting info entry.
if [ $1 = 0 ]; then
  test -f /etc/info-dir && {
    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."
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/service psacct stop > /dev/null 2>&1	
  /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
%if %{with_last}
%{_bindir}/last
%endif
%{_bindir}/lastcomm
%{_mandir}/man1/ac.1*
%if %{with_last}
%{_mandir}/man1/last.1*
%endif
%{_mandir}/man1/lastcomm.1*
%{_mandir}/man8/sa.8*
%{_mandir}/man8/accton.8*
%{_infodir}/accounting.info.gz

%changelog
* Fri Dec 09 2005 Jesse Keating <jkeating@redhat.com>
- rebuilt

* Fri Mar  4 2005 Ivana Varekova <varekova@redhat.com> 6.3.2-37
- rebuilt

* Tue Feb 15 2005 Ivana Varekova <varekova@redhat.com> 6.3.2-36
- fix sa manpage - necessary becouse of bug #43294 and previous patch

* Tue Feb 15 2005 Ivana Varekova <varekova@redhat.com> 6.3.2-35
- fix #147782 logrotate script error

* Thu Feb  3 2005 Charles Bennett <ccb@redhat.com> 6.3.2-33.fc4
- rhbz 133077: logrotate fixed to continue accounting during rotate
- rhbz 141802: lastcomm was not handling all forms of --strict-match
- rhbz 141971: rpm -e no longer leaves /var/lock/subsys/psacct
- rhbz 43294: sa will never report any io because the kernel doesn't
   provide it.  Tweaked to ignore ac_io in acct.h
- integrate lastcomm hz patch from RH support

* Wed Sep  1 2004 root <ccb@redhat.com> - 6.3.2-31
- integrate JFenlason's hz patch, improve pts device reporting

* Fri Feb 13 2004 Elliot Lee <sopwith@redhat.com>
- rebuilt

* Wed Jun 04 2003 Elliot Lee <sopwith@redhat.com>
- rebuilt

* Wed Jan 22 2003 Tim Powers <timp@redhat.com>
- rebuilt

* Thu Dec 26 2002 Florian La Roche <Florian.LaRoche@redhat.de>
- make /etc/info-dir an optional file

* Wed Nov 13 2002 Mike A. Harris <mharris@redhat.com> 6.3.2-25
- Added with_last conditional to disable /usr/bin/last because ours is in
  the SysVInit package.  This fixes unpackaged files terminate build prob.

* Thu Aug 22 2002 Mike A. Harris <mharris@redhat.com> 6.3.2-24
- Fixed initscript reload/restart by creating start/stop functions and
  making everything use them (#72261)

* Tue Aug  6 2002 Mike A. Harris <mharris@redhat.com> 6.3.2-23
- Fixed chkconfig issue in rpm scripts (#61191)
- Excludearch ia64, not taking the time to debug/troubleshoot random
  buildsystem failure due to higher priorities.

* Mon Jul 08 2002 Elliot Lee <sopwith@redhat.com>
- Take the time to make sure things get through on all archs, by simply
  running it through the build system.

* Fri Jun 21 2002 Tim Powers <timp@redhat.com>
- automated rebuild

* Thu May 23 2002 Tim Powers <timp@redhat.com>
- automated rebuild

* 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