Commit 8aba2e17 authored by Jonathan Carter's avatar Jonathan Carter

Initial commit

parents
behdad: Behdad Esfahbod
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
## -*- Automake -*-
## Process this file with automake to produce Makefile.in
##############################################################################
SUBDIRS = doc src
EXTRA_DIST = bootstrap
CLEANFILES =
MAINTAINERCLEANFILES = \
$(srcdir)/INSTALL \
$(srcdir)/aclocal.m4 \
$(srcdir)/autoscan.log \
$(srcdir)/compile \
$(srcdir)/config.guess \
$(srcdir)/config.h.in \
$(srcdir)/config.sub \
$(srcdir)/configure.scan \
$(srcdir)/depcomp \
$(srcdir)/install-sh \
$(srcdir)/ltmain.sh \
$(srcdir)/missing \
$(srcdir)/mkinstalldirs \
`find "$(srcdir)" -type f -name Makefile.in -print` \
`find "$(srcdir)" -type f -name "*~" -print` \
`$(srcdir)/bootstrap --write-configure`
# The last line above is a horrible hack.
# GNU Coding Standards recommends that `make maintainer-clean' should not
# remove the configure script.
# We instead make configure call bootstrap.
# Indent all C source and header files, using indent(1):
indent: $(srcdir)/.indent.pro
cd "$(srcdir)" && \
find . -mindepth 2 -type f -name "*.[ch]" -print | \
xargs ./missing --run indent
.PHONY: indent
# Creating logrotate and init-script, etc
EXTRA_DIST += preload.logrotate.in preload.init.in preload.sysconfig
initd_SCRIPTS = preload.init
AM_INSTALLCHECK_STD_OPTIONS_EXEMPT = $(initd_SCRIPTS)
sysconfig_DATA = preload.sysconfig
logrotate_DATA = preload.logrotate
log_DATA = preload.log
pkglocalstate_DATA = preload.state
CLEANFILES += preload.init preload.logrotate preload.state preload.log
do_subst = sed \
-e 's,@datadir\@,$(pkgdatadir),g' \
-e 's,@sbindir\@,$(sbindir),g' \
-e 's,@initddir\@,$(initddir),g' \
-e 's,@sysconfigdir\@,$(sysconfigdir),g' \
-e 's,@logrotatedir\@,$(logrotatedir),g' \
-e 's,@logdir\@,$(logdir),g' \
-e 's,@subsysdir\@,$(subsysdir),g' \
-e 's,@PACKAGE_NAME\@,$(PACKAGE_NAME),g' \
-e 's,@PACKAGE_SUMMARY\@,$(PACKAGE_SUMMARY),g' \
-e 's,@PACKAGE\@,$(PACKAGE),g' \
-e 's,@VERSION\@,$(VERSION),g'
preload.init: preload.init.in Makefile
$(do_subst) $(srcdir)/$< > $@
chmod +x $@
preload.logrotate: preload.logrotate.in Makefile
$(do_subst) $(srcdir)/$< > $@
preload.state preload.log:
touch $@
install-data-hook:
@cd "$(DESTDIR)$(initddir)" && mv -f preload.init preload
@cd "$(DESTDIR)$(logrotatedir)" && mv -f preload.logrotate preload
@cd "$(DESTDIR)$(sysconfigdir)" && mv -f preload.sysconfig preload
uninstall-hook:
$(RM) "$(DESTDIR)$(initddir)/preload"
$(RM) "$(DESTDIR)$(logrotatedir)/preload"
$(RM) "$(DESTDIR)$(sysconfigdir)/preload"
# Some custom targets to make it easier to release things.
# Use either:
# make distcheck
# or make release-publish
tar_file = $(distdir).tar.gz
sha1_file = $(tar_file).sha1
gpg_file = $(sha1_file).asc
$(sha1_file): $(tar_file)
sha1sum $^ > $@
$(gpg_file): $(sha1_file)
@echo "Please enter your GPG password to sign the checksum."
gpg --armor --sign $^
release-publish: distcheck $(tar_file) $(sha1_file) $(gpg_file)
@echo ""
@echo "Please send an announcement to $(MAILING_LIST)"
@echo "including the following:"
@echo ""
@echo "Subject: $(PACKAGE) release $(VERSION) now available"
@echo ""
@echo "============================== CUT HERE =============================="
@echo "A new $(PACKAGE) release $(VERSION) is now available from:"
@echo ""
@echo " $(DOWNLOAD_URL_BASE)/$(tar_file)"
@echo ""
@echo " which can be verified with:"
@echo ""
@echo " $(DOWNLOAD_URL_BASE)/$(sha1_file)"
@echo -n " "
@cat $(sha1_file)
@echo ""
@echo " $(DOWNLOAD_URL_BASE)/$(gpg_file)"
@echo " (signed by `getent passwd "$$USER" | cut -d: -f 5 | cut -d, -f 1`)"
@echo ""
@echo "You can access these from:"
@echo ""
@echo " $(SITE_URL)"
@echo "============================== CUT HERE =============================="
@echo ""
@echo "Also, please include the new entries from the NEWS file."
@echo "Needless to say, upload the four files to the project"
@echo "download server and push the NEWS entries to the news"
@echo "section of the site."
.PHONY: release-verify-even-micro release-check release-publish
This diff is collapsed.
preload 0.6.4 release
=====================
- Make build work with bash 4.
- Require glib >= 2.14, use g_timeout_add_seconds().
- Fix --nice segfaulting.
preload 0.6.3 release
=====================
- Proof that I'm an idiot.
- Make state parsing work again.
preload 0.6.2 release
=====================
- Correctly fix the previous fork craziness issue. Real cause of the bug
revealed to me by Kai Krakow.
- Do O_NOATIME when readahead'ing.
preload 0.6.1 release
=====================
- Fix bug where preload was spawning thousands of processes. I have not
fully understood how that happened, but the fix is right. Still
investigating.
- Revert a previous change: Start daemon on runlevels 2345 by default.
preload 0.6 release
===================
- Implement various sorting strategies, defaulting to sort based on disk
block. Note that there was a bug in previous releases, causing no sorting
to happen at all. Not even on file path. The added config key is called
system.sortstrategy.
- Implement parallel readahead. A new config key system.maxprocs controls
that. Defaults to 30 processes.
- Implement readahead request merging.
- Change default memory settings to be much more conservative: consume 50%
of free mem minus 10% of total, and none of the cached.
- Support running under ionice, from the init script. Defaults to idle I/O
priority and can be set in the sysconfig config script. This may be moved
to the daemon itself.
- Other small fixes to prepheral files, mostly picked from Fedora and Ubuntu,
including plugging an fd leak.
Thanks to everyone who sent me patches. Also thanks to Ubuntu and Fedora
packagers. This release should incorporate all their changes either
directly or with my own implementation.
preload 0.4 release
===================
* Improved build system.
* state file moved from /var/preload to /var/lib/preload to follow FHS.
* LSB INIT INFO block added to the preload.init template.
* A crasher with access control lists not matching a file fixed.
* Fix crasher on 64-bit systems.
preload 0.2 release
===================
This is the first public release of preload. It runs as a daemon and
monitors processes through /proc and predicts applications that may
run and prefetches binaries and shared object. In my experience, it
reduced the startup time of OpenOffice.org writer right after a reboot
from 13 seconds to 7 seconds, and Firefox from 9 to 7. It also decreased
the time from entering login/password information in gdm to a usable
dekstop is loaded from 37s to 32s. On the other hand though, the time
from power button is pressed to gdm login screen is functional, was
increased from 65s to 85s, due to excessive harddisk activitiy caused
by preload.
preload
=======
preload is an adaptive readahead daemon that prefetches files mapped by
applications from the disk to reduce application startup time. preload should
run on any recent Linux system with /proc pseudo-filesystem mounted.
preload runs as a daemon and gathers information about processes running on
the system and shared-objects that they use. This information is saved in a
file to keep across runs of preload.
preload is developed at http://preload.sf.net/ Feel free to file bugs, or
join the mailing list.
VERSION
=======
The version number of preload consists of two components, major and minor.
An even minor components means that this a production release of preload,
while odd minor components are alpha releases for testing. The major
component contains the format of the state file that preload saves on disk.
Upgrades of preload to a higher version with the same major number means that
the saved state will be used by the new version, while if the major number has
been increased, the data in the old state file is unusable and will be
overridden by the new preload. The only effect of which is that the context
information gathered so far is lost and all started from the beginning.
See the file named NEWS for major changes between releases.
INSTALLATION
============
preload is built and installed using the common ./configure; make; make install
See the file named INSTALL for more details on how to control the directories
that vairous files are installed.
If checked out from CVS, running ./bootstrap is needed before configuring.
To build an RPM package using the distributed spec file, run make rpm.
RUNNING
=======
The easiest way to run preload is by using the provided initscript. If you
use the RPM package, you should be fine, otherwise you may need to manually
add the service and enable it, by running commands like:
/sbin/chkconfig --add preload
Let preload run for a couple of boots before expecting it to predict that
much. Technically, you need to run any application at least two times
before preload starts predicting it.
TROUBLESHOOTING
===============
If you have any problems with getting preload work, try running it from
the command-line. See `man preload' for available options. Increase the
verbosity and check out the log file. If anything seems to be wrong with
preload, do not hesitate to let us know on the mailing list or through the
bug reporting system.
FILES
=====
preload uses the common GNU tools for building and installation, and conforms
to the standards of Fedora Core for distribution-specific practices. The
following list summarizes files that will be installed and used by preload in
a typical installation, thorough building an RPM from the shipped spec file
for example:
* /usr/sbin/preload: The daemon. It forks and runs in background, but that
behavior as well as files to use can be configured through command-line
arguments.
* /usr/share/man/man8/preload.8: Manual page for the daemon.
* /etc/preload.conf: The configuration file for the daemon. The syntax is
simple key-file syntax. The default configuration file contains all valid
keys, their description, valid and default values. A configuration file
reload can be requested using signals; see the manual for details. The
config file used can be changed using command-line options.
* /var/log/preload: The default log file for the daemon. The log file used
can be changed using command-line options.
* /etc/logrotate.d/preload: logrotate(8) configuration file for the preload
log file.
* /var/lib/preload/preload.state: The database of information gathered by
preload. This is read during daemon startup and written during daemon
shutdown and at a repeating rate that is specified in the daemon
configuration file. A state save can be requested using signals; see the
manual for details. The state file used can be changed using command-line
options.
* /etc/rc.d/init.d/preload: SysV-style init-script for launching the daemon.
* /etc/sysconfig/preload: Configuration file for the init-script launcher.
Contains parameters that decide whether preload should be launched, based on
the current system configuration (available memory, etc), and command-line
arguments that should be passed to the daemon.
================================================================================
1 September 2005
Behdad Esfahbod
http://behdad.org/
This source distribution of preload corresponds to an alpha release
that is unstable and not ready for production systems. Use at your
own risk.
Generally those versions with an odd minor (second) component in
their version number are alpha releases, while those with an even
minor component are stable production releases.
The Fedora Project
Chris DiBona and the Google Summer of Code Program team
Ziga Mahkovec <ziga.mahkovec@klika.si>
Soeren Sandmann <sandmann@daimi.au.dk>
Arjan van de Ven <arjanv@redhat.com>
bert hubert <bert.hubert@netherlabs.nl>
Elliot Lee <sopwith@redhat.com>
* Use madvise(2) as a fallback for readahead(2)
* Investigate whether readahead is an advice or command
* Investigate whether madvise can be used to evacuate pages not needed anymore
* Update model when exe or maps are deleted with no replacement
* Add the proposal and docs
* Make time tracking more realistic: track real time, and take care of
hibernation too.
* Use Active and Inactive info from /proc/meminfo
* Figure out difference between buffers and cache. buffers are not to be
written back to disk. can use a good percentage of them.
This diff is collapsed.
#! /bin/sh
##############################################################################
# $Id: bootstrap,v 1.1.1.1 2005-08-20 08:16:47 behdad Exp $
# $Author: behdad
# $Date: 2005-08-20 08:16:47 $
# $Revision: 1.1.1.1 $
# $Source: /home/behdad/sf-bak/preload-cvsbackup/preload/bootstrap,v $
##############################################################################
# -*- Bootstrap -*-
# Run this file to produce a configure script.
DEFAULT_BOOTSTRAPFLAGS="--force --install --autoreconf=auto"
DEFAULT_CONFIGUREFLAGS="--enable-maintainer-mode --enable-compile-warnings"
OLDDIR=`pwd`
# move to source dir
DIR=`echo $0 | sed 's,[^/]*$,,'`
test -n "$DIR" && cd "$DIR"
if test "$1" = --write-configure; then
test -f configure && \
((echo '#! /bin/sh
DIR=`echo $0 | sed "s,[^/]*\$,,"`
exec ${DIR}bootstrap --configure -- "$@"' > configure \
&& chmod a+x configure) || \
echo Failed writing to configure >&2)
exit $?
fi
# check if we are invoked as configure, or bootstrap
BASE=`echo $0 | sed 's,.*/,,'`
if test "$BASE" = "configure"; then
CONFIG=--config
EXTRA_CONFIGUREFLAGS=$@
else # bootstrap
EXTRA_BOOTSTRAPFLAGS=$*
fi
for arg in $DEFAULT_BOOTSTRAPFLAGS $BOOTSTRAPFLAGS $EXTRA_BOOTSTRAPFLAGS
do
if test -n "$DASHDASHFLAGS"; then
DASHDASHFLAGS="$DASHDASHFLAGS $arg"
else
case $arg in
-h|--h|--he|--hel|--help)
HELP=--help ;;
-V|--vers|--versi|--versio|--version)
VERSION=--version ;;
-v|--verb|--verbo|--verbos|--verbose)
VERBOSE=--verbose ;;
-d|--de|--deb|--debu|--debug)
DEBUG=--debug ;;
-W|--w|--wa|--war|--warn|--warni|--warnin|--warning|--warnings|--warnings=yes|--warnings=all)
WARNS=--warnings=all ;;
--no-w|--no-wa|--no-war|--no-warn|--no-warni|--no-warnin|--no-warning|--no-warnings|--warn=no|--warning=no|--warnings=no)
WARNS=--warnings=none ;;
--w=*|--wa=*|--war=*|--warn=*|--warni=*|--warnin=*|--warning=*|--warnings=*)
WARNS=$arg ;;
-f|--f|--fo|--for|--forc|--force|--forced|--force=yes|--force-missing)
FORCE=--force ;;
--no-f|--no-fo|--no-for|--no-forc|--no-force|--no-forced|--force=no)
FORCE=--no-force ;;
-i|--i|--in|--ins|--inst|--insta|--instal|--install|--install=yes|-a|--add-missing)
INSTALL=--install ;;
--no-i|--no-in|--no-ins|--no-inst|--no-insta|--no-instal|--no-install|--install=no)
INSTALL= ;;
-s|--s|--sy|--sym|--syml|--symli|--symlin|--symlink|--symlink=yes|--no-copy|--copy=no)
SYMLINK=--symlink ;;
--no-s|--no-sy|--no-sym|--no-syml|--no-symli|--no-symlin|--no-symlink|--symlink=no|--copy|--copy=yes)
SYMLINK= ;;
-m|--m|--ma|--mak|--make|--make=yes)
MAKE=--make
CONFIG=--configure ;;
--no-m|--no-ma|--no-mak|--no-make|--make=no)
MAKE= ;;
-c|--c|--co|--con|--conf|--confi|--config|--configu|--configur|--configure|--configure=yes)
CONFIG=--configure ;;
--no-c|--no-co|--no-con|--no-conf|--no-confi|--no-config|--no-configu|--no-configur|--no-configure|--configure=no)
CONFIG= ;;
-n|--dr|--dry|--dry-|--dry-r|--dry-ru|--dry-run)
DRYRUN=echo ;;
--auto|--autoreconf=auto)
AUTORECONF=auto ;;
--autoreconf|--autoreconf=yes)
AUTORECONF=yes ;;
--no-autoreconf|--autoreconf=no)
AUTORECONF= ;;
--)
DASHDASHFLAGS=" " ;;
*)
echo Ignoring unknown parameter $arg
esac
fi
done
test -z "$SYMLINK" && COPY=--copy
test -n "$INSTALL" && ADDMISSING=--add-missing
# use autoreconf if possible, just check for version 2+
if test "$AUTORECONF" = auto; then
case `autoreconf --version 2>/dev/null` in
*"autoreconf (GNU Autoconf) 2."* )
echo Usable autoreconf found, running
;;
*)
AUTORECONF=
;;
esac
fi
if test -n "$AUTORECONF"; then
$DRYRUN autoreconf $HELP $VERSION $VERBOSE $DEBUG $FORCE $INSTALL $SYMLINK $MAKE $WARNS $AUTORECONFFLAGS || exit $?
else
# add files 'config.guess', 'config.sub', 'ltconfig', 'ltmain.sh'
test -f Makefile.am && MY_LIBTOOLIZEFLAGS=--automake
if grep -q '^ *AC_PROG_LIBTOOL' configure.ac configure.in 2>/dev/null; then
$DRYRUN libtoolize $HELP $VERSION $COPY $DEBUG $FORCE $MY_LIBTOOLIZEFLAGS $LIBTOOLIZEFLAGS || exit $?
fi
# generate 'aclocal.m4'
if test -f configure.ac -o configure.in; then
$DRYRUN aclocal $HELP $VERSION $VERBOSE $FORCE $ACLOCALFLAGS || exit $?
fi
# generate 'config.h.in'
if test -f configure.ac -o configure.in; then
$DRYRUN autoheader $HELP $VERSION $VERBOSE $DEBUG $FORCE $WARNS $AUTOHEADERFLAGS || exit $?
fi
# generate Makefile.in's from Makefile.am's
if test -f Makefile.am; then
$DRYRUN automake $HELP $VERSION $VERBOSE $ADDMISSING $COPY $FORCE $WARNS $AUTOMAKEFLAGS || exit $?
fi
# generate configure from configure.ac
if test -f configure.ac -o -f configure.in; then
$DRYRUN autoconf $HELP $VERSION $VERBOSE $DEBUG $FORCE $WARNS $AUTOCONFFLAGS || exit $?
fi
fi # !AUTOCONF
# move to build dir
cd $OLDDIR
# configure
if test -n "$CONFIG"; then
if test -f ${DIR}configure; then
$DRYRUN ${DIR}configure $HELP $VERSION $DEFAULT_CONFIGUREFLAGS $CONFIGUREFLAGS $DASHDASHFLAGS $EXTRA_CONFIGUREFLAGS || exit $?
fi
fi
# make
if test -n "$MAKE"; then
if test -f Makefile; then
$DRYRUN make $MAKEFLAGS || exit $?
fi
fi
/* config.h.in. Generated from configure.ac by autoheader. */
/* Define to 1 if you have the <inttypes.h> header file. */
#undef HAVE_INTTYPES_H
/* Define to 1 if you have the <linux/fs.h> header file. */
#undef HAVE_LINUX_FS_H
/* Define to 1 if you have the <memory.h> header file. */
#undef HAVE_MEMORY_H
/* Define to 1 if you have the `readahead' function. */
#undef HAVE_READAHEAD
/* Define to 1 if you have the <stdint.h> header file. */
#undef HAVE_STDINT_H
/* Define to 1 if you have the <stdlib.h> header file. */
#undef HAVE_STDLIB_H
/* Define to 1 if cpp supports the ANSI # stringizing operator. */
#undef HAVE_STRINGIZE
/* Define to 1 if you have the <strings.h> header file. */
#undef HAVE_STRINGS_H
/* Define to 1 if you have the <string.h> header file. */
#undef HAVE_STRING_H
/* Define to 1 if you have the <sys/stat.h> header file. */
#undef HAVE_SYS_STAT_H
/* Define to 1 if you have the <sys/times.h> header file. */
#undef HAVE_SYS_TIMES_H
/* Define to 1 if you have the <sys/types.h> header file. */
#undef HAVE_SYS_TYPES_H
/* Define to 1 if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H
/* Name of package */
#undef PACKAGE
/* Define to the address where bug reports for this package should be sent. */
#undef PACKAGE_BUGREPORT
/* Define to the full name of this package. */
#undef PACKAGE_NAME
/* Define to the full name and version of this package. */
#undef PACKAGE_STRING
/* Define to the one symbol short name of this package. */
#undef PACKAGE_TARNAME
/* Define to the version of this package. */
#undef PACKAGE_VERSION
/* Define as the return type of signal handlers (`int' or `void'). */
#undef RETSIGTYPE
/* Define to 1 if you have the ANSI C header files. */
#undef STDC_HEADERS
/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
#undef TIME_WITH_SYS_TIME
/* Enable extensions on AIX 3, Interix. */
#ifndef _ALL_SOURCE
# undef _ALL_SOURCE
#endif
/* Enable GNU extensions on systems that have them. */
#ifndef _GNU_SOURCE
# undef _GNU_SOURCE
#endif
/* Enable threading extensions on Solaris. */
#ifndef _POSIX_PTHREAD_SEMANTICS
# undef _POSIX_PTHREAD_SEMANTICS
#endif
/* Enable extensions on HP NonStop. */
#ifndef _TANDEM_SOURCE
# undef _TANDEM_SOURCE
#endif
/* Enable general extensions on Solaris. */
#ifndef __EXTENSIONS__
# undef __EXTENSIONS__
#endif
/* Version number of package */
#undef VERSION
/* Define to 1 if on MINIX. */
#undef _MINIX
/* Define to 2 if the system does not provide POSIX.1 features except with
this defined. */
#undef _POSIX_1_SOURCE
/* Define to 1 if you need to in order for `stat' and other things to work. */
#undef _POSIX_SOURCE
/* Define to empty if `const' does not conform to ANSI C. */
#undef const
This diff is collapsed.
## -*- Autoconf -*-
## Process this file with autoconf to produce a configure script.
## Use autoupdate to update this file for newer versions of autoconf.
## Use autoscan to check if you need to add something to this file.
##############################################################################
AC_PREREQ(2.56)
AC_INIT([preload], [0.6.4], [http://preload.sf.net/bug])
AC_CONFIG_SRCDIR(src/preload.c)
AC_CONFIG_HEADERS(config.h)
AM_INIT_AUTOMAKE(gnits)
AC_GNU_SOURCE
PACKAGE_SUMMARY="Adaptive readahead daemon"
AC_SUBST(PACKAGE_SUMMARY)
DOWNLOAD_URL_BASE="http://prdownloads.sourceforge.net/${PACKAGE_NAME}"
AC_SUBST(DOWNLOAD_URL_BASE)
SITE_URL="http://${PACKAGE_NAME}.sf.net/"
AC_SUBST(SITE_URL)
MAILING_LIST="${PACKAGE_NAME}-devel@lists.sf.net"
AC_SUBST(MAILING_LIST)
# Checks for programs.
AC_PROG_CC
AC_PROG_INSTALL
# Checks for header files.
AC_HEADER_STDC
AC_HEADER_TIME
AC_CHECK_HEADERS([stdlib.h string.h strings.h inttypes.h sys/times.h])
# Checks for typedefs and structures.
AC_C_CONST
AC_C_STRINGIZE
# Checks for compiler characteristics.
changequote(,)dnl
if test "x$GCC" = "xyes"; then
CFLAGS="$CFLAGS -Wall -ansi "
fi
changequote([,])dnl
# Checks for library functions and headers.
AC_CHECK_FUNCS(readahead,,[echo "*** readahead(2) system call required but not found.";
echo "*** get yourself a recent Linux and glibc";
echo "*** Exiting";
exit 1;])
AC_TYPE_SIGNAL
AC_CHECK_HEADERS([linux/fs.h])
# Checks for libraries.
PKG_CHECK_MODULES(GLIB, glib-2.0 >= 2.14)
# Directories we need.
pkgdocdir='${datadir}/doc/'${PACKAGE_NAME}-${PACKAGE_VERSION}
initddir='${sysconfdir}/rc.d/init.d'
sysconfigdir='${sysconfdir}/sysconfig'
logrotatedir='${sysconfdir}/logrotate.d'
logdir='${localstatedir}/log'
subsysdir='${localstatedir}/lock/subsys'
pkglocalstatedir='${localstatedir}/lib/'${PACKAGE_NAME}
AC_SUBST(pkgdocdir)
AC_SUBST(initddir)
AC_SUBST(sysconfigdir)
AC_SUBST(logrotatedir)
AC_SUBST(logdir)
AC_SUBST(subsysdir)
AC_SUBST(pkglocalstatedir)
# Generate output
AC_CONFIG_FILES([Makefile
doc/Makefile
src/Makefile])
AC_OUTPUT
08bca3d91c04e1f55734a9319939eb5e ./ChangeLog
e4cd5bc81d24dfd57af27179e7796a75 ./config.h.in
00ff06eb78ffb538cb7df3ba2181c5dc ./doc/Makefile.in
588a2e052eaf5ac1be27de0ede1fc6c0 ./doc/Makefile.am
7a9bb8deb33ae4f3171441a9af05da06 ./doc/index.txt
1d2de091a00528a1a09f6b8df3e3f3f7 ./doc/proposal.txt
a39e3f7d3f35aa2fd3af4d2eea48d4fc ./aclocal.m4
7693343570c07c39d9a92ad072f72edd ./Makefile.in
5300bd407f35038e89de0c1306dbe1f6 ./preload.sysconfig
cb8a57cdef528963a329d47fd2b7c901 ./Makefile.am
28e27b0082703426127843fe36c96cc0 ./compile
aa58e4936fb507a8750c466ced371479 ./test-driver
f2766448e74c24bd1c1c5d12466093ae ./INSTALL
94d55d512a9ba36caa9b7df079bae19f ./COPYING
0a4020dd453e4398def2dc9084265c3f ./README
e8a673d5d4d69a5fd11c880fd4c3c481 ./.pc/.quilt_series
26ab0db90d72e28ad0ba1e22ee510510 ./.pc/.version
5184d5e7b185b3ca618a22cb9838bee6 ./.pc/applied-patches
266f9759f56277b2751b24d1eb17c50f ./.pc/.quilt_patches
386ed3ea02ab90602bb2b51ddd96ef35 ./.pc/logrotate_619384/preload.logrotate.in
63ab979857639674fcb76b1b8a3083fc ./configure
cc06f4e9397b16ab4b6a0495b86ca8e3 ./TODO
e5f9da8b55623ead67f2bcfee03fb4d4 ./depcomp
58a68a299803ade9543fcdaf27c143cc ./autom4te.cache/output.0
10464c4e2e346c0316dc80073fc38011 ./autom4te.cache/requests
6b02f9cfaf70fe05e7a86620038b10c0 ./autom4te.cache/traces.0
58a68a299803ade9543fcdaf27c143cc ./autom4te.cache/output.1
7d07555cf8d9af6f9496c32520a08640 ./autom4te.cache/traces.1
e34b04fd4b07e8f0ceaab89f7b1d274c ./THANKS
da3c716f899afe51a6737a71f08452d5 ./NEWS
ff06331c3f16a2d526d6399dfeabf67a ./missing
472a31e0c9792ef1357e23141428b670 ./config.h.in~
b857907314b489718a912f9319a80ab8 ./preload.init.in
bc4767ee13cba3152763fdb5721f9af0 ./configure.ac
bac3fb7f33d1f10f02f0b6460d2eee12 ./install-sh
d565d498e625e685242528d1243962f7 ./README-alpha