Commit Graph

568 Commits

Author SHA1 Message Date
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