############################################################################## # Document: ChangeLog.altertrack # Purpose : Document the changes that have occurred in 'altertrack' ############################################################################## 08-May-2005 - v1.18(1.25-slacktrack) * 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. 30-Mar-2004 - v1.17(1.23-slacktrack) * chmod 755 any installation script placed into /var/log/scripts by altertrack. * Fixed bug with chowning files that was introduced in v1.11. Files with brackets in the name would get interpreted by bash. Now these names are enclosed within '' to prevent this. * Added /dev/vc to the list of excluded paths for Slackware 10.1 (thanks to Roberto Neri for the report). * Added /sys to the list of excluded paths * Trimmed down --help text a little - it's too wordy. 09-Dec-2004 - v1.16(1.23-slacktrack) * 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. * Added an entry to the FAQ, discussing why some packages will contain files & dirs that were not put there by the build process and how to prevent this. 16-Nov-2004 - v1.15(1.22-slacktrack) * 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. * 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. 26-Aug-2004 - v1.14(1.21-slacktrack) * Added /initrd to default exclude list & changed the --help text for the -x operator. Thanks to Roberto Neri for the idea. 19-Jun-2004 - v1.13(1.21-slacktrack) * 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. * 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.12(1.20-slacktrack) * Changed chown uid.gid to uid:gid 25-Mar-2004 - v1.11(1.19-slacktrack) * 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.10(1.18-slacktrack) * 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. 09-Feb-2004 - v1.09(1.17-slacktrack) * Check 'dir.list' file (which contains empty dirs) exists before using it to restore root file system's permissions. This avoids an error message from cat if the file does not exist. * Delete /install even if we specify --notidy * Populate the /var/log/packages/$package entry with the file system differences rather than the .tgz contents post Slackware-isation. * Added --rootdir option so that I can use altertrack to build packages for my Slackware ARM port using ScratchBox (http://www.scratchbox.org) This option is of limited (or no) use on a real x86/SPARC/ARM Slackware sytstem. * Added --with-scratchbox option to clean up your root target directory after the build script completes. This avoids getting an empty /dev and /home directories included within your package. These directories are required as mount points on the ARM server. * Added --froot option. This launches the fakeroot utility from the current $PATH prior to setting the Slackware standards (chown root.bin and so on). The purpose of this is so that our .tgz packages will get the required root.bin and other root permissions rather than 'build.users' when running under Scratchbox. Of course, this is of little use if the build scripts set their own ownerships, but for a generic run of the mill package it can be very handy. -- Note: For obvious reasons, this option is utterly useless for non-root users on a normal x86 Slackware system. It only makes sense to consider this option's use within a simulated environment. Because the only simulated environment that this has been tested under is Scratchbox, note that the path to libfakeroot is not the same as that in slacktrack. -- 12-Dec-2003 - v1.08(1.16-slacktrack) * Reworded a few messages to make more sense. 04-Dec-2003 - v1.08(1.15-slacktrack) * Fixed bug where permissions & ownerships on some dirs were not preserved. This was due to altertrack only storing *empty* dirs and therefore, tar had no way of knowing what the permissions should be when extracting non-empty dirs into the fake root directory. 24-Nov-2003 - v1.07(1.15-slacktrack) * Added /dev/console to the excluded file/dir list 10-Nov-2003 - v1.06(1.15-slacktrack) * Delete /install directory after package build. If this directory remains, it may cause problems for other builds as it will contain data for another package. 02-Nov-2003 - v1.05(1.15-slacktrack) * Fixed bug where empty directories such as placeholders would be removed from the package contents. 31-Oct-2003 - v1.04(1.15-slacktrack) * Added new -x, --exclude option to allow the user to specify their own egrep pattern for file/directory exclusion. Note that this does not affect altertrack's use of 'find'; this exclusion list is only used once the differences between the file system have been established. The default egrep pattern is: /dev/pts$|/dev/pts/|/dev/ptmx|/dev/tty|/var/log|/etc/ld.so.cache| /tmp|/root|/proc|/var/tmp|/var/run/utmp * altertrack is no more dangerous than protopkg, therefore it's now included within the slacktrack binary .tgz archive. 29-Oct-2003 - v1.03(1.15-slacktrack) * Included another example ('dvd_libs') in the 'examples-altertrack' directory within the main slacktrack source archive. You can now see how I build my DVD libraries using altertrack. This example build script is cleaner and easier to follow than the cpan_modules example. * 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.02(1.15-slacktrack) * 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). * Bomb out if /var/log/packages or /var/log/scripts is missing. 19-Oct-2003 - v1.01(1.14-slacktrack) * Tidied up code and removed some slacktrack-only code * find now prunes the paths to remove /mnt, /tmp, /home and /proc as this will speed up the find (especially if you have mounted NFS shares or others in /mnt, and anything in /mnt isn't realistically going to be in your final package anyway). 16-Oct-2003 - v1.00(1.14-slacktrack) * Forked from slacktrack * Basic working version.