Commit Graph

119 Commits

Author SHA1 Message Date
Heig Gregorian 6dbbe4c047 Added a '--verify-options-only' option to makepkginfo. Munkiimport makes use of this new option to derive installer_item. The overall result is that now, the /path/to/installer_item may be anywhere in the options string, however only the first /path/to/installer_item will be used.
def makePkgInfo can be passed an 'item_path' of "None" in order to
invoke the testing mode and its interpretation of various exit codes
including the presumed /path/to/installer_item and ignoring any
additional installer_items specified.
2012-05-07 13:35:22 -07:00
Heig Gregorian f4f72174be Added new function to read an option_value as either a plain string or path to file
Since adding the '--notes' option, which can either be a simple string
or the contents of a file (if a valid path is supplied), this same
functionality has been extended to the '--description' option.

Providing a function so that this same operation can be used in other
areas seemed like the logical thing to do.
2012-05-03 11:14:34 -07:00
Heig Gregorian 01c3db99e6 Added alternate option names for 3 items specified as options in 'munkiimport' which are now present as options for 'makepkginfo' 2012-05-02 20:56:43 -07:00
Heig Gregorian 6d45a7108b '--notes' option added
Notes provide an area for administrators to store information that is
purely reserved for administrative use and not considered in any type
of munki processing.
2012-05-01 18:35:33 -07:00
Heig Gregorian c8ad63c707 Added tolerance to '--RestartAction' option
If a valid restart action is not provided, use best guess by keying
words "restart" and "logout" if they're provided within the argument's
string.
2012-05-01 15:43:30 -07:00
Heig Gregorian 534a8a1ac5 Usage information updates for "update_for, requires, and blocking_applications" 2012-05-01 14:37:17 -07:00
Heig Gregorian bafb9a1701 '--autoremove' option added for 'makepkginfo'
Improved option usage information.
2012-05-01 14:22:09 -07:00
Heig Gregorian 03e6ddc1aa Three new array options for 'makepkginfo' added
--update_for - populates the 'update_for' array
--requires - populates the 'requires' array
--blocking_applications - populates the 'blocking_applications' array
2012-05-01 14:16:22 -07:00
Heig Gregorian bd42067450 Added '--RestartAction' option to 'makepkginfo'
Valid actions that can be specified are:
RequireRestart
RequireLogout
RecommendRestart
2012-05-01 13:44:33 -07:00
Heig Gregorian b4ba365fe9 Added '--force_install_after_date' option to 'makepkginfo'; uses a new function defined in 'munkicommon.py' for validation (see below).
munkicommon.validateForceInstallAfterDateFormat may be useful in other
areas.

The function is tolerant to some "errors" such as single-digit month or
day or even two-digit year.
2012-05-01 11:39:16 -07:00
Heig Gregorian 1e0d0842c7 Argument passed to 'getChoiceChangesXML' now matches the argument used in preceding calls to 'getPackageMetaData'
Minor usage note changed for '--installer_choices_xml' as well as
proper os_version comparison as to NOT exclude Mac OS X 10.6.6.

Modified 'munkicommon.getChoiceChangesXML' to return 'choices' even if
empty.
2012-05-01 08:49:46 -07:00
Heig Gregorian ad90d63611 Options added to makepkginfo
--unattended_install
--unattended_uninstall
--minimum_os_version
--minimum_os_version
--installer_choices_xml (ONLY 10.6.6 or later)

Code to generate installer_choices_xml added to munkicommon.py library.
2012-04-30 18:53:55 -07:00
Greg Neagle 0e0f0b48b0 Clearer error message when more than one argument is given to makepkginfo and munkiimport. 2012-01-17 08:33:08 -08:00
Greg Neagle ca03bb0325 Output tweaks; munkicommon.mountdmg() can now mount disk images containing End User License Agreements 2012-01-04 13:54:04 -08:00
Greg Neagle 51f79798e1 makepkginfo now allows "naked" pre- and postuninstall_script options (that is, no package needed):
makepkginfo --preuninstall_script=/path/to/script
makepkginfo --postuninstall_script=/path/to/script

git-svn-id: http://munki.googlecode.com/svn/trunk@1199 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2011-05-25 17:09:18 +00:00
Greg Neagle b176a55c0d Add support for pre- and postuninstall_script options to makepkginfo.
git-svn-id: http://munki.googlecode.com/svn/trunk@1191 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2011-05-24 02:40:26 +00:00
Greg Neagle 3dce11a31b Expand '~' and '~username' constructions in paths to pre/post/uninstall_scripts.
git-svn-id: http://munki.googlecode.com/svn/trunk@1166 a4e17f2e-e282-11dd-95e1-755cbddbdd66
2011-05-06 04:13:09 +00:00
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