fam - File Alteration Monitor ChangeLog


# FAM 2.7.0
# =========
test -f installed/fam-2.7.0.tar.gz && mv installed/fam-2.7.0.tar.gz .
test ! -f fam-2.7.0.tar.gz &&
wget ftp://oss.sgi.com/projects/fam/download/stable/fam-2.7.0.tar.gz
mkdir -p -m 0700 src
cd src
find -maxdepth 1 -type d -name "fam-*" -exec rm -r {} \;
tar xzvf ~/fam-2.7.0.tar.gz
cd fam-2.7.0
test $UID = 0 && chown -R root:root .
chmod -R u+w .

# Patch it to include support for the Linux kernel's dnotify:
wget -nc http://englanders.cc/pub/linux/patches/notmine/\
fam-2.7.0-dnotify-1.patch &&
patch -p1 < fam-2.7.0-dnotify-1.patch
autoreconf -f -i

# Patch it if you patched it for dnotify and you use gcc 4.1
# You'll get this error without the patch:
# DNotify.h:62: error: extra qualification 'DNotify::' on member 'queue_overflowed'
# DNotify.h:63: error: extra qualification 'DNotify::' on member 'queue_changed'
wget -nc http://englanders.cc/pub/linux/patches/notmine/\
fam-2.7.0-gcc4.patch &&
patch -p2 < fam-2.7.0-gcc4.patch
autoreconf -f -i

# If you haven't already run 'autoreconf -f -i' from the patches above, you
# may want to do it to fix things up and avoid errors about ./missing being
# too old, aclocal-1.6 being missing (because 1.9 is current), etc.


# Become root to install it

# Back up existing configuration file:
test -f /usr/local/etc/fam.conf &&
( mkdir -p -m 0700 ~/backup ; cp /usr/local/etc/fam.conf ~/backup/ )

rm -f /usr/local/lib/libfam.*
make install

## If you don't already have one like it (Slackware > 10.0 already has it),
## add this line to /etc/rpc:
# sgi_fam 391002 fam # File Alteration Monitor

## You can either run it from inetd or xinetd, or run it standalone.  I
## prefer the latter.  See ./INSTALL in the source directory for setup
## examples if you want to use inetd or xinetd instead.  Add something like
## this to /etc/rc.d/rc.local to have it start on boot-up:
# if [ -x /usr/local/sbin/famd ]; then
#   echo "Starting famd..."
#   /usr/local/sbin/famd -T 0
# fi

# Make sure rpc.portmap is running.  Recent versions of Slackware have a
# /etc/rc.d/rc.portmap script (if the 'portmap' package is installed),
# and Slackware 11.0 has a /etc/rc.d/rc.rpc script.  If it's not already
# running and you do have the script, run the script with start:
# /etc/rc.d/rc.rpc start
# ...to start it.  If not, run '/sbin/rpc.portmap'.  Make sure it will
# start on boot-up automatically.  The rc.portmap/rc.rpc script is
# usually run from /etc/rc.d/rc.inet2

# If you want to check out the configuration file, it's
# /usr/local/etc/fam.conf  Even though it's named fam.conf, the man page
# that covers it is named famd.conf

# If all is well, start famd (after killing any old copies that are running):
killall fam famd ; sleep 3 ; killall -9 fam famd ; sleep 1 ; \
/usr/local/sbin/famd -T 0

# Run this to make sure fam is registered with portmapper (no output = it's
# not):
rpcinfo -p | grep fam

## And just so you can see 'fam' instead of '654' when you run 'netstat -l',
## if you don't already have it (recent versions of Slackware do), add this
## line to /etc/services.  You may already have a "aodv" in there that
## you'll want to comment out.
# fam 654/tcp

# Become yourself again

mkdir -p -m 0700 installed
rm -f installed/fam-*.tar.*
mv fam-2.7.0.tar.gz installed/

# If you ever want to uninstall fam, this should do it:
test -d src/fam-* && ( cd src/fam-* ; make uninstall )
for prefix in /usr /usr/local; do
  test -d ${prefix}/lib/fam && rm -r ${prefix}/lib/fam
  rm -f ${prefix}/bin/fam ${prefix}/etc/fam.conf ${prefix}/include/fam.h \
   ${prefix}/lib/libfam.* ${prefix}/man/man3/fam.3 \
   ${prefix}/man/man5/famd.conf.5 ${prefix}/man/man8/famd.8 \
find ~/src -maxdepth 1 -type d -name "fam-*" -exec rm -r {} \;
rm -f ~/installed/fam-*.tar.*

List of HOWTOs

Web page itself last updated: 2023-12-20 8:06pm (EDT -0400)
HOWTO last updated: 2006-11-26 5:17pm
Copyright © 2001-2024 Jason Englander. All Rights reserved.