Commit Graph

706 Commits

Author SHA1 Message Date
Justin McWilliams
4071808f6e "Another instance of managedsoftwareupdate is running. Exiting." is now (once again?) logged to ManagedSoftwareUpdate.log instead of only being outputted to system.log. 2012-01-27 21:49:23 -05:00
Greg Neagle
38701705b7 Fix for issue 134: makecatalogs now warns if it would overwrite an existing catalog. 2012-01-24 12:10:29 -08:00
Justin McWilliams
32d0241c89 Replace plist footer magic number with calculated string length, ala http://code.google.com/p/munki/source/detail?r=24bb604dfa2494c7c904e13b8a1dee18a17ef25f for plist header. 2012-01-24 12:53:39 -05:00
Justin McWilliams
24bb604dfa Replace magic number with calculated string length, for easier readability and future maintainability. 2012-01-24 12:12:11 -05:00
Justin McWilliams
6c06a48fd7 Clean up appleupdates.GetSoftwareUpdateResource and RetrieveURLToCacheDir docstrings. 2012-01-24 12:05:26 -05:00
Greg Neagle
3a049c4c46 Do not notify user via MSU.app until after postflight script has completed. 2012-01-20 15:04:04 -08:00
Greg Neagle
b651165187 ApplicationInventory.plist now contains filename and CFBundleName for each application item. 2012-01-20 15:03:00 -08:00
Greg Neagle
638e869bc5 Merge branch 'master' into curl-refactor 2012-01-19 08:39:51 -08:00
Justin McWilliams
c7d2f2a9b0 Change utils.runExternalScript() script_args default from an empty list to an empty tuple.
Default arguments are evaluated once at module load time. This may cause problems if the argument is a mutable object such as a list or a dictionary. If the mutable object is changed within the function, those changes will persist to subsequent calls of the function. This wasn't a problem for runExternalScript yet, since the default arg is not changed within the function, but we might as well fix it to protect against potential future bugs.
2012-01-19 11:29:23 -05:00
Justin McWilliams
896bd9a80c If InstallInfo.plist is corrupt, delete it and move on instead of crashing indefinitely. 2012-01-18 14:34:59 -05:00
Greg Neagle
69968229c0 managedsoftwareupdate: warn if DaysBetweenNotifications is not an integer. 2012-01-17 16:45:24 -08:00
Greg Neagle
610a5f204a makecatalogs: better error message when pkginfo installer_item_location is not a string 2012-01-17 09:22:42 -08:00
Greg Neagle
0e0f0b48b0 Clearer error message when more than one argument is given to makepkginfo and munkiimport. 2012-01-17 08:33:08 -08:00
Greg Neagle
05e3df8704 Save ApplicicationInventory report for possible use by postflight reporting scripts 2012-01-17 08:21:18 -08:00
Greg Neagle
0a6f19a4e9 Merge branch 'master' into curl-refactor 2012-01-06 12:42:41 -08:00
Greg Neagle
73b2155117 munkicommon.MunkiLooseVersion can now init from integers and floats 2012-01-06 12:41:27 -08:00
Greg Neagle
dd0ca56ac2 Merge branch 'master' into curl-refactor 2012-01-06 12:32:55 -08:00
Greg Neagle
dc75fd9df4 MunkiLooseVersion objects now correctly initialized when given an empty string. 2012-01-06 12:32:27 -08:00
Greg Neagle
db55fae03b Log when a disk image has an embedded SLA/EULA; updated warning when Spotlight search takes too long. 2012-01-06 11:44:18 -08:00
Greg Neagle
2a6ce0af1f Quick and dirty fixes for processing manifests with conditional_items. Needs a better long term fix. 2012-01-06 11:42:27 -08:00
Greg Neagle
ca03bb0325 Output tweaks; munkicommon.mountdmg() can now mount disk images containing End User License Agreements 2012-01-04 13:54:04 -08:00
Greg Neagle
a0decf2625 Change copyright notice to 2010-2012 2012-01-04 13:52:33 -08:00
Greg Neagle
7aa439d445 Change updatecheck.getMunkiResource() to updatecheck.getResourceIfChangedAtomically() so as not to break existing preflight scripts that might make use of updatecheck.getResourceIfChangedAtomically() 2011-12-22 15:36:13 -08:00
Greg Neagle
96a2536141 appleupdates.py output tweaks; updated tests 2011-12-22 14:32:13 -08:00
Greg Neagle
5651b2a9a4 appleupdates.py now sets User-Agent header; munki-specific cert and header stuff moved to updatecheck; tests updated 2011-12-22 14:01:27 -08:00
Greg Neagle
50833869db Conflict resolution 2011-12-22 09:30:49 -08:00
Justin McWilliams
6e9790c129 If a cached manifest is corrupt, delete it. 2011-12-22 11:27:15 -05:00
Greg Neagle
03a6136ea0 Change appleupdates.py to use fetch.py for downloads 2011-12-21 16:36:52 -08:00
Greg Neagle
7160c4d176 Move a couple more functions from updatecheck.py to fetch.py 2011-12-21 15:02:36 -08:00
Greg Neagle
0c17cc4378 Complete refactor of fetch.py/updatecheck.py 2011-12-21 14:55:44 -08:00
Greg Neagle
db86dceace Begin changes so updatecheck.py uses fetch.py 2011-12-21 14:35:36 -08:00
Greg Neagle
b6436114cd Merge munkicommon.display_status_* changes from branch master; include fetch.py 2011-12-21 11:33:50 -08:00
Greg Neagle
62ed24ef31 Merge branch 'master' into curl-refactor 2011-12-21 11:30:51 -08:00
Greg Neagle
c916885e03 Added munkicommon.display_status_major and renamed munkicommon.display_status to munkicommon.display_status_minor; changes to more closely map the munkistatus-style output to the stdout-style output 2011-12-21 11:28:52 -08:00
Greg Neagle
2fc08a0f49 Merge use of x-download-size header into fetch.py:curl 2011-12-21 10:11:46 -08:00
Greg Neagle
cf31542514 Merge branch 'master' into curl-refactor 2011-12-21 10:04:27 -08:00
Greg Neagle
f751579404 More tweaks to make quiet runs of managedsoftwareupdate quieter 2011-12-21 10:00:23 -08:00
Greg Neagle
820a231e78 munkicommon.display_warning and munkicommon.display_error now only write to log if munkicommon.verbose < 1 2011-12-21 08:39:30 -08:00
Greg Neagle
2959be501f munkicommon.display_warning and munkicommon.display_error now only write to log if munkicommon.verbose < 1 2011-12-21 08:17:49 -08:00
Greg Neagle
2f61c263f4 Merge branch 'master' into curl-refactor 2011-12-20 14:26:27 -08:00
Greg Neagle
96ec095997 Merge branch 'master' into curl-refactor 2011-12-20 14:23:20 -08:00
Justin McWilliams
19b4a0bbc7 If Content-Length header is missing, look for a custom header named X-Download-Size. This is to allow servers that send chunked transfer encoding to specify download size, as Content-Length is prohibited for such transfers per RFC2616 section 4.4. An example of a server that sends downloads in such a way is App Engine Blobstore. So this change fixes the progress bar for Simian clients, as well as anyone else that may wish to use chunked transfer encoding for large downloads. 2011-12-15 10:40:03 -05:00
Justin McWilliams
cb435998be Fix crash where self service manifest fails to be read from disk. 2011-12-15 10:26:22 -05:00
Greg Neagle
fdad42a7e5 Add support for installer environment variables to pkginfo 2011-12-12 10:44:06 -08:00
Greg Neagle
c01eb685a9 Spacing fix in managedsoftwareupdate; try/except in manifestutil so a bad manifest doesn't cause an unhandled exception. 2011-12-05 09:45:59 -08:00
Greg Neagle
1497c2c42b Merge branch 'master' into conditional-includes 2011-12-05 09:43:59 -08:00
Justin McWilliams
dd2578dd61 Catch OSError on munkistatus.getPIDforProcessName() and return 0 to avoid Munki crashes as seen below:
Dec 01 14:11:20 Mounting disk image Office2011-1413UpdateEN.dmg
Dec 01 14:11:23 ERROR: Unexpected error in munkilib.installer:
Dec 01 14:11:23 ERROR: Traceback (most recent call last):
 File "/usr/local/munki/managedsoftwareupdate", line 216, in doInstallTasks
   need_to_restart = installer.run(only_unattended=only_unattended)
 File "/usr/local/munki/munkilib/installer.py", line 1190, in run
   only_unattended=only_unattended)
 File "/usr/local/munki/munkilib/installer.py", line 681, in installWithInfo
   suppressBundleRelocation)
 File "/usr/local/munki/munkilib/installer.py", line 265, in installall
   suppressBundleRelocation)
 File "/usr/local/munki/munkilib/installer.py", line 113, in install
   munkistatus.percent(0)
 File "/usr/local/munki/munkilib/munkistatus.py", line 190, in percent
   sendCommand(u"PERCENT: %s\n" % percentage)
 File "/usr/local/munki/munkilib/munkistatus.py", line 71, in sendCommand
   launchAndConnectToMunkiStatus()
 File "/usr/local/munki/munkilib/munkistatus.py", line 53, in launchAndConnectToMunkiStatus
   if not getMunkiStatusPID():
 File "/usr/local/munki/munkilib/munkistatus.py", line 131, in getMunkiStatusPID
   "Managed Software Update.app/Contents/MacOS/Managed Software Update") \
 File "/usr/local/munki/munkilib/munkistatus.py", line 109, in getPIDforProcessName
   stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
 File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/subprocess.py", line 595, in __init__
   errread, errwrite)
 File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/subprocess.py", line 1026, in _execute_child
   self.pid = os.fork()
OSError: [Errno 35] Resource temporarily unavailable
2011-12-02 12:15:50 -05:00
Greg Neagle
8522e3ebfc Merge branch 'master' into curl-refactor 2011-11-22 10:20:33 -08:00
Greg Neagle
e7a55f662e Merge branch 'master' into conditional-includes 2011-11-22 10:19:48 -08:00
Greg Neagle
e7b2667874 Fix for issue 131: Installs items with subdirectories in source_item not handled correctly by removeCopiedItems 2011-11-22 10:12:35 -08:00