diff options
Diffstat (limited to 'source/d/slacktrack/slacktrack-project/docs')
13 files changed, 0 insertions, 2229 deletions
diff --git a/source/d/slacktrack/slacktrack-project/docs/ChangeLog.slacktrack b/source/d/slacktrack/slacktrack-project/docs/ChangeLog.slacktrack deleted file mode 100644 index 1d656d17..00000000 --- a/source/d/slacktrack/slacktrack-project/docs/ChangeLog.slacktrack +++ /dev/null @@ -1,705 +0,0 @@ -############################################################################## -# Document: ChangeLog.slacktrack -# Purpose : Document the changes that have occurred in 'slacktrack' -############################################################################## - -07-Jun-2017 - v2.18 - * Added option --run-after-withlog - This option is the same as -R, --run-after, with the only difference - being that any output from that script is logged to the slacktrack build - log. - -25-Apr-2015 - v2.17 - * Cleaned up superfluous white space. - * Added operator -o, --no-fs-search - 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. - - This default set is ideal 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 -x,--exclude operator is applied to the final package - contents list, -o, --no-fs-search is applied before and can be used to - significantly speed up the searches that build the before/after file lists. - - Thanks to Andrew Lyon for the patch. - -10-Jan-2014 - v2.16 - * Added the following paths to the default exclude list: - /usr/man/whatis - /usr/local/man/whatis - /var/lib/pgsql/ - /var/lib/mysql/ - Thanks to Eduard Rozenberg. - * Updated the 'OVERVIEW' doc to correct a couple of small details. - * Updated man pages to conform with stricter pod2man syntax. - * Updated FAQ to explain why after using one of the 'touch file system' - options, root is notified about having new mail. - -23-May-2013 - v2.15 - * Added the $PWD from which slacktrack was invoked in to the default exclude - list. 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. - Thanks to Eduard Rozenberg. - -10-May-2013 - v2.14 - * Removed '-i, --install' flag from the man page and the slacktrack script, - as this has been a no-op since slacktrack stopped using 'installwatch'. - Thanks to Michael Stewart. - * Added /etc/ntp/drift to the default exclude list. - Thanks to Eduard Rozenberg. - -05-Apr-2013 - v2.13 - * Use '-c' operator to 'touch' when touching the file system. This avoids - creating empty files that were referenced from a dangling symlink, and - avoids creating empty files when using the (not recommended) 'faster' - file system touch option. - * Moved slacktrack's 'ln' wrapper from /usr/share/slacktrack to - /usr/libexec/slacktrack, since /usr/share is for architecture independent - files. - Thanks to Darren Austin for the suggestion. - * Added '/usr/libexec' to the default list of library locations that will - have their ELF objects stripped. - * Capture the output of touching the file system into the slacktrack log - file, as this can be useful for recording any issues resulting from touching - files on the file system (such as dangling symlinks in existing installed - packages). - * Support supplying the full path name using the -p operator. Previously, - to store the resulting .t?z package in a location other than the default - ('/tmp'), you had to supply -b <dir name> in addition to -p <package name> - This was a somewhat wooly distinction between package *name* and package - *file name*. - The package name can now be supplied using: - # slacktrack [options] -p /somedir/foo-1.01-arm-2.tgz - The -b operator is still effective, so previous 'trackbuild' scripts will - continue to work as before. - Thanks to Eduard Rozenberg for the suggestion. - -18-Sep-2012 - v2.12 - * Added /run to the list of default path exclusions. - -27-May-2012 - v2.11 - * Added /var/lib/NetworkManager to the list of default path exclusions. - Thanks to Patrick Volkerding for the suggestion. - -05-Nov-2011 - v2.10 - * Added --allow-overlapping option to permit the package to contain files - that overlap with existing packages installed on the system. - The default is to permit this behaviour, but if you're using the -Q option - as I do to build my packages, you'll find that there's no way to switch - the behaviour off whilst building an otherwise Slackware standards - compliant package. - To use this option you will need to supply it on the command line - after '-Q'. - * Fixed bug where --delete-overlapping was expecting an input. - * To the default path exclusion list, the following paths have been added: - /var/spool/cron/cron - /dev/bus/ - /dev/char/ - /dev/rfkill - -25-Sep-2011 - v2.09 - * Fixed formatting issues with the man pages exposed by a newer version - of "pod2man". Thanks to Branko Grubic for the report and the patches. - * The /var/log/{packages,scripts}/$PACKAGE entries of the unprocessed - package contents (just after slacktrack completes execution of the - supplied package build script) were incorrect due to slacktrack not - handling symlinks when creating these entries - any symlinks were treated - treated as files which caused "removepkg" to emit messages such as - ".. no longer exists" - slacktrack now uses "makepkg" and "installpkg" to correctly create and - handle the /var/log/{packages,scripts} entries. - Thanks to Roberto for the report and a good detailed explaination. - * Removed /usr/bin/altertrack symlink to /usr/bin/slacktrack. It's - been years since altertrack was a separate tool. If you have any - scripts still calling "altertrack" -- change them :-) - * When deleting perllocal.pod files, look in /usr/lib & /usr/lib64 - * Warn if any files in the newly built package overlap with other packages - that are already installed on the system. - * Added -X, --delete-overlapping option. - This option deletes any of the overlapping files from the new package. - The -Q option now includes the erasing of any overlapping files. - * Do not emit the name of the newly built package when displaying the - list of package dependencies. - -08-Nov-2010 - v2.08 - * Exclude /var/lib/dhcpcd from being included in the package contents. - -18-Dec-2009 - v2.07 - * Rewrote package_name() function to cater for "old style" package names. - Thanks to Jim Hawkins for the bit of sed script. - * Prevent /etc/dhcpc, /var/run and /etc/resolv.conf from appearing in - the package contents. This is especially useful when your build - machine is using dhcpcd to manage its network address. - -16-July-2009 - v2.06 - * Added /lib/udev/devices to the default path exclusion list. - Files in here are generated and maintained by udev and should not - be included in packages. - -02-June-2009 - v2.05 - * If after removing orphaned *.pyc files, their previous & parent - directories become empty, delete the directories. - -29-May-2009 - v2.04 - * Added -Y, --delete-orphaned-pyc option. - Within the package contents, if slacktrack finds *.pyc files without a - matching *.py file, the *.pyc files will be removed from the package - contents. - Thanks to Patrick Volkerding for the suggestion. - Updated slacktrack(8). - -15-May-2009 - v2.03 - slackdtxt: - * Updated to handle .tgz, .tbz, .tlz, .txz file extensions - Thanks to Patrick Volkerding. - * Renamed --nodeletetgz option in to --nodelete. - * Updated slackdtxt(8) - slacktrack: - * Added /usr/lib64 and /lib64 to the list of known library directories. - Thanks to Eric Hameleers for reminding me. - -12-May-2009 - v2.02 - - This is an interim release to allow slacktrack to work with the - additional package compression formats introduced in Slackware v13. - The documentation & the 'slackdtxt' utility will be updated at a - later date. - - * Renamed --md5sumtgz option to --md5sum because starting at - Slackware v13, the package format has been expanded to several - other compression types; updated slacktrack(8). - * No longer suffix ".tgz" to a package name if the ".tgz" extension - wasn't specified. This allows you to specify one of the new alternate - package file extensions: .tgz, .tbz, .tlz and .txz - * Added /usr/share/slacktrack/ln which is an ln wrapper. - This calls /bin/ln with the -f (force) option which allows the - time stamp to get updated on symlinks. - Thanks to Jim Hawkins for writing this wrapper. - -19-Nov-2008 - v2.01 - * Added /var/cache/ to the default exclude list. - This excludes SAMBA's 'browse.dat'. - Thanks to Eduard Rozenberg for the suggestion. - * Updated 'dvd_libs' example build scripts to use libdvdcss-1.2.10 - and verified the source URLs for the other components. - (You must still download the source yourself). - -17-Sep-2008 - v2.00 - * The 'slacktrack' tool is now what used to be shipped as 'altertrack'. - This tool tracks installations directly within a live root file system - rather than a pseudo root file system. - - ** Important: This means that you *MUST* now run slacktrack on a - devbox only ** - - Please read /usr/doc/slacktrack*/RELEASE_NOTES for - important details about migrating from the previous version of - slacktrack. - - - * Changed to BSD licence for 'slacktrack' and 'slackdtxt' tools. - The only reason it was previously GPL was because this was the licence - installwatch used. - * Updated documentation & man pages. - * A GPG signing key must be specified when using the -G,--gpg-sign option; - it will not fall back on the default. This is because the code - to parse the command line operators doesn't work. I checked - the supplied examples for getopt and even they don't work! - (Perhaps it used to work with older versions of bash?) - * Added -P, --delete-perllocalpod option. - This deletes any 'perllocal.pod' found within the package's /usr/lib. - perllocal.pod files should only be included with the Slackware 'perl' - package. - * The -Q (set options to build a Slackware compliant package) option now - sets the -P, --delete-perllocalpod options. - * Removed --froot operator. This used to run the 'fakeroot' daemon - and LD_PRELOAD the fakeroot library to make your user environment - appear as if were root, with the intention of allowing package utilities - to set ownerships of files/dirs -- an ability allowed only for root. - However, since slacktrack needs to be run as root to make a useful - package (it's unlikely you'd use slacktrack to track files in a - non-root location, eg /mypackages/), then this option is defunct. - * Removed --with-scratchbox. This deleted the /dev and /home - directories that used to find their way into early ARMedslack packages. - ARMedslack has not used scratchbox in years, and I can't imagine - anybody else ever used this option! - * Build script examples are now bundled with the package rather than - being on a separate web site (since there's no cholestrol - from installwatch) - * Added "/dev/input$|/dev/input/|/dev/.udev/|/dev/.udev$" to the default - exclude list because udev is now keeping some live data in there. - -08-Feb-2008 - v1.33 - build 1 [ Not released ] - * Replaced installwatch with 'libsentry' - a fork of installwatch - by Gilbert Ashley. - -29-Jun-2007 - v1.32 - build 1, Slackware 12.0 special version. - * Fixed a bug where if --stripallexec was used, it wasn't stripping - all ELFs (.so, bins & .a files). - * Replaced slacktrack script with a dummy for the release of - Slackware 12.0. The new *at-style functions that coreutils 6.7+ - are not tracked by installwatch, so chown, chmod et al do not work. - The real slacktrack script (if you wanted to use it) is named - /usr/bin/slacktrack-real - -05-May-2007 - v1.31 - build 2 - * Fixed a bug in altertrack's --touch-filesystem-first code. - See docs/ChangeLog.altertrack. - * Updated slacktrack(8): -Q option now states that files in binary - directories are chown root:root not root:bin. - Thanks to Eduard Rozenberg for noticing that. - -31-Mar-2007 - v1.31 - build 1 - * When gzipping man & info pages, force compression (gzip -f) - * Applied Fred Emmott's portable patch to installwatch to make it - work on 64bit machines. - -19-Feb-2007 - v1.30 - build 1 - * Move installwatch library from /usr/lib/installwatch.so - /usr/lib/installwatch-slacktrack.so - This prevents an installation conflict with checkinstall. - Thanks to Henrik Carlqvist for the suggestion. - -04-Apr-2006 - v1.29 - build 1 - * Added new option, -m|--chown-bins-root-root - This sets ownerships of files and directories in the standard Slackware - binary directories to 'root:root'. - This change is for Slackware v11 - binary directories are no longer - chown root:bin. - * The -Q option now sets -m rather than chowning root:bin. - If you want root:bin, specify the -f and -e options. The command would - look something like this: - - # slacktrack -Q -fe -p moose-1.0-i486-1.tgz ./moose.build - - * Added /media,/srv and /selinux to the 'watch' patch exclusion list - (any changes to these paths will be excluded from the package). - Updated slacktrack(1) with the new paths. - -14-Nov-2005 - v1.28 - build 1 - * Fixed a bug where any man page symlinks broken by gzipping were not - being repaired. - Thanks to Andrei Levin for the bug report. - -22-Sep-2005 - v1.27 build 1 - * Rewrote the slack-desc file to explain what slacktrack actually does - in simple words :-) - * Added /var/lib/rpm to list of excluded paths. This allows you to - do some seriously kludgey stuff like build from a source RPM and - install the binary RPM as part of the build script. - Very useful sometimes - docbook is an example :-) - * Fixed bug where if a temporary directory was manually specified with -T, - its contents were tracked by installwatch. Manually set temporary - directories are now in installwatch's exclude list. - Thanks to Gufo for reporting this. - * slacktrack will now return error code 6 and abort if it finds the - temporary directory (either chosen automatically or selected via the - -T|--tempdir option) already exists. This is to prevent slacktrack - from wiping user data without any warning. - slacktrack does not create a sub directory within the specified area; - it was never designed to do so, so this is the best option. - * Modified man page to reflect the above change, and added error code 6 - to the error code section. - Thanks to Gufo for suggesting this change. - -22-Jul-2005 - v1.26 build 1 - * Added /opt/kde/man to the list of man page directories. - -08-May-2005 - v1.25 build 1 - * Renamed internal string 'VERSION' to 'SLACKTRACKVERSION' as it's - too much of a generic name and can cause confusion as it's exported - to the build script/environment. - -21-Mar-2004 - v1.24 build 1 - * Added /sys to the list of excluded paths - * Fixed bug with chowning files that was introduced in v1.19. - Files with brackets in the name would get interpreted by bash. Now - these names are enclosed within '' to prevent this. - * Trimmed down --help text a little - it's too wordy. - * Added a patch to installwatch which was posted by Alexander Kern on the - checkinstall mailing list: - It adds simply "utimes" and "setxattr" to the list of - intercepted functions. - - Please note, however, that I am aware that there seems to be a problem - with installwatch on Slackware-10.1, although it does not show up when - building all software. I am looking to replace installwatch with - something specifically for slacktrack. - -09-Dec-2004 - v1.23 build 1 - * Upgraded to installwatch-0.7.0beta4 from checkinstall-1.6.0beta4 - * Fixed bug where you were informed that there were "orphaned" libraries - and dependencies upon installed packages, but the list was blank. - This was because the file contained spaces and therefore passed the - if [ -s ] check. - -16-Nov-2004 - v1.22 build 1 - * Fixed a bug where if --notidy was specified and slacktrack/altertrack - failed to track any changes, the temporary workspace would be deleted. - This became a bug when I introduced $SLACKTRACKSCRATCHDIR; if a build - fails then the developer will be interested in looking at the source - tree which should always be preserved by --notidy. - * /usr/local/bin, /usr/local/sbin and /usr/X11R? directories & files - contained within will now: - - be chown root:bin - - be stripped (with the same strip option as the major bin directories) - * man pages in /usr/X11R?/man will now be compressed. - * Updated slacktrack(8) to reflect the above two changes. - * Fixed a typo in --help and added a suggested usage line. - * If an incorrect parameter is specified then --help is directed to STDERR. - * If no parameters are specified (or there has been no package name - specified) then the usage message is directed to STDERR. - * Updated the TODO list. - * Updated the OVERVIEW document (last update was 09-Dec-2003) - - Added a couple of new architectures (official & unofficial ports) - and made a note about i586 binary packages - - A couple of other minor edits. - -26-Aug-2004 - v1.21 build 2 - * Tidied up slacktrack.SlackBuild - * Updates to altertrack - -19-Jun-2004 - v1.21 build 1 - * Only strip debugging symbols (strip -g) from object files in .a archives - because --strip-unneeded tends to render many object files unusable. - If you're sure you know what you're doing and want to use strip - options other than -g, then I suggest doing this inside your build - script or (if using altertrack) in your post build script. - Updated slacktrack(8) to reflect this. - * Use strip -p to preserve dates/time stamps. - * Fixed a typo in the package info display prior to building the package. - -31-May-2004 - v1.20 build 1 - * Changed chown uid.gid to uid:gid - -25-Mar-2004 - v1.19 build 1 - * With the recent version of the coreutils package in Slackware-current - (coreutils-5.2.1), chmod no longer preserves setuid bits. This means - that if you elect to chown root.bin the binaries, you lose setuid. - I have implemented a work-around which works with both the new and old - coreutils chown. - -03-Mar-2004 - v1.18 build 1 - * Strip archive files (.a) with --strip-unneeded, as using strip without - this option causes the contents of some archive files to be unusable. - Thanks to longname@sezampro for reporting it. - -12-Feb-2004 - v1.17 build 1 - * Added --froot option to start the fakeroot server prior to setting - ownerships and so on. This may be helpful if you are not root on - the machine where the packages are being prepared. However, if the - build script or 'make install' sets its own ownerships, these will - be lost because the fakeroot server is not started until *after* the - build script finishes. The reason for this is that fakeroot can make - some configure scripts fail. If you know that the configure script - you are using does *not* fail under fakeroot, I suggest that you still - use fakeroot ./trackbuild.xxx - -- Please note that due to the path to the fakeroot libraries, slacktrack - only works with fakeroot-0.8.3 and up - You can download the latest version of a fakeroot Slackware package - builder from http://www.slackware.com/~mozes -- - * Upgraded to installwatch-0.7.0beta3 from CheckInstall 1.6.0beta3 - -12-Dec-2003 - v1.16 build 1 - * Updated docs/OVERVIEW - * Updated docs/TODO - * Bumped up version number for release. - -10-Dec-2003 - v1.15 build 5 - * Tidied up slacktrack.SlackBuild - Most of the recent changes have been in altertrack (bug fixes) which - is why the version of slacktrack itself hasn't been updated. - The usr/doc/slacktrack-version directory is now - usr/doc/slacktrack-version_build - because (at present) the build number is important to this project - because it changes more than the major slacktrack version number. - * Mentioned installwatch segfaulting in the FAQ. - -01-Nov-2003 - v1.15(release) - * altertrack is now included within the binary .tgz package because - I'm satisfied that it is just as safe as protopkg, and it enables you - to build packages from .build scripts that do not work with - slacktrack/installwatch. - -29-Oct-2003 - v1.15rc1 - * If running under fakeroot then remove fakeroot from the list of - dependencies (it's included because it's LD_PRELOADed) - (suggested by Emanuele Vicentini). - Patch from Emanuele Vicentini: - * Redirect file descriptor 2 to 1 so that the slacktrack log file - contains anything sent to STDOUT. - -22-Oct-2003 - v1.15 - * Added --showdeps option to log to screen and a log file what - _installed_ Slackware packages your new package relies upon. - The purpose of this for interest only but I find it useful to ensure - I haven't just built a package on a box that Xfree86 installed - and I intend to install and use the package on a box that does not, - when the package has 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). - * Added another question to FAQ. - * Bomb out if /var/log/packages or /var/log/scripts is missing. - -20-Oct-2003 - v1.14 [beta only] - * When stripping shared objects (.so files), look for 'shared' rather - than 'shared objects' (in the output from 'file') as this was causing - some files not to be stripped (PHP is an example). - * Added --mpopts option to allow the inclusion of additional options - (e.g. --prepend) to Slackware's 'makepkg' program. - * Fixed bug where by the .txt description file wouldn't be created if - you had specified a seperate build store directory that didn't end - with a / - * No longer create the /install directory because if your build script - fails to create any files then you don't see the warning slacktrack - gives you. I could code around this but I think it's cleaner this way. - * Added /root to the list of directories that will not be included within - the package. This should help with using ccache when compiling as root. - You should still see docs/FAQ for help with non-root users. - It also helps with building CPAN modules. - * Updated the FAQ with information about using perl -MCPAN -eshell - (turn off logging and the CPAN interface console will work) - * Fixed bug where by gzipping info pages wouldn't gunzip .bz files first - * Forked slacktrack into another script named 'altertrack'. This works - in a similar fashion to Pat's 'bp' and David Cantrell's 'protopkg' in - that it compares the differences between the file system before and - after 'make install', rather than using installwatch. - This script is available only in the source distribution and is - totally unsupported (but it works for me). There is an example - build script contained within the source in the 'examples-altertrack' - directory. - * Moved fakeroot's build script (and source) out of slacktrack's source - and on to http://www.slackware.com/~mozes because it's - more useful there. - -01-Oct-2003 - v1.13 - * Warn if /install/slack-desc not found or 0 bytes - * The package's /install directory is now created by slacktrack - _before_ it executes your .build script. This saves you a line - in your .build script, plus it's required in order - to meet Slackware package standards (because 'slack-desc' lives - within /install). However, if you do not wish to have a /install - directory within your final package, you may delete it within - your .build script ( rm -rf ${SLACKTRACKFAKEROOT}/install ) - * Updated dependency checking code so that it can handle packages - that begin with the same name (e.g. 'glib' 'glib2'). - * Updated the fakeroot build scripts for version 0.7.8 - Patches from Emanuele Vicentini: - * Added -Q, --standard options that specifies all command line switches - required to create a .tgz file that complies with the Slackware standard. - * Added -G, --gpg-sign option that will sign the resulting .tgz - package file with the default user's GnuPG key and placed the - detached, armored signature (.asc file) in the package store - directory. - * Fixed the value of GZINFO (which should be "No" according to the - man page but was "Yes") - * Updated man pages, typos fixed and so on. - - The easiest way to build a package is now: - # slacktrack -Qp foo-1.13-i486-1.tgz ./foo.build - -11-Jul-2003 - v1.12 - * Added -D, --md5sumtgz option that will create an MD5sum of - the resulting .tgz package file. - * Fixed problem with checking the exit code from getopt - (reported by Emanuele Vicentini). - * Added a preemptive FAQ - * Merged Patrick's changes of slacktrack.SlackBuild into mine - slacktrack.SlackBuild now also creates its own slacktrack-*.txt file - -22-Jun-2003 - v1.11r2 - * I'd missed single quotes from a few find commands - fixed. - -02-Jun-2003 - v1.11 - * -S, --stripallexec will now strip .a (archive) files. - * -A, --striparchives option added. This option strips .a archives. - Suggested by Patrick Volkerding. - * slacktrack.SlackBuild no longer includes the large collection of - example scripts into the resulting package .tgz; they're now - maintained in a separate archive (slacktrack-examples-v??.tar.gz) - available from http://www.slackware.com/~mozes - -28-May-2003 - v1.10r2 - * If deleting 'usr/info/dir' then append this info to the log. - -22-May-2003 - v1.10 - * Before gzipping man or info pages we now find any bzip2 (.bz2) files - and unpack them. I have found that BitchX installs BitchX(1) as - a bzip2 file. There is no slacktrack option to turn this feature off - because if we gzip the bzip2'd man page, the man program won't - work with the file. - * Added -K, --delete-usrinfodir option. If this option is specified - then slacktrack will delete the file 'usr/info/dir' if it is - found in the package. - This file is a special file used by the 'info' program. To quote - texinfo's 'dir' file: - "This (the Directory node) gives a menu of major topics." - Many programs create their own 'info' file. However, using slacktrack - (or even a clean SlackBuild script), any such attempts to create - an up to date 'info' file result in the file only containing - information about the particular program (or set of programs) - you have just compiled. - Therefore you will usually want to delete this file from your - package so as to avoid overwriting the system version when you - install your new package. - The default is not to delete usr/info/dir. - * As an example, I typically invoke slacktrack as: - # slacktrack -gfenzKSUIp package-1.00-i386-1.tgz ./package.build - - -16-May-2003 - v1.09 - * Added exported variable: SLACKTRACKSCRATCHDIR - This variable points to a 'scratch' dir inside slacktrack's temporary - path. Should they wish to do so, the authors of the build scripts - can use this directory to save them 'managing' their own temporary - directories where they unpack the source archives and so on. - This directory is subject to the same conditions as the rest of the - slacktrack temporary path -- it will remain if --notidy is specified. - * Added paragraph in slacktrack(8) that talks about the exported environment - variables. - * Now use date +%s to create more randomly named temp directory for installwatch - This reduces the possibility of conflicting with another user who is - running slacktrack on the same system. - * Modified afio.build to demonstrate using ${SLACKTRACKSCRATCHDIR} - * Modified tf.build to use ${SLACKTRACKSCRATCHDIR} & to prevent it from - confirming the compile-time settings with the user. - * Tidy up of the build scripts in the docs dir. - * slacktrack(8) & slackdtxt(8) release dates now always in sync with - their respective scripts. - -07-May-2003 - v1.08r3 - * Updated a few docs - * Fixed a comment typo in the slacktrack script - * Tidy up of 'SlackBuild' script - * Other misc tidying. - -03-May-2003 - v1.08r2 - * If the command line/script provided exits with an error code we now - display the error code as well as a warning message. - * Moved slacktrack and slackdtxt to /usr/bin rather than being in - /usr/sbin. This is because we can use slacktrack with 'fakeroot' - from the Debian distribution. fakeroot fakes root privileges, thereby - allowing slacktrack to chown correctly. Therefore we can sensibly - use slacktrack as user other than root. - - To use slacktrack with fakeroot you could do this - # fakeroot ./trackbuild.fetchmail - - less through the resulting package .tgz to verify that the permissions - are what they ought to be. Obviously there will be some issues with - using fakeroot but it should be pretty useful for users without root - access. - I have packaged up fakeroot and you may download it at - http://www.slackware.com/~mozes - I have included by fakeroot build script within slacktrack's source - ball - slacktrack/misc/fakeroot/ - -28-Apr-2003 - v1.08 - * Added -N, --strip-prog to allow the user to specify the location - of the strip binary. This allows me to start cross compiling - stuff with slacktrack stripping the binaries. - * Renamed my wrapper scripts from 'SlackBuild' to 'trackbuild' to - avoid any confusion & updated docs to match. - * If specifying an alternate package store dir, now suffix the path - with a / - * Now reports size of .tgz if a .tgz is built - * No options are 'Advanced' - they are now just options - * Added -R, --run-after facility to make slacktrack execute a given - command prior to running makepkg. The purpose of this is to allow - the user to specify a program such as mc (Midnight Commander) to - inspect the package directory contents and possibly make changes - before slacktrack creates the .tgz - [] Note: The CWD is changed to the package's root directory before - the external command is executed. This allows you to specify - -Rmc and have Midnight Commander load and automatically - display the root dir of the package. - * -T wasn't accepting the specified path. Fixed. - * -g,--chmod644docs also now does chown -R root.root /usr/doc. I am finding - I need to do this in build scripts a lot so I figured since I'm already - chmod 644ing I may as well just chown them to root since they always - are in Slackware packages anyway ! - -16-Apr-2003 - v1.07 - * Added the facility to gzip info pages & updated slacktrack(8) to match. - -I, --gzinfo - -W, --extra-infodir <path> - -F, --gzinfo-no-symfix - * Switched @uksolutions email addresses in example build scripts with - @polplex.co.uk - * Added two build scripts for GNU VCD Imager into the docs/examples/non-slackware - directory. There are two scripts: - vcdimager.build -- this is for use with slacktrack - vcdimager.SlackBuild -- this is a 'clean' SlackBuild script - that installs the package into a clean - dir by doing make DESTDIR - The purpose of having these two scripts is for anybody who is - interested in building their own packages; it enables you to - compare and contrast the differences... or something :) - -01-Apr-2003 - v1.06 - * --extra-libdir, --extra-bindir, --extra-mandir added to allow - the user to specify additional directories that slacktrack should - consider when stripping binaries and gzipping man pages. - Note that any binary directories specified by --extra-bindir - will NOT be chown root.bin - Suggested by Darren Austin - * No longer chown root.bin in /usr/local/{sbin,bin}/ - as it's not the Slackware standard to chown root.bin in any dirs other - than /sbin, /bin, /usr/bin & /usr/sbin - -26-Mar-2003 - v1.05 - * Now considers usr/local for man page, binary and .so files after - Darren Austin gave a convincing argument as to why one may wish to - use /usr/local - -22-Mar-2003 - v1.04-build-2 - * Moved Change Log details into separate file - 'ChangeLog.slacktrack' - to save cluttering the slacktrack script. - * Added zlib build script to the list of Slackware example build scripts - This script downloaded the Slackware bits and also patches in the - security patch from OpenPKG. - * Added NVIDIA_GLX-1.0-4191 and tinyfuge example slacktrack build scripts - * Fixed a few typos and grammar problems in the docs - * Tidied up a few comments & code in the slacktrack script - - No new features added. - -10-Mar-2003 - v1.04 - * Added --stripallexec option to strip any unstripped ELF executable files - in the entire package directory. This means that slacktrack will find all - files in non-standard Slackware directories such as /opt. - * Added 'short' command flags for the advanced options. - -02-Mar-2003 - v1.03 - * Make sure we have specified a package name before proceeding - * Bomb out & tidy up if no files or dirs are found in /var/tmp/slacktrack/TRANSL/ - this saves makepkg building a package of the current directory & it also - indicates that installwatch failed to track any activity, thus has no files - to package. - * Fixed problem with the location of installwatch's log file. - * Lots of error checks - * Exit codes now have meaning; read slacktrack(8) man page. - * If build store dir doesn't exist then change it to /tmp rather than - creating it without warning. - -01-Mar-2003 - v1.02 - * Added --chmod644docs option - * Renamed SLACKTRACKPSEUDODIR to SLACKTRACKFAKEROOT because it makes more - sense. - -28-Feb-2003 - v1.01 - * Stopped dumping all output to /dev/null when gzipping man pages - as this doesn't always work - * Added code to fix broken symlinks caused by gzipping man pages - Added --gzman-no-symfix command line option to prevent this behaviour - * Added --chown-bdirs-root-bin & chown-bfiles-root-bin (-e,-f) options - to chown root.bin the system binaries installed into /usr/bin and so on - This behaviour is specified in Pat's 'slack-tools' README file. - -22-Jan-2002 - v1.00 - * Created diff --git a/source/d/slacktrack/slacktrack-project/docs/FAQ b/source/d/slacktrack/slacktrack-project/docs/FAQ deleted file mode 100644 index 98ea7d7c..00000000 --- a/source/d/slacktrack/slacktrack-project/docs/FAQ +++ /dev/null @@ -1,234 +0,0 @@ -################################################################ -# Document: FAQ -# Purpose : Frequently asked questions -# Author..: Stuart Winter <mozes@slackware.com> -################################################################ -# It's small at the moment but if I get any repeated -# or potentially repeated questions then they'll be added -# here. -################################################################ - - -Questions ---------- - -1. My build script places files into /home, but these are not - included in the package created by slacktrack. Why? - -2. Do I really have to remove the existing package before - building a new version with slacktrack ? - -3. I want to build a package of DVD libraries and players - but the players depend on the libraries being installed - first. How can I build such a package with slacktrack? - -4. I find that when building packages with slacktrack, a number of - files are appearing in the package that do not belong there. Why? - -5. What does slacktrack's --touch-filesystem-first option do? - why would I need it? - -6. I can't compile Perl CPAN modules via perl -MCPAN -eshell - Why ? - -7. I'm using Slackware v13 (or greater) and I want to create - package files using one of the other compression methods. - How can I do that? - -8. After completing a build using slacktrack, I see - "You have mail in /var/mail/root" - but I have no new email. - -Answers -------- - -Q1. My build script places files into /home, but these are not - included in the package created by slacktrack. Why? - -A1. slacktrack (by design and thus default) excludes /home - from being included within the package. The reason for this - that typically no package shipped should ever contain - data within /home. - -Q2. Do I really have to remove the existing package before - building a new version with slacktrack ? - -A. No (see my zlib example), but in the majority of cases, - I'd advise that you do. - - The reason that my example trackbuild scripts remove the - existing package first (or bomb out) is because some - package installations (makefiles) will not install a - new file onto the filesystem if it's identical to the - one in the source archive. This means that slacktrack - will not notice any change in the before and after picture - of the filesystem; thus your resulting package may - be missing some files. - - The way to work around this is: - 1. removepkg the package prior to building; - 2. Use the --touch-filesystem-first option; - But this option is not recommended since it destroys the - time stamp information on your system. - This option should only be used by experts using a disposable - OS installation. - Please see FAQ question 5. - - 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 your package with slacktrack. - - In general though you shouldn't have any problems. - - -Q3. I want to build a package of DVD libraries and players - but the players depend on the libraries being installed - first. How can I build such a package with slacktrack? - -A. There are two ways. - 1. You either write build scripts for each individual - library and create packages for each. Once the packages - have been built, you install them prior to building - the player. - You then unarchive all packages into a temporary - directory and run makepkg over it. - 2. Use slacktrack and build them all one after another as - you no doubt have originally attempted. - - I have included example build scripts for a DVD library - package within slacktrack's source archive. - - -Q4. I find that when building packages with slacktrack, a number of - files are appearing in the package that do not belong there. Why? - -A. The way that slacktrack works is that it: - [a] takes a snapshot of the files and directories on the file system; - [b] runs the build script - [c] makes another snapshot of the files & dirs on the file system; - [d] compares the two snapshots and determines the differences - [e] the differences between the two snapshots constitute the package - contents - - The problem with this approach is that other running programs can - make modifications to files & dirs on the file system during the - build/compilation process. slacktrack will consider these modifications - to be part of the package -- slacktrack does not directly track what the - build process does: it *only* compares the differences between the - file system snapshots. - - Major culprits for this are: - cups - crond (running cron jobs) - Window Managers and X - - When using slacktrack you are advised to reduce the number of - processes to the minimum, and try to ensure that there are no processes - running which will modify the file system during the build process. - - If you cannot do this then you there are a number of work arounds: - [a] Using the -x (--exclude) operator. - With this operator you can specify a list of - paths to exclude from the file system snapshots, thus excluding them - from the resulting package. - [b] Use the -R (--run-after) operator. - With this operator you can specify a command that will be run after - slacktrack has compiled the package contents. - You may wish to run 'mc' (Midnight Commander) or perhaps just a 'bash' - shell; this will enable you to inspect and modify the contents of the - package prior to it being turned into a package file. - -Q5. What does slacktrack's --touch-filesystem-first option do? - why would I need it? - - This option touches all files this pre-set location on the host's - filesystem: - /opt /bin /boot /dev /etc /install /lib /sbin /usr /var - - It *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 will touch every file within those directories, destoying all the - timestamp information. - This is intended to be used on a throwaway development installation - that's reinstalled daily or more often. Builds will often leave - residue strewn about, so don't use this on your "good" machine and - think you're managing it properly. :-) - - 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 (ie 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. - - 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). - -***** This is an expert option: Please don't use this option unless you do - not care about your operating system installation ***** - - -Q6. I can't compile Perl CPAN modules via perl -MCPAN -eshell - Why ? - -A. If you get this message: - Unable to get Terminal Size. The TIOCGWINSZ ioctl didn't work. - The COLUMNS and LINES environment variables didn't work. - The resize program didn't work. - - the answer is to tell slacktrack to turn off logging. - eg: - # slacktrack -Qnp foo-1.0-i486-2.tgz ./foo.build - -Q7. I'm using Slackware v13 (or greater) and I want to create - package files using one of the other compression methods. - How can I do that? - -A. It is 'makepkg' from the 'pkgtools' package which handles - the compression, based upon the extension of the package - file name supplied to it. - - The compression methods & file names are: - - .tgz - Gzip - .tbz - Bzip2 - .tlz - LZMA - .txz - XZ - - - Examples: - - # slacktrack -Qp foo-1.0-i486-1.tgz ./foo.build - # slacktrack -Qp foo-1.0-i486-1.tbz ./foo.build - # slacktrack -Qp foo-1.0-i486-1.tlz ./foo.build - # slacktrack -Qp foo-1.0-i486-1.txz ./foo.build - - -Q8. After completing a build using slacktrack, I see - "You have mail in /var/mail/root" - but I have no new email. - -A. This is because you used the '--touch-filesystem-first' or - '--touch-filesystem-faster' option at build time. - This option has touched all of the files on the file system, which - refreshes their date stamp. The mail notification system works only on - the date stamp of the mail spools, hence it triggers the message. diff --git a/source/d/slacktrack/slacktrack-project/docs/INSTALL b/source/d/slacktrack/slacktrack-project/docs/INSTALL deleted file mode 100644 index 8b74c9f1..00000000 --- a/source/d/slacktrack/slacktrack-project/docs/INSTALL +++ /dev/null @@ -1,9 +0,0 @@ - -In order to build slacktrack: - - # ./slacktrack.SlackBuild -i - -This will create a Slackware package of slacktrack -and install it. - -The resulting package will reside in /tmp. diff --git a/source/d/slacktrack/slacktrack-project/docs/OVERVIEW b/source/d/slacktrack/slacktrack-project/docs/OVERVIEW deleted file mode 100644 index fb99b247..00000000 --- a/source/d/slacktrack/slacktrack-project/docs/OVERVIEW +++ /dev/null @@ -1,595 +0,0 @@ -############################################################################## -# Document: OVERVIEW -# Purpose : Provide an overview of the Slackware package system incorporating -# the use of 'slacktrack' -# Please note that this is *not* a guide to the use of slacktrack; -# the man page and SlackBuild scripts in the 'examples' directory -# aim to fulfill that requirement. -# Date....: 15-May-2009 -# Author..: Stuart Winter <mozes@slackware.com> -# Homepage: http://www.slackware.com/~mozes -############################################################################## - - -CONTENTS: ---------- -1.0 Preamble -2.0 Slackware packages - 2.0.1 Format of official Slackware packages - 2.0.1.1 Package names - 2.0.1.2 Version numbers - 2.0.1.3 Architectures - 2.0.1.4 Build numbers - 2.1 An overview of the creation of official Slackware packages - 2.1.1 'Clean' and 'dirty' builds - 2.1.1.1 Clean builds - 2.1.1.2 Dirty builds - 2.1.1 SlackBuild and .build scripts - 2.1.1.2 SlackBuild scripts - 2.1.1.3 .build scripts - 2.2 slacktrack in the scheme of things - 2.2.1 Using slacktrack with official .build scripts - 2.2.2 Writing your own .build scripts for slacktrack - 2.2.2.1 Making use of slacktrack's environment variables -3.0 slacktrack in operation - 3.1 How slacktrack finds which files have been installed -4.0 Example scripts - 4.0.1 non-slackware example build scripts - 4.0.2 slackware example wrapper build scripts -5.0 Known problems/features of slacktrack -6.0 New features -7.0 Licence - - - -1.0 Preamble - --------- - -I used to work for a company that provided web hosting and shell accounts. -When I started there were a number of shell servers all running various -releases of RedHat Linux, in various states of repair. I managed to convince -the management to let me try Slackware on there instead because I have a much -stronger understanding of how to maintain and build server using the -Slackware distribution. This trial went well and within a few months all -servers were converted to Slackware version 8.1. - -In order to ease the speed of installation (and to prevent against -forgetting to install or configure something critical), I wrote a -set of post installation scripts that upgraded Slackware packages, -configured numerous config files and copied pre-compiled software -(such as courier IMAP) onto the new system. -For other software that I could not simply copy, I'd compile it on the -new server. - -However, it soon became clear that due to security updates and so on, -it became incredibly time consuming (not to mention seriously boring) -to compile PHP, Apache and so on on every server. - -At this point, I began to investigate how to create packages for Slackware. - - -2.0 Slackware packages - ------------------ - - The Slackware Linux distribution consists of a variety of 'packages' - that make up the distribution. - - Traditionally, all packages are in '.tgz' format (a gzipped tar archive). - Starting with Slackware v13, new compression formats are supported which - are represented by three additional file extensions: - - .tgz - Gzip - .tbz - Bzip2 - .tlz - LZMA - .txz - XZ - - In this document, we use the file extension '.t?z' to represent - one of the above file formats. - - Once you have initially installed Slackware from the installer screen, - you have the facilities to install, remove or upgrade new or existing - packages using the package management tools: - - installpkg <package.t?z> - install 'package.t?z' - - upgradepkg <package.t?z> - upgrade existing 'package' with the - new version specified at the command line. - - removepkg <package> - remove specified package - - - Whilst the Slackware package system is not especially feature rich, - Slackware's user base (including me) like it because it is simple. - If we want to write our own package utilities then we can easily do so - by examining the existing package tools and querying and amending the - package database (text files). - - 2.0.1 Format of official Slackware packages - ------------------------------------- - - In Slackware 8.1 and up, each package file is named as follows: - - packagename-version-architecture-buildnumber.t?z - - 2.0.1.1 Package names - ------------- - - The package name is either the name of the single program - or the name of a collection of utilities that fall under - a single umbrella. - For example: - autoconf-2.54-noarch-1.tgz - - That is the name of the autoconf package I have on my - Slackware 8.1 box. - 'autoconf' is the name of the the entire collection of - binaries and associated documents that are extracted from - the autoconf source distribution archive. - - However, if we consider another example: - tcpip-0.17-i386-15.tgz - - There is no single piece of software called 'tcpip'. - This package contains a number of associated utilities - written by different authors but bundled into one single - 'package'. - - 2.0.1.2 Version numbers - --------------- - - If the package is the name of a particular piece of software - such as 'autoconf' from the example above, then the version - number represents the version number that its authors distribute. - - If the package is a 'bundle' such as 'tcpip' then the version - number increases as and when you add a new piece of software to - the package, or upgrade a particular piece of major software - contained within the package. - For example, with 'tcpip' above, the 0.17 refers to the version of - Linux Netkit. However, there are other programs included within - the Slackware tcpip package that are not part of 'Linux netkit'. - - 2.0.1.3 Architectures - ------------- - - The architecture is just that -- it tells you which architecture - the package is for. - - The current values in use are: - - ----- [ Official Slackware architecures ] - - noarch - Architecture independent files such as config files - i386 - packages for the x86 (Slackware v8.1 & 9) - i486 - packages for the x86 (Slackware 9.1+) - i586 - packages for the x86 - i686 - packages for the x86 - s390 - packages for the IBM s/390 mainframe - arm - packages for the ARM architecture - - Note: Whilst Slackware v10 is primarily built for i486, you may - find that there are some packages whose architecture versions - are higher than i486. This is for two reasons: - - [a] There is no source for the package - it is a repackaged - binary distribution (SUN's j2sdk is an example). - - [b] The package is not required or otherwise not suitable for - earlier revisions of the architecture (this is especially - the true with ARM and SPARC). - - ----- [ Unofficial ports of Slackware ] - - sparc - packages for the SUN Sparc architecture - powerpc - packages for the PowerPC architecture - - 2.0.1.4 Build numbers - ------------- - - A build number suplements the version number and is changed - when the *package maintainer* makes a change to the package but - the original source code and version number remains the same. - - For example, I build a package of 'foo' version 0.14 for the - sparc. I have never built this package before, thus it becomes - foo-0.14-sparc-1.tgz - However, I realise that I haven't configured - the 'bar' parameter correctly in /etc/foo.conf. I fix it - and re-build the package. The package is now named - foo-0.14-sparc-2.tgz - - - 2.1 An overview of the creation of official Slackware packages - ----------------------------------------------------------- - - This section gives a brief introduction of the two methods of - used when building the official Slackware packages. - - - 2.1.1 'Clean' and 'dirty' builds - -------------------------- - - I am assuming the reader has some experience with Makefiles - and has compiled and installed a number of software packages. - - 2.1.1.1 Clean builds - ------------ - - I term a 'clean' package one where you can specify a variable - to the 'make install' which contains the directory you wish to install - the package in, rather than installing it properly over the root file system. - For example: - # ./configure --prefix=/usr --sysconfdir=/etc - # make - # make install DESTDIR=/tmp/package-foo - - With a 'Makefile' that honours the DESTDIR variable, this will - install the whole package into /tmp/package-foo. This directory - effectively is the 'root' directory '/' as far as the Makefile - is concerned. - - From here you can use the Slackware 'makepkg' program and build - a package. - - This is by far the safest and most preferred method by all - users that make packages. - - You will find that DESTDIR is called prefix, TOPDIR and other names; - you need to examine the Makefile scripts in order to determine whether - it contains this functionality and if it does, then discover what - the variable name is. - - 2.1.1.2 Dirty builds - ------------ - - A 'dirty' build is the name I give to source distribution archives - whose Makefile scripts do not have any provisioning to install - in an alternate directory other than root. - - For these type of builds, you will typically do: - # ./configure --prefix=/usr --sysconfdir=/etc - # make - # make install - - The package will then be installed on the root filesystem. - - So how do you know what files were installed where and - even if you did, how do you pull all these files together in order - to run makepkg over them ? - That's the purpose of slacktrack! :-) - - - 2.1.1 SlackBuild and .build scripts - ----------------------------- - - Slackware has a number of packages by a great number of authors. - Some of the packages's source Makefiles honour a DESTDIR type - variable but others do not. - - 2.1.1.2 SlackBuild scripts - ------------------ - - SlackBuild scripts can be 'interesting'. They are - scripts that install into a 'clean' environment (usually /tmp). - - Some of the scripts follow the make install DESTDIR= - style, if the Makefile permits. - - Others have a 'framework' or 'controller tarball' which is - a _packagename.t?z (note the prefixing underscore). - - The SlackBuild script uses the Slackware 'explodepkg' script - to untar the contents of the _.t?z into the /tmp-package<name> - directory. - Slackbuild then runs 'make' to compile the binaries - and libraries, but then uses the 'cat' program such as: - # cat foobar > /tmp/package-foobar/usr/bin/foobar - - By using 'cat', the *new* version of 'foobar' retains - the original permissions and ownerships that are in the - controller tar ball. - - However, you may be wondering how, if the package does not - have a facility to install into somewhere other than root, - do we get the file names and permissions for the - controller _.t?z in the first place. - The answer is simple: - [a] find all files on the file system and dump to a file. - [b] compile and install the software - [c] find all files on the file system and compare the file - produced by the first 'find'. After a little pruning, you - have the list of files for the controller tar ball. - - - 2.1.1.3 .build scripts - --------------- - - For those software distributions whose Makefile does not hounour - the DESTDIR type system, there are Slackware's .build scripts. - - These scripts literally ./configure ; make ; make install - and copy docs and other goodies into the root file system. - - One of the problems with these scripts is that they are - often incomplete -- they build and install the package but - do not gzip the man pages or strip the binaries and libraries; - this is done manually afterwards. - - *These* are the scripts that slacktrack and altertrack were - written for. - - * Note: Whilst some software's Makefiles may appear to honour - the DESTDIR variable, the Makefile *may* be broken which can - result in files missing or corrupt within your new package. - For example: I built Apache v2.0.48 and built a package using - make install DESTDIR. However, a problem exists in that some of - the Perl scripts it installs have *temporary build paths* - hard coded into the resulting scripts. - This is why you *may* find a .build instead of a SlackBuild - script within Slackware's source tree. - - However, the primary reason is because the build script just - hasn't been updated to make use of DESTDIR. * - - - 2.2 slacktrack in the scheme of things - ---------------------------------- - - I follow Slackware-current quite closly. Often I want to - 'back port' a -current package to an earlier release of Slackware . - I can't simply upgrade with -current's package because it was - compiled for a newer GLIBC than Slackware 8.1's, for example. - For packages that use a 'clean' 'SlackBuild' script, this is - an easy job -- I simply run 'SlackBuild' on an 8.1 box. - - However, for .build scripts, I needed a way of building packages - using Slackware's .build scripts. - - I found a great program called 'CheckInstall' which fulfilled most of my - requirements. However, as time went on and I started building - more of Slackware's packages and writing my own build scripts, I found - that checkinstall was lacking some features that I required. - At this time I was also considering porting Slackware to run on - the ARM architecture and helping with the Splack (Slackware on SPARC project), - and therefore wanted a robust program that can deal with every .build script - I threw at it, and if it can't handle it, I needed to be able to make modifications. - The easiest way of doing this was to write my own script; thus - 'slacktrack' was born. - - slacktrack is based on the *idea* behind 'CheckInstall', but uses - only my own code (and contributions from other users), and only contains - Slackware-specific facilities -- it can not build Debian or RedHat packages - and never will. - - slacktrack does not have all of the facilities of CheckInstall either, - but then these are not required for building Slackware packages - from .build scripts. - - Also, slacktrack only works with 'official' Slackware directory locations - and /usr/local. - For example, if your make install installs binaries in /opt/packagename/bin - and the man pages in anywhere other than /usr/man or /usr/local/man, then - slacktrack's relevant options (eg stripping libs, bins, gzman) will - not detect them. - - - 2.2.1 Using slacktrack with official .build scripts - --------------------------------------------- - - Building a replicar Slackware package from a .build script is - typically fairly trivial with slacktrack. - - If we wanted to build slackware-9.1's elvis, we could do - # cd slackware/slackware-9.1/source/a/elvis - # chmod 755 elvis.build - # slacktrack -jefkzp "elvis-2.1-i386-2.tgz" ./elvis.build - - The resulting package (by default) be stored in - /tmp/built-slackwarepackages/ - - As already mentioned, some of the Slackware .build scripts - are incomplete with regard to gzipping man pages, stripping binaries - and so on -- fetchmail.build is one of them. - Therefore you can specify various options to slacktrack that - will take care of this for you. - The options in the example above : - j - compress libraries - e - chown root:bin /bin,/sbin,/usr/bin,/usr/sbin directories - f - chown root:bin files in the binary dirs listed above - k - strip binaries found in the binary dirs listed above - z - gzip man pages - p - the resulting Slackware package .t?z name - - The way I re-create the packages is to build a 'trackbuild' script that - launches slacktrack with the required options and the name - of the Slackware .build script. You can find examples of such - scripts within the docs directory after installing slacktrack: - - /usr/doc/slacktrack*/buildscript-examples/ - - You will also find that in Slackware versions 12.0 and upwards, - the .build scripts are accompanied by 'trackbuild' scripts because - slacktrack is used by the Slackware team to produce the packages. - - 2.2.2 Writing your own .build scripts for slacktrack - ---------------------------------------------- - - There isn't any specific that you have to do to write a build - script for use with slacktrack -- the script name specified to - slacktrack doesn't even have to be a script - it can be a binary - - as long as it is executable, it is acceptable. - - You can see some of my own build scripts that I have written - for use with slacktrack by looking in the documents directory - after installing slacktrack: - - /usr/doc/slacktrack*/buildscript-examples/ - - 2.2.2.1 Making use of slacktrack's environment variables - ------------------------------------------------- - - slacktrack exports two environment variables: - SLACKTRACKFAKEROOT and SLACKTRACKSCRATCHDIR - - SLACKTRACKFAKEROOT: - ```````````````````` - - The purpose of this to allow your .build script to access the - 'root' directory of the resulting package. - There are two scenarios where you may want to use this - variable: - - 1. During the build: - - The reason you may wish to do this is to pre-populate - the package with files that you may not wish to place directly - onto the root filesystem. - The package contents will only appear inside this directory - once your build script has finished, and slacktrack has determined - what to put into this directory. - - In previous slacktrack versions which used a pseudo-root filesystem - (where the package contents were populated *during* the build), this - made sense, but in slacktrack v2.00, it is unlikely that you'd want - to use this vairable from the build script. - - 2. Post-build -- cleanups after the build: - - The most likely use of this script is to perform package cleanup - tasks after the build. This is mainly to perform tasks that slacktrack - does not handle itself - such as deleting known files/directories that - creep into packages (due to a system daemon such as CUPS), or setting - some file and directory permissions. - - An example post build script is below. - A post build script can be specified by slacktrack's -R option: - - # 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 . - - - SLACKTRACKSCRATCHDIR: - ````````````````````` - - The purpose of this variable is to provide some temporary - space to untar your source archives and so on. slacktrack - will manage the creation and deletion of this directory. - - For example: - # cd ${SLACKTRACKSCRATCHDIR} - # tar zxvvf ${ORIGPATH}/source/foobar.tar.gz - - You can see in some of the example 'non-slackware' scripts - how I have used these variables - - -3.0 slacktrack in operation - ----------------------- - - The basic event flow is as follows: - - [1] Parse command line arguments - -> Check they are OK, if not bomb out - [2] Launch the supplied build script - [3] Run any specified functions (eg gzman, strip bins, chowns) over the - package 'root' directory and contents - [4] Run Slackware's 'makepkg' program over the package contents - [5] Move the .t?z to the specified build store path - [6] Scan for any hard links that may be in the package - -> If any found, alert the user on screen and also - log to a packagename.hardlinks.log file in the build store path - - The slacktrack shell script is fairly simple and well commented; it should be - relatively easy for anybody who understands bash to quickly comprehend what - is happening and why. - - 3.1 How slacktrack finds which files have been installed - ---------------------------------------------------- - - In order to track the files and directories that have been installed - or changed, slacktrack follows this ordered process: - - [1] Scans a pre-set list of directories on the filesystem and - logs the contents. - [2] Launches build script which installs the package onto the - filesystem - [3] Scans the filesystem once again - [4] Compares the differences in the before and after snapshots - [5] Copies the differences into a 'package root directory' and - runs makepkg over them. - - In slacktrack version 1, we used 'installwatch' which overloaded - some of glibc's filesystem calls, creating new files and directories - into a pseudo-root filesystem, avoiding the need to install onto - the host's filesystem (and also allowing to build as a non-root user). - However, this library is ill maintained and even in the early days - when it worked well, it still had problems and workarounds were required. - -4.0 Example scripts - --------------- - - Included with the slacktrack binary distribution are a number of example - scripts that hopefully should provide you with a basis of how to use slacktrack - to build from 'dirty' source distributions. - - The examples are bundled in the documentation directory available - after installing slacktrack: - - /usr/doc/slacktrack*/buildscript-examples/ - - -5.0 Known problems/features of slacktrack - ------------------------------------- - - Current problems: - - [1] slacktrack doesn't have sufficient error checking. - - I'm in two minds about *where* to put error checking, you see. - Do I go no further if the supplied build script exits with a non-zero - value? - No, that's a bad idea because what if you didn't write the build script? - it might be one of these qmail type binary installer programs that - you can't (easily without hacking the source) fix. The author may - have their own systems, and the program exits with a value that their - own controller script recognises as non-failure. - - What should I do if makepkg has failed? You see it on screen - and in the logs anyway, plus makepkg is one of the last things - that slacktrack calls -- how can you recover? - - That said, version 1.03 now has some error handling. There's still - not enough though, imo. - - [2] No support for a default config file - - I don't see the point. Each .build script is different - and although I typically use the same options to slacktrack - for most of my build scripts, I don't see why I'd need a - config file just to save 4 bytes or so in a trackbuild wrapper :-) - - -6.0 New features - ------------- - - See the TODO file in the docs directory. - - If you have any specific features you would like to see - included, or have found any bugs, please - email me <mozes@slackware.com> - -7.0 Licence - ------- - - slacktrack is distributed under BSD Licence. diff --git a/source/d/slacktrack/slacktrack-project/docs/PACKAGE_BUILDING_CHECKLIST b/source/d/slacktrack/slacktrack-project/docs/PACKAGE_BUILDING_CHECKLIST deleted file mode 100644 index 12817beb..00000000 --- a/source/d/slacktrack/slacktrack-project/docs/PACKAGE_BUILDING_CHECKLIST +++ /dev/null @@ -1,244 +0,0 @@ -########################################################################## -# Document: PACKAGE_BUILDING_CHECKLIST -# Purpose : Check list for creation of Slackware packages -# via .build scripts -# Author..: Stuart Winter <mozes@slackware.com> -# Date....: 04-Apr-2006 -# Version : 1.01 -########################################################################## -# This document belongs to my 'slacktrack' program -# http://www.slackware.com/~mozes -########################################################################## -# Changelog -########### -# v1.01 - 04-Apr-2006 -# * Added note about Slackware version 11 using root:root ownerships -# for binary directories. -# v1.00 - 01-Mar-2003 -# * Created -########################################################################### -Building the package via slacktrack ------------------------------------ - -Let's assuming you're rebuilding the 'fetchmail' utilities package -from Slackware-current. - - # cd slackware/slackware-current/source/n - # slacktrack -jefkzcnp "fetchmail-6.2.0-sparc-2.tgz" "/bin/sh fetchmail.build" - - -If you wanted to make slacktrack save the package into a different directory -you would use the -b option, eg - # slacktrack -b "/data/sparc-packages/n/" \ - -Qnp "fetchmail-6.2.0-sparc-2.tgz" "/bin/sh fetchmail.build" - -slacktrack now moves the package and its .txt description file into my -Sparc port's 'n' series package directory. - -Your package compiles successfully and is now stored in -/tmp/built-slackwarepackages/ -as fetchmail-6.2.0-sparc-2.tgz - -Testing the package -------------------- - -We must now manually check the integrity of the resulting package. - -The easiest way of examining the package is to run it through less. - # less fetchmail-6.2.0-sparc-2.tgz - -[a] The 'install/slack-desc' file - ----------------------------- - - This is a text file in the standard 'slack-desc' format. - It gives a brief description of the package and any relevant - information. - - For examples you should look in the source directory - of any slackware package. - -[b] The 'install/doinst.sh' file - ---------------------------- - - Unless you know what you are doing, your installation scripts should - only refer to relative path names. - For example: - - if [ ! -f etc/foo.conf ]; then - mv -f etc/foo.conf.new etc/foo.conf - fi - - This is because the user can specify a different root directory - when installing the package. If your script uses absolute path names - (path names begin with a /) then this script will not work as expected because - installpkg only changes into the specified root directory and runs the script; - it does not perform a chroot or anything similar. - -[c] Check permissions - ----------------- - - Ensure that there are no globally writeable files and directories - that should not be there. - PHP 4.3.0 is an all time classic example of why you should check - your packages; it had globally writeable files in /usr/lib/php ! - - You can feed slacktrack the --chmod-og-w option to help you - deal with globally writeable files. However, it's best if you - do it yourself from your script, and using this option is no - excuse to not check ! - -[d] Check file & directory ownerships - ----------------------------------- - - Unless specifically required, the files and directories should - be owned by 'root' in the group 'root'. - You may find that some source distributions install their files - with different UIDs because they've simply copied them from the - source ball -- so the files end up being owned by 'bob.users' - or similar. - - However, also see the next check regarding binaries. - -[e] Check binary file & binary directory ownerships - ----------------------------------------------- - - Prior to Slackware version 11, the standard was to have binaries - installed in - /bin,/sbin,/usr/bin,/usr/sbin - as owned by root:bin - - The directories (above) themselves should also have these ownerships. - - You can feed slacktrack the following options to help here: - -e, --chown-bdirs-root-bin - This runs chown root.bin over the binary directories listed above - -f, -chown-bfiles-root-bin - This runs chown root.bin over the FILES inside the binary directories - listed above. - - Again, you should check the package incase there has been a problem. - - The -e and -f options are provided because *Slackware*'s .build scripts - do not do chown them for you -- it is done manually by Pat. - - With Slackware version 11, those binary directories are owned by root:root. - For slacktrack you can use the -m operator to have this set for you. - -[f] Ensure man pages are gzipped & any broken symlinks are fixed - ------------------------------------------------------------ - - Slackware's packages all (or at least should) have gzipped man pages. - The man pages reside in numbered directories ('sections') within - /usr/man - eg man pages in section 1 reside in /usr/man/man1 - - man pages that are *not* gzipped will not have a .gz extension. - For example, the mkdir man page that is not gzipped would be: - /usr/man/man1/mkdir.1 - The gzipped version is - /usr/man/man1/mkdir.1.gz - - Some binaries behave differently when called with different names, or - have different names for historical purposes. - Such an example are packages from the 'floppy' Slackware package. - /usr/bin/xdfformat is a symlink to /usr/bin/xdfcopy - The man page is no different: - xdfformat.1 -> xdfcopy.1 - By default, the Slackware 'floppy.build' script does not gzip man pages. - It's easy to gzip man pages - slacktrack does this - find usr/man -type f -print0 | xargs -0 gzip -9 - However, if you do an ls -l on the man1 directory, you will see - that we have broken the xdffformat.1 symlink to xdfcopy.1 - because xdfcopy.1 is now named xdfcopy.1.gz - The way to fix this would be to - # rm -f xdffformat.1 ; ln -s xdfcopy.1 xdfformat.1 - - The easiest way to ensure your man pages are gzipped and all symlinks - are restored is to feed slacktrack the -z or --gzman option - slacktrack will take care of your symlinks for you. - - Again, there is no excuse not to check manually ! - -[g] strip binaries and shared objects - --------------------------------- - - In order to reduce the size of the binary once installed and package, - Slackware strips the libraries and binaries. - - For example, if we wanted to strip the grep program we would do - # strip --strip-unneeded /bin/grep - - Stripping binaries from .build scripts called via slacktrack - is fairly easy. There are two ways of doing it: - [1] Let slacktrack take care of it - -j or --striplib will cause slacktrack to strip - any executable .so files it finds in /lib and /usr/lib - - -k or --stripbin will cause slacktrack to strip - any executable binaries it finds in /bin,/sbin,/usr/bin,/usr/sbin - - [2] Do it yourself in the your build script - this is the preferred way. - slacktrack exports an environment variable named - SLACKTRACKFAKEROOT - This enables you to do something like this - # find ${SLACKTRACKFAKEROOT}/usr/lib -type f -name *.so -print0 | xargs -0 strip - Using the environement variable prevents you from having to know - all of the library & binary file names, as you will only find - files that your build script has created in the fake root directory. - - * Note: You may find that some binaries or libraries break when they - are stripped. This is because they require symbols that strip - removes. This is why it's best to do your own binary and - library stripping and individually strip the required files rather - than letting slacktrack do it for you * - -[h] Check zero length files - ----------------------- - - slacktrack uses Slackware's makepkg program which should identify any - zero length files for you. However, it's worth checking *why* any files - are of zero length -- you will find that some of them are meant to be; - the etc-*-noarch-*.tgz package's /etc/mtab file is an example of this. - - There should be no occasion for a binary or .so to be of zero bytes. - - If you're unsure of any zero length files, check out the next point. - -[i] Compare your package with the official package - ----------------------------------------------- - - If you are rebuilding/porting a Slackware package from -8.1 or -current - (or any other version for that matter), then one of the easiest ways - to give you some confidence that your package is official-looking is to - simply examine the official package. - - This will allow you to see whether the file & dir permissions are the - same as your own package, verify any zero length files and so on. - - Please note that if you DO find any zero length files or anything - that you can easily PROVE is broken then *DO* submit a report - to Slackware so that it can be fixed. - - If you're porting Slackware packages to a different architecture then - obviously don't be overly concerned about file size differences -- although - it's worth making sure you've stripped your binaries. You may actually - find that some of the Slackware official packages aren't stripped. - -[j] Ensure your package root directory is chmod 755 - ----------------------------------------------- - - prisere [packages] # tar ztvvf foo.tgz - drwx------ root/root 0 2003-03-01 18:46:17 ./ - - If you see this, your package IS BROKEN. - - Installing this package will render your system seriously - broken because it will chmod 700 the root directory ! - - By default slacktrack will chmod 755 the root directory, but - as with everything else, you should check ! - - - -That's about it. If you can think of any other checks then please -email <mozes@slackware.com> diff --git a/source/d/slacktrack/slacktrack-project/docs/PACKAGE_BUILDING_URLS b/source/d/slacktrack/slacktrack-project/docs/PACKAGE_BUILDING_URLS deleted file mode 100644 index 801b8aa0..00000000 --- a/source/d/slacktrack/slacktrack-project/docs/PACKAGE_BUILDING_URLS +++ /dev/null @@ -1,38 +0,0 @@ -These are a few URLs that provide information about -how to build packages for Slackware Linux: - - Slackware Linux Essentials book - ------------------------------- - - http://www.slackware.com/book/index.php?source=x4132.html - - - Linux packages - -------------- - - This web site has a great number of pre-built packages for - Slackware. - - It also has a HOWTO about building packages: - - http://www.linuxpackages.net/howto/howto.php?page=package - - - Slackbuilds.org - ------------------ - - This site has a huge repository of build scripts for Slackware. - They are all 'SlackBuild' type -- eg the 'clean' builds - (the preferred method -- i.e. these do not need slacktrack) - - http://www.slackbuilds.org - - - Slackware's official build scripts - ---------------------------------- - - I also recommend that you look at the official Slackware build - scripts that can be found on the FTP site in the 'source' - directory of the distribution - (e.g. slackware/slackware-9.1/source) - diff --git a/source/d/slacktrack/slacktrack-project/docs/RELEASE_NOTES b/source/d/slacktrack/slacktrack-project/docs/RELEASE_NOTES deleted file mode 100644 index 02876d89..00000000 --- a/source/d/slacktrack/slacktrack-project/docs/RELEASE_NOTES +++ /dev/null @@ -1,137 +0,0 @@ -slacktrack version 2.00 -Release notes: 17th September 2008 -=================================== - -Highlights: ------------ - -slacktrack no longer uses 'installwatch' to track the installation -process -- what was previously called 'altertrack' has been turned -into 'slacktrack'. - -slacktrack's method of tracking package installations is to -have the package installed directly onto the host's filesystem. - -This is for a number of reasons: - - 1. installwatch is ill maintained and was failing to work correctly - with new versions of glibc and GNU 'coreutils'. - - 2. installwatch could not track statically compiled binaries, - meaning that if a statically compiled binary was used to - manipulate the filesystem in any way, these manipulations would - not be reflected in your package contents. - - 3. With virtualisation -- QEMU, VMWare, SUN's VirtualBox -- being so - readily available, and allowing filesystem 'snapshots', it's - easier and easier to spin up a development operating system and - build and install directly onto the root filesystem, thus getting - a complete package. - -Upgrading your build scripts from slacktrack version 1.x --------------------------------------------------------- - -1. slacktrack internal variables - ----------------------------- - - $SLACKTRACKFAKEROOT - - This variable points to the location of the package's - root filesystem (usually /var/tmp/<someplace>). - Using slacktrack 1.x, you could perform operations on the - package contents from your build script *during* the build - process. - - In slacktrack 2.x, the package root directory is only populated - after the build script has finished. - - However, the variable can still be used from a post-build - script. - You can use slacktrack's '-R' operator to specify a post-build - script. In the example below, the post build script is - called 'postbuildfixes.sh' and resides in the same directory - as the 'trackbuild' script. - - ** Note: Ensure that your post-build script is chmod 755. ** - -# Launch the build script: -altertrack \ - --notidy \ - --showdeps \ - -T $TMP \ - -l $CWD/build.$ARCH.log \ - -R $CWD/postbuildfixes.sh \ - -b $PKGSTORE \ - -zIKASmg \ - -Ocp $PKGNAM-$PKGVERSION-$ARCH-$BUILD.tgz ./linuxdoc-tools.build - - The contents of this post build script can be something such as: - --=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- -#!/bin/bash - -# Once altertrack has determined what the contents of the package -# should be, it copies them into $SLACKTRACKFAKEROOT -# From here we can make modifications to the package's contents -# immediately prior to the invocation of makepkg: altertrack will -# do nothing else with the contents of the package after the execution -# of this script. - -# If you modify anything here, be careful *not* to include the full -# path name - only use relative paths (ie rm usr/bin/foo *not* rm /usr/bin/foo). - -# Enter the package's contents: -cd $SLACKTRACKFAKEROOT - -# OpenSP creates this symlink; we delete it. -if [ -L usr/share/doc ]; then - rm -f usr/share/doc -fi - -# 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 . --=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- - - -2. Build script changes - -------------------- - - If your build scripts were more sophisticated and took advantage of - the way installwatch used a pseudo root filesystem, please be acutely - aware that your build script now runs on the host's live operating system; - so you need to be more careful. However, as suggested -- run only on development - installations. - -3. Additional files creeping into the packages - ------------------------------------------- - - Due to some daemons making changes to their config files whilst your build - is in flight, you may find some additional files have crept into your package - which you were not expecting. - - You may wish to turn off the following daemons before starting a build: - CUPS - crond - sendmail - ypbind (NIS) - ypserv (NIS) - - If you look at the example post build script above, you can see that it - removes some CUPS and crond residue. - Whilst it would be possible to remove these paths from slacktrack's scan - locations, some users may wish their package to place data in those directories; - so you need to make your own adjustments and checks for this. - - -END. diff --git a/source/d/slacktrack/slacktrack-project/docs/SLACKDTXT.examples b/source/d/slacktrack/slacktrack-project/docs/SLACKDTXT.examples deleted file mode 100644 index 9a57620a..00000000 --- a/source/d/slacktrack/slacktrack-project/docs/SLACKDTXT.examples +++ /dev/null @@ -1,103 +0,0 @@ -########################################################################## -# Document: SLACKDTXT.examples -# Purpose : Provide examples of how one may use slackdtxt -# Author..: Stuart Winter <mozes@slackware.com> -# Version : 1.00 -# Date....: 02-Mar-2003 -########################################################################### - -1.0 Building ProFTPD from Slackware's source directory - -------------------------------------------------- - -In this example, I have my slackware-current source tree -stored in the directory ' /data2 ' - -I want to compile ProFTPD using Slackware's SlackBuild script, but I want -to move the package from /tmp (where SlackBuild stores it) -into my Slackware binary directory - /data2/slackware-current/slackware/n/ -and I also want to create a .txt description file in the same binary directory. - - 1. Enter the slackware-current source directory - -------------------------------------------- - - meths [proftpd] # pwd - /data2/slackware-current/source/n/proftpd - meths [proftpd] # ls - _proftpd.tar.gz etc proftpd-1.2.7.tar.bz2 proftpd-1.2.7.tar.bz2.asc proftpd.SlackBuild slack-desc - - - 2. Compile ProFTPd using the supplied SlackBuild script. - ----------------------------------------------------- - - meths [proftpd] # ./proftpd.SlackBuild - - [ .. snip lots of text as the package is compiled and built .. ] - - Our proftpd package is built in /tmp as this is where SlackBuild stores it. - - meths [proftpd] # ls -l /tmp/proftpd-1.2.7-i386-1.tgz - -rw-r--r-- 1 root root 503169 Mar 3 00:43 /tmp/proftpd-1.2.7-i386-1.tgz - meths [proftpd] # - - - 3. Create the .txt file and move the package into the binary distribution directory - --------------------------------------------------------------------------------- - meths [proftpd] # slackdtxt -d /data2/slackware-current/slackware/n/ /tmp/proftpd-1.2.7-i386-1.tgz - slackdtxt: Copying package to destination directory ....done - slackdtxt: Verifying the version of the package in the destination directory ....done - slackdtxt: Attempting to extract install/slack-desc from the package ....done - slackdtxt: proftpd-1.2.7-i386-1.txt created - slackdtxt: Deleting the original package ....done - meths [proftpd] # - - In this instance I have extracted the slack-desc file from the /tmp/proftpd-1.2.7-i386-1.tgz - package. Because I was in the source directory, I could have used the local slack-desc - file and saved the overhead of having to untar. In order to do this I could have done: - - # slackdtxt -d /data2/slackware-current/slackware/n/ -s slack-desc /tmp/proftpd-1.2.7-i386-1.tgz - - -Example 2: Creating .txt files from a bunch of packages - -------------------------------------------- - -In this example, I have built a number of packages already. They are -stored in my binary distribution directory (/data2/slackware-current/slackware) -but the packages do not have corresponding .txt files. - -I will use slackdtxt to create .txt files in the same directory as the package files. - - - 1. Enter the slackware-current binary distribution directory - ========================================================== - - meths [n] # pwd - /data2/slackware-current/slackware/n - - These are the packages I have built previously. - - meths [n] # ls - htdig-3.1.6-i386-2.tgz mod_ssl-2.8.12_1.3.27-i386-1.tgz mutt-1.4i-i386-1.tgz wget-1.8.2-i386-2.tgz - meths [n] # - - 2. Create .txt files for all corresponding package files - ===================================================== - - meths [n] # slackdtxt *.tgz - slackdtxt: Attempting to extract install/slack-desc from the package ....done - slackdtxt: htdig-3.1.6-i386-2.txt created - slackdtxt: Attempting to extract install/slack-desc from the package ....done - slackdtxt: mod_ssl-2.8.12_1.3.27-i386-1.txt created - slackdtxt: Attempting to extract install/slack-desc from the package ....done - slackdtxt: mutt-1.4i-i386-1.txt created - slackdtxt: Attempting to extract install/slack-desc from the package ....done - slackdtxt: wget-1.8.2-i386-2.txt created - - meths [n] # ls - htdig-3.1.6-i386-2.tgz mod_ssl-2.8.12_1.3.27-i386-1.tgz mutt-1.4i-i386-1.tgz wget-1.8.2-i386-2.tgz - htdig-3.1.6-i386-2.txt mod_ssl-2.8.12_1.3.27-i386-1.txt mutt-1.4i-i386-1.txt wget-1.8.2-i386-2.txt - meths [n] # - - All .txt files are now created. - - diff --git a/source/d/slacktrack/slacktrack-project/docs/SLACKTRACK.examples b/source/d/slacktrack/slacktrack-project/docs/SLACKTRACK.examples deleted file mode 100644 index 924f932f..00000000 --- a/source/d/slacktrack/slacktrack-project/docs/SLACKTRACK.examples +++ /dev/null @@ -1,34 +0,0 @@ - -If you are looking for example scripts to help you use -slacktrack please look in the documentation directory: - - /usr/doc/slacktrack*/buildscript-examples/ - -Quick example: --------------- - -I will build the elvis editor that you can find in Slackware's -'a' series. This is looking at an older version of the Slackware -source tree (v 9.1) -- the build script has since been replaced -by a 'SlackBuild', but this example still serves as a good example -reference: - -bourbon [root] # cd slackware-9.1/source/a -bourbon [elvis] # slacktrack -gfenzKSUIp elvis-2.41-i486-1.tgz ./elvis.build -bourbon [elvis] # tar ztvvf /tmp/elvis-2.41-i486-1.tgz | head -n9 -drwxr-xr-x root/root 0 2003-07-11 09:26:05 ./ -drwxr-xr-x root/root 0 2003-07-11 09:26:04 usr/ -drwxr-xr-x root/bin 0 2003-07-11 09:26:05 usr/bin/ --rwxr-xr-x root/bin 301280 2003-07-11 09:26:05 usr/bin/elvis --rwxr-xr-x root/bin 19956 2003-07-11 09:26:05 usr/bin/ref --rwxr-xr-x root/bin 15160 2003-07-11 09:26:05 usr/bin/elvtags --rwxr-xr-x root/bin 936180 2002-06-08 00:15:29 usr/bin/vim -drwxr-xr-x root/root 0 2003-07-11 09:26:01 usr/share/ -drwxr-xr-x root/root 0 2003-07-11 09:26:04 usr/share/elvis-2.1_4/ -bourbon [elvis] # - -As you can see, we now have an elvis package with the -correct ownerships set on the binary files and so on and -so forth. - -Stuart. diff --git a/source/d/slacktrack/slacktrack-project/docs/TODO b/source/d/slacktrack/slacktrack-project/docs/TODO deleted file mode 100644 index 28c22b04..00000000 --- a/source/d/slacktrack/slacktrack-project/docs/TODO +++ /dev/null @@ -1,65 +0,0 @@ -To do list ----------- - -Likely to be done: -================== - -This list represents changes that I am likely to implement myself: - -Thinking about it: -================== - -1. Modify slacktrack to do a couple of scans of the filesystem prior to - launching the build script. - It'd compare the scans and add any differences to an exclude list -- since - any such differences were not generated by the build script, thus should not - be in the package. - The purpose of this is to reduce the possibility of non package material making - its way into the final .tgz. - *However*, there's nothing to say that some arbitary cron job won't launch and - modify the filesystem anyway -- so this sort of feature would only lead to - confusion in the long run. - -2. Allow addition of exclude/additional scan dirs without having to replace - the existing list. - Suggested by: Eduard Rozenberg - -3. Compare contents of new package and warn about any overlapping files. - This is harder to do that it sounds because the user may not be removing - the previous package (although it's suggested that you do) because it's - an integral system library or binary and they simply want to upgrade - it and produce a package. This would always talk about overlap. - We could get the 'base package name' of the supplied package - and then remove it from any found ovelap results, but it seems - a bit slow. - -Unlikely to be done: -==================== - -This list represents future additions that (for one reason or another) I am -unlikely to implement. However, feel free to submit a patch (but ask me first - -I don't like receiving unsolicited attachments!). - -2. Add an option to rename/move .conf files to conf.new - Suggested by Geoffrey Sanders, based on an option protopkg supports. - - [..] - > altertrack to (during it's file scan of new files for the package) to - > move any newly created .conf (or any other type of config files) to a - > *.new extension. Don't know how much work this would be...but thought - > that it might be nice to add for those of us who may forget to 'backup' - > any config's that may get stepped on. - [..] - - I must admit that I'm not overly keen on this idea - it sounds too much - like checkinstall -- add a feature that mainly works but breaks when you - least expect it. - - Just moving the .conf to .conf.new is okay in theory but it may: - a) catch people out who rely on the feature but where the config - file isn't called '*.conf' - - b) if it updates the doinst.sh script, the shell script which changes - the file name may need to be before or after the symlink creation - code (if there is any). - diff --git a/source/d/slacktrack/slacktrack-project/docs/USAGE b/source/d/slacktrack/slacktrack-project/docs/USAGE deleted file mode 100644 index 46ec1f1c..00000000 --- a/source/d/slacktrack/slacktrack-project/docs/USAGE +++ /dev/null @@ -1,8 +0,0 @@ - -slacktrack and slackdtxt have full section 8 man pages. Please do - - # man slacktrack - # man slackdtxt - - -Stuart Winter <mozes@slackware.com> diff --git a/source/d/slacktrack/slacktrack-project/docs/WARNINGS b/source/d/slacktrack/slacktrack-project/docs/WARNINGS deleted file mode 100644 index 0ba7e31c..00000000 --- a/source/d/slacktrack/slacktrack-project/docs/WARNINGS +++ /dev/null @@ -1,38 +0,0 @@ -1. Do not Use on production servers - --------------------------------- - - Do NOT run slacktrack on production servers. - - It should only be run on a development box. - - This is because slacktrack version 2.0 and upwards install onto - the filesystem of the server, rather than into a pseudo root. - -2. Slackware versions - ------------------ - - slacktrack has been tested on: - - Slackware 12.0, 12.1, 12.2, 13.0 - - ARMedslack, all versions. - - It may works on previous releases of Slackware, it may not. - -3. slacktrack default working space - -------------------------------- - - By default, slacktrack puts its work space in - /var/tmp/<randomnumber>slacktrack - - It is essential that you have enough disk space on the - partition on which /var/tmp resides - particularly if you use - ${SLACKTRACKSCRATCHDIR} - - If you do not have enough space in /var/tmp then you can - pass --tempdir to slacktrack to change the base temporary directory. - - eg you may do - # slacktrack --tempdir /tmp/slacktrack -Qp "foobar-4.1-sparc-2.tgz" "/bin/sh foobar.build" - - -Stuart Winter <mozes@slackware.com> - diff --git a/source/d/slacktrack/slacktrack-project/docs/buildscript-examples/README b/source/d/slacktrack/slacktrack-project/docs/buildscript-examples/README deleted file mode 100644 index 5182cc99..00000000 --- a/source/d/slacktrack/slacktrack-project/docs/buildscript-examples/README +++ /dev/null @@ -1,19 +0,0 @@ -This directory contains example scripts on which you may -base your own build scripts. - -Note that the packages and versions are not current, but their -purpose is to serve as examples. - -Slackware's packaging standard is that documents in /usr/doc are -chmod 644, so these examples are archived to retain the execute -permissions on the build scripts. - -Please extract the archive to /tmp to begin: -Example: - -mkdir -pm /tmp/slacktrack -tar xf examples.tar.bz2 -C /tmp/slacktrack - --- -Stuart Winter <mozes@slackware.com> -17th Sept 2008 |