2185 Commits

Author SHA1 Message Date
Greg Neagle
d229889c65 Managed Software Update now defaults to using /Library/Managed Installs/InstallInfo.plist if /Library/Preferences/ManagedInstalls.plist is missing or the ManagedInstallDir key is missing.
git-svn-id: http://munki.googlecode.com/svn/trunk@102 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2009-06-24 04:41:28 +00:00
Greg Neagle
7e33fc841d Fixed the broken ImportBom function from my last update.
git-svn-id: http://munki.googlecode.com/svn/trunk@100 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2009-06-02 03:30:49 +00:00
Greg Neagle
012c41674d munkilib.py: fixed default ManifestURL and SoftwareRepo URL
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
2009-05-28 21:30:38 +00:00
Greg Neagle
861172f5d1 MunkiStatus changes:
- changed scaling behavior of backdrop window to better handle displays with different aspect ratios
- main status window now auto-centers on app launch.

git-svn-id: http://munki.googlecode.com/svn/trunk@98 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2009-05-28 17:58:17 +00:00
Greg Neagle
ad8c6abe13 Changed preference keys in ManagedInstalls.plist to be more Apple-like (managed_install_dir becomes ManagedInstallDir, and similar).
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
2009-05-27 18:31:06 +00:00
Greg Neagle
fb6a181b58 Added support for notification of downloaded Apple Software Updates (see relevant changes to installcheck and managedinstaller).
When choosing "Install without logging out", a file is touched in the managed install directory (typically /LibraryManaged Installs/) so that a launchd LaunchDaemon can be triggered.

git-svn-id: http://munki.googlecode.com/svn/trunk@88 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2009-05-22 19:08:41 +00:00
Greg Neagle
82ad48c60e Added support for installcheck and managedinstaller to handle Apple Software Updates.
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
2009-05-22 19:05:57 +00:00
Greg Neagle
b37a3d9884 Renamed managedinstaller.py to managedinstaller.
(an earlier attempt to rename ManagedInstaller directly to managedinstaller caused the local file to be deleted and the commit to fail, so I did the rename in two steps/two commits)

git-svn-id: http://munki.googlecode.com/svn/trunk@75 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2009-05-20 16:37:11 +00:00
Greg Neagle
9ab12d5a8f Renamed managedinstalls.py to munkilib.py.
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
2009-05-20 16:34:17 +00:00
Greg Neagle
bc8b3d2870 ManagedSoftwareUpdate:
New icon. New copyright notice. New bundle ID (com.googlecode.munki.managedsoftareupdate).  Now recommends a logout before install even if a restart is not required.

git-svn-id: http://munki.googlecode.com/svn/trunk@73 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2009-05-20 16:22:59 +00:00
Greg Neagle
13e91c27dc MunkiStatus:
New icon. New copyright notice. New bundle ID (com.googlecode.munki.munkistatus)

git-svn-id: http://munki.googlecode.com/svn/trunk@72 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2009-05-20 16:20:53 +00:00
Greg Neagle
07c640d35b Forgot to add cfconsoleuser.py to repository, so missed on earlier commit. This is the code that ManagedInstall uses to determine if someone is logged in at the console.
git-svn-id: http://munki.googlecode.com/svn/trunk@71 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2009-05-18 21:00:44 +00:00
Greg Neagle
d3466e29e8 ManagedInstaller: added detection of logged in user with warning dialog if a restart is needed
installcheck: beginning of error reporting code.  Currently just prints to stdout.

git-svn-id: http://munki.googlecode.com/svn/trunk@69 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2009-05-18 20:23:35 +00:00
Greg Neagle
3f19a73186 Log out and install button triggers a logout instead of a restart; it's now up to ManagedInstaller to do the right thing.
git-svn-id: http://munki.googlecode.com/svn/trunk@68 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2009-05-18 20:19:54 +00:00
Greg Neagle
babd41b221 Added support for loginwindow masking when run at loginwindow.
git-svn-id: http://munki.googlecode.com/svn/trunk@67 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2009-05-18 20:18:32 +00:00
Greg Neagle
577f0a0c73 Added missing license info to .h and .m files in ManagedSoftwareUpdate and MunkiStatus
git-svn-id: http://munki.googlecode.com/svn/trunk@65 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2009-05-12 19:24:37 +00:00
Greg Neagle
42cccf24c1 Replaced catalogs examples with manifest examples.
Replaced catalogitems examples with pkginfo examples.
Updated getmanifest.py to refer to manifests directory instead of catalogs.

git-svn-id: http://munki.googlecode.com/svn/trunk@62 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2009-05-11 20:02:55 +00:00
Greg Neagle
59f69cf162 Major rewrite and refactoring of the core tools.
installcheck replaces catalogcheck.py.  installcheck supports the new catalog format and the new dependencies.  Cleaned up output and logging.
ManagedInstaller and removepackages tweaked for better logging and MunkiStatus output.
Removed the logout hook examples (for now)
makecatalogitem is now makepkginfo
New makecatalogs tool.

git-svn-id: http://munki.googlecode.com/svn/trunk@50 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2009-05-11 18:03:40 +00:00
Greg Neagle
0e5c04e001 Updated MunkiStatus.xcodeproj
git-svn-id: http://munki.googlecode.com/svn/trunk@47 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2009-05-11 17:56:59 +00:00
Greg Neagle
e226ce2a53 Added ManagedSoftwareUpdate.xcodeproj.
This is a new tool for user notification of available Managed software updates.

git-svn-id: http://munki.googlecode.com/svn/trunk@46 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2009-05-11 17:56:07 +00:00
Greg Neagle
ef6abe9460 Added MunkiStatus.xcodeproject to build MunkiStatus.app.
Added munkistatus.py to communicate with MunkiStstus.app
Modified ManagedInstaller and removepackages to use MunkStatus.app for user feedback instead of iHook.
Removed iHook example files (100.mangagedinstalllogout.hook anbd MI_logout.hook) since we no longer use iHook for user feedback.


git-svn-id: http://munki.googlecode.com/svn/trunk@44 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2009-04-21 21:54:25 +00:00
Greg Neagle
15e145265c Changed receipt/bundle versions to match Apple's five-part versioning:
CFBundleShortVersionString + SourceVersion + BuildVersion

git-svn-id: http://munki.googlecode.com/svn/trunk@41 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2009-03-09 20:08:15 +00:00
Greg Neagle
bd8e67223a git-svn-id: http://munki.googlecode.com/svn/trunk@40 a4e17f2e-e282-11dd-95e1-755cbddbdd66 2009-03-08 19:03:49 +00:00
Greg Neagle
95d4b12964 Added license text to each source code file.
git-svn-id: http://munki.googlecode.com/svn/trunk@39 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2009-03-07 01:08:36 +00:00
Greg Neagle
00fbd62365 Modified application check so removal is attempted only if the version is identical.
Added support for --verbose flag for catalogcheck to suppress a lot of output by default

git-svn-id: http://munki.googlecode.com/svn/trunk@37 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2009-01-22 23:46:11 +00:00
Greg Neagle
96687814e4 Added support for "RestartAction" key to makecatalogitem.py.
Added getInstallerPkgInfo to managedinstalls.py; this uses Apple's command-line installer to query for some info on a package, hopefully insulating us from the various file formats.

git-svn-id: http://munki.googlecode.com/svn/trunk@36 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2009-01-22 00:56:17 +00:00
Greg Neagle
f6e3dbf03f catalogcheck now uses 'installer_item_size" and "installed_size' if present to see if there is enough available disk space before scheduling a download and install of a given item
git-svn-id: http://munki.googlecode.com/svn/trunk@34 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2009-01-20 19:57:24 +00:00
Greg Neagle
23b15ae4d3 In makecatogitem.py, changed "installer_item_size" to KBytes to match "installed_size" and to avoid long integers, which are not supported in plistlib.
git-svn-id: http://munki.googlecode.com/svn/trunk@33 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2009-01-20 18:46:52 +00:00
Greg Neagle
b367494be1 Added support for installer_item_size to makecatalogitem for all package types.
Added support for installed_size to makecatalogitem for some package types: simple bundle packages and some flat packages.  Need to do mpkgs and test dist and other flat styles.
New version of getmanifest.py that properly generates HTTP headers.

git-svn-id: http://munki.googlecode.com/svn/trunk@28 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2009-01-17 00:59:37 +00:00
Greg Neagle
b44ee08841 Added md5checksum support to makecatalogitem and catalogcheck
git-svn-id: http://munki.googlecode.com/svn/trunk@24 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2009-01-16 22:30:34 +00:00
Greg Neagle
69be14a2ff READ ME changes; removed copyright notice for now...
git-svn-id: http://munki.googlecode.com/svn/trunk@21 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2009-01-15 23:55:30 +00:00
Greg Neagle
c3ec755a39 Removed installAtLogout.py, which was older version of ManagedInstaller. Added creation of logdir if it didn't already exist to ManagedInstaller.
Removed duplicate version of MI_logout.hook

git-svn-id: http://munki.googlecode.com/svn/trunk@11 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2009-01-15 18:49:35 +00:00
Greg Neagle
70014c3551 git-svn-id: http://munki.googlecode.com/svn/trunk@9 a4e17f2e-e282-11dd-95e1-755cbddbdd66 2009-01-15 18:24:44 +00:00
Greg Neagle
81e8af2c47 Added code/client/removepackages
git-svn-id: http://munki.googlecode.com/svn/trunk@4 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2009-01-14 22:44:46 +00:00
Greg Neagle
55bce871e4 Initial import
git-svn-id: http://munki.googlecode.com/svn/trunk@2 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2009-01-14 21:41:25 +00:00