Commit Graph

902 Commits

Author SHA1 Message Date
Greg Neagle
1ebd68ebdb Workaround for softwareupdate NSInvalidArgumentException error with OS X 10.8.2 and certain recent Apple updates. 2012-11-06 14:48:11 -08:00
Greg Neagle
39ce59d8fe Merge branch 'master' of https://code.google.com/p/munki 2012-11-06 14:22:29 -08:00
Greg Neagle
0e7c91c266 Like a recent change to reposado, when caching Apple updates, failure to cache a given .dist file is no longer fatal to the caching process 2012-11-06 14:21:58 -08:00
Justin McWilliams
2a020e871b When a user clicks Stop while processing removals, Munki should not crash.
Fixes this traceback:
   Traceback (most recent call last):
   File '/usr/local/munki/managedsoftwareupdate', line 849, in main()
   File '/usr/local/munki/managedsoftwareupdate', line 705, in main
   mustrestart = doInstallTasks()
   File '/usr/local/munki/managedsoftwareupdate', line 225, in doInstallTasks
   need_to_restart = installer.run(only_unattended=only_unattended)
   File '/usr/local/munki/munkilib/installer.py', line 1169, in run
   removallist, only_unattended=only_unattended)
   TypeError: 'bool' object is not iterable
2012-11-05 16:29:21 -05:00
Justin McWilliams
c9b505fc9a Use munkicommon.log() to log Python tracebacks in cases where exceptions are reraised causing Munki to crash and print the same traceback to stderr. Otherwise, the tracebacks are displayed to users twice when running from the commandline. 2012-10-24 18:37:27 -04:00
Justin McWilliams
5a4a4f572e Clearly define and use exit status codes in managedsoftwareupdate.
In cases where unknown exceptions are caught for logging purposes, log and reraise the exception so munki crashes with a Python traceback, instead of exiting.
2012-10-24 12:19:22 -04:00
Justin McWilliams
cc4ddcfb4d Fix invalid string concatenation for "Failed to unmount" warning.
File "/usr/local/munki/munkilib/munkicommon.py", line 874, in unmountdmg
display_warning('Failed to unmount %s' % (mountpoint, err))
TypeError: not all arguments converted during string formatting
2012-10-24 11:21:20 -04:00
Greg Neagle
6f4e92f3c0 Change default Apple Software Update catalogs from .sucatalog.gz versions to .sucatalog versions to work around an issue with Mountain Lion's softwareupdate. (This may affect Lion as well, but I have no solid data on that) 2012-09-17 12:24:49 -07:00
Greg Neagle
bd79a26a84 If a package failure occurs when downloading or installing Apple updates, make _RunSoftwareUpdate return 1 even though /usr/sbin/softwareupdate returns 0 2012-09-13 13:21:43 +02:00
Adam Reed
5c51cefb8f Automate the setting of minimum_os_version to the highest detected OS version dependent upon what we automatically detect from the installer items and / or file item(s) in the following situations:-
* makepkginfo with installer item - set minimum_os_version as detected
* makepkginfo with installer item and file item(s) - set minimum_os_version as detected
* makepkginfo with file item(s) only - do not provide minimum_os_version, regardless of what we detect
* makepkginfo with --minimum_os_version and any of the above options - set minimum_os_version to argument of --minimum_os_version, regardless of what we detect

This patch also sets flat packages to default to 10.5.0 (instead of 10.4.0 which is used for all other items) and requires that if --minimum_os_version is provided that it starts with a digit.
2012-09-05 12:33:35 +10:00
Greg Neagle
c78b4a2c4c Capture stderr from xar so it doesn't appear in makepkginfo output 2012-08-23 11:18:53 -07:00
Heig Gregorian
a5b265f551 Fixed warning printout formatting 2012-08-22 15:14:35 -07:00
Heig Gregorian
b3705ea7b5 Fixes to force unmount call; __CFPREFERENCES_AVOID_DAEMON environment variable set to '1' upon makepkginfo invocation 2012-08-22 14:40:18 -07:00
Heig Gregorian
93fa3f837c Minor doc and formatting update to previous commit; no functional difference 2012-08-22 14:07:59 -07:00
Heig Gregorian
ca3786fe8a Fix for cfprefsd interference; ensure that stdout stream only contains pkginfo xml and not messages intended for the user. 2012-08-22 13:49:57 -07:00
Greg Neagle
f1d8df900e Add signal handler for SIGTERM so objects can get cleaned up if managedsoftware update gets killed. This should cause launchd processes we've started (like for /usr/sbin/installer and /usr/sbin/softwareupdate) to be stopped as well. 2012-08-16 13:47:30 -07:00
Greg Neagle
703c8a7ff0 Use IOKit bindings to assert no idle sleep. Thanks to Michael Lynn, pudquick@github 2012-08-16 12:09:10 -07:00
Greg Neagle
79b5d478d0 Fix spelling of 'Retrieving' 2012-08-15 19:36:10 -07:00
Greg Neagle
8ef3c3ec79 Add doc string to installer.assertNoIdleSleep(); fix use of undefined 'cmd' variable. 2012-08-15 15:41:22 -07:00
Greg Neagle
80cec70612 Add some comments to make clear how the sleep assertion is released. 2012-08-15 15:27:07 -07:00
Greg Neagle
1a9ba0c027 installer.run() now attempts to prevent idle sleep during an install session. 2012-08-15 14:35:47 -07:00
Timothy Sutton
d1be50ea42 Added exception handling for case where we invoke os.makedirs() on missing destination_path 2012-08-10 14:04:25 -04:00
Timothy Sutton
fad5ea741a Create missing destination directories for copy_from_dmg.
In case a copy_from_dmg's destination directory doesn't exist,
create it and any missing parent directories, setting ownership and permissions based on the first available parent.
2012-07-22 00:05:33 -04:00
Timothy Sutton
6e6b050a37 fix for munkiimport only checking dmgs and apps - should check hasValidInstallerItemExt() 2012-07-11 15:25:25 -04:00
Timothy Sutton
93ca31bd3b Further refactoring for hasValid extension check functions
- hasValidPackageExt(), hasValidDiskImageExt() for the appropriate
  extensions, and hasValidInstallerItemExt() to call them
- replace many checks to use the above
- munkiimport.py now uses munkicommon.isApplication() to do the
  equivalent of checking endswith('.app')
- fix an errand merge ancestor from an old unrelated munkiimport
  branch
2012-07-11 13:56:23 -04:00
Greg Neagle
167a5ef810 Don't ignore an unattended_install whose RestartAction is explictly 'None'. 2012-07-07 11:52:03 -07:00
Heig Gregorian
66a4b763c0 Minor changes to wording of "destination item (name)" option to indicate that it is a name and not a full path.
This option is now stored as 'options.destitemname'
2012-07-06 10:17:43 -07:00
Heig Gregorian
eb75e13be9 Typo fixed for setting 'blocking_applications' array
Option is called '--block_application', however, it should be written
as 'blocking_applications' to the pkginfo dict.
2012-07-06 08:53:48 -07:00
Heig Gregorian
af723cb710 Updates to help docs provided by "drag-n-drop" options such that they don't explicitly refer to what's been set by '--item', but rather the item that's been copied.
Option help takes on a more generic tone to reflect the possibility
that '--destinationitem' has been specified.
2012-07-03 16:10:39 -07:00
Heig Gregorian
147acdd92a Inline documentation added to provide a bit of clarity 2012-07-03 08:53:46 -07:00
Heig Gregorian
2e05588206 Improved help output for '--destinationitem' option.
Explicitly states that the "installs" item's path is modified such that
it includes the alternate name as opposed to the disk image item's
original name.
2012-07-03 08:45:53 -07:00
Heig Gregorian
647cb861f4 Support for providing 'destination_item' name when processing a "drag n drop" installation. 2012-07-02 12:54:21 -07:00
Greg Neagle
0ab2b9c6a3 Merge https://code.google.com/r/arjenvanbochoven-munki 2012-07-02 11:44:33 -07:00
Arjen van Bochoven
5daf8ce9d4 Fixed wrong condition in makecatalogs 2012-07-02 20:36:10 +02:00
Greg Neagle
f723da036e Pylint cleanups 2012-07-02 11:05:46 -07:00
Greg Neagle
1c914a9ead Pylint cleanups 2012-07-02 10:55:05 -07:00
Greg Neagle
084a8d76aa Pylint cleanups 2012-07-02 10:45:08 -07:00
Greg Neagle
0a928661b8 PyLint cleanups 2012-07-02 10:42:59 -07:00
Greg Neagle
422a9fe28a Merge https://code.google.com/r/arjenvanbochoven-munki 2012-07-02 09:40:04 -07:00
Greg Neagle
5faf201872 Merge branch 'installer-copy_as' of https://code.google.com/r/theheig-conditionals 2012-07-02 09:19:50 -07:00
Greg Neagle
09b99891bd Merge branch 'makepkginfo' of https://code.google.com/r/theheig-conditionals 2012-07-02 09:12:00 -07:00
Arjen van Bochoven
0b495c7a14 Changed package_less install flag to installer_type=nopkg 2012-07-02 11:57:38 +02:00
Arjen van Bochoven
6f7ddf7b59 Added ! to installer_item to make it less likely someone uses this as filename 2012-07-01 08:19:26 +02:00
Arjen van Bochoven
01ddeb765d Added packageless_install 2012-06-30 22:52:22 +02:00
Heig Gregorian
6f7699b002 Simplified by determining 'full_destpath' which changes depending on if 'destination_item' has been supplied
Addition of 'full_destpath' cuts down on redundant checks against
'dest_itemname' at various stages in the process.
2012-06-30 10:44:49 -07:00
Greg Neagle
27ca3a2768 Pay attention to return value from self.CheckForSoftwareUpdates 2012-06-29 21:51:04 -07:00
Justin McWilliams
a788ac2e06 If a corrupt Apple Software Update dist file fails to parse when detecting blocking applications, simply assume there are no blocking applications instead of crashing. 2012-06-29 15:40:15 -04:00
Heig Gregorian
ebbeaf7c4c Added support for "(un)installcheck_script" inclusion into a pkginfo file.
Syntax is the same as any previous script embed.
2012-06-29 11:30:06 -07:00
Heig Gregorian
e1504af2b0 Merge branch 'master' into installer-copy_as 2012-06-29 11:04:07 -07:00
Greg Neagle
7d3d7d1ac8 Add support for uninstallcheck_script; fix some bad variable names 2012-06-29 08:39:23 -07:00