Permalink
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
429 lines (376 sloc) 18.8 KB
Darwin Build Scripts Change History
-----------------------------------
Release 37 [16-Oct-2013]
- darwinup: fix C++ 98 conformance issue
Release 36 [2-May-2013]
- darwinup: fix bad return code from update_xpc_services_cache.
- darwinup: don't run bzip2 compression on (limited cpu) embedded devices.
Release 35 [24-Apr-2013]
- all: fix implicit integer conversions.
Release 34.1 [14-Mar-2013]
Release 34 [12-Mar-2013]
- darwintrace: avoid snprintf(3); manually construct log messages.
Release 33 [29-Aug-2012]
- darwinup: Fix uninitialised variable in Database.cpp.
Release 32 [17-May-2012]
- darwinup: Updated trigger for xpchelper cacher rebuild.
Release 31 [22-Mar-2012]
- darwintrace: fixed crash when used by multi-threaded applications
Release 30 [15-Mar-2012]
- darwinup: not detecting installs into /System/Library/Sandbox/Profiles
Release 29 [15-Feb-2012]
- darwintrace: posix_spawn may have NULL envp parameter
Release 28.1 [9-Feb-2012]
- darwinup: Don't include actual mach-o binaries in the test suite.
Release 28 [8-Feb-2012]
- darwinup: Display more helpful error if unable to create a depot.
- darwinup: Touch /System/Library/Extensions when uninstalling kernel extensions.
- darwinup: Run xpchelper on system sandbox profile changes.
Release 27 [23-Jan-2012]
- darwinup: Clear quarantine xattr from installed files.
- darwinup: Correctness fix for has_suffix.
Release 26.5 [29-Nov-2011]
- all: set correct INSTALL_PATH for iOS simulator
Release 26.4 [17-Nov-2011]
- darwintrace: files opened with fopen(3) are missing from trace log
Release 26.3 [11-Nov-2011]
- darwintrace: darwintrace_make_environ bug unsets DYLD_INSERT_LIBRARIES
Release 26.2 [9-Nov-2011]
- darwintrace: build failure on 10.6, undefined symbol __posix_spawn
- darwintrace: crash in darwintrace_make_environ
Release 26.1 [7-Nov-2011]
- darwintrace: compiler warning build fix
Release 26 [6-Nov-2011]
- darwintrace: preserve DYLD_INSERT_LIBRARIES and DARWINTRACE_LOG
- darwintrace: interpose posix_spawn
Release 25 [4-Nov-2011]
- darwinup: support for rebuilding xpchelper cache
Release 24.1 [17-Jun-2011]
- Build fixes for newer compilers
Release 24 [10-Feb-2011]
- darwinup: fix uninstall build-check safety
- darwinup: remove unprebinding support
- darwintrace: use modern interposing
- darwintrace: add feature to ignore ROOT paths
- darwintrace: add test suite
Release 23.1 [25-Jan-2011]
- darwinup: strip symbols when building with Public configuration
Release 23 [03-Nov-2010]
- darwinup: properly backup and restore existing content when
installing a root that replaces a directory with a file.
Release 22 [27-Oct-2010]
- darwinup: make man page clearer about what paths we support
- darwinup: add safety measures to prevent recursive installs
- darwinup: do not try to rollback installs that fail before
there is anything to rollback.
Release 21.1 [29-Sep-2010]
- darwinup: fix regression in v21 that broke installing roots when
the path is a symlink to a directory.
Release 21 [17-Sep-2010]
- darwinup: fix bug which silently failed to fully install
a root if the root had a directory where the destination
had a symlink to a directory
- darwinup: test for object change during analyze stage instead
of install stage so we can bail out without having a root
partially installed then uninstalled
- darwinup: add a full set of test cases for object change
conditions
Release 20.1 [02-Sep-2010]
- darwinxref: build fix for format string warning
Release 20 [10-Aug-2010]
- all: use CommonCrypto instead of OpenSSL
- all: remove obsolete Makefiles
Release 19.1 [01-Jul-2010]
- darwinup: fix bug which prevented remote root install when the remote
path is a symlink.
Release 19 [15-Jun-2010]
- darwinup: fix crash when getgrnam fails
- darwinup: add rename command
- darwinup: touch /System/Library/Extensions when a kernel
extension is modified.
- darwinup: add option for rebooting when finished
Release 18.1 [04-May-2010]
- darwinup: fix release build issue
Release 18 [03-May-2010]
- darwinup: fix bug which caused the uninstall half of upgrade to
run when the install half failed
- darwinup: add .tbz as a suffix for bzip2 tarballs
Release 17.1 [20-Apr-2010]
- darwinup: add a manpage for darwinup
- darwinup: fix crash when not root and a db upgrade is needed
- darwinup: make remote root install behave consistently with
respect to trailing slashes.
Release 17 [30-Mar-2010]
- darwinup: only update dyld cache when Depot actually
changes a file
- darwinup: uninstalling a superseded root does not require
the -f option to force it since it is safe in all cases.
- darwinup: conditionalize some features in case we build
without xar or universal support.
Release 16.2 [22-Mar-2010]
- darwinup: fix crash in verify subcommand
- darwinup: fix non-root list subcommand locking
Release 16.1 [15-Mar-2010]
- darwinup: uninstall a root's files in reverse order so children
get removed before parents. Fixes "!" status bug.
- darwinup: lock depot for entire duration of operations to prevent
collisions.
- darwinup: gracefully warn when update_dyld_shared_cache not found
- darwinup: fix 32-bit-only crash in database subsystem
- darwinup: adjust what output goes to stderr vs stdout
Release 16 [12-Mar-2010]
- darwinup: delete old roots after they are no longer needed
- darwinup: track base OS build for roots
- darwinup: list subcommand now handles arbitrary arguments
- darwinup: added superseded keyword to allow cleanup of superseded roots
- darwinup: improve messages when not running as root
Release 15 [03-Mar-2010]
- darwinup: fixed stray directories bugs due to apparent local modifications
- darwinup: added new database abstraction layer to simplify Depot code,
reduce copy-paste, and reduce unnecessary statement preparation
- darwinup: allow list subcommand to run as not-root
- darwinup: support multiple command line arguments (ex: globbing)
Release 14 [05-Feb-2010]
- darwinup: add upgrade command to automatically replace last root
installed with the same name.
- darwinup: added ability to install roots which have broken symlinks
Release 13.1 [22-Dec-2009]
- darwinup: fix bug where rollback archives for user modifications
did not contain parent directories and thus certain
install/modify/uninstall patterns would result in data loss.
Release 13 [16-Dec-2009]
- darwinup: convert use of fork()/exec() to posix_spawn()
- darwinup: add Serial to archive list, allow use of serial, name,
and keywords to identify archives on the command line
- darwinup: support fetching archives via rsync and curl
- darwinup: support cpio, xar, zip and pax archives
Release 12 [10-Dec-2009]
- darwinup: rollback installations that fail
- darwinup: add force (-f) option to allow potentially unsafe operations
- darwinup: require being root, print more meaningful error when not
- darwinxref: detect plugins with duplicate names
- darwinbuild: create buildroot images with root/wheel ownership and
attach them with owners on (Ben Huntsman)
Release 11 [29-Oct-2009]
- fetch libredo_prebinding from src.macosforge.org if not found
at build time
- convert build system to Xcode
Release 0.8.0 [29-Oct-2009]
- darwinup: add dyld to dependency copy list
- darwinxref: fix strdup_cfstr to work with unicode paths
- darwintrace: support redirecting file access as a pseudo-chroot
- darwinbuild: support hybrid make-xcrun based projects
- darwinbuild: fix -logdeps post-processing to account for BuildRoot
symlink and /Developer
- darwinxref: fix resolveDeps plugin -commit option to work when no project
is given
- darwinbuild: installXcode for Xcode v3.2
- 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