summaryrefslogtreecommitdiffstats
path: root/source/d/slacktrack/slacktrack-project/man/slacktrack.pod
diff options
context:
space:
mode:
Diffstat (limited to 'source/d/slacktrack/slacktrack-project/man/slacktrack.pod')
-rw-r--r--source/d/slacktrack/slacktrack-project/man/slacktrack.pod949
1 files changed, 0 insertions, 949 deletions
diff --git a/source/d/slacktrack/slacktrack-project/man/slacktrack.pod b/source/d/slacktrack/slacktrack-project/man/slacktrack.pod
deleted file mode 100644
index 07eac6a4d..000000000
--- a/source/d/slacktrack/slacktrack-project/man/slacktrack.pod
+++ /dev/null
@@ -1,949 +0,0 @@
-=pod
-
-=head1 NAME
-
-slacktrack - build Slackware packages from B<.build> scripts
-
-=head1 SYNOPSIS
-
-B<slacktrack> B<[>optionsB<]> -p B<">packagefilenameB<"> B<">buildscriptB<">
-
-
-=head1 DESCRIPTION
-
-B<slacktrack> is a packaging tool to build Slackware packages
-from simple B<.build> scripts, some of which can be found in the distribution
-source tree. B<slacktrack> has many features available to eliminate the
-majority of the manual element involved with producing packages from
-these scripts. B<slacktrack> uses the standard Slackware B<makepkg> program
-to produce the resulting packages.
-
-
-=head1 OPTIONS - GENERAL
-
-=over 4
-
-=item B<-h>, B<--help>
-
-Show the available options and exit
-
-=item B<-v>, B<--version>
-
-Show the version information and exit
-
-=back
-
-=head1 OPTIONS - SLACKWARE 'makepkg' PACKAGE MAKER
-
-The values from these options are passed to the Slackware
-B<makepkg> tool.
-
-=over 4
-
-=item B<-p>, B<--package> <package_name>
-
-Resulting tar file name of the package. This will be in the format
-of B<name>-B<version>-B<arch>-B<build>.tgz
-
-For example: B<slacktrack>-B<@VERSION@>-B<i386>-B<1>.B<tgz>
-
-=item B<-s>, B<--nosymlinks>
-
-Tell B<makepkg> not to search for symlinks in the package directory
-
-=item B<-r>, B<--setrootowner>
-
-Tell B<makepkg> to set permissions on directories to 755 and owners to root.root
-
-See also B<--chown-bdirs-root-bin>
-
-=item B<--mpopts>
-
-Supply additional options to B<makepkg>.
-
-Example: # B<slacktrack> --mpopts "--prepend" -Qnp foo-1.0-i486-1.tgz ./foo.build
-
-B<Note:> You B<must> include the additional options in either
-quotes (as shown in the example above) or single quotes otherwise slacktrack will take them
-as options to itself.
-
-=back
-
-=head1 OPTIONS - SPECIFIC SLACKTRACK OPTIONS
-
-=over 4
-
-=item B<-t>, B<--notidy>
-
-Do not delete temporary package directory when slacktrack has finished.
-slacktrack uses a temporary work space directory in /var/tmp (by default).
-This directory contains the package.tgz contents. This option can be
-useful when you are having difficulties with building the package, or
-for debugging slacktrack.
-slacktrack will inform you of the (randomly named) temporary directory
-when it has finished.
-
-=item B<-b>, B<--buildstore> <directory>
-
-Specify the location in which to store the built .tgz packages.
-By default this is B</tmp/built-slackwarepackages>, but you may wish
-to change it to another location. If this directory does not exist
-then slacktrack will default to using B</tmp>
-
-This directory also will contain any logs and the package description
-file (if specified).
-
-
-=item B<-l>, B<--logfile> <filename>
-
-slacktrack logs every element of the compilation and build process
-that the B<build script> outputs along with slacktrack's own on-screen
-output. The log file is especially useful for debugging a failed build.
-The default log path is B<E<lt>buildstore_pathE<gt>/E<lt>package_nameE<gt>.log>
-
-This option permits the user to specify a different directory for the
-logs rather than storing the .log in the same directory as the .tgz.
-
-=item B<-n>, B<--nologging>
-
-Do not save the log file when slacktrack has finished.
-See B<--logfile> above for a description of the contents of the log file.
-
-The default is to log.
-
-=item B<-D>, B<--md5sum>
-
-Create an MD5sum of the resulting package file in the package
-store directory (where the resulting package will be built; usually
-this is F</tmp>). The MD5sum file will be the same name as the resulting
-package file but with B<.md5> suffixed (e.g. foobar-1.0-i486-5.tgz.md5).
-
-This option does nothing if the B<--nocreatetgz> option has been
-specified.
-
-=item B<-G>, B<--gpg-sign> <key id>
-
-Sign the resulting package file with specified GnuPG key and
-placed the detached, armored signature in the package store directory (where
-the resulting package will be stored; usually this is F</tmp>). The GnuPG
-signature file will have the same name as the resulting package file but with
-an extra B<.asc> suffixed (e.g. foobar-1.0-i486-5.tgz.asc).
-
-This option does nothing if the B<--nocreatetgz> option has been specified.
-
-
-=item B<-z>, B<--gzman>
-
-Slackware's standard is that all man pages should be gzipped.
-This option makes slacktrack gzip any man pages that exist within the
-directories F</usr/man>, F</usr/local/man> and F</usr/X11R?/man>.
-
-The default is not to gzip man pages.
-
-Also see the B<--gzman-no-symfix>, B<--gzinfo> and B<--gzinfo-no-symfix> options.
-
-=item B<-I>, B<--gzinfo>
-
-Slackware's standard is that all GNU info pages should be gzipped.
-This option makes slacktrack gzip any info pages that exist within the
-directories F</usr/info> and F</usr/local/info>
-
-The default is not to gzip info pages.
-
-Also see the B<--gzinfo-no-symfix>, B<--gzman> and B<--gzman-no-symfix> options.
-
-=item B<-P>, B<--delete-perllocalpod>
-
-Delete any B<perllocal.pod> files found in the package's /usr/lib directory.
-
-These files contain information about a system's Perl packages installed
-in addition to the vendor's Perl distribution. Typically these files are
-created by the installation script of the additional Perl add-on package.
-
-However, they are snapshots of the particular system on which the Slackware
-package is made - and most likely will not reflect the target system's
-environment (the target is unlikely to have an identical set of additional
-Perl modules installed); thus these files should not be present in Slackware packages.
-
-The default is not to delete these files.
-
-=item B<-K>, B<--delete-usrinfodir>
-
-Delete the package's /usr/info/dir file if it exists. This file is
-a special file used by the GNU 'info' program to provide the user
-with a list of the info pages present on the system.
-Some software's Makefile will create a new 'dir' page that only contains
-information pertaining to the newly compiled software itself, rather than
-appending to the existing list of software.
-
-In the main you will want to use this option to avoid replacing the original
-/usr/info/dir file.
-
-However, the default is not to delete this file.
-
-
-=item B<-x>, B<--exclude> B<pattern for egrep>
-
-slacktrack traverses the filesystem using the UNIX 'find' utility and generates
-a 'snapshot' of the contents. grep -E (or B<'egrep'>) is then used to remove
-a number of paths and specific files from this snapshot; this is because
-these paths/directories either are locations that should never be installation
-destinations for software, or are system files that are subject to change
-moment to moment.
-
-This option allows you to replace the entire default pattern.
-
-By default, slacktrack excludes the following:
-
-EXCLUDE_LIST="${PWD}$|${PWD}|/etc/ntp/drift|/var/run/|/var/run$|/var/lib/dhcpcd|/var/lib/dhcpcd$|/etc/dhcpc/|/etc/dhcpc$|/var/cache/|/var/cache$|/run$|/run/|/media$|/media/|/srv$|/srv/|/selinux$|/selinux/|/var/lib/rpm|/var/lib/rpm$|/var/yp$|/var/yp/|/sys$|/sys/|/initrd$|/initrd/|/dev/bus$|/dev/bus/|/dev/char$|/dev/char/|/dev/rfkill|/dev/input$|/dev/input/|/dev/.udev/|/dev/.udev$|/dev/vc$|/dev/vc/|/dev/console|/dev/pts$|/dev/pts/|/dev/ptmx|/dev/tty|/var/log|/etc/mtab|/etc/resolv.conf|/etc/ld.so.cache|/tmp|/root|/proc|/var/tmp|/var/run/utmp|/var/spool/cron/cron|/var/lib/NetworkManager|/var/lib/NetworkManager$|/usr/man/whatis|/usr/local/man/whatis|/var/lib/pgsql$|/var/lib/pgsql|/var/lib/mysql$|/var/lib/mysql"
-
-This is a pattern for grep -E. Please familiarise yourself with the grep man page
-if you wish to make changes.
-
-It is recommended that these defaults are unchanged.
-
-In addition, slacktrack excludes the PWD (present working directory) from which slacktrack
-was invoked. This allows a package's source directory to be in a non-default excluded
-path and receive updates (such as log files) and avoid slacktrack including them in the
-newly created package file.
-
-=item B<-o>, B<--no-fs-search> B<pattern for find -regex (pre and post file system scans)>
-
-Prior to beginning a build, and post build, slacktrack uses the 'find' command to scan
-the OS' file system, and stores these records. The difference between the two records are used to
-determine the package's contents.
-
-There are some directory paths that should never be included within packages. By default
-this list is:
-
-SEARCH_EXCLUDE_LIST='mnt\|sys\|proc\|tmp\|home\|lib/udev/devices'
-
-B<Note:> The list uses escaped pipes and does not have a leading forward slash. The regex is
-applied to the --rootdir argument, so the excluded paths should be relative to that.
-
-This is a good set for a default Slackware installation, but some users have data
-in other directories which should never be included in a package. Scanning these additional
-directories takes extra time and serves no purpose.
-
-While the B<-x,--exclude> operator is applied to the final package contents list, B<-o, --no-fs-search> is applied
-before and can be used to significantly speed up the searches that build the before/after file lists.
-
-=item B<-d>, B<--depend> B<'>package1,package2B<'>
-
-Ensure the given Slackware packages are installed before executing
-the build script.
-
-This is a primative method of build-time dependency checking.
-It simply prevents the build from failing, or a certain feature from
-being compiled out because (at build time) you had not got a certain
-library installed.
-
-The packages are wildcarded by slacktrack, thus you do not have to specify
-version information. To depend on 'oggutils' being installed, you would
-specify B<-d "oggutils"> and slacktrack would find any installed version of the
-Slackware oggutils package.
-
-No depdendencies are checked by default.
-
-=item B<-j>, B<--striplib>
-
-The Slackware standard is to run B<strip --strip-unneeded> over any
-shared objects. This option causes slacktrack to strip any .so objects in
-/usr/lib, /usr/lib64, /lib64, /lib, /usr/local/lib and /usr/libexec
-
-Also see option -S, --stripallexec
-
-The default is not to strip.
-
-
-=item B<-A>, B<--striparchives>
-
-This option causes slacktrack to run the B<strip> program against any
-.a (archive) files that it finds in the package's directory.
-
-Only debugging symbols are stripped (B<strip -g>).
-
-For information about such files you should read ar(1) and ranlib(1).
-
-B<Note:> This option strips any .a files it finds within the package's directory
-rather than limiting itself to a pre-set list of directories (as with
-the other strip options that slacktrack provides).
-
-Also see option -S, --stripallexec
-
-The default is not to strip.
-
-
-=item B<-k>, B<--stripbin>
-
-The Slackware standard is to run B<strip --strip-unneeded> over any
-binary files. This option causes slacktrack to strip any binaries found
-in /bin, /sbin, /usr/bin, /usr/sbin, /usr/local/bin, /usr/local/sbin and
-/usr/X11R?/bin.
-
-Also see option -S, --stripallexec
-
-The default is not to strip.
-
-
-=item B<-S>, B<--stripallexec>
-
-This option performs B<--striplib>, B<--stripbin> and B<--striparchives> but rather than
-limiting itself to a pre-set list of directories, it strips any files (with execute permissions)
-that the B<file> program reports as being unstripped ELF binaries. This includes
-B<.a archives>.
-
-The purpose of this command is to strip binaires and shared object files
-that are B<not> in the normal locations. An example of a known deviations is B</opt>
-
-Using this option is slower (especially when used with packages containing many
-files in deep directory structures) than using B<--striplib>, B<--stripbin> or B<--striparchives>
-options individually.
-
-If this option is also specified with B<--striplib>, B<--stripbin> or B<--striparchives> then
-those options are dropped in favour of the B<--stripallexec> mode of operation.
-
-The default is not to strip objects of any type.
-
-=item B<-c>, B<--createdescription>
-
-From Slackware 8.1 and upwards, the package series directories contain
-a B<name>-B<version>-B<arch>-B<build.txt> along with the package.
-
-Using this option causes slacktrack to create such a file in the
-build store directory (see the B<--buildstore> option)
-
-The default is not to create a description file.
-
-=item B<-e>, B<--chown-bdirs-root-bin>
-
-Prior to Slackware v11, the standard was to have the /bin, /sbin, /usr/bin, /usr/sbin, /usr/local/sbin, /usr/local/bin and /usr/X11R?/bin directories owned by root:bin.
-
-Slackware v11 changed binary directory ownerships to 'root:root'.
-B<If you are building packages for a version of Slackware prior to version 11,
-you should use this operator>.
-
-B<Note:> If you use the B<--setrootowner> option then B<makepkg> will
-reset the directory permissions to root.root
-
-The default is not to set these ownerships.
-
-=item B<-f>, B<--chown-bfiles-root-bin>
-
-Prior to Slackware v11, the standard was to have binaries contained within
-the /bin, /sbin, /usr/bin, /usr/sbin, /usr/local/sbin, /usr/local/bin
-and /usr/X11R?/bin directories owned by root:bin.
-
-B<If you are building packages for a version of Slackware prior to version 11,
-you should use this operator>.
-
-The default is not to set these ownerships.
-
-=item B<-m>, B<--chown-bins-root-root>
-
-The Slackware standard is to have the /bin, /sbin, /usr/bin, /usr/sbin,
-/usr/local/sbin, /usr/local/bin and /usr/X11R?/bin directories owned by root:root.
-
-If you are intending on building Slackware compliant packages, please use this
-operator.
-
-B<If you are building packages for Slackware versions prior to 11,
-please see the two operators listed above>.
-
-The default is not to set these ownerships.
-
-=item B<-g>, B<--chmod644docs>
-
-Often when installing documents, the permissions vary wildly.
-It is preferable if documents are chmod 644 and owned by
-the user 'root' and group 'root'.
-
-Using this option causes slacktrack to set all files contained
-within F</usr/doc> to chmod 644 and runs chmod -R root.root on the package's
-F</usr/doc> directory.
-
-The default is not to set these permissions.
-
-=item B<-U>, B<--nousrtmp>
-
-When compiling some programs (such as Apache), slacktrack sometimes picks up
-the /usr/tmp symlink. This symlink is part of another Slackware package
-and therefore should not be present in other packages.
-
-Using this option causes slacktrack to prevent this symlink from appearing
-in the resulting package.
-
-This behaviour is not the default.
-
-=item B<-Q>, B<--standard>
-
-This option is the combination of the following slacktrack's options:
-B<--gzman> (B<-z>), B<--gzinfo> (B<-I>), B<--delete-usrinfodir> (B<-K>),
-B<--stripallexec> (B<-S>), B<--createdescription> (B<-c>),
-B<--chown-bdirs-root-bin> (B<-m>), B<--chown-bins-root-root> (B<-f>),
-B<--chmod644docs> (B<-g>), B<--delete-perllocalpod> (B<-P>) and B<--nousrtmp> (B<-U>).
-
-It can be considered the quick way to build a package which follows
-the Slackware standard without specifying each
-individual command line switch.
-
-You would use this option as follows:
-
-# B<slacktrack> -Qp foo-2.0-i486-1.tgz ./foo.build
-
-
-=item B<-T>, B<--tempdir> B<'><path>B<'>
-
-slacktrack uses a temporary work space to store the package contents.
-By default, slacktrack will choose one in /var/tmp. However, you may wish
-to change it to another location should there not be enough space in
-/var/tmp to hold the temporary files.
-
-Please note that if the temporary directory (either automatically chosen by
-slacktrack or specified using this operator) already exists, slacktrack
-will exit with error code B<6>; the directory should be deleted prior
-to invoking slacktrack.
-
-=item B<-C>, B<--nocreatetgz>
-
-Do not execute the Slackware B<makepkg> program when the build script
-finishes. You may wish to use this option if you want to run makepkg
-by hand.
-
-Using this option implies B<--notidy>
-
-The default is to execute B<makepkg>
-
-=item B<-L>, B<--nologhardlinks>
-
-Some software distribution archive build scripts will use ln (hard link)
-instead of ln -s (soft link). Hard links which should not be
-allowed to make their way into a package that is to be distributed.
-
-By default, hard links are logged to screen and an additional
-.hardlinks.log file will be created in the build store directory.
-
-=item B<-O>, B<--chmod-og-w>
-
-Run 'chmod -R og-w' over the package directory.
-
-Some packages (such as PHP 4.3.0) install globally writeable files
-when it should not. This option runs chmod -R og-w over the entire
-package directory.
-
-This behaviour is not the default.
-
-=item B<-Z>, B<--gzman-no-symfix>
-
-Do not repair broken man page symlinks caused by the B<--gzman> option
-
-Some man pages are symlinks to other man pages. When the
-original file is gzipped, its name changes to name.x.gz
-and thus the symlink is broken.
-
-This option repairs such broken symlinks by renaming the
-symlink to name.x.gz and pointing it to the new .gz man page file.
-The symlink also has to be named .gz otherwise the B<man> program
-fails because it doesn't know that it is expecting a gzipped file.
-
-The default behaviour is to repair any broken symlinks.
-
-=item B<-F>, B<--gzinfo-no-symfix>
-
-Do not repair broken info page symlinks caused by the B<--gzinfo> option
-
-Some info pages are symlinks to other info pages. When the
-original file is gzipped, its name changes to name.gz
-and thus the symlink is broken.
-
-This option repairs such broken symlinks by renaming the
-symlink to name.gz and pointing it to the new .gz info page file.
-
-The GNU B<info> program is capable of working with broken symlinks
-but it is desirable to have the symlink corrected.
-
-The default behaviour is to repair any broken symlinks.
-
-
-=item B<-M>, B<--extra-mandir> <path>
-
-Append additional man page directories to the default list (F</usr/man>, F</usr/local/man>, F</usr/X11R?/man>).
-
-You would want to use this option if you are storing man pages in non-system
-locations such as /opt/kde/man and wish to gzip them using slacktrack's B<--gzman> option.
-
-Extra paths can be comma separated as shown below:
- B<# slacktrack --extra-mandir /opt/kde/man,/opt/prog/man>
-
-B<Warning:> Do B<not> specify paths other than directories that will
-contain man pages, otherwise normal files will become gzipped !
-
-
-=item B<-W>, B<--extra-infodir> <path>
-
-Append additional info page directories to the default list (F</usr/info>, F</usr/local/info>).
-
-You would want to use this option if you are storing info pages in non-system
-locations such as /opt/kde/info and wish to gzip them using slacktrack's B<--gzinfo> option.
-
-Extra paths can be comma separated as shown below:
- B<# slacktrack --extra-infodir /opt/kde/info,/opt/prog/info>
-
-B<Warning:> Do B<not> specify paths other than directories that will
-contain info pages, otherwise normal files will become gzipped !
-
-
-=item B<-E>, B<--extra-libdir> <path>
-
-Append additional shared object (library) directories to the default list (/lib, /usr/lib, /usr/local/lib).
-
-You would want to use this option if you are storing shared objects in non-standard locations
-and wish slacktrack to strip them using the B<--striplib> option.
-
-Multiple paths may be supplied by comma separating them.
-
-=item B<-B>, B<--extra-bindir> <path>
-
-Append additional binary directories to the default list
-(/bin, /sbin, /usr/bin, /usr/sbin, /usr/local/bin, /usr/local/sbin, /usr/X11R?/bin).
-
-You would want to use this option if you are storing binaries in non-standard locations
-and wish slacktrack to strip them using the B<--stripbin> option.
-
-Multiple paths may be supplied by comma separating them.
-
-=item B<-N>, B<--strip-prog> <path>
-
-Specify a different binary name for the B<strip> program. You may need
-to use this option if you are cross compiling and wanting to strip
-the resulting binaries.
-
-Example:
-# B<slacktrack> --strip-prog /usr/local/arm/2.95.3/bin/arm-linux-strip -mnzSIP foo-2.0-arm-1.tgz
-
-By default slacktrack will use the version of strip that it finds
-in the $PATH.
-
-
-=item B<-R>, B<--run-after> <command>
-
-Run the specified command/script after the specified build script has finished
-and prior to creating the package.
-
-The purpose of this is to allow the user to inspect and if required, modify
-the contents of the package before the package file is created.
-
-B<Note:> The CWD (working directory) is changed to the package's root
-directory before the specified command is executed. This allows you to
-specify (for example) /usr/bin/mc (Midnight Commander) and have
-it automatically display the contents of the package.
-
-Example:
-
-The following slacktrack command would run the Midnight Commander program
-F<mc> prior to creating the package B<foo-2.0-arm-1.tgz>.
-
-# B<slacktrack> -Rmc -mnzSIP foo-2.0-arm-1.tgz
-
-By default slacktrack does not execute any commands prior to creating
-the package.
-
-=item B<--run-after-withlog> <command>
-
-This option is the same as B<-R>, B<--run-after>, with the only difference being that
-any output from that script is logged to the slacktrack build log.
-
-If any of your post build scripts perform any checks that should be inspected
-manually after the package build completes, you'd be best choosing this option; but
-note that logging may not work properly for any scripts that require keyboard
-input or use curses based applications (such as 'dialog').
-
-=item B<--showdeps>
-
-This option lists the B<installed> Slackware packages (those that appear in
-F</var/log/packages>) that contain shared libraries upon which your new
-package depends.
-
-The purpose of this option for interest only but you may
-find it useful to ensure that you haven't built a package on a box that
-Xfree86 (for example) installed but intend to install and use the package
-on a box that does not, when the package has become linked against X's
-libraries.
-
-Using this option will also flag up 'orphaned' libraries (ones that
-do not belong to an installed package, which is especially handy
-if you're going to be distributing a package).
-
-The package dependencies (and orphans, if any) will be logged (regardless
-of whether logging is turned off) in text files that will be stored
-in the package build store (usually /tmp) under the following names:
-
-packagename.orphaned_ld_deps.log
-
-packagename.ld_deps.log
-
-B<Note:> Slackware does not have any form of dependency checking and
-as such any file you produce will not be considered by
-pkgtools. However, third parties have developed a standard that uses
-a single file to assist with the handling of automated dependency checking
-(when the package is installed via 3rd party package managers such as
-swaret, slapt-get et al). This file resides within the package as
-F</install/slack-required>. You may like to use this feature of
-slacktrack to help you generate such a file.
-
-The default behaviour is not to display dependencies.
-
-=item B<-X>, B<--delete-overlapping>
-
-After the filesystem comparison has been completed, slacktrack determines whether there
-are any files that overlap between the new package and those already installed on the
-running system. Normally there should be no overlapping files; however, some packages
-that provide additional Python or Perl libraries often re-process or re-compile some parts
-of the vendor-supplied package contents, causing slacktrack to correctly identify that
-the files have changed after the package build process has finished.
-
-It is undesirable for packages to have overlapping files because it is not
-possible to identify which is the master package. One of the side effects may be that
-the end user has problems with the installation order of the packages.
-
-slacktrack will identify any overlapping files and match them with the package(s) to which the file also belongs.
-Using this operator, slacktrack will erase any overlapping files from the content of the newly
-created package.
-
-The best practice is to review the package build log and investigate any overlapping files.
-It is the responsibility of the package builder (you) to determine why the file is overlapping
-and decide what to do with them.
-
-=item B<--allow-overlapping>
-
-Allow the package to contain files that overlap with packages that are already installed
-on the system. This is the default behaviour, if if you like to use slacktrack's -Q option to build
-an otherwise Slackware standards compliant package, you will need to supply this option afterwards
-to permit files to overlap.
-
-=item B<--touch-filesystem-first>
-
-Use the UNIX touch(1) tool to touch (set the objects' time stamps to the current system time)
-a pre-defined list of directories and their contents prior to generating the
-snapshot of the filesystem.
-
-The pre-defined paths are:
- /opt /bin /boot /dev /etc /install /lib /sbin /usr /var
-
-It B<excludes> by default '/lib/udev/devices' since this contains
-live device data that doesn't take kindly to being touched.
-You may see errors from 'touch' about certain binaries, including
-/sbin/vol_id because this is a symlink into /lib/udev/devices.
-
-This is intended to be used on a throwaway development installation
-that's reinstalled daily or more often.
-
-The reason behind this is that if you run slacktrack and your build
-partially fails, then it will leave some data on the filesystem.
-You then fix the problem and re-try: this time the build may succeed.
-However, if the original data on the filesystem from the first
-part-failed build has *not* changed (for example, if it was some static data that
-was copied with cp -a (preserved time stamp & ownership)) between
-the first part-failed build and second successful build, slacktrack
-will miss this data from the final package file.
-
-This option updates the file stamps contained within standard package
-directories, therefore allowing slacktrack to detect changes
-(even if the data contains an *old* time stamp from 1982, it will still
-detect the difference).
-
-B<Note:> This is an expert option and is not recommended for use unless
-you are working on a throw-away development installation.
-
-=item B<--touch-filesystem-faster>
-
-This operator performs the same function as B<--touch-filesystem-first> except
-that it uses a faster method; except that potentially speed comes at a price.
-
-If this method finds files or directories with spaces in the name, it
-may create empty files in your package's source build directory.
-
-For example:
-
-B</usr/doc/prog-2.0/FILE WITH A SPACE IN IT>
-
-You may find that you have six new files, "FILE", "WITH", "A", "SPACE," "IN", and "IT" existing
-in your package's build source directory.
-
-However, if you know that there are no files or directories with spaces in their names,
-feel free to use this option in preference to B<--touch-filesystem-first>.
-
-B<Note:> This is an expert option and is not recommended for use unless
-you are working on a throw-away development installation.
-
-
-=item B<-Y>, B<--delete-orphaned-pyc>
-
-After the build has completed, this option scans the contents of the new package,
-and if it finds any '*.pyc' files without a matching '*.py' file, the *.pyc file
-will be removed from the package contents (but not from the filesystem).
-
-This scan only checks the content of the B<package> not the filesystem. There may be
-a corresponding '*.py' file on the filesystem, but it wasn't created or modified
-during the build process of this particular package.
-
-When building Slackware's 'ap/linuxdoc-tools' package, we found that 'gnome doc-tools'
-was causing some Python '*.py' system files from the Python package to be recompiled
-(generating '*.pyc' files) but was not modifying the original '*.py' files.
-This meant that slacktrack was correctly detecting the changed '*.pyc' files and including
-them in the 'linuxdoc-tools' package; but this meant that we had file overlap
-with the 'd/python' package. Since the original '*.py' files were not modified,
-and the '*.pyc' files already existed in the Slackware Python package, they didn't
-need to be included in the 'linuxdoc-tools' package - and the overlapping files
-would have caused problems with package upgrades.
-
-This option is not on by default because it's quite conceivable that the user
-may wish to include '*.pyc' files without '*.py' files.
-
-If the directories and parent directories containing the *.pyc files become
-empty after this operation, then these directories are removed from the package.
-
-=back
-
-=head1 SPECIAL SLACKTRACK ENVIRONMENT VARIABLES
-
-slacktrack makes a small number of environment variables available to the
-build script(s). The variables allow build scripts to gain access to
-various inner-workings of slacktrack.
-
-=over 4
-
-=item B<SLACKTRACKFAKEROOT>
-
-This directory is the 'root' directory of the package. You may wish
-to access this directory during build or post-build time so that you can perform
-special operations that slacktrack itself cannot perfom.
-
-However, the to-be-packaged contents won't exist in this directory until
-B<after> the build script finishes and the package has installed itself
-to the filesystem; but you can still pre-populate it with content if you wish,
-although typically you'd perform these actions directly onto the filesystem
-and let slacktrack take care of packaging it.
-
-For example, whilst slacktrack is able to strip all ELF objects, it may
-be that a small number of the objects will not function when stripped, yet
-the rest will. Therefore you cannot use slacktrack's stripping options
-to accomplish this task; instead you can access the package's directory
-directly.
-
-You could do this using the following script, called from slacktrack
-using the B<-R, --run-after> operator:
-
-=item # B<slacktrack> -R $CWD/postbuildfixes.sh -Qp foo-1.0-i486-2.tgz ./foo.build
-
-
-B<Example post build script 1:>
-
-
-Where the 'postbuildfixes.sh' script contains:
-
-B<( cd ${SLACKTRACKFAKEROOT}
- strip usr/bin/foo
- strip bin/bar ) >
-
-
-B<Example post build script 2:>
-
-Another example would be to remove known files that were detected by slacktrack
-as being changed/added/updated during the build process, but that we do not want
-to be packaged. This is an easier method than using the B<-x,--exclude> operator.
-
-B<# Incase you had CUPS running:
- rm -rf etc/cups etc/printcap
- # crond:
- rm -rf var/spool/cron
- rmdir var/spool
- # perllocal.pod files don't belong in packages.
- # SGMLSPL creates this:
- find . -name perllocal.pod -print0 | xargs -0 rm -f
- # Some doc dirs have attracted setuid.
- # We don't need setuid for anything in this package:
- chmod -R a-s .
->
-
-B<Note:> You may use any shell commands once inside the package's root directory
-but be careful never to specify any paths within the B<real> root directory (for example
-F</usr> rather than F<usr>) in any of your commands.
-
-=back
-
-
-=over 4
-
-
-=item B<SLACKTRACKSCRATCHDIR>
-
-This directory provides a temporary 'scratch' directory for use by the
-build scripts. Its purpose is to allow the author to simplify the build scripts
-by removing the need to create and manage temporary directories where
-the source archives will be unpacked.
-
-Example usage:
-
-B< cd ${SLACKTRACKSCRATCHDIR}
- tar jxf /path/to/source/ball.bz2
- cd ball-2.3
- ./configure && make install >
-
-This directory is subject to the same command line options as the
-rest of the slacktrack temporary build tree; if --notidy is specified
-then this directory will remain, otherwise it is deleted.
-
-=back
-
-
-=head1 EXAMPLES
-
-=over 4
-
-=item # B<slacktrack> -p foo-0.10-i386-1.tgz '/bin/sh -x foo.build'
-
-This is the minimum selection of options you must pass to slacktrack.
-You are simply telling slacktrack the name of the resulting package file
-and specifying that slacktrack should launch "foo.build" via "/bin/sh"
-
-=item # B<slacktrack> -jmkznp bar-3.20-sparc-5.tgz ./bar.build
-
-We are telling slacktrack to strip libraries, chown root:root /bin
-/sbin, /usr/bin, /usr/sbin, /usr/local/sbin, /usr/local/bin and /usr/X11R?/bin directories,
-chown root:root files in the binary dirs, strip binaries found in the binary dirs listed above
-and gzip man pages.
-
-The resulting Slackware package name is 'bar-3.20-sparc-5.tgz'
-
-Note that I have compounded the various options; the above option list could
-also be specified as B<-j -m -k -z -n -p bar-3.20-sparc-5.tgz>
-
-=back
-
-There are various example scripts in F</usr/doc/slacktrack-@VERSION@/examples>
-
-=head1 WARNINGS
-
-=over 4
-
-
-=item B<Do not use slacktrack on production machines>
-
-Please do not run slacktrack on a production machine. Infact, it is advisable
-not build B<any> packages (either B<SlackBuild> or B<.build>) on production machines.
-
-Always use a development box.
-
-
-=item B<Slackware versions>
-
-slacktrack has only been tested on Slackware 8.1 & Slackware-9 and Splack (Slackware on SPARC,
-using Slackware 9's pkgtools & tar-1.13).
-
-It may works on previous releases of Slackware, it may not.
-
-=item B<slacktrack default working space>
-
-By default, slacktrack puts its work space in B</var/tmp/>
-
-It is essential that you have enough disk space on the
-partition on which /var/tmp resides. If you do not then you
-can pass B<--tempdir> to slacktrack to change the base temporary directory:
-
-# B<slacktrack> --tempdir /tmp/slacktrack -jefknzp "foobar-4.1-sparc-2.tgz" "/bin/sh foobar.build">
-
-=back
-
-=head1 RETURN VALUES
-
-These are the exit codes that slacktrack will produce when it encounters
-certain problems. You may wish to use these return codes to indicate
-success or failure when slacktrack is called from unattended auto builder
-scripts.
-
-=over 4
-
-=item B<0>
-Clean exit
-
-slacktrack exited without encountering any errors.
-This is the default exit code.
-
-=item B<1>
-Reserved
-
-This error code is not currently used.
-
-=item B<2>
-Missing command line parameters
-
-slacktrack was called with insufficient parameters or a parameter
-that requires a value was specified but no value was given.
-
-=item B<3>
-Slackware package dependencies failed
-
-slacktrack was asked to check that certain Slackware packages were installed.
-It didn't find at least one of the specified packages.
-
-=item B<4>
-Missing external helper
-
-slacktrack failed to find a required external helper. Currently the external helpers
-is the Slackware 'makepkg' utility.
-
-=item B<5>
-Zero files found in slacktrack's package-content-tracking working directory
-
-slacktrack failed to find any files installed as part of the build process.
-
-This error may be due to any of the following reasons:
-
-B<1.> The build script or command line specified did not exist or could not be executed.
-
-B<2.> The build script/command line exists but failed to be executed or executed and died with an error
-
-B<3.> The build script/command worked as expected but slacktrack failed to detect any activity.
-
-It is suggested that you run B<slacktrack> with the --notidy option and inspect
-the working space directory in /var/tmp/ to discover what the problem is.
-
-=item B<6>
-Possibly unsafe to continue operation.
-
-slacktrack determined that it was possibly unsafe to continue. This may be
-because it found the temporary directory to already exist (slacktrack needs
-to wipe the temporary directory), or it may get to a point where it needs to
-overwrite an existing file which would require manual intervention.
-
-Since slacktrack is designed to be scriptable, it will never prompt for human
-interaction - just fail with pre-set error codes which can be collected by
-caller scripts.
-
-=back
-
-=head1 FILES
-
-F</usr/bin/slacktrack> the slacktrack script
-
-F</usr/doc/slacktrack-@VERSION@/LICENCE> a copy of the GPLv2 licence
-
-F</usr/doc/slacktrack-@VERSION@/OVERVIEW> an overview of the Slackware package system & build scripts
-
-F</usr/doc/slacktrack-@VERSION@/PACKAGE_BUILDING_CHECKLIST> a checklist for package builders
-
-=head1 AUTHOR
-
-Stuart Winter <mozes@slackware.com>
-
-=head1 SEE ALSO
-
-=over 4
-
-B<makepkg>(8), B<installpkg>(8), B<explodepkg>(8), B<removepkg>(8), B<pkgtool>(8), B<upgradepkg>(8), B<slackdtxt>(8)
-
-=back
-=cut
-
-