- 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
If there's a download error, make sure what gets sent to munkicommon.display_error is a string; otherwise we get an unhandled exception when writing out our report.
Add "localmanifestpath" option to updatecheck.check(). This may be used if I implement the alternate Apple Software Update mechanism, and should also be useful for a future Puppet package provider or any programmatically-generated manifest.
git-svn-id: http://munki.googlecode.com/svn/trunk@847 a4e17f2e-e282-11dd-95e1-755cbddbdd66
• Package version is calculated from munki version and svn revision.
• Package info and resources are set up before calling packagemaker.
• Package creation is made mainly with standard user privileges, sudo is used where necessary.
• It's now possible to build partial packages by specifying one or more of Applications, Library, and usr (everything is included by default).
A little more work is needed to build flat packages due to differences in package information handling.
git-svn-id: http://munki.googlecode.com/svn/trunk@836 a4e17f2e-e282-11dd-95e1-755cbddbdd66
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
- 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
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
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
add --description and --displayname args to set description and display_name pkginfo plist keys.
git-svn-id: http://munki.googlecode.com/svn/trunk@795 a4e17f2e-e282-11dd-95e1-755cbddbdd66