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