This adds Force Install Notifications support to the MSU GUI, and logouthelper support to managedsoftwareupdate/launchd. Documentation on using the pkginfo force_install_after_date key to come....
This merge also includes localization fixes and on-the-fly updating of the MSU GUI when managedsoftwareupdate runs in the background while the GUI is open, changing InstallInfo.
With this merge, the Munki version is increased to 0.8.0 and MSU GUI version to 3.2.
git-svn-id: http://munki.googlecode.com/svn/trunk@1270 a4e17f2e-e282-11dd-95e1-755cbddbdd66
I ran into a machine where "parts" was: ['|', '|', '"HIDIdleTime"', '=', '1458195167613966'], and since parts[3] is "=" getIdleSeconds() was crashing trying to convert it to int().
So return int(int(parts[3])/1000000000) should really be parts[4] on this machine, but this may be inconsistent on different machines?
# /usr/sbin/ioreg -c IOHIDSystem -d 4 | grep Idle
| | "HIDIdleTime" = 1458351496253133
So let's just use regex to parse the integer out of the line more safely.
git-svn-id: http://munki.googlecode.com/svn/trunk@1103 a4e17f2e-e282-11dd-95e1-755cbddbdd66
s/only_forced/only_unattended/g
Change forced_* pkginfo key names to more accurately describe what's happening, since they're not "forced" in the true sense of the word.
Admins should include both forced_* and unattended_* keys in their pkginfos while migrating to client releases after this change, to ensure both old and new clients have desired pkg push agressiveness :(
git-svn-id: http://munki.googlecode.com/svn/trunk@1098 a4e17f2e-e282-11dd-95e1-755cbddbdd66
--applesuspkgsonly
--munkipkgsonly
options to managedsoftwareupdate to override which packages it looks at
git-svn-id: http://munki.googlecode.com/svn/trunk@1084 a4e17f2e-e282-11dd-95e1-755cbddbdd66
In most invocations of subprocess.Popen, change the bufsize from 1 to -1, which changes from line-buffered to "big" buffers.
Other minor changes to align with the appleupdates,py changes and some pylint-recommended cleanup.
git-svn-id: http://munki.googlecode.com/svn/trunk@995 a4e17f2e-e282-11dd-95e1-755cbddbdd66
Similar defensive coding in installer.py for the InstallResults and RemovalResults keys.
Safer report initialization in managedsoftwareupdate.
git-svn-id: http://munki.googlecode.com/svn/trunk@993 a4e17f2e-e282-11dd-95e1-755cbddbdd66
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
- 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
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
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