# Pacifist Feature List

- Compiled as a Universal Binary for full speed on Intel-based Macs
- Lets you install individual items or folders from .pkg packages, either to their default install locations or to a custom location you specify
- Allows you to install to a disk other than the boot disk if you prefer
- Works with the new Mac OS X 10.5 “Leopard” package format as well as packages from older Mac OS X versions ranging from Mac OS 10.4 “Tiger” to the Mac OS X Public Beta
- Supports .pkg packages, .mpkg metapackages, .zip archives, .bom file listings, .dmg disk images, and .pax, .pax.gz, .tar, .tar.gz, .tar.bz2, .cpio, .cpio.gz, .cpio.bz2, and .xar archives
- Support for .zip archives with extensive format support - should correctly extract Mac and UNIX metadata from Apple’s Zip format as well as MacZip, SmartZip, ZipIt, and InfoZip archives. In order to achieve support for all these formats as well as the “Open URL” feature, Pacifist has a new Zip parser written completely from scratch rather than using existing functionality such as the ‘zip’ command-line tool.
- A new “Open URL” feature makes it possible to remotely load archives over the network. For .zip, .xar, .dmg, and Leopard .pkg packages, this feature only downloads the portion of the file which is necessary to read it, causing files to open much more quickly than it would take to download the whole archive (.zip files, in particular, are very fast - try it!).
- All files in a package can be viewed right in Pacifist using of a new “View Files” feature. The “View Files” feature includes support for various text and image file types, as well as support for RTF, RTFD, HTML, MS Word, and property list files. Pacifist also includes a new hexadecimal file viewer for viewing binary files and unknown file types.
- Includes the ability to verify existing intallations, comparing the files on your hard disk with the files listed in the package, and notifying you of missing files as well as files that have different permissions or checksums than those listed in the package*
- Follows all symlinks and aliases properly, without overwriting them
- Doesn’t alter the properties of existing folders, including their permissions
- Correctly gives the sizes of a package, both compressed and uncompressed
- Displays the following information about files in packages: path, size, kind, owner, group, permissions, modification date, checksum
- Allows the user to selectively choose whether or not to display certain types of metadata
- Inspector window gives a more detailed look at files in a package
- Displays total size of currently selected files, letting you know exactly how much space your installation will take on your hard disk. Dynamically updates this size as the selection changes.
- Includes the ability to view a package’s resources, such as the Read Me file, the install scripts, etc.
- Correctly sets all file owner and permission settings
- Allows the user to override a package’s authentication requirement
- Automatically converts AppleDouble files into resource forks and metadata when installing on HFS+ disks (leaves the files alone if installing on UFS)
- Automatically updates prebinding information after installation to optimize system performance (disabled by default on Mac OS X 10.4 and higher)
- Allows the user to create receipts for .pkg packages
- It is possible to cancel the extraction at any stage of the installation
- Multiple-document interface
- Multi-threaded
- Has a working search feature
- Supports drag and drop
- Supports contextual menus
- Commonly used functions available via toolbar
- Auto filename completion
- Works with compressed or uncompressed packages
- By default, prompts before replacing any files
- Uses the Security Framework if the files will need to be installed as root
- If you install a folder and the folder already exists, Pacifist installs the folder’s contents and doesn’t overwrite the parent folder. The exception is application bundles, which by default will ask you what to do.
- Works around a bug in pax so that hard links extract from packages correctly instead of generating “File not found” errors
- Spiffy icons by Adam Betts
- Czech localization by Lukáš Vajda
Dutch localization by Koen van Hees
- French localization by Ronald Leroux
- German localization by Sebastian Krauß, Martin Bestmann, Goetz Goerisch, and Norbert Rittel
- Italian localization by Gabriele Callari
- Japanese localization by Takehiko Hatatani

# Known Issues and Missing Features

- No support for running pre-install, post-install, pre-upgrade, or post-upgrade scripts
- No support for relocatable installs
- No uninstall (this would be easy to do, but I’m nervous about making my program delete files on people’s hard drives - it would not be good if someone tried to uninstall an OS update package)

# Changes in version 2.6.3

- Worked around an oversight in Snow Leopard’s Finder that caused drag-and-drop to the Finder not to work properly

# Changes in version 2.6.2

- Fixed a bug inadvertently added in 2.6.1 that caused hangs at the "Verifying Files" stage

# Changes in version 2.6.1

- Fixed a bug which could cause the Kernel Extension Report feature not to work properly under Mac OS X 10.6 “Snow Leopard”

# Changes in version 2.6

- Compatibility with Mac OS X 10.6 “Snow Leopard”
- Added a QuickLook plug-in
- Added Simplified Chinese localization by Yunxuan He
- Added support for PKZIP, WinZip, and Info-Zip self-extracting .zip archives
- Added support for Zip64 archives
- Added support for bzip2-compressed .zip archives
- While extracting, the Verification phase is much faster
- The Verification phase is now optional and can be disabled in the preferences
- fixed a bug that caused .xar, .pkg, and .zip files on some HTTP servers not to load properly
- Fixed a crashing bug that could occur while viewing packages with no resources
- Fixed a bug that caused some Leopard flat packages not to be read properly
- Fixed a bug that could cause the Logic Studio 9 discs to fail to load
- Fixed a few bugs that could cause spurious errors when extracting files from pre-Leopard packages
- Fixed a bug that could cause the resource forks not to be written properly for some files in pre-Leopard packages
- Fixed a bug that could cause symlinks to be extracted with an incorrect path content or omitted entirely
- Fixed a crashing bug that could occur while opening .zip files
- Fixed a bug that could cause the window for the image view to appear at an incorrect size
- Made some corrections to the localizations
- Miscellaneous bug fixes

# Changes in version 2.5.2

- Fixed a bug that could cause Pacifist to crash when running in unregistered mode
- Added the ability for Pacifist to accept URLs from other applications
- Added support for the Xcode 2.5 install disc to the "Open Apple Install Discs" button
- Fixed a bug that caused loading URLs containing percent escapes not to work correctly
- Pacifist should now work on Panther even if the BSD subsystem is not present
- Fixed a bug that could cause package scripts not to be visible in some Leopard flat packages
- Fixed a bug that could cause Pacifist to hang at launch time under certain circumstances

# Changes in version 2.5.1

- Fixed a bug that prevented Pacifist from launching on Mac OS X 10.3.x

# Changes in version 2.5

- Support for Mac OS X 10.5 (Leopard) and its new package format
- Support for .xar archives
- Support for .zip archives with extensive format support - should correctly extract Mac and UNIX metadata from Apple’s Zip format as well as MacZip, SmartZip, ZipIt, and InfoZip archives. In order to achieve support for all these formats as well as the “Open URL” feature, Pacifist has a new Zip parser written completely from scratch rather than using existing functionality such as the ‘zip’ command-line tool.
- A new “Open URL” feature makes it possible to remotely load archives over the network. For .zip, .xar, .dmg, and Leopard .pkg packages, this feature only downloads the portion of the file which is necessary to read it, causing files to open much more quickly than it would take to download the whole archive (.zip files, in particular, are very fast - try it!).
- All files in a package can now be viewed right in Pacifist using of a new “View Files” feature. The “View Files” feature includes support for various text and image file types, as well as support for RTF, RTFD, HTML, MS Word, and property list files. Pacifist 2.5 also adds a new hexadecimal file viewer for viewing binary files and unknown file types.
- Loading a disk image containing a package will now cause the package to be loaded and its contents to be displayed.
- Underscore files (._example) are no longer displayed as separate files, but are now considered an attribute of the original file. If a file has an underscore file or a resource fork associated with it, a badge is added to its icon to indicate this.
- Package resources can now be extracted, just like package contents.
- The Verify feature now ignores the permissions of symbolic links.
- The Verify feature now has a “Zero-Length Files” check to detect files that may have been emptied by the recent prebinding bug in OS X
- The search feature now employs a proper search field, as well as Command-G and Command-Shift-G to iterate through the search results.
- Files that are being viewed via the “View Files” feature can now be searched.
- Pacifist now includes an option to create BOM files.
- Removed some outdated options from the preferences.
- Unfortunately, the Czech localization has been removed from this version. Hopefully, it will be able to be re-added at some point in the future.
- Numerous bug fixes.

# Changes in version 2.0.1

- New Czech localization by Lukáš Vajda
- Interface clarification: if you select a folder or a package that contains other files and folders, the contained files will now get highlighted light gray to indicate that they will get extracted/installed as well
- Replaced the generic error message on failure to open a file with something more specific
- Fixed a bug in which using the “Install” feature on certain packages could make Pacifist crash
- Fixed a bug which could cause some packages to install in the wrong place under certain conditions
- Fixed various localization issues

# Changes in version 2.0

- Full support for Mac OS X 10.4 “Tiger”
- Recompiled as a Universal Binary to run natively on Intel-based Macs
- Fixed a bug that caused registration sometimes not to work on Intel-based Macs.
- Fixed a bug which caused large metapackages to sometimes load a few extra packages after you cancel it
- Fixed a bug which caused some packages to erroneously give “BOM file not found” errors
- Added support for reading raw BOM files
- Added support for reading DMG files
- Added support for reading .pax, .tar, .tar.gz, and .tgz files
- Added the ability to view a package’s resources (i.e. the Read Me file, the install scripts, etc.)
- Fixed a few memory leaks
- Made it possible to close the splash screen window
- Fixed a bug that could cause the progress bar to stay up forever if you tried to run prebinding on a folder with no executable files in it
- Pacifist is now able to auto-detect and open the packages for the Software Restore, iLife, and Developer Tools packages in addition to the Mac OS X install packages
- Added support for Mac OS X Public Beta packages
- Added an option to ignore .DS_Store files when extracting
- Fixed a bug that could cause the progress bar not to be updated frequently enough on Mac OS X 10.2.x
- Calculating folder sizes is now optional
- Updating the prebinding for a folder with a huge number of files in it should no longer cause the system to bog down from excessive paging
- Added the ability to decide whether or not to use administrator privileges to install files
- Added the ability to create receipts for packages
- Fixed a problem which could cause Disk 2 and/or Disk 3 of some of the newer multi-DVD OS install disc sets set not to load
- Fixed a problem which caused the Update Prebinding feature not to work properly under Mac OS X 10.4
- Fixed a strange bug which could cause blank lines to appear sometimes in the file listing when running under Tiger
- Fixed some spurious errors regarding decoding the resource fork which occurred under Tiger
- Fixed a bug which could cause some files not to be extracted when extracting metapackages that contained other metapackages
- The default setting is now to not update the prebinding if the OS is 10.4 or higher
- Prebinding an individual folder is now greyed out under 10.4 and higher, because that functionality is no longer possible (or needed)
- Folders can now be expanded by double-clicking on them

# Changes in version 1.6.3

- Fixed a permissions problem that sometimes caused Pacifist not to work properly on non-admin accounts

# Changes in version 1.6.2

- Fixed a rare crashing bug when opening some 10.1-style metapackages
- Worked around an apparent bug in Panther that could cause the “Please insert disk” dialogs to fail to close when the disk was inserted
- Hopefully fixed a problem which could cause Pacifist to sometimes give spurious “BOM file not found” errors
- Fixed a bug that could cause an error to be returned if the user cancelled authorization
- Fixed a rare bug which could cause AppleDouble files not to be combined properly
- Fixed a bug which caused proxy packages to display their file sizes inaccurately

# Changes in version 1.6.1

- Built with gcc 3.3
- Fixed some minor UI problems
- Fixed some bugs that caused errors in loading packages not to be reported properly
- Updating prebinding now runs in the background rather than blocking the UI and can be cancelled
- Cancelling extraction during the “Update prebinding” stage now takes effect much more quickly
- Prebinding now has a decent progress bar
- Table views now have an alternating blue-and-white background (Mac OS X 10.3 and higher only)
- Pacifist is much quieter now and doesn’t log nearly as much stuff to the Console
- Rewired the preference panel to meet the guidelines
- Fixed a bug which caused the Verification Report window not to respond to the keyboard properly
- The “Stop Installation” bug in the disk request screen should now work properly while loading the Mac OS X Install Packages
- Fixed some crashes that occurred while running Mac OS X 10.1
- Fixed a problem that could cause Pacifist to block while a menu was down when running in Mac OS X 10.3
- Fixed a problem that could cause the OS install packages on certain of the install DVDs not to load properly
- Fixed a few memory leaks

# Changes in version 1.6

- Compatibility with Mac OS X 10.3 (Panther) and its packages
- Fixed some minor interface flaws
- Small performance increases
- Made the verify feature check the file size if the package does not specify a checksum
- Fixed some bugs in extracting identical files from a package
- Loading a package is now done in a separate thread
- It is now possible to cancel loading of a package
- Fixed a spurious disk-full error
- Pacifist now notifies the Finder when it installs a file so that it will update immediately
- Pacifist is now much smarter about dealing with situations when it is asked to extract files from a package on a disk that is no longer inserted

# Changes in version 1.5.3

- Reintroduced support for Mac OS X 10.1.x
- Added Dutch localization by Koen van Hees
- Fixed a bug that could cause incorrect error messages in rare cases
- Improved performance and reliability of the verification feature
- Made the verification report files more compatible with various browsers
- Other minor bug fixes

# Changes in version 1.5.2

- Added Italian localization by Gabriele Callari
- Added a spiffy disk image background by Adam Betts
- Added a New Folder button to the Extract dialog box.
- Revamped some of the underlying extraction code; hopefully, improved performance somewhat.
- Contextual menus
- Added option to force files to be re-prebound when updating prebinding information
- Added .mpkg support
- Hopefully fixed an annoying bug where a document’s progress sheet sometimes wouldn’t close if installation finished when the app was hidden
- Fixed a bug in the .info parsing for the old non-Jaguar package format
- Changed things so that the temporary directory where Pacifist stores files before moving them to their destinations is stored on the same disk that the files will be installed to, to facilitate making installations with limited or no writable disk space, such as boot CDs
- Added verification of installations
- Hopefully fixed a crashing bug that would sometimes occur when dragging packages onto Pacifist’s splash screen window
- Added drag and drop extracting
- Added support for Jaguar “Alternate-Source” packages
- Fixed a bug where keyboard navigation would quit working in Jaguar
- Fixed a bug that could cause Pacifist to crash while opening Mac OS X 10.0-style packages that used traditional MacOS line endings rather than UNIX line endings
- Made the use of sheets more extensive
- Fixed a bug that could cause lots of spurious errors to get logged to the console while updating the prebinding
- Changed the behavior so that only files that were installed should get prebound
- Fixed a bug which could cause Pacifist to hang when extracting a very large number of files at a time
- Fixed some localization bugs
- Found some places where file sizes were still being stored as 32-bit integers, causing spurious “disk full” errors on hard drives with more than 4 GB free, and replaced them with 64-bit integers

*This product includes software developed by the University of California, Berkeley and its contributors.