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
Greg Neagle
2ac7f26720
Add support for 'installcheck_script' in pkginfo
2012-06-28 11:08:22 -07:00
Greg Neagle
391fda8c23
Receipts marked with optional=true are treated as if they are installed when checking for installed state.
2012-06-28 09:55:50 -07:00
Greg Neagle
b4eb55cd84
makepkginfo now warns when provided a read/write disk image, and does not generate an installer_item_hash.
2012-06-27 16:06:09 -07:00
Greg Neagle
fa5052e247
Merge branch 'master' of https://code.google.com/p/munki
2012-06-25 15:00:59 -07:00
Greg Neagle
cc0ac78964
When matching blocking_applications against running processes, do not match executables inside a bundle, but not in Contents/MacOS.
2012-06-25 15:00:48 -07:00
Heig Gregorian
58dbc9fb95
Added check for 'destination_item' when processing 'remove_copied_items' so that the correct item is removed.
2012-06-22 09:47:20 -07:00
Justin McWilliams
12b3957a53
New Preferences class with ManagedInstallsPreferences and SecureManagedInstallsPreferences subclasses, making it easier for admins to manage preferences from preflight/postflight scripts. This is especially helpful now that reading from and manipulating plists on disk is no longer reliable starting with 10.8. This class functions well on 10.6+, though (possibly even 10.5).
...
Example:
from munkilib import munkicommon
regular_prefs = munkicommon.ManagedInstallsPreferences()
repo_url = regular_prefs.get('SoftwareRepoURL', '')
... make use of repo_url how you wish ...
secure_prefs = munkicommon.SecureManagedInstallsPreferences()
secure_prefs['AdditionalHttpHeaders'] = [list, of, headers]
2012-06-22 12:25:49 -04:00
Heig Gregorian
7289bfefa2
Doc inconsistancy fixed.
2012-06-21 07:55:12 -07:00