#############################################################
# Document: FAQ
# Purpose : Preempt questions
# Author..: Stuart Winter <stuart@polplex.co.uk>
#############################################################
# It's small at the moment but if I get any repeated
# or potentially repeated questions then they'll be added
# here.
#############################################################

Questions
---------

1.  slacktrack doesn't appear to work with ccache.  Why ?
2.  Do I really have to remove the existing package before
    building a new version with slacktrack ?

Answers
-------

Q1. slacktrack doesn't appear to work with ccache.  Why ?

A.  By default, ccache places its work files in your home
    directory.  Therefore when it creates files, installwatch
    moves them into the to-be package's directory structure.
    This is because slacktrack (by design and thus default)
    doesn't exclude /home (or any other home directory name)
    from being included within the package.  The reason for this
    is so that users without root who (for some reason) want to
    produce packages with slacktrack will be able to do so
    within their home directory.

    The way to fix this is either to use the -x, --exclude
    option: eg
    # slacktrack -x "/tmp,/proc,/var/tmp,/usr/tmp,/dev,/home" \
                 -fenzSUIp blah-3.0-i486-2.tgz ./blah.build

    
    Or edit /usr/bin/slacktrack and find the line:

    INSTALLWATCHEXCLUDEDIRS="/tmp,/proc,/var/tmp,/usr/tmp,/dev"

    and modify that to suit your needs.


Q2. Do I really have to remove the existing package before
    building a new version with slacktrack ?

A.  No (see my zlib example), but I'd advise that you do.
    The reason that my example trackbuild scripts remove the
    existing package first (or bomb out) is because some 
    installs will get confused if they find an existing
    configuration file, try to edit it only to find it's 'gone'
    (due to the way installwatch works).
    This may result in either the 'make install' failing
    or missing some files from the package.
    
    I've only ever seen this happen with Apache 1.3.??
    but it just depends on the software in question.

    It's worth noting that Slackware's 'removepkg' program
    won't always remove all files (especially config files
    which are packaged as /etc/file.new and are renamed to
    /etc/file by install/doinst.sh).

    It shouldn't be too much of an issue though.  If it's a
    brand new piece of software that you are building from 
    scratch then installwatch will pick up all new files.
    If you're rebuilding a Slackware package using a
    .build script from the source tree then it's worth
    browsing the package's contents ( # cat /var/log/packages/lftp-* 
    for example ), then running 'removepkg' and looking at its
    output. If there are any remaining config files then either
    move them to a safe place or delete them before
    building yoru package with slacktrack.

    In general though you shouldn't have any problems.
  
