Commit Graph

306 Commits

Author SHA1 Message Date
Greg Neagle 27a4aafbc8 Don't record the forced_install or foreced_uninstall key if the item requires a restart or logout, or is part of a dependency relationship.
git-svn-id: http://munki.googlecode.com/svn/trunk@817 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-10-19 03:42:25 +00:00
Greg Neagle a127ec769d If running with only_forced=True, remove the forced_* items from the managed_installs list and the removals list and rewrite InstallInfo.plist.
git-svn-id: http://munki.googlecode.com/svn/trunk@816 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-10-19 03:28:54 +00:00
Justin McWilliams 7f44c0c40e - s/unattended/forced/
- separate forced_installs and forced_uninstalls, so they one can be forced while the other is not.
 - move status output enabling to the only place it's necessary; --auto at login window.
 - move forced install run to top of "GUI user exists" conditional instead of two places within.  (Greg, please verify this is okay).



git-svn-id: http://munki.googlecode.com/svn/branches/unattended-installs@813 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-10-18 19:08:39 +00:00
Justin McWilliams dc5c2e373d Run forced/unattended updates before checking if the user should be notified; notify them afterwards if any remaining attended installs remain.
1) disable status output (GUI)
2) run unattended installs
3) reenable status output (GUI)
4) notify user or remaining installs (if LastModifiedDate is happy)

Also, change logging a little to make it easier to see difference between regular install run and unattended run.


git-svn-id: http://munki.googlecode.com/svn/branches/unattended-installs@812 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-10-18 17:59:06 +00:00
Justin McWilliams fedb392b9b First iteration of forced/unattended/silent installs.
Notes:
 - Needs documentation about how risky this is, and how it should only be used
for simple packages that are known to be safely installed while app is running.
 - If notification is popped up, it will contain the unattended install; if
notification is not due to be popped up the unattended install will be installed
immediately.
  - Only works in --auto mode (which is what launchd execs); I will test more tomorrow with manual runs, as we may be able to do this before --installonly too.



git-svn-id: http://munki.googlecode.com/svn/branches/unattended-installs@809 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-10-18 00:25:18 +00:00
Greg Neagle 2330ddfc70 changed getLSInstalledApplications() to ignore paths beginning with '/Volumes/' instead of those beginning with '/Volumes'.
git-svn-id: http://munki.googlecode.com/svn/trunk@788 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-10-13 17:57:54 +00:00
Greg Neagle efdd7628bd Changed munkicommon.getAppData() to use LaunchServices instead of Apple System Profiler. LaunchServices is faster and returns more apps than System Profiler, especially on Leopard systems. Thanks to John Randolph.
git-svn-id: http://munki.googlecode.com/svn/trunk@787 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-10-13 17:32:53 +00:00
Greg Neagle 68aa8cee64 Fix for getAppData() -- when moved to munkicommon, forgot to change munkicommon.display_debug1() to display_debug1()...
git-svn-id: http://munki.googlecode.com/svn/trunk@784 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-10-08 17:58:07 +00:00
Justin McWilliams af1df39f68 curl() fixes.
1) fix OSError because nonexistent file is attempted to be read if HTTP status=200 but response yields no download; this happens if local Cache package is *newer* than package on the server (curl receives 200 but doesn't download); instead raise HTTPError.

   2) In the event of a curl() download error, delete any existing cache files
related to the failed download (destination or tmp names). This is basically
just resetting state after any download failures that aren't resume related,
one of those failures being the temp download file doesn't exist.

   This fixes a problem where if the destination exists and the date (header:
If-Modified-Since) is newer than on the server (header: Last-Modified), the curl
binary does not ever download the older file.  In this case Munki never has a
.download temp file, so it can't overwrite the original/newer file. A susequent
Munki execution will download the older server file.



git-svn-id: http://munki.googlecode.com/svn/trunk@783 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-10-07 21:29:24 +00:00
Greg Neagle 4d9af60e5a updateAcrobatPro: when looking for the apps to update, first look in /Applications/Adobe Acrobat 9 Pro/ before asking system_profiler to search.
git-svn-id: http://munki.googlecode.com/svn/trunk@782 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-10-07 18:34:44 +00:00
Greg Neagle 1dab884671 Replace separate instances of getAppData() in adobeutils.py and updatecheck.py with a single implementation in munkicommon.
git-svn-id: http://munki.googlecode.com/svn/trunk@781 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-10-07 18:07:50 +00:00
Greg Neagle 29d4c264b1 Added some additional status and debug messages for package integrity testing and managed_updates.
git-svn-id: http://munki.googlecode.com/svn/trunk@780 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-10-07 17:16:21 +00:00
Greg Neagle 6aaddbfe7f Attempt to be a little smarter about which payloads we add to the installs list for Adobe CS5 updaters when generating pkginfo. Now we look for a payload whose name matches that of the overall update and add only that payload if it exists, falling back to the previous behavior if it does not.
git-svn-id: http://munki.googlecode.com/svn/trunk@779 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-10-06 18:19:32 +00:00
Justin McWilliams 4a86af1770 Moving secure plist (r773) to Apple provided location: /private/var/root/Library/Preferences/
git-svn-id: http://munki.googlecode.com/svn/trunk@776 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-10-05 14:42:05 +00:00
Justin McWilliams ad3b1275a2 Merging r772 into trunk; add Secure Config for sensitive preferences/configs.
git-svn-id: http://munki.googlecode.com/svn/trunk@773 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-10-04 21:27:18 +00:00
Greg Neagle e2698bb44f Move verifySoftwarePackageIntegrity check inside of download_installeritem().
getHTTPfileIfChangedAtomically now returns a boolean indicating if the item was downloaded (True) or just returned from the local cache (False). This way, we only do the expensive SHA-256 checksum comparison on the initial download.

getHTTPfileIfChangedAtomically now raises exceptions if it runs into trouble, as does download_installeritem().

git-svn-id: http://munki.googlecode.com/svn/trunk@764 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-09-27 22:53:52 +00:00
Greg Neagle 795ddeb481 Another commit to get the build number in sync with the SVN revision number. Gah.
git-svn-id: http://munki.googlecode.com/svn/trunk@759 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-09-21 23:31:29 +00:00
Greg Neagle f07e01655b Fix for incorrectly initialized KVO arrays in Managed Software Update.app; bumped MSU.app to version 3.0.6; bumped munkitools version to 0.6.0.757.0.
git-svn-id: http://munki.googlecode.com/svn/trunk@758 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-09-21 23:30:06 +00:00
Greg Neagle 257dfffd2c Bump build number in get_version() to 755.
git-svn-id: http://munki.googlecode.com/svn/trunk@755 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-09-14 23:57:10 +00:00
Justin McWilliams 41ccc6c3ef Reload preferences from ManagedInstalls.plist after preflight execution in case preflight changed any preferences.
git-svn-id: http://munki.googlecode.com/svn/trunk@754 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-09-13 23:05:56 +00:00
Justin McWilliams fc3ff13fb6 Moving 'AdditionalHttpHeaders' ManagedInstalls.plist string to munkicommon const for cleaner reuse in preflight/postflight.
git-svn-id: http://munki.googlecode.com/svn/trunk@753 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-09-13 22:47:02 +00:00
Greg Neagle 9cd9708514 pylint cleanup: mark unused variable.
git-svn-id: http://munki.googlecode.com/svn/trunk@752 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-09-13 17:38:34 +00:00
Greg Neagle f88b74c116 pylint cleanup: mark unused variables, add docstring and fix indentation in removeItemFromSelfServeUninstallList()
git-svn-id: http://munki.googlecode.com/svn/trunk@751 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-09-13 17:37:49 +00:00
Greg Neagle b0619cf035 pylint cleanup: mark unused variables
git-svn-id: http://munki.googlecode.com/svn/trunk@750 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-09-13 17:35:32 +00:00
Greg Neagle eceedc0e86 pylint cleanups: mark unused variables.
git-svn-id: http://munki.googlecode.com/svn/trunk@749 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-09-13 17:34:47 +00:00
Greg Neagle 231e309ae4 filesystemItemExists() now returns 0 if the item doesn't exist, 1 if it exists and the checksum matches (or there is no checksum provided), or -1 if the item exists but the checksum does not match. This should make someVersionInstalled() work better with pkginfo that relies on files in the installs key.
processManifestForOptionalInstalls(), processManifestForManagedUpdates(), processManifestForInstalls(), and processManifestForRemovals(), which ll shared a very similar structure, have been refactored and replaced with processManifestForKey().

Various pylint cleanups: marking unused variables, global variable names are now all CAPS, added some docstrings, 

Removed all remaining references to aliases. (support for aliases was removed a long time ago, but some references still remained in the code)

Removed support for "modifies" dependency type, which was deprecated months ago.

git-svn-id: http://munki.googlecode.com/svn/trunk@748 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-09-13 17:03:39 +00:00
Greg Neagle 4491ae9b03 Initial support for managed_updates in manifests. Items listed in managed_updates will have updates downloaded and applied if any prior version is installed (subject to munki using pkginfo information to determine if an item is installed).
git-svn-id: http://munki.googlecode.com/svn/trunk@747 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-09-10 19:23:13 +00:00
Justin McWilliams b36b32672b munkicommon.py & updatecheck.py: Use single quotes for all non-doctstring strings.
git-svn-id: http://munki.googlecode.com/svn/trunk@745 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-09-10 03:29:47 +00:00
Justin McWilliams 184d5368c2 Clean some lint on updatecheck: reorder imports, replace single-quote docstrings with double, etc
git-svn-id: http://munki.googlecode.com/svn/trunk@744 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-09-10 02:01:15 +00:00
Justin McWilliams eeb5bdcb9d Make some global consts for ManagedInstalls(.plist) paths. Replace single-quoted docstrings with double-quotes to standardize across codebase.
git-svn-id: http://munki.googlecode.com/svn/trunk@743 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-09-10 01:05:37 +00:00
Justin McWilliams 5873a12d26 Allow for additional headers sent with curl() HTTP requests to be set in ManagedInstalls.plist
git-svn-id: http://munki.googlecode.com/svn/trunk@740 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-09-10 00:15:45 +00:00
Justin McWilliams 1ca7fc80e8 Merge: Verify permissions of preflight and postflight scripts are secure before; skip execution of insecure skips but continue Munki run.
git-svn-id: http://munki.googlecode.com/svn/trunk@738 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-09-09 21:42:27 +00:00
Greg Neagle 4f74f2806f Fixing dumb attempt to improve the quality of output from softwareupdate...
git-svn-id: http://munki.googlecode.com/svn/trunk@736 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-09-09 17:09:34 +00:00
Justin McWilliams 7c505758cf Allow for additional headers sent with curl() HTTP requests to be set in ManagedInstalls.plist
git-svn-id: http://munki.googlecode.com/svn/branches/additional-http-headers@734 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-09-08 21:00:43 +00:00
Greg Neagle 25f2a90ede Revert to using subprocess.Popen in unmountdmg() so extraneous output doesn't get sent to STDOUT.
git-svn-id: http://munki.googlecode.com/svn/trunk@733 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-09-08 15:29:01 +00:00
Greg Neagle 121ecb0484 munkicommon: pylint cleanup, better handling of items in the pkgutil database that don't have a version number (I didn't know this was possible!).
appleupdates: pylint cleanup; provide installed_size data for Managed Software Update display

managedsoftwareupdate: move "Checking for available Apple Software Updates..." message to appleupdates.checkForSoftwareUpdates()

makepkginfo: fix installer_item_size determination when we add up the contents of a directory (was bytes, now Kbytes like everything else)

git-svn-id: http://munki.googlecode.com/svn/trunk@725 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-09-07 18:04:40 +00:00
Greg Neagle a82374aaf3 Still more SUS description parsing tweaking...
git-svn-id: http://munki.googlecode.com/svn/trunk@723 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-09-03 21:49:55 +00:00
Greg Neagle a061031585 More tweaking to the parsing of Apple Software Update .dist files to extract descriptions.
git-svn-id: http://munki.googlecode.com/svn/trunk@722 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-09-03 21:38:49 +00:00
Greg Neagle b742e4fbb0 Changed she-bang to #!/usr/bin/python since we require Apple's included python, not just any python the user may have installed.
git-svn-id: http://munki.googlecode.com/svn/trunk@721 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-09-03 21:37:37 +00:00
Greg Neagle 6b864f85f9 PackageVerificationMode now defaults to "hash". Current munki infrastructures with no package hashes will continue to work as before PackageVerificationMode was added; admins can add hashes to packages and they will be used.
git-svn-id: http://munki.googlecode.com/svn/trunk@716 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-09-02 23:11:19 +00:00
Greg Neagle c7ecf1a893 Display available Apple updates from command-line managedsoftwareupdate.
Don't look specifically for English in Apple SU dist files.

git-svn-id: http://munki.googlecode.com/svn/trunk@715 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-09-02 21:17:11 +00:00
Justin McWilliams 8aa56bd9f9 Merging pkg-hash-verification branch to trunk, adding package SHA-256 hash verification. Deleting branch.
git-svn-id: http://munki.googlecode.com/svn/trunk@714 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-09-02 17:50:54 +00:00
Greg Neagle c7badf027b Changes to getAdobeCatalogInfo to filter out more language files/language packs from the installs array.
git-svn-id: http://munki.googlecode.com/svn/trunk@711 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-09-02 16:54:54 +00:00
Justin McWilliams 957b0df766 Changing hash verification warnings a bit per Greg's request.
git-svn-id: http://munki.googlecode.com/svn/branches/pkg-hash-verification@710 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-09-02 16:43:02 +00:00
Greg Neagle 929ae48a67 After a successful removal, remove the itemname from the SelfServeManifest's managed_uninstalls list if applicable.
git-svn-id: http://munki.googlecode.com/svn/trunk@707 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-09-01 22:13:40 +00:00
Greg Neagle ac43c0616a Comment typo fix.
git-svn-id: http://munki.googlecode.com/svn/trunk@705 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-09-01 18:14:45 +00:00
Greg Neagle fca4134640 Formatting changes
git-svn-id: http://munki.googlecode.com/svn/trunk@704 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-09-01 18:13:51 +00:00
Greg Neagle 2d0ce0ecca Changes for optional installs
git-svn-id: http://munki.googlecode.com/svn/trunk@702 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-09-01 16:57:51 +00:00
Greg Neagle 0b479630db When killing a stuck process, wrap the os.kill in a try/except block.
git-svn-id: http://munki.googlecode.com/svn/trunk@701 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-09-01 16:50:50 +00:00
Justin McWilliams bf8cb1b7eb Package SHA-256 Hash verification
git-svn-id: http://munki.googlecode.com/svn/branches/pkg-hash-verification@699 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-08-31 15:15:47 +00:00