Darwin Build Scripts Change History
-----------------------------------

Release Darwin9 [Now]
	- darwinbuild: create buildroot images with root/wheel ownership and
	  attach them with owners on (Ben Huntsman)
	- darwinup: add dyld to dependency copy list

Release 0.8.0 [29-Oct-2009]
	- darwinbuild: add support for subversion working copies in SourceCache
	- darwinbuild: add support for http and scp fetching of plists
	- darwinbuild: fix bug where duplicate NFS exports were added 
	  (aladin@puredarwin)
	- darwinbuild: fix bug where project-level binary_sites values were ignored
	- darwinbuild: add -nosource option to skip staging source (dmaclach)
	- darwinbuild: NFS loopback support
	- darwinbuild: HFSX sparse image support
	- all: build according to the archs of our dependencies if env does
	  not force a set of archs
	- darwinup: add -p option so roots can be installed at arbitrary paths
	- darwinbuild: print a message when we skip loading a root on purpose
	- darwinup: fix "bad file descriptor" error
	- darwinup: build libredo.o 4-way fat
	- all: honor PREFIX and ARCHS environment when compiling 
	- all: fix uninstall make target
	- darwintrace: fix a /bin/sh crash when trying to print with a bad 
	  char pointer
	- darwinxref: use OSSwap instead of NXSwap APIs
	- darwinup: copy dependencies of darwinup instead of move
	- darwinbuild: add -configuration option (Ben Huntsman)
	- darwinbuild: allow for redirections when fetching sources
	- darwinup: use flock(2) to serialize Depot access
	- darwinbuild: Xcode 3.x compatibility 
	- darwinbuild: allow projects to have their own binary_sites
	- darwinxref: new plugins for generating dot graphs and diffing builds
	- darwinbuild: store download cache in Roots directory, not
	  /usr/local/share/darwinbuild/cache
	- darwinbuild: special case file:/// URLs for downloads
	- darwintrace: build on Leopard
	- Added 8G32 plist (Mac OS X 10.4.4 for PowerPC, Darwin 8.4)
	- darwintrace: build ppc64 library
	- darwinbuild: add .pbxproj suffix (for xcodebuild)
	- darwinxref: delete dictionary keys from database when obsolete
	- darwinxref: register Mach-O symbols
	- darwinxref: register ppc64 binaries
	- darwinbuild: consolidate manifest symlinks and digests in build log
	- darwinbuild: added elapsed build time to the build log

Release 0.7.2 [31-Oct-2005]
	- Added 8F46 plist (Mac OS X 10.4.3, Darwin 8.3)
	- darwinbuild: support -headers for -load, which loads the Headers root
	- darwinbuild: load Headers if newer than Roots
	- darwinbuild: add support to packageRoots -x to embed project
	  plists as xar subdocs (bbraun)
	- darwinxref: add exportProject verb (bbraun)
	- darwinmaster: default to fat roots and hybrid HFS+/ISO filesystem
	- darwinbuild: Add support for "src_foo.c.add" patches as overlays
	- updated Makfile to honor DSTROOT
	- darwinxref: Added additive and subtractive dependencies
	- darwintrace: prevent the log file descriptor from being closed
	- darwinxref: exportIndex now quotes dictionary keys when necessary
	- darwinxref: Added APIs for accessing properties without inheritance
	- darwinxref: version '*' now prints all inherited project versions
	- darwinbuild: always enable volfs when building
	- darwinbuild: enable darwintrace earlier so that xcodebuild is logged
	- installXcodebuild: install ICU into the private BuildRoot/XCD/
	- darwinbuild: receipts are now created for pre-built roots only when
	  necessary
	- darwinbuild: create receipts for -headers mode
	- darwintrace: calls to readlink(2) are now logged
	- darwinbuild: added -nopatch option to build without applying patches

Release 0.7.1 [6-Sep-2005]
	- darwinbuild: Restore use of InstallHeader()
	- darwinxref: install DBPlugin.h header file
	- darwinxref: added group Tcl hooks and group plugin
	- darwinbuild: no longer appends build number to binary_sites URL;
	  uses inheritance when HTTP failures encountered
	- darwinxref: added new groups API
	- darwinxref: added default handlers for plugins
	- darwinxref: call redo_prebinding to create a canonical Mach-O binary
	  during register for reproducible manifests
	- Added synthfat script to synthesize fat dylibs from thin dylibs
	- Added darwinmaster.sh for creating bootable CDs
	- Added packageRoots.sh to archive most recent Roots for the build
	- Added thinFile.sh to thin a single Mach-O file
	- Added thinPackages.sh to create multiple thin Packages from a fat one
	- darwinbuild.common: added CheckDarwinBuildRoot function
	- darwinxref: added support for CFData in the sqlite database
	- darwinxref: treat dyld as a "lib" dependency
	- darwintrace: use a high file descriptor for the log file
	- darwinxref: add resolveDeps -commit to merge dependency info back
	  to main database.
Release 0.7.0 [12-Aug-2005]
	- darwinbuild: print Xcode version when building Xcode-based projects
	- darwinbuild: Add a -load option which loads the BuildRoot/ with a
	  single project
	- darwinbuild: Add a -loadonly option which loads
	  the BuildRoot/ but doesn't start the build
	- darwinbuild: use -stdin mode to register to register
	  files from pre-built .tar.gz roots.
	- darwinxref: Add a -stdin mode to the "register" plugin
	  to accept file paths to register
	- darwintrace: Be more aggressive about logging full paths
	- darwinbuild: Patch files can use gzip, bzip2, or no compression,
	  and the can be applied with either -p0 or -p1
	- darwinbuild: Modify installXcodebuild so that it doesn't interfere
	  with the frameworks/dylibs that have already been installed
	- darwinxref: Create the necessary tables to that "resolveDeps" works
	- darwinxref: Add "-lib" and "-staticlib" to "dependencies"
	  plugin
	- darwinbuild: Install GCC 4.0 Xcode compiler specification,
	  and use it as a template to synthesize a 3.5 .xcspec. This
	  allows some Libsystem contributors to be built chrooted
	- darwinbuild: allow -depsbuild multiple times to download
	  dependent roots from one of several builds
	- darwinbuild: add -source to download and patch sources
	- darwinbuild: query DB for patch files, download them from
	  source_sites
	- darwinbuild: allow -init to take the path to a local plist (ssen)
	- darwinbuild: use "plist_sites" to find parent builds for -init (ssen)
	- darwinxref: preserve sort order for array properties like
	  source_sites (ssen)
	- darwinxref: new "plist_sites" plugin (ssen)
	- darwinxref: fix build version detection for "info"
	  pseudo-plugin (ssen)
	- darwinxref: new "patchfiles" plugin (ssen)

Release 0.6.1 [28-Jul-2005]
	- darwinbuild: actually unmount volfs in the BuildRoot
	- darwinbuild: recover from interrupted downloads
	- darwinxref: fixed memory leak in read_plist (toby)
	- darwinbuild: only invoke installXcodebuild if not already installed
	- darwinbuild: copy the ditto(1) emulator into the BuildRoot
	- emulate ditto(1) using tar(1) on systems without Bom.framework
	- darwinbuild: store downloaded roots in a global cache directory

Release 0.6 [25-Jul-2005]
	- darwinbuild: enforce that darwinbuild is run as root
	- darwinbuild: be slightly more graceful about bad parameters
	- moved installXcodebuild from /usr/local/bin to /usr/local/share
	- darwinbuild: moved build root receipts into /usr/local/darwinbuild
	- darwintrace: fixed bug when volfs paths do not resolve (pguyot)
	- darwintrace: builds with -Wall (pguyot)
	- darwinbuild: added uuids to roots based on manifests
	- darwinxref: added manifest support to register plugin
	- added manifest tool to generate manifests for roots
	- added an exit handler to unmount devfs and volfs in the BuildRoot
	- list header dependencies more conservatively (ssen)
	- added common.mk for common makefile variables
	- installXcodebuild correctly handles umbrella frameworks (ssen)
	- darwinbuild recognizes Xcode 2.1 projects: .xcodeproj (ssen)
	- darwintrace resolves volfs ("/.vol") paths now (ssen)
	- updated darwinbuild usage statement (pogma)
	- added darwinbuild -init to configure working directory as build env
	- updated darwinbuild to use new darwinxref
	- re-wrote darwinxref to support a plugin architecture

Release 0.5 [12-May-2005]
	- Added Tiger 8A428.plist and files-8A428.txt.gz
	- Automatically resolve dependencies after logging them
	- [Bug 2741] Added -target defaults to the plist
	- [Bug 2747] Bug fix for -chroot and -logdeps combination
	- Download sources from source_sites property in build plist
	- darwinbuild: Copy sources into /SourceCache for consistency with XBS
	- darwinbuild: unset TERMCAP to avoid warnings with screen(1)
	- darwinbuild: default -build with DARWINBUILD_BUILD environment variable
	- darwinbuild: automatically replace stale roots in buildroot
	- darwinxref: default -b with DARWINBUILD_BUILD environment variable
	- darwinxref: do not recurse for header dependencies
	- darwinxref: set architecture-specific environment variables based on
	  RC_ARCHS value
	- darwinxref: dependencies and files now key on build-project instead
	  of project-version
	- darwinxref: added 'edit' command for interactive database editing
	- Removed references to unused Objects directory 

Release 0.4 [6-Apr-2005]
	- [Bug 2838] darwinxref: resolveDeps can now resolve a single project
	- [Bug 2833] deprecated darwinbuild.env, environment variables are now
	  stored in the build plist file.
	- [Bug 2824] darwinxref: fixed crasher on pure-Darwin systems
	- [Bug 2811] darwinbuild: -target now works correctly for Xcode projects
	- [Bug 2805] darwinbuild: exit status reflects build's exit status
	- [Bug 2781] darwinbuild: don't use ditto(1) on pure-Darwin systems
	- [Bug 2746] added indexes to SQL tables to improve performance
	- darwinbuild: redirect build tool stdin to /dev/null
	- darwinbuild: automatically resolve dependencies after logging them
	- darwinxref: bigger transactions in resolveDeps for better performance
	- darwinbuild: fixed some instances where build number was not passed
	  to darwinxref.

Release 0.3 [15-Mar-2005]
	- darwinbuild -chroot now works with xcodebuild projects
	- [Bug 2740] Added darwinbuild.common for common subroutines (kito)
	- installXcodebuild honors the DARWIN_BUILDROOT environment variable
	- installXcodebuild merges Mac OS X CoreFoundation with i386 CF-Lite
	- added 7U16-files.txt.gz for darwinxref findFile database
	- updated 7U16.plist to include build dependencies gathered via -logdeps
	- darwinbuild.env: added RC_JASPER=YES for CoreOSMakefiles 
	- [Bug 2752] darwinxref: resolve aliases when printing project versions
	- [Bug 2763] darwinxref: deprecate "headers" depends type for "header"
	- [Bug 2747] darwinbuild: -logdeps works in combination with -chroot
	- [Bug 2745] darwinbuild: products of build aliases are now correctly
	  copied into the Roots directory
	- darwintrace: execve does not log when it would return ENOENT
	- darwinxref: added exportFiles and improved loadFiles command
	- darwinxref: print summaries after loadDeps, resolveDeps commands
	- darwinbuild: extracting sources now works correctly when build
	  aliases are used
	- Added -build=value flag to darwinbuild
	- Added darwintrace.dylib to log build-time dependencies with -logdeps
	  flag to darwinbuild

Release 0.2 [1-Mar-2005]
	- Added project plist export command to darwinxref
	- darwinxref prints all projects when '*' is requested
	- Updated darwinxref to use SQLite 3.1.3
	- Added support for build aliases
	- Added file registration and search for projects' contents
	- Inspects Mach-O files for dylib dependencies during registration
	- Changed dependency format to be specific to project-version tuples
	- Added resolve command which creates dependencies on the projects that
	  provide files used during a build.

Release 0.1 [30-Jun-2004]
	- Initial release of Darwin Build Scripts
