Commit Graph

86 Commits

Author SHA1 Message Date
Greg Neagle
7e9f255085 Fixed idle check logic when running in 'checkandinstallatstartup' mode.
git-svn-id: http://munki.googlecode.com/svn/trunk@872 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-10-26 20:38:27 +00:00
Greg Neagle
b901118418 Fix doc string formatting.
Re-check idle time when running in "checkandinstallatstartup" mode so we maximize our chances of getting all the updates done when bootstrapping.

git-svn-id: http://munki.googlecode.com/svn/trunk@869 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-10-26 18:52:06 +00:00
Justin McWilliams
099112f56e Fixing mistakes introduced in r865 for warning output on lines 462 and 667.
git-svn-id: http://munki.googlecode.com/svn/trunk@867 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-10-26 17:25:33 +00:00
Justin McWilliams
7afec5b605 Better implementation of r863; move verifyFileOnlyWritableByMunkiAndRoot() and runExternalScript() to new munkilib utils module that is 100% free of ObjC-dependant Python.
git-svn-id: http://munki.googlecode.com/svn/trunk@865 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-10-26 16:32:48 +00:00
Justin McWilliams
93adfde71f managedsoftwareupdate:
- if import of Python module with ObjC binding fails, call "report_broken_client" script where admins can setup desired reporting/notification.


git-svn-id: http://munki.googlecode.com/svn/trunk@863 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-10-26 13:49:40 +00:00
Justin McWilliams
aacad21154 verifyFileOnlyWritableByMunkiAndRoot()
For gid verification, instead of only checking file gid to match current user oir hardcoded 80, check current user's gid, admin's gid, and wheel's gid all dynamically looked up.


git-svn-id: http://munki.googlecode.com/svn/trunk@862 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-10-26 13:24:06 +00:00
Justin McWilliams
9a566d108e Move verifyFileOnlyWritableByMunkiAndRoot() from munkicommon to managesoftwareupdate, so it can be used without importing munkicommon.py.
This is in prep of a upcoming notification feature that cannot depend on ObjC Py bindings.  Alternatively, if we want to share such code, we can create a common/util module for only Pure-Python code, and doc that it should not contain any ObjC imports.


git-svn-id: http://munki.googlecode.com/svn/trunk@861 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-10-26 13:15:13 +00:00
MagerValp
35563cb6e0 Changed ManagedInstallReport.plist timestamps to ISO 8601 format, with timezone information.
git-svn-id: http://munki.googlecode.com/svn/trunk@852 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-10-25 14:48:03 +00:00
Greg Neagle
131d3873c9 Added some additional logging and info messages, all logoutinstall-type installs (including 'checkandinstallatstartup') now do not check for system idle, but just install.
git-svn-id: http://munki.googlecode.com/svn/trunk@831 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-10-20 16:57:48 +00:00
Greg Neagle
b78ba8e03c More cleanup -- replacing print statements with calls to munkicommon.display_* methods.
git-svn-id: http://munki.googlecode.com/svn/trunk@820 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-10-19 17:15:41 +00:00
Greg Neagle
fbb20c5ac5 Tweaks to what gets printed to stdout and stderr during a run; overall effect is to make managedsoftwareupdate quieter by default.
git-svn-id: http://munki.googlecode.com/svn/trunk@819 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-10-19 17:03:28 +00:00
Greg Neagle
e2ca3f8c78 If there are GUI users and we have forced_* items, recheck munkiUpdatesAvailable() before trying to notifiy the user so we don't notify if we have nothing left to do.
git-svn-id: http://munki.googlecode.com/svn/trunk@818 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-10-19 04:00:57 +00:00
Greg Neagle
ab3900dffa Missed a place to check the new munkicommon.pref('AppleSoftwareUpdatesOnly')...
git-svn-id: http://munki.googlecode.com/svn/trunk@815 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-10-18 21:40:06 +00:00
Justin McWilliams
07876be714 First iteration of forced installs/uninstalls.
If pkginfo key forced_(un)install is set to <true/>, (un)installs will run immediately after downloading without any notification the user.  If further non-forced installs are remaining MSU.app will appear after all forced-installs are finished.

This needs documentation about how risky it is; should only be used for simple packages that are known to be safely installed while app is running. More features will come in the future making it safer to use on other packages.



git-svn-id: http://munki.googlecode.com/svn/trunk@814 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-10-18 21:20:11 +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
Greg Neagle
c27ba9a3d2 When "AppleSoftwareUpdatesOnly" is True, no need to set "InstallAppleSoftwareUpdates"
git-svn-id: http://munki.googlecode.com/svn/trunk@811 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-10-18 17:31:50 +00:00
Greg Neagle
14b3241f4d Add support for running the munki tools without a munki repo to install Apple Software Updates only.
git-svn-id: http://munki.googlecode.com/svn/trunk@810 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-10-18 17:26:37 +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
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
51cb83d350 managedsoftwareupdate: Use single quotes for all non-doctstring and non-heredoc strings.
git-svn-id: http://munki.googlecode.com/svn/trunk@746 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-09-10 03:44:55 +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
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
6e308faf40 Misc cleanups
git-svn-id: http://munki.googlecode.com/svn/trunk@732 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-09-07 23:18:47 +00:00
Justin McWilliams
1465884431 pylint cleanup and docstring updates for managedsoftwareupdate.
git-svn-id: http://munki.googlecode.com/svn/trunk@729 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-09-07 19:28:27 +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
86cbaee5da If the user clicks the Stop button during an update check, don't check for Apple Software Updates.
git-svn-id: http://munki.googlecode.com/svn/trunk@694 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-08-27 15:11:02 +00:00
Greg Neagle
255271ed6e Fixed use of new munki pref "SuppressUserNotification" in managedsoftwareupdate
git-svn-id: http://munki.googlecode.com/svn/trunk@664 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-08-14 18:22:46 +00:00
Greg Neagle
6776f3f4c1 pylint cleanups.
git-svn-id: http://munki.googlecode.com/svn/trunk@653 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-08-04 22:38:56 +00:00
Greg Neagle
fe1b86e46a Change so SuppressAutoInstall will not suppress a checkandinstallatstartup run.
git-svn-id: http://munki.googlecode.com/svn/trunk@610 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-07-27 23:18:52 +00:00
Greg Neagle
00cb701119 Log when we kill the loginwindow.
git-svn-id: http://munki.googlecode.com/svn/trunk@608 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-07-27 17:17:19 +00:00
Greg Neagle
cd35984e7c Changed checkandinstallatstartup logic to restart the loginwindow if we've performed updates but haven't restarted.
git-svn-id: http://munki.googlecode.com/svn/trunk@607 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-07-27 17:15:10 +00:00
Greg Neagle
bdd0f8e603 Add support for new preferences "SuppressUserNotification" and "SuppressAutoInstall".
SuppressUserNotification prevents munki from notifying a logged-in user of available updates.

SuppressAutoInstall prevents munki from automatically installing when at the loginwindow.

git-svn-id: http://munki.googlecode.com/svn/trunk@606 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-07-27 16:47:36 +00:00
Greg Neagle
194f2466a5 Fix so postflight script doesn't get run twice.
git-svn-id: http://munki.googlecode.com/svn/trunk@596 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-07-21 21:49:25 +00:00
Greg Neagle
5cf6381db7 Changes to work with new version of Managed Software Update.app
git-svn-id: http://munki.googlecode.com/svn/trunk@584 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-07-21 03:00:55 +00:00
Greg Neagle
941a48aae1 Changed the network up check when running at startup.
git-svn-id: http://munki.googlecode.com/svn/trunk@570 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-07-01 21:46:25 +00:00
Greg Neagle
7f8261ea99 Call recordUpdateCheckResult() when preflight script aborts the managedsoftware update run.
git-svn-id: http://munki.googlecode.com/svn/trunk@559 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-06-22 17:59:30 +00:00
Greg Neagle
68f3aaaabb Pre- and postflight script support.
git-svn-id: http://munki.googlecode.com/svn/trunk@549 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-06-08 20:41:55 +00:00
Greg Neagle
479203fecc Fixes an issue where a bad CatalogURL for Apple Software Update would cause an unhandled exception in appleupdates.py.
Better exception handling in managedsoftwareupdate.

git-svn-id: http://munki.googlecode.com/svn/trunk@548 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-06-08 17:25:15 +00:00
Greg Neagle
59a2697a04 Added support for a "postrun" script.
git-svn-id: http://munki.googlecode.com/svn/trunk@547 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-06-03 22:44:36 +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
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
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
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
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
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
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
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
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