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
Heig Gregorian
5244f03e5a
Merge branch 'master' into dev
2012-04-30 07:27:19 -07:00
Justin McWilliams
9efc4c7680
Fix ccb5f6b6cc -- move skipdirs into global const that's a prepopulated set of exclusion dirs.
2012-04-27 16:59:15 -04:00
ogle
ccb5f6b6cc
Add /private/* to the isExcludedFilesystem skipdirs.
...
Also, change skipdirs from a list to a set for far faster "in" operator performance.
2012-04-27 20:38:44 +00:00
Heig Gregorian
33e90e562e
Merge branch 'master' into dev
2012-04-27 10:38:28 -07:00
Greg Neagle
39dcec0c44
Changes in updatecheck to better find installed items that have overlapping receipts with other items in the Munki repo. This specifically makes Munki better able to identify iLife'08 vs. iLife'09 vs. iLife'11, and therefore makes Munki actually capable of removing any of these, which was problematic before.
2012-04-27 10:28:32 -07:00
Greg Neagle
f1f0846e2e
Fix for munkicommon.getLSInstalledApplications(): use NSURL instead of FSRef, so no need to call LaunchServices.LSGetApplicationForURL(). Faster and hopefully more reliable.
2012-04-27 10:25:19 -07:00
Greg Neagle
b5e9c4e607
Bump version.plist to 0.8.3 for next series of releases
2012-04-27 10:22:12 -07:00
Heig Gregorian
ca5cc92277
Write all available conditions (admin-provided and built-in) to a 'Conditions' dict in 'ManagedInstallReport.plist'
...
Previously, admin-provided conditions were written to the
'ConditionalItems' dict. Some built-in information was also being
written to the 'MachineInfo' dict, however this is not fully
representative of all built-in conditions that are collected. Since
INFO_OBJECT is used as the basis for predicate comparison, its entirety
will be written to the 'Conditions' dict in
'ManagedInstallReport.plist', replacing 'ConditionalItems'. The
'MachineInfo' dict will remain untouched as it is used for reporting
mechanisms.
2012-04-27 08:51:11 -07:00
Greg Neagle
2ac635afac
add back the return of SoftwareUpdate's return code at the end of AppleUpdates._RunSoftwareUpdate(). Mistakenly removed on Feb 15 2012 in revision 2a1cf963e4
2012-04-13 13:55:46 -07:00
Greg Neagle
fc2b388209
Deprecation warning if install_type 'appdmg' is encountered; display error instead of just logging if we encounter an install_type we don't know how to handle.
2012-04-10 11:46:38 -07:00
Greg Neagle
d67452e56a
refactor of copying items from disk image to fix some logic errors. Thanks to raphendyr.
2012-04-10 11:36:07 -07:00
ogle
6c243e74a0
s/Retreiving/Retrieving/ in 'Retreiving catalog "%s" ...' MSU message.
...
i before e except after c
2012-03-27 22:08:55 +00:00
Greg Neagle
21079ca718
Skip /.MobileBackups directory when scanning for apps; make sure all Exceptions are converted to strings before sendning to display_error
2012-03-25 19:21:54 -07:00
Greg Neagle
b0e713fdda
Fix a call to lookForUpdatesForVersion() with the wrong number of parameters
2012-03-22 14:58:58 -07:00
Greg Neagle
d95481b93e
Merge branch 'dev' of http://code.google.com/r/theheig-conditionals
2012-03-13 21:16:32 -07:00
Greg Neagle
97c670bab4
appleupdates.py now generates blocking_applications lists for Apple updates
2012-03-13 17:22:54 -07:00
Heig Gregorian
b42bec7aef
Improved print-out for 'Found' updates
2012-03-09 10:43:09 -08:00
Greg Neagle
866c31ecd6
Changes in how we look for updates that have a version number appended
2012-03-08 11:20:20 -08:00
Heig Gregorian
2fde9b96d7
Remove Conditions.plist once CONDITIONS has been populated and output CONDITIONS to ManagedInstallReport.plist
2012-03-05 11:12:55 -08:00
Heig Gregorian
0f79dfc985
Added some additional inline documentation
2012-03-05 10:21:15 -08:00
Heig Gregorian
f02b78b78e
Don't process directories within conditions directory. Fixed variable name misspelling
2012-03-05 08:45:17 -08:00
Heig Gregorian
e2780c867e
Validate plist before including in CONDITIONS dict
2012-03-05 08:13:21 -08:00
Heig Gregorian
c6be815303
Removed changes to predicateEvaluatesAsTrue. Conditional scripts must now write output to ConditionalItems.plist which is then parsed to the CONDITIONS dict for inclusion into the INFO_OBJECT dict
2012-03-05 07:34:59 -08:00
Heig Gregorian
afce440698
Initial commit for conditional items framework extension
2012-03-02 14:10:34 -08:00
Greg Neagle
ba1238b452
Fix: forgot to replace plistlib.readPlistFromString with FoundationPlist.readPlistFromString when copying code from test environment.
2012-03-01 19:33:23 -08:00
Greg Neagle
ee046b6dc9
ipv4_address is an available attribute for conditional_items; this attribute contains an array of active IPv4 addresses. A sample comparison might look like <string>ANY ipv4_address CONTAINS '192.168.161.'</string>
2012-03-01 17:06:58 -08:00
Greg Neagle
0cf1ad4089
Minor tweak when processing updates for items already installed and manifest specifies a version
2012-03-01 17:04:18 -08:00
Greg Neagle
f97b63a9bf
Better processing of requires and update_for items when names have versions appended.
2012-02-29 13:42:43 -08:00
Greg Neagle
fd45dd6ece
More changes to parsePkgRefs to better parse Apple distribution files
2012-02-24 10:07:11 -08:00
Greg Neagle
6bdd5a6782
Changes to several package-parsing methods in munkicommon.py to enable makepkginfo to get a more accurate list of receipts from Apple metapackages; examples are Xcode releases before 4.3 and the command_line_tools for Xcode 4.3
2012-02-23 10:32:38 -08:00
Justin McWilliams
d20ea289d2
If an item is already in the cache, set download_speed to 0. Previously I just assumed this would always be the case, but I've seen download_installeritem() take 1-2 seconds on larger packages (presumably because of hashing?)
2012-02-16 11:28:39 -05:00
Greg Neagle
2a1cf963e4
Fix issue where managedsoftwareupdate --auto or --quiet would print percentage-done indicators to STDOUT when checking for Apple updates or when removing packages.
2012-02-15 15:17:09 -08:00
Greg Neagle
34ab750460
Changes to allow curl to follow redirects when retreiving an Apple sucatalog; this is needed to support Lion Server's Software Update service.
2012-02-14 16:51:34 -08:00
Greg Neagle
5489fb5dc3
updatecheck.py enoughDiskSpace() -- coerce all installed_size values to integers when calculating available disk space. Fix for broken pkginfo editing that saved installed_size as string instead of integer.
2012-02-14 09:41:08 -08:00
Justin McWilliams
d8e4c6cb15
Ignore calculating download speeds for downloads under 1 MB so small files don't skew avg speeds, as *sustained* download speeds are more helpful.
2012-02-13 10:52:53 -05:00
Justin McWilliams
89e2ab8b81
Move getPIDforProcessName() out of munkicommon and into utils, so it can be
...
used in modules that munkicommon also imports.
2012-02-10 18:05:51 -05:00
Justin McWilliams
063dc935a5
plists cannot store NoneType, so store 0 for unknown download_kbytes_per_sec
2012-02-10 12:51:27 -05:00
Justin McWilliams
11e5818b75
updatecheck now calculates download speed (KB/s) and installer writes it to ManagedInstallReport.plist::InstallResults dictionaries.
2012-02-10 11:27:45 -05:00
Greg Neagle
2780b414cc
Bump version.plist to 0.8.2 for upcoming release
2012-02-09 16:35:13 -08:00
Greg Neagle
05e6aa57e9
Adobe CS4 installs now attempt to kill stalled Adobe AIR processes, just like CS5 installs. This allows installs at the loginwindow to succeed.
2012-02-09 08:28:21 -08:00
Greg Neagle
02a8b0cfc6
Move getPIDforProcessName into munkicommon for use by both munkistatus and adobeutils
2012-02-04 12:13:46 -08:00
Greg Neagle
856a943ff3
Fix for optional_installs managed_uninstalls -- bad intentation
2012-02-03 17:28:58 -08:00
Justin McWilliams
32d0241c89
Replace plist footer magic number with calculated string length, ala http://code.google.com/p/munki/source/detail?r=24bb604dfa2494c7c904e13b8a1dee18a17ef25f for plist header.
2012-01-24 12:53:39 -05:00
Justin McWilliams
24bb604dfa
Replace magic number with calculated string length, for easier readability and future maintainability.
2012-01-24 12:12:11 -05:00
Justin McWilliams
6c06a48fd7
Clean up appleupdates.GetSoftwareUpdateResource and RetrieveURLToCacheDir docstrings.
2012-01-24 12:05:26 -05:00
Greg Neagle
b651165187
ApplicationInventory.plist now contains filename and CFBundleName for each application item.
2012-01-20 15:03:00 -08:00
Greg Neagle
638e869bc5
Merge branch 'master' into curl-refactor
2012-01-19 08:39:51 -08:00