- changes to pythonScriptRunning() to allow the tools to detect if another instance of themselves is running
- updated getBundlePackageInfo() to handle pre-dist style .mpkgs
removepackages.py:
- changes to handle multiple receipts with the same packageid
installcheck:
- removed random sleep option - this will move to another tool so we don't have installcheck itself sleeping; this prevented the other tools from running if you happened to, say, call managedinstaller while installcheck was sleeping.
- installcheck checks to see if another instance of itself is running and exits if so
- suppress errors when getting the primary manifest and trying long hostname, then short hostname, then "site_default".
makecatalogs:
- don't try to process ._ files or .DS_Store files.
makepkginfo:
- try to generate a better installer_item_location if the path has "/pkgs" in it
git-svn-id: http://munki.googlecode.com/svn/trunk@110 a4e17f2e-e282-11dd-95e1-755cbddbdd66
Workaround for broken ScriptingBridge to SystemConfiguration in an unreleased OS version.
removepackages.py:
for an unreleased OS version, no longer manipulate the Apple receipts DB using sqlite3, but instead just use pkgutil (and other related changes)
munkistatus.py:
munkistatus.message() now clears the detail field.
managedinstaller:
removed explicit clearing of munkistatus detail
makecatalogs:
more progress and error reporting when building catalogs
makepkginfo:
add default catalogs, uninstallable, and uninstall_method info to dictionary
git-svn-id: http://munki.googlecode.com/svn/trunk@104 a4e17f2e-e282-11dd-95e1-755cbddbdd66
removepackages.py: better output capture when calling `lsbom`
installcheck: better output capture when calling `softwareupdate`
Now creates catalogs dir in ManagedInstallDir if it's missing
managedinstaller: better output capture when calling `installer`
git-svn-id: http://munki.googlecode.com/svn/trunk@99 a4e17f2e-e282-11dd-95e1-755cbddbdd66
munkilib now uses Foundation/NSDictionary methods to read /Library/Preferences/ManagedInstalls.plist in case the plist gets converted to binary (for example, if it was modified using the defaults command).
Added support for Software Update downloads that aren't .pkgs, or .mpkgs, but rather directories containing ".dist" files.
installcheck now uses the values of LastNotifiedDate and DaysBetweenNotifications in ManagedInstalls.plist to throttle Managed Software Update.app notifications. The default behavior is to notify no more than once a day.
git-svn-id: http://munki.googlecode.com/svn/trunk@93 a4e17f2e-e282-11dd-95e1-755cbddbdd66
Moved some functions from makepkginfo to munkilib so installcheck could use them.
Added checking to installcheck, managedinstaller, and removepackages.py so they warn and exit if run by a non-root user.
Added checks to installcheck and mamangedinstaller so that they exit if the other is running.
git-svn-id: http://munki.googlecode.com/svn/trunk@87 a4e17f2e-e282-11dd-95e1-755cbddbdd66
Removed cfconsoleuser.py. Its function was added to munkilib.py.
Renamed ManagedInstaller to managedinstaller.py. Next commit it will be renamed to managedinstaller.
Renamed removepackages to removepackages.py
Refactored removepackages.py so it can be called as a Python module as well as a command-line tool.
managedinstaller.py now calls removepackages.py as a module instead of as a subprocess.
Cleaned up globals in installcheck, managedinstaller, and removepackages.
Removed bad copyright info from makcatalogs.
git-svn-id: http://munki.googlecode.com/svn/trunk@74 a4e17f2e-e282-11dd-95e1-755cbddbdd66