![]() ![]() ![]() As its name might suggest, “obsoleting” seems to be responsible for removing these files that are no longer present in upgraded package versions.Ī real-world example: We recently had an internal support package included in our thin deployment image, one of whose payload items contained a template configuration file that was modified later as part of our DeployStudio workflow. One curious PackageInfo element documented by Stéphane Sudre is the dont-obsolete element. To examine what package installed pkgbuild, for example, on this OS X 10.8.2 system: ➜ ~ pkgutil -file-info /usr/bin/pkgbuildĬom. is part of a standard OS X install. ![]() We can use the built-in pkgutil tool to query the package database for metadata about packages (BOMs, identifiers, versions, etc.). (It wouldn’t be if, for example, pkgutil -forget my.package.identifier was ever run manually or by an installer script). ![]() In other words, if you install file /usr/local/bin/my_script in version 1, and instead only /usr/local/bin/my_new_script in version 2, my_script will be deleted if it was present when version 2 was installed, assuming that this package identifier is still known to the package database. When a new version of the package is installed, the Installer framework helpfully removes these files that are no longer part of the package’s payload. This is because these files are associated with that version of a package in the package (ie. In this post I’ll look at one aspect of the package system that’s perhaps less widely known, the “ownership” of a file to a package, and how this affects behaviour that can be tweaked when building flat packages, using pkgbuild as the reference package-building tool.īy default, when an OS X package is installed, if it is an upgrade of a previous version (in other words, there is a package with the same package identifier of a lower version number already installed), any files in its payload that were present in the previous version and not in the new version will be removed from the filesystem. PackageMaker’s days as a hidden download in the Apple Developer Center Auxiliary Downloads package are numbered. The Flat Package format has been in existence since 10.5, but only recently are more 3rd-party packaging tools like JAMF Composer starting to move to this format by default. Packaging is somewhat of a black art on OS X. ![]()
0 Comments
Leave a Reply. |