152 Commits

Author SHA1 Message Date
Greg Neagle
f6f28d8255 Add:
--postinstall_script
  --preinstall_script
  --uninstall_script
options to makepkginfo to assist in embedding these kinds of scripts.

git-svn-id: http://munki.googlecode.com/svn/trunk@1164 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2011-05-05 21:03:17 +00:00
Greg Neagle
1c9e5784c1 - forced_installs and forced_uninstalls now work with items that are part of a dependency relationship
- makecatalogs now has no OS X-specific dependencies

- munkiimport fixes for repos hosted via SMB/CIFS.

git-svn-id: http://munki.googlecode.com/svn/trunk@1097 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2011-04-06 21:54:29 +00:00
Greg Neagle
69705bb33e Change version number handling to eliminate padding/truncating version numbers to five positions (ala 1.0.0.0.0).
git-svn-id: http://munki.googlecode.com/svn/trunk@1016 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2011-01-31 21:38:47 +00:00
Greg Neagle
a853f78c9f Update copyright dates across the board.
git-svn-id: http://munki.googlecode.com/svn/trunk@1010 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2011-01-25 18:22:14 +00:00
Greg Neagle
abe3d2a1de appleupdates.py now creates its own .dist files to manage installation of downloaded Apple Software Updates, replacing the earlier technique of just installing the individual packages in filename order.
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
2011-01-14 19:11:05 +00:00
John Randolph
ffe6722d87 wrap os.listdir() to decode utf-8 unicode into unicode objects
change all code locations using os.listdir() to use munkicommon.listdir()



git-svn-id: http://munki.googlecode.com/svn/trunk@941 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-11-30 16:28:45 +00:00
MagerValp
7e8931968d Added --version/-V to all interactive tools.
git-svn-id: http://munki.googlecode.com/svn/trunk@846 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-10-23 08:37:37 +00:00
Greg Neagle
157f82b690 Removed abandoned Adobe options from usage check.
git-svn-id: http://munki.googlecode.com/svn/trunk@842 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-10-21 22:50:31 +00:00
Greg Neagle
fec07df83e Again trying to remove MunkiStatus
git-svn-id: http://munki.googlecode.com/svn/trunk@804 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-10-16 00:30:30 +00:00
Justin McWilliams
543fa4397a makepkginfo: added notes in --help about --description and --display_name overriding any such values in the package itself.
git-svn-id: http://munki.googlecode.com/svn/trunk@798 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-10-15 18:30:53 +00:00
Justin McWilliams
427c6c826c makepkginfo:
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
2010-10-14 19:40:43 +00:00
Greg Neagle
4271cc5cc0 Fixed group and mode options for copy_from_dmg install type. Previously these were (mistakenly) ignores if --user was not specified, and if --user was specified, group and mode were attempted to be written to the plist even if they weren't defined, leading to a broken plist.
git-svn-id: http://munki.googlecode.com/svn/trunk@771 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-10-04 20:09:51 +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
7b4a610db3 Print warning if pkg given is a bundle-style package.
git-svn-id: http://munki.googlecode.com/svn/trunk@717 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-09-03 02:17:50 +00:00
Justin McWilliams
bf8cb1b7eb Package SHA-256 Hash verification
git-svn-id: http://munki.googlecode.com/svn/branches/pkg-hash-verification@699 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-08-31 15:15:47 +00:00
Greg Neagle
bdefc367b3 Fix so an empty receipts array doesn't cause an unhandled exception
git-svn-id: http://munki.googlecode.com/svn/trunk@674 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-08-25 15:05:05 +00:00
Greg Neagle
c05fd84372 pylint cleanup
git-svn-id: http://munki.googlecode.com/svn/trunk@655 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-08-04 23:03:26 +00:00
Greg Neagle
915679291f Move getmd5hash to munkicommon.
git-svn-id: http://munki.googlecode.com/svn/trunk@654 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-08-04 22:49:05 +00:00
Greg Neagle
33c986b226 Updated help text for makepkginfo.
git-svn-id: http://munki.googlecode.com/svn/trunk@637 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-08-02 18:48:03 +00:00
Greg Neagle
de4d656bca Replaced (old) use of 'pkgname' a few places with (new) options.pkgname.
git-svn-id: http://munki.googlecode.com/svn/trunk@619 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-07-29 14:20:03 +00:00
Greg Neagle
03cd5fd55c Removed --installxml, --uninstallxml and --serialnumber options from makepkginfo since we're no longer supporting CS5 installs that aren't processed with AAMEE.
git-svn-id: http://munki.googlecode.com/svn/trunk@614 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-07-28 23:57:34 +00:00
Greg Neagle
f7595cb979 Added support for installing Adobe CS5 products packaged with AAMEE tool. Removed support for "naked" (unpackaged) CS5 installs.
-appdmg flag to makepkginfo causes it to make old-style appdmg info if appropriate.

git-svn-id: http://munki.googlecode.com/svn/trunk@613 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-07-28 23:54:38 +00:00
Greg Neagle
83ed22f3af installer.py: new copyFromDMG method that copies an arbitrary list of items from a mounted DMG to specified locations.
New removeCopiedItems method that removes the same list of items from the startup disk.


updatecheck.py: support for new copy_from_dmg and remove_copied_items methods.

makepkginfo: support for making pkginfo with new copy_from_dmg method,

git-svn-id: http://munki.googlecode.com/svn/trunk@603 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-07-26 23:26:25 +00:00
Greg Neagle
67c7d092db makepkginfo: CS5 changes
git-svn-id: http://munki.googlecode.com/svn/trunk@583 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-07-21 02:59:44 +00:00
Greg Neagle
fa860b71ef More Adobe CS5 support.
git-svn-id: http://munki.googlecode.com/svn/trunk@552 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-06-21 17:42:30 +00:00
Greg Neagle
3f35305a42 More CS5 changes. Now handle the AdobePatchInstaller included with CS5 updates.
git-svn-id: http://munki.googlecode.com/svn/trunk@551 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-06-18 22:24:47 +00:00
Greg Neagle
d555861c4f Fixed bug in getCatalogInfoFromDmg that could lead to an unhandled exception if there are no supported installer items on a disk image.
git-svn-id: http://munki.googlecode.com/svn/trunk@520 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2010-04-08 22:30:04 +00:00
Greg Neagle
6125f77293 Changes to support installation of Adobe Acrobat Pro 9 updates.
git-svn-id: http://munki.googlecode.com/svn/trunk@415 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2009-12-24 20:27:33 +00:00
Greg Neagle
68ab8e5c61 Added error message when we can't mount a disk image.
git-svn-id: http://munki.googlecode.com/svn/trunk@412 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2009-12-19 05:11:31 +00:00
Greg Neagle
d355c27e9f Using munkicommon.getVersionString() instead of directly reading CFBundleShortVersionString to work around edge cases consistently.
Tweaks in finding apps for appdmg

git-svn-id: http://munki.googlecode.com/svn/trunk@406 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2009-12-16 17:50:30 +00:00
Greg Neagle
d561d24f75 Fixed issue with makepkginfo when generating "installs" items with no path to an installer item
git-svn-id: http://munki.googlecode.com/svn/trunk@390 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2009-12-03 00:03:38 +00:00
Greg Neagle
1d31cb6267 Added support for a new "autoremove" key in package info. Packages with autoremove set to True will be automatically removed if they are not in the managed_installs list of the primary manifest or any included manifest.
git-svn-id: http://munki.googlecode.com/svn/trunk@381 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2009-11-24 21:14:53 +00:00
Greg Neagle
c51bff7647 Fix when looking for install item in mounted disk image.
git-svn-id: http://munki.googlecode.com/svn/trunk@376 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2009-11-19 03:27:19 +00:00
Greg Neagle
9322485665 Added support for a 'package_path' key in pkg info to indicate a specific package on a disk image containing multiple packages, or where the package to be installed is not at the root of the disk image.
For Adobe packages, 'package_path' now replaces 'adobe_package_name' with the same functionality.

git-svn-id: http://munki.googlecode.com/svn/trunk@368 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2009-11-18 17:46:56 +00:00
Greg Neagle
827c4b5264 Cleaned up exception handling
git-svn-id: http://munki.googlecode.com/svn/trunk@356 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2009-11-18 04:39:24 +00:00
Greg Neagle
5ea46d211b PEP-8 line length cleanup
git-svn-id: http://munki.googlecode.com/svn/trunk@355 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2009-11-18 04:15:59 +00:00
Greg Neagle
425e9c6591 makepkginfo can now create pkginfo for Adobe CS3 installers; better metadata for CS4 installers as well.
git-svn-id: http://munki.googlecode.com/svn/trunk@329 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2009-11-16 19:56:51 +00:00
Greg Neagle
fce4f6fab2 Added a check for diskimages with Software License Agreements. These cannot be automatically mounted by hdiutil, so they are useless to munki.
git-svn-id: http://munki.googlecode.com/svn/trunk@295 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2009-10-23 22:58:56 +00:00
Greg Neagle
660a8a8e98 Added support for "appdmg" package type. This is a dmg that contains a single application at the root of the mounted dmg, which is then copied to /Applications (for install) or simply rm -rf /Applications/appname (for removal).
makepkginfo generates pkginfo files for this package type, and updatecheck.py and installer.py have the appropriate additions.

git-svn-id: http://munki.googlecode.com/svn/trunk@279 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2009-10-22 21:42:57 +00:00
Greg Neagle
c88108f207 Merged makeadobepkginfo and makepkginfo.
git-svn-id: http://munki.googlecode.com/svn/trunk@275 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2009-10-21 18:55:21 +00:00
Greg Neagle
f8b28a05fb makepkginfo can now be called with only -f arguments, and no actual install item. This generates a list of filesystem items which can by manually added to the 'installs' key of a pkginfo item.
git-svn-id: http://munki.googlecode.com/svn/trunk@266 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2009-10-20 23:37:46 +00:00
Greg Neagle
4872ce7776 Removed commented out lines as part of a general cleanup.
git-svn-id: http://munki.googlecode.com/svn/trunk@214 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2009-09-17 00:01:37 +00:00
Greg Neagle
75a1f96f9f Changed from #!/usr/bin/env python to #!/usr/bin/python because we need to use Apple's installed Python, and not whatever python the user happens to be using...
Added support for CFBundleVersion when CFBundleShortVersionString is missing.

git-svn-id: http://munki.googlecode.com/svn/trunk@209 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2009-09-14 16:51:32 +00:00
Greg Neagle
445962ec20 Updated makepkginfo to use munkilib/FoundationPlist.py instead of plistlib.
git-svn-id: http://munki.googlecode.com/svn/trunk@174 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2009-08-20 17:56:12 +00:00
Greg Neagle
423c31340d Lots of replacing of plistlib.readPlist() with munikcommon.readPlist() so we can handle binary plists.
More fixes for JAMF Composer-generated packages.

git-svn-id: http://munki.googlecode.com/svn/trunk@150 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2009-07-31 16:34:02 +00:00
Greg Neagle
dc30a741f8 Print error message if no valid installer item is found on a disk image, and if we can't extract info from .pkg or .mpkg items. Fix for http://code.google.com/p/munki/issues/detail?id=1
git-svn-id: http://munki.googlecode.com/svn/trunk@146 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2009-07-31 14:34:25 +00:00
Greg Neagle
07cfc5235c Moved all support libraries into munkilib package.
Combined installcheck and managedinstaller into managedsoftwareupdate to avoid race conditions between the two tools.
Removed support for Apple Software Updates (because it didn't work correctly!)


git-svn-id: http://munki.googlecode.com/svn/trunk@112 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2009-07-14 18:04:34 +00:00
Greg Neagle
07fc86c9d7 munkilib.py:
- 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
2009-07-09 06:13:01 +00:00
Greg Neagle
c435d139ba munkilib.py:
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
2009-06-24 04:58:17 +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