Justin McWilliams
80746ac975
In munkicommon.comparePlistVersion, protect against a plist parsing as NSCFString, not NSCFDictionary as expected, avoiding the following traceback:
...
File "/usr/local/munki/managedsoftwareupdate", line 664, in main
updatecheckresult = updatecheck.check(client_id=options.id)
File "/usr/local/munki/munkilib/updatecheck.py", line 2777, in check
installinfo)
File "/usr/local/munki/munkilib/updatecheck.py", line 2071, in processManifestForKey
processOptionalInstall(item, cataloglist, installinfo)
File "/usr/local/munki/munkilib/updatecheck.py", line 1565, in processOptionalInstall
iteminfo['installed'] = someVersionInstalled(item_pl)
File "/usr/local/munki/munkilib/updatecheck.py", line 1281, in someVersionInstalled
if compareItemVersion(item) == 0:
File "/usr/local/munki/munkilib/updatecheck.py", line 645, in compareItemVersion
return compareApplicationVersion(item)
File "/usr/local/munki/munkilib/updatecheck.py", line 400, in compareApplicationVersion
return compareBundleVersion(app)
File "/usr/local/munki/munkilib/updatecheck.py", line 517, in compareBundleVersion
compare_result = comparePlistVersion(item)
File "/usr/local/munki/munkilib/updatecheck.py", line 562, in comparePlistVersion
installedvers = munkicommon.getVersionString(plist)
File "/usr/local/munki/munkilib/munkicommon.py", line 1345, in getVersionString
if plist.get(key):
AttributeError: '__NSCFString' object has no attribute 'get'
2014-05-30 15:01:19 -07:00
Greg Neagle
12e9af2724
Workaround for non-ASCII characters in version strings.
2014-05-30 14:55:44 -07:00
Greg Neagle
b390c7f46f
munkiimport now offers to extract and upload product icons
2014-05-21 16:15:38 -07:00
Greg Neagle
7b6d99c368
Remove duplicate file named iconimporter.py (duplicate of iconimporter)
2014-05-15 13:44:21 -07:00
Greg Neagle
bf60710145
Add latest version of iconimporter tool
2014-05-14 13:33:46 -07:00
Greg Neagle
50cf42f9ed
Update comments in download_client_resources() to reflect actual behavior
2014-05-13 15:10:07 -07:00
Greg Neagle
f932d1d8b1
Change 'ClientResourceURLs' to 'ClientResourceURL' for consistency with other alternate URL keys
2014-05-13 10:43:52 -07:00
Greg Neagle
36e61a0087
Check for and download custom client resources if available
2014-05-12 10:45:37 -07:00
Greg Neagle
553ac2bc42
Record install and removal errors to InstallInfo.plist for use by Managed Software Center.app
2014-04-07 10:28:01 -07:00
Greg Neagle
4f2dd83b35
Handle all paths and path fragments as Unicode
2014-03-26 14:31:35 -07:00
Greg Neagle
3c25bc2a65
Properly create missing icons directory in munki repo.
2014-03-25 13:56:51 -07:00
Greg Neagle
77785f589a
Remove prompt for icon_name on import; this often leads to undesireable results.
2014-03-25 09:02:06 -07:00
Greg Neagle
ddf08cb0c0
Properly handle mpkgs that contain other mpkgs (!)
2014-03-25 08:39:41 -07:00
Greg Neagle
8090ce5817
Better icon extraction from flat packages that aren't distribution pkgs
2014-03-24 16:13:16 -07:00
Greg Neagle
acdd39c035
Use FoundationPlist to read our local prefs
2014-03-24 15:12:35 -07:00
Greg Neagle
c03cb77fff
Added iconimporter tool
2014-03-24 15:01:31 -07:00
Greg Neagle
8e58aec918
Don't warn when we can't download an icon; just do debug1 output. Was generating a lot of noise.
2014-03-24 11:47:09 -07:00
Greg Neagle
d343ede672
Add support for product icon downloads from Munki server
2014-03-24 10:21:42 -07:00
Greg Neagle
c0d96c31fd
Allow non-root user to run managedsoftwareupdate --version
2014-03-22 19:50:35 -07:00
Greg Neagle
085e659e97
Don't raise an exception when processing removals and a manifest refers to a non-existent catalog
2014-03-22 09:22:10 -07:00
Greg Neagle
72fd2ad0e6
Display insufficent disk space info if relevant
2014-03-17 16:05:12 -07:00
Greg Neagle
7643f03052
Handle optional items that are required by other optional items
2014-03-16 10:57:00 -07:00
Greg Neagle
20a8466836
Send an update notification after a 'managedsoftwareupdate --installonly' run so any open instance of MSC.app updates its display
2014-03-14 16:21:27 -07:00
Greg Neagle
52695b9c6a
After a successful install, set 'needs_update' to false for optional item info. Fixes issue 293
2014-03-14 16:19:42 -07:00
Greg Neagle
61dccd3fbb
installer.py should not raise an exception if 'RemovalResults' or 'InstallResults' is missing from the report.
2014-03-11 16:32:12 -07:00
Greg Neagle
64593614de
Add support for category, developer and icon_name to munkiimport
2014-03-03 10:38:47 -08:00
Greg Neagle
044f6ab9d7
Add --category, --developer, and --icon-name options to makepkginfo
2014-03-03 10:32:13 -08:00
Greg Neagle
142d323772
Copy category, developer and icon_name if available to managed_installs and removals in InstallInfo.plist for use by Managed Software Center.app
2014-03-02 16:03:18 -08:00
Greg Neagle
fd1c44e73c
Copy category, developer and icon_name if availble to optional_installs in InstallInfo.plist for use by Managed Software Center.app
2014-03-02 15:14:57 -08:00
Greg Neagle
7b67bf4455
Refactoring code in Managed Software Center.app into smaller source modules
2014-02-24 14:55:17 -08:00
Greg Neagle
64597994ae
Make sure the need to restart is not lost when Munki updates need a restart but Apple updates do not.
2014-02-21 08:43:11 -08:00
Greg Neagle
f3ec0e0bbd
Changes to make updates after a Munki session completes visually smoother, elimnating the reload flash when possible.
2014-02-20 15:17:35 -08:00
Greg Neagle
f2c3f66420
implement more of the inter-process plumbing, including monitoring the managedsoftwareupdate process for failure to start or unexpected termination
2014-02-18 17:44:01 -08:00
Greg Neagle
5a9c158080
More IPC work
2014-02-14 17:12:14 -08:00
Greg Neagle
bfea0b1673
Use filesystem flag instead of NSDistributedNotification to signal that managedsoftwareupdate should stop. Turns out you can't send NSDistributedNotifications from user-land apps to background daemons launched by launchd.
2014-02-14 12:02:19 -08:00
Greg Neagle
709c4a0fa0
More IPC changes between munkilib.munkistatus and MunkiStatus and Managed Software Update
2014-02-11 14:57:52 -08:00
Greg Neagle
a4d7d6c982
Setting version.plist to 2.0.0
2014-02-10 16:31:28 -08:00
Greg Neagle
36dc30920d
start of changes to implement NSDistributedNotifications for IPC between managedsoftwareupdate and the GUI apps
2014-02-10 15:47:58 -08:00
Justin McWilliams
bde50a7dca
In addition to ManagedSoftwareUpdate.log, also log to /var/log/system.log when 'LogToSyslog' configuration is True.
2014-02-06 18:04:07 -05:00
Justin McWilliams
65dbbc5768
Log when removing temporary directory causes OSError or IOError
2014-02-06 17:22:19 -05:00
Greg Neagle
ae6bd497a3
Rename some name/display_name variables in processRemovals to better reflect their actual contents and purpose
2014-01-24 15:02:18 -08:00
Greg Neagle
8ea6dc51c6
Record item name and not display_name for name key in the report's 'RemovalResults'. Enables correct update of optional_installs installation status.
2014-01-24 14:42:20 -08:00
Greg Neagle
60b5bdd1a9
Change format of munkicommon.report['RemovalResults'] to a list of dictionaries instead of a list of strings. This may affect reporting products that use this info. InstallInfo.plist is now always rewritten to disk after an install session instead of being deleted in some cases.
2014-01-24 12:00:13 -08:00
Greg Neagle
1a2eb15100
Include installer_item_size and installed_size with optional_installs items that are installed.
2014-01-13 10:14:21 -08:00
Greg Neagle
77d686a213
urlquote hostname before using it as a ClientIdentifier. See issue 276.
2014-01-11 09:03:39 -08:00
Greg Neagle
fddd138000
Bumping version to 1.0.0. Updated copyright dates.
2014-01-10 08:20:15 -08:00
Greg Neagle
01e649084f
Code formatting style cleanup in updatecheck.py
2013-12-17 09:56:10 -08:00
Justin McWilliams
b5006d2345
Revert Revision dcbfaa74bc, which randomized installs/removals order. This breaks dependencies chains which are baked into the list order.
2013-12-03 11:28:33 -05:00
Justin McWilliams
632c4e2aa0
Merge branch 'master' of https://code.google.com/p/munki
2013-12-03 10:33:57 -05:00
Justin McWilliams
dcbfaa74bc
Randomize order of installs and removals, to prevent a single hanging/crashing/etc. package from continually preventing others from being processed.
2013-12-03 10:32:34 -05:00