Heig Gregorian
725fb0f4cc
Abbreviated "PACKAGE" and "APPLICATION" metavars
2012-05-21 18:26:30 -07:00
Heig Gregorian
6682b863ca
Added support for newly introduce 'minimum_munki_version' pkginfo key.
2012-05-21 18:22:05 -07:00
Heig Gregorian
c7cd0416ad
Merge branch 'master' into makepkginfo
2012-05-21 18:08:34 -07:00
Heig Gregorian
b6bf37369d
Cleaner '--force_install_after_date' help print out
2012-05-21 18:06:08 -07:00
Heig Gregorian
44a54bd69d
Minor help formatting clean-up
2012-05-21 17:18:06 -07:00
Heig Gregorian
89afee0a17
Re-work of options in meaningful categories, complete with easier to read formatting
...
Also removed 'options.appdmg' check since this options no longer exists.
2012-05-21 16:54:24 -07:00
Greg Neagle
065d3c0359
Add support for a 'minimum_munki_version' key for pkginfo items. Munki will not attempt to install an item if the current Munki version is less than the version specified by minimum_munki_version.
2012-05-17 20:06:22 -07:00
Heig Gregorian
343a43fdfe
Reorganization of options printed from usage statement
...
Option list has become quite large and required some type of
organizational structure. This is an attempt to provide that.
2012-05-15 20:26:41 -07:00
Greg Neagle
62d433aed2
Updated usage and help for all manifestutil subcommands.
2012-05-15 10:52:23 -07:00
Greg Neagle
e363485fd9
manifestutil: don't try to mount the repo if all we are asked to do is display help for a subcommand.
2012-05-15 10:03:35 -07:00
Greg Neagle
949a915900
When writing ApplicationInventory.plist, use a try/except block to avoid errors causing an uncaught exception
2012-05-14 22:45:32 -07:00
Greg Neagle
7d16e0aa4b
Make sure item version is not None when using system_profiler data for non-bundle apps.
2012-05-14 21:21:35 -07:00
Justin McWilliams
62c85c68e2
The item is no longer an array.
2012-05-14 17:47:43 -07:00
Justin McWilliams
ad7da41e2a
Optimize the new getSPApplicationData() functionality.
...
My machine has 48 non-bundle apps, and 596 dicts in the new SP cmd's _items array, which is 28.6K loop iterations. This change reduces that down to 1.
2012-05-14 17:39:37 -07:00
Greg Neagle
57736f188a
munkicommon.getAppData() now consults system_profiler data for info on non-bundle applications
2012-05-14 15:15:29 -07:00
Heig Gregorian
b2a8066d6c
'--vers' option conflicts with '--version'; changed to '--pkgvers'
2012-05-11 08:29:21 -07:00
Heig Gregorian
284587203a
'--name' and '--vers' options added
...
As with '--display_name', if specified, these 2 new options override
discovered package information.
2012-05-11 08:17:03 -07:00
Greg Neagle
790eac57a9
Print error message when killing /usr/sbin/installer job due to timeout
2012-05-10 08:21:03 -07:00
Heig Gregorian
2ad06f6605
Merge branch 'master' into makepkginfo
2012-05-09 21:20:32 -07:00
Greg Neagle
0184652d29
Attempt to add timeout back to installer operation.
2012-05-09 19:59:33 -07:00
Greg Neagle
db76245023
When installing, call /usr/sbin/installer through our launchd.Job() object. Works around issues with recent Microsoft Office 2011 updates.
2012-05-09 16:28:19 -07:00
Heig Gregorian
339e474b1f
Merge branch 'master' into makepkginfo
2012-05-09 07:43:27 -07:00
Heig Gregorian
d855f3125c
Added hyphenated equivalents to every option that includes underscores
...
The previous addition of '--max-os-ver', '--min-os-ver', and
'--unattended-install' prompted this change to provide similar naming
conventions across all options.
2012-05-09 07:34:13 -07:00
Heig Gregorian
08e49636df
Safer prepend of '--verify-options-only'. Fixed broken pkginfo generation due to installer_item being wrapped into dmg and original installer_item not being removed from 'arguments' and the new dmg not being added to 'arguments'
2012-05-08 11:58:14 -07:00
Heig Gregorian
c6e23fbbd1
Improved usage print out by adding an epilog describing 'makepkginfo' option usage
...
Minor addition to 'PassThroughOptionParser' class to suppress default
formatting of 'epilog'.
2012-05-08 11:06:17 -07:00
Heig Gregorian
a919e1c669
When 'def makePkgInfo' testing mode is invoked, prepend '--verify-options-only' instead of appending
...
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"
2012-05-08 09:13:11 -07:00
Heig Gregorian
4f8ffeec40
Improved error interpretation for makePkgInfo testing mode
2012-05-08 08:33:18 -07:00
Heig Gregorian
5db39f6e7c
Re-worked '--verify-options-only' function in makepkginfo. def makePkgInfo now assumes that the installer_item is located in the 'options' passed to it; added dedicated 'test_mode' variable.
...
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.
2012-05-08 07:31:17 -07:00
Heig Gregorian
d8a2623877
munkiimport / makepkginfo communications simplified by exiting if more than one potential installer_item has been specified.
...
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.
2012-05-07 19:58:18 -07:00
Heig Gregorian
6dbbe4c047
Added a '--verify-options-only' option to makepkginfo. Munkiimport makes use of this new option to derive installer_item. The overall result is that now, the /path/to/installer_item may be anywhere in the options string, however only the first /path/to/installer_item will be used.
...
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.
2012-05-07 13:35:22 -07:00
Greg Neagle
0ed65b7364
Better warning and safer behavior if a pkginfo's catalogs array contains an empty item (<string></string>)
2012-05-07 12:17:32 -07:00
Greg Neagle
3fe3450d7d
Fix typo in networkUp() when checking for non-loopback interfaces
2012-05-07 11:33:42 -07:00
Heig Gregorian
855fb9986c
Revert "Converted '--configure' option as a callback."
...
This reverts commit a2c593be9c .
2012-05-03 18:54:22 -07:00
Heig Gregorian
f4f72174be
Added new function to read an option_value as either a plain string or path to file
...
Since adding the '--notes' option, which can either be a simple string
or the contents of a file (if a valid path is supplied), this same
functionality has been extended to the '--description' option.
Providing a function so that this same operation can be used in other
areas seemed like the logical thing to do.
2012-05-03 11:14:34 -07:00
Heig Gregorian
a2c593be9c
Converted '--configure' option as a callback.
...
--configure as a callback eliminates the need to check if the option
has been set to 'True'
2012-05-03 09:03:15 -07:00
Heig Gregorian
557ada518c
Changes to how the 'installer_item' is removed from 'arguments' (presumed to be options for 'makepkginfo'). Removed redundant options which can now be referenced as 'makepkginfo' options. Nicer error reporting for 'makepkginfo' options failure
2012-05-02 21:01:48 -07:00
Heig Gregorian
01c3db99e6
Added alternate option names for 3 items specified as options in 'munkiimport' which are now present as options for 'makepkginfo'
2012-05-02 20:56:43 -07:00
Heig Gregorian
e74ecb583d
Re-worked handling of passing 'makepkginfo' options through 'munkiimport'
...
'--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.
2012-05-02 13:08:41 -07:00
Heig Gregorian
6d45a7108b
'--notes' option added
...
Notes provide an area for administrators to store information that is
purely reserved for administrative use and not considered in any type
of munki processing.
2012-05-01 18:35:33 -07:00
Heig Gregorian
c8ad63c707
Added tolerance to '--RestartAction' option
...
If a valid restart action is not provided, use best guess by keying
words "restart" and "logout" if they're provided within the argument's
string.
2012-05-01 15:43:30 -07:00
Heig Gregorian
534a8a1ac5
Usage information updates for "update_for, requires, and blocking_applications"
2012-05-01 14:37:17 -07:00
Heig Gregorian
bafb9a1701
'--autoremove' option added for 'makepkginfo'
...
Improved option usage information.
2012-05-01 14:22:09 -07:00
Heig Gregorian
03e6ddc1aa
Three new array options for 'makepkginfo' added
...
--update_for - populates the 'update_for' array
--requires - populates the 'requires' array
--blocking_applications - populates the 'blocking_applications' array
2012-05-01 14:16:22 -07:00
Heig Gregorian
bd42067450
Added '--RestartAction' option to 'makepkginfo'
...
Valid actions that can be specified are:
RequireRestart
RequireLogout
RecommendRestart
2012-05-01 13:44:33 -07:00
Heig Gregorian
27e820f6c4
Minor usage update to '--makepkginfo-options'
2012-05-01 12:01:32 -07:00
Heig Gregorian
8aa107c843
Revert "Removed redundant options in 'munkiimport' as they are now present in 'makepkginfo' and can be triggered using the '--makepkginfo-options=' option."
...
This reverts commit 3349335fa7 .
2012-05-01 11:59:56 -07:00
Heig Gregorian
b4ba365fe9
Added '--force_install_after_date' option to 'makepkginfo'; uses a new function defined in 'munkicommon.py' for validation (see below).
...
munkicommon.validateForceInstallAfterDateFormat may be useful in other
areas.
The function is tolerant to some "errors" such as single-digit month or
day or even two-digit year.
2012-05-01 11:39:16 -07:00
Heig Gregorian
3349335fa7
Removed redundant options in 'munkiimport' as they are now present in 'makepkginfo' and can be triggered using the '--makepkginfo-options=' option.
...
Minor update to usage for '-makepkginfo-options' and provided an
example.
2012-05-01 11:36:30 -07:00
Heig Gregorian
467899b5bd
Relocated the import of the 'shlex' module to other module imports for clarity
...
Minor modification to construction of 'cmd' in 'def makePkgInfo'
2012-05-01 08:59:39 -07:00
Heig Gregorian
1e0d0842c7
Argument passed to 'getChoiceChangesXML' now matches the argument used in preceding calls to 'getPackageMetaData'
...
Minor usage note changed for '--installer_choices_xml' as well as
proper os_version comparison as to NOT exclude Mac OS X 10.6.6.
Modified 'munkicommon.getChoiceChangesXML' to return 'choices' even if
empty.
2012-05-01 08:49:46 -07:00