Comment regarding limitations to installing Apple updates removed from
managedsoftwareupdate. Warning message regarding missing
'installs/receipts' on import of an '--apple-update' item is not
displayed.
Using the new '--apple-update' option available in makepkginfo (and
therefore munkiimport), an admin can generate metadata pkginfo files
for Apple updates. Supported metadata keys will modify munki's
behavior of the specified Apple update offered to the client. Examples
would include 'force_install_after_date' and 'RestartAction'. The
'makecatalogs' utility has also been updated to allow for this new
installer_type when creating catalogs.
NOTE: Client-side implementation is not included in this commit. This
commit only deals with the creation of these specialized pkginfo files.
- hasValidPackageExt(), hasValidDiskImageExt() for the appropriate
extensions, and hasValidInstallerItemExt() to call them
- replace many checks to use the above
- munkiimport.py now uses munkicommon.isApplication() to do the
equivalent of checking endswith('.app')
- fix an errand merge ancestor from an old unrelated munkiimport
branch
This resolves an edge case where an incomplete makepkginfo option may
be at the end of a string. Prepending would "complete" the incomplete
option. By appending, we're ensuring that the option cannot be
completed by the string "--verify-options-only"
Assuming that the installer_item is part of 'options' passed to 'def
makePkgInfo' simplifies the function as well as several other parts of
'munkiimport'; namely the removal of installer_item from the list of
arguments is no longer needed. Additional exit codes added to
--verify-options-only are interpreted by 'def makePkgInfo' testing mode.
Note that since the '/path/to/installer_item' could still be anywhere
within munkiimport options, it is essential to remove it from the
options list passed to 'makepkginfo' during pkginfo creation.
def makePkgInfo can be passed an 'item_path' of "None" in order to
invoke the testing mode and its interpretation of various exit codes
including the presumed /path/to/installer_item and ignoring any
additional installer_items specified.
'--makepkginfo-options' option has been removed in favor of providing
'makepkginfo' options alongside options native to 'munkiimport'.
This is accomplished by collecting all unknown options into
'arguments', which includes '/path/to/installer_item'.
Keeping with conventions typical for performing operations on a file,
'/path/to/installer_item' should always be last.
Any option available to 'makepkginfo' can be specified using the
'makepkginfo-options' flag.
Example:
munkiimport --makepkginfo-options="-c production -c testing
--description='A good description' --unattended_install
--minimum_os_vers=10.6.8" /path/to/pkg-or-dmg"
Add a --catalog option so that we can specify the default
catalogs to use from the command-line. Multiple catalogs can
be specified by specifying the option multiple times.
s/only_forced/only_unattended/g
Change forced_* pkginfo key names to more accurately describe what's happening, since they're not "forced" in the true sense of the word.
Admins should include both forced_* and unattended_* keys in their pkginfos while migrating to client releases after this change, to ensure both old and new clients have desired pkg push agressiveness :(
git-svn-id: http://munki.googlecode.com/svn/trunk@1098 a4e17f2e-e282-11dd-95e1-755cbddbdd66
- makecatalogs now has no OS X-specific dependencies
- munkiimport fixes for repos hosted via SMB/CIFS.
git-svn-id: http://munki.googlecode.com/svn/trunk@1097 a4e17f2e-e282-11dd-95e1-755cbddbdd66