Commit Graph

271 Commits

Author SHA1 Message Date
Greg Neagle
ccd1635a80 Fix to removepackages.py to properly import pkg data from pkgutil database under Snow Leopard when there are items in /Library/Receipts/boms, presumably left over from Leopard.
git-svn-id: http://munki.googlecode.com/svn/trunk@541 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-06-01 16:47:45 +00:00
Greg Neagle
e1237584d3 Changes to how and when Apple Software Update is run.
git-svn-id: http://munki.googlecode.com/svn/trunk@540 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-05-26 17:04:34 +00:00
Greg Neagle
cad13c0fd7 Start of changes to support Adobe CS5 deployment.
git-svn-id: http://munki.googlecode.com/svn/trunk@539 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-05-26 17:03:28 +00:00
Greg Neagle
cdc0ef777f Added ipconfig waitall for startup runs.
checkandinstallatstartup now does not clear its flag until there's nothing to do; it will run, install and restart until there is nothing to do.

git-svn-id: http://munki.googlecode.com/svn/trunk@538 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-05-25 22:20:45 +00:00
Greg Neagle
5350042f4d Fixes to deal with manifests that list non-existent catalogs
git-svn-id: http://munki.googlecode.com/svn/trunk@537 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-05-18 15:45:18 +00:00
Greg Neagle
a6edacfcdd Bumped version number to 0.5.1.
git-svn-id: http://munki.googlecode.com/svn/trunk@533 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-04-28 17:39:38 +00:00
Greg Neagle
c493aa363b Fixed problem getting updated primary manifest introduced by r523.
Fixed problem generating list of needed cache items introduced by r523.

git-svn-id: http://munki.googlecode.com/svn/trunk@532 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-04-27 23:04:33 +00:00
Greg Neagle
12f7e81c8a Simplified tasks when munki server is not available.
git-svn-id: http://munki.googlecode.com/svn/trunk@530 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-04-27 19:05:46 +00:00
Greg Neagle
f988882003 managedsoftwareupdate: when notifying the user of available updates, we now kill any instances of Managed Software Update.app if it's already open; then we launch Managed Software Update.app in the current console user's session. This prevents stale data from being presented to one or more users, and provides a cleaner signalling mechanism for Managed Software Update.app; it now displays updates only if any exist at launch. We no longer have to figure out when to try to display available updates later.
git-svn-id: http://munki.googlecode.com/svn/trunk@529 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-04-27 18:25:13 +00:00
Greg Neagle
84bd6e2b7f Changes to support resuming partial downloads and re-downloading items if the Etag has changed.
git-svn-id: http://munki.googlecode.com/svn/trunk@523 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-04-26 23:49:39 +00:00
Greg Neagle
25e1788b24 Minor fixes
git-svn-id: http://munki.googlecode.com/svn/trunk@522 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-04-26 16:41:08 +00:00
Greg Neagle
d555861c4f Fixed bug in getCatalogInfoFromDmg that could lead to an unhandled exception if there are no supported installer items on a disk image.
git-svn-id: http://munki.googlecode.com/svn/trunk@520 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-04-08 22:30:04 +00:00
Greg Neagle
2e49e39b9d Fixed typo.
git-svn-id: http://munki.googlecode.com/svn/trunk@517 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-03-25 16:53:36 +00:00
Greg Neagle
2fa1aa7e33 Some changes to make removepackages work with the QuarkXPress 8.x packages. These are broken in some subtle way such that under Snow Leopard, they leave receipts in /Library/Receipts/. When trying to remove them, pkgutil by itself does not provide the IFPkgRelocatedPath info we need to find the installed items, so we have to dig into the old-style bundle packages as well.
Also, changing the search order in getpkgkeys() - previously it searched on package names first, and if that failed to turn up anything, it searched on pkgids.  Since normally we have a package id to work with, searching on pkgids first gives us better results. 

git-svn-id: http://munki.googlecode.com/svn/trunk@516 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-03-17 22:03:20 +00:00
Greg Neagle
6a91c91388 Write all the curl options to a file and pass that to curl so we avoid the problem of URLs showing up in a process listing
git-svn-id: http://munki.googlecode.com/svn/trunk@515 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-03-17 21:55:24 +00:00
Greg Neagle
85ec3fefdf Add code to optionally use CN of ClientCertificate as ClientIdentifier.
git-svn-id: http://munki.googlecode.com/svn/trunk@514 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-03-17 06:36:06 +00:00
Greg Neagle
e427231e49 munkicommon: updated display_percent() to work better with the percent progress info from curl.
updatecheck: swapped out urllib2/httplib download code with code that calls curl.

appleupdates.py: code cleanup; removed commented out code

git-svn-id: http://munki.googlecode.com/svn/trunk@513 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-03-16 18:17:24 +00:00
Greg Neagle
362ca4dce0 Additional cleanup/reorg of compareBundleVersion(). Thanks to Aaron Hall.
git-svn-id: http://munki.googlecode.com/svn/trunk@507 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-03-12 17:36:53 +00:00
Greg Neagle
781dda8287 Updated compareBundleVersion(item) to also check the Resources folder for an Info.plist if there isn't one in Contents/
checkServer() updated to throw an error when fed a bad URL.

git-svn-id: http://munki.googlecode.com/svn/trunk@506 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-03-12 00:17:48 +00:00
Greg Neagle
70a4a4ef41 Some safer methods for getting managed_installs and removals from the installinfo, especially when there is NO installinfo because of an upstream failure.
git-svn-id: http://munki.googlecode.com/svn/trunk@503 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-03-10 03:22:08 +00:00
Greg Neagle
a89b63ceac Accepted patrick.macneal's patch for Issue 4: updatecheck.py uses incorrect URL when downloading manifests via https
git-svn-id: http://munki.googlecode.com/svn/trunk@499 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-03-08 16:23:23 +00:00
Greg Neagle
57533655d6 Check all pkgs in an Apple Software Update distribution directory for RestartAction info -- sometimes the dist file says no restart required, but one of the packages does require a restart.
git-svn-id: http://munki.googlecode.com/svn/trunk@497 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-03-05 01:23:07 +00:00
Greg Neagle
7c6832dd2e Reworked munkicommon.prefs() to:
1) Cache the prefs after the first read from disk, instead of reading them from disk every time.
	2) Not be called when munkicommon is imported from another module

git-svn-id: http://munki.googlecode.com/svn/trunk@485 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-03-03 19:25:14 +00:00
Greg Neagle
27a4506e11 More changes for optional suppress_bundle_relocation behavior...
git-svn-id: http://munki.googlecode.com/svn/trunk@479 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-03-01 20:28:36 +00:00
Greg Neagle
badf0d0e33 Made suppressing bundle relocation dependent on a suppress_bundle_relocation key in the pkginfo.
git-svn-id: http://munki.googlecode.com/svn/trunk@478 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-02-27 00:35:48 +00:00
Greg Neagle
217f20ad56 Added use_shadow=True to invocation of munkicommon.mountdmg() in installWithInfo() so that removeBundleRelocationInfo() might actually work.
git-svn-id: http://munki.googlecode.com/svn/trunk@477 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-02-24 19:25:37 +00:00
Greg Neagle
647a6da41e Added debug logging to removeBundleRelocationInfo()
git-svn-id: http://munki.googlecode.com/svn/trunk@475 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-02-23 21:15:07 +00:00
Greg Neagle
54ac0b4f1a Updated comments.
git-svn-id: http://munki.googlecode.com/svn/trunk@472 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-02-23 17:11:04 +00:00
Greg Neagle
53f1ec3eff Minor formatting changes.
git-svn-id: http://munki.googlecode.com/svn/trunk@471 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-02-23 17:10:18 +00:00
Greg Neagle
ca16501573 Better handling of situations where MunkiStatus might go away in the middle of a session.
git-svn-id: http://munki.googlecode.com/svn/trunk@470 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-02-23 00:22:51 +00:00
Greg Neagle
d6908fdd52 Fixed typos in adobeSetupError()
git-svn-id: http://munki.googlecode.com/svn/trunk@467 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-02-20 18:03:12 +00:00
Greg Neagle
7538a9190b Fixed typo in comment; wrapped more of removeBundleRelocationInfo() in try/except blocks to avoid issues with really old package formats (like the Cisco VPN installer package!)
git-svn-id: http://munki.googlecode.com/svn/trunk@465 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-02-19 01:03:40 +00:00
Greg Neagle
f87d3b78e8 Removed some munkistatus workaround code.
git-svn-id: http://munki.googlecode.com/svn/trunk@464 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-02-18 00:53:54 +00:00
Greg Neagle
1c1c8ab7a0 Fixed MunkiStatus wait-for-startup logic so initial messages to MunkiStatus don't get dropped.
git-svn-id: http://munki.googlecode.com/svn/trunk@461 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-02-18 00:10:03 +00:00
Greg Neagle
eb43b858a3 Various cleanups: replaced use of dateutil.dateparse methods with NSDate methods, etc.
git-svn-id: http://munki.googlecode.com/svn/trunk@459 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-02-17 18:42:10 +00:00
Greg Neagle
a4cf1dfb04 In Managed Software Update.app, replaced NSTextView that was used to display detail with a WebView.
appleupdate.py - parseDist() now returns HTML description without trying to convert it to plain text. This HTML description is displayed in Managed Software Update.app's new WebView.

git-svn-id: http://munki.googlecode.com/svn/trunk@456 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-02-10 18:26:44 +00:00
Greg Neagle
6b3c47e3e5 Changed evidenceIsInstalled() and processRemoval() logic to better handle non Apple package-installed items.
git-svn-id: http://munki.googlecode.com/svn/trunk@455 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-02-10 18:24:20 +00:00
Greg Neagle
14c94e8f9f Add a short sleep to the loop than waits for the other instance(s) of managedsoftwareupdate to exit.
git-svn-id: http://munki.googlecode.com/svn/trunk@454 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-02-09 16:28:48 +00:00
Greg Neagle
dc234c3dc2 Shorten the sleep time before removing the trigger file when using launchd trigger file to launch MunkiStatus.app
git-svn-id: http://munki.googlecode.com/svn/trunk@453 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-02-08 23:19:30 +00:00
Greg Neagle
c6025b5500 managedsoftwareupdate: better handle the case where manaagedsoftwareupdate --auto is already running when a user invokes Managed Software Update.app
git-svn-id: http://munki.googlecode.com/svn/trunk@452 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-02-08 23:18:12 +00:00
Greg Neagle
57d60ad22f launchapp now sleeps 10 seconds if it's called from a context other than the current GUI user to avoid launchd throttling.
git-svn-id: http://munki.googlecode.com/svn/trunk@451 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-02-08 22:33:11 +00:00
Greg Neagle
e562922e6e More com.googlecode.munki.munkistatus vs com.googlecode.munki.MunkiStatus cleanup
git-svn-id: http://munki.googlecode.com/svn/trunk@448 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-02-08 19:23:14 +00:00
Greg Neagle
5c128b5574 munkicommon: New currentGUIusers() function to get list of current GUI users
managedsoftwareupdate: makes use of munkicommon.currentGUIusers() to more accurately determine if anyone is logged in to the GUI (Fast User Switching aware)

git-svn-id: http://munki.googlecode.com/svn/trunk@445 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-02-06 00:55:06 +00:00
Greg Neagle
36e4d6e727 Stub code for the case where Fast User Switching is active, we're switched to the loginwindow with one or more users logged in, and we need to restart.
git-svn-id: http://munki.googlecode.com/svn/trunk@443 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-02-05 23:00:29 +00:00
Greg Neagle
28d3f1596d Added new launchapp tool to make sure MunkiStatus.app and Managed Software Update.app are launched only in the context of the current GUI user.
Updated LaunchAgents com.googlecode.munki.munkistatus.plist and com.googlecode.munki.ManagedSoftwareUpdate.plist to call the launchapp tool.

git-svn-id: http://munki.googlecode.com/svn/trunk@440 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-02-05 18:50:17 +00:00
Greg Neagle
e0d31bfbbf Fixed stupid typo in code that removes the shadow file when it removes disk images after install.
git-svn-id: http://munki.googlecode.com/svn/trunk@439 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-02-04 21:15:26 +00:00
Greg Neagle
7fa63d36ad Version number bumps to get ready for 0.5.0 release
git-svn-id: http://munki.googlecode.com/svn/trunk@438 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-02-04 21:00:17 +00:00
Greg Neagle
47385bac22 Changes to use the new LaunchAgent mechanism to allow managedsoftwareupdate (running in the root context) to reliably launch Managed Software Update.app in the user's context.
git-svn-id: http://munki.googlecode.com/svn/trunk@437 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-02-04 18:56:48 +00:00
Greg Neagle
2bb654567c Fixed edge case in getVersionString() where package's Info.plist contains empty CFBundleShortVersionString or empty CFBundleVersion.
git-svn-id: http://munki.googlecode.com/svn/trunk@435 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-02-03 20:20:16 +00:00
Greg Neagle
01180408a9 munkicommon.py/mountdmg() now has an option to mount dmgs with shadow files to allow read-write access to read-ony disk images.
installer.py now mounts disk images with -shadow option to enable the next change - 
For bundle-style packages, installer.py/install() now attempts to remove any bundle relocation info to disable installer's bundle relocator. This should force items to install to their default locations.

git-svn-id: http://munki.googlecode.com/svn/trunk@434 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-02-03 18:14:16 +00:00