Greg Neagle
588b48f141
Merge branch 'master' of https://code.google.com/p/munki
2013-04-24 17:01:49 -07:00
Greg Neagle
8558292a63
Fix makepkginfo --force_install_after_date to create a date object for the pkginfo plist instead of a string.
2013-04-24 17:01:35 -07:00
ogle
72662f2614
If a force_install_after_date install is near/past it's due date, logouthelper should be started (the machine should be forcefully rebooted) even if someone is logged in but the session is at the loginwindow (fast user switching). Force should not be "force unless x, y, z".
2013-04-19 22:25:08 +00:00
Greg Neagle
614473d0d2
Merge branch 'munkiimport_repopath_0.8.4' of https://code.google.com/r/adamjreed-munki
2013-04-18 14:16:37 -07:00
Adam Reed
00e6afc33c
Add --repo_path and --repo_url options to munkiimport to allow the user to override the default repo_path and repo_url options set via munkiimport --configure at runtime
2013-04-18 21:10:01 +10:00
Greg Neagle
52fd32f0dc
If we are about to do an install at the loginwindow, check to see if FileSyncAgent.app is running. This might be HomeSync running during a login process. If so, don't install.
2013-04-15 16:01:24 -07:00
Greg Neagle
fc8c36d1fa
Change apple_item logic in updatecheck.processRemoval to match that in updatecheck.processInstall. Specifically, allow admin to override detection of apple_item by explictly setting it in the pkginfo.
2013-04-11 14:28:40 -07:00
Greg Neagle
52468cc6c2
Update version.plist to 0.9.0 for next development round.
2013-04-08 10:02:43 -07:00
Greg Neagle
396e3e5d79
Fix manifestutil remove-catalog usage message.
2013-04-05 13:41:57 -07:00
Greg Neagle
bb3ff68892
Unicode filename fixes for makecatalogs.
2013-04-04 12:08:26 -07:00
Greg Neagle
7882edfbc1
Better info/warning messages when Apple update metadata conflicts with existing RestartAction
2013-04-02 12:17:08 -07:00
Greg Neagle
2d4bafe694
Ensure AppleUpdates.plist is removed if there are no available Apple updates. Update appleupdates_test.py to reflect this and a previous commit.
2013-03-17 10:49:51 -07:00
Greg Neagle
220cf91a77
Don't remove an item if another item that depends on it failed to be removed. This is the complimentary behavior to issue 217, which dealt with installs
2013-03-12 19:16:51 -07:00
Greg Neagle
b28677dd34
If preinstall_script exits non-zero or installation fails, add item to skipped installs; for each install, if a prerequisite was skipped, don't install. Addresses issue 217.
2013-03-12 16:48:27 -07:00
Greg Neagle
0bb162dbfc
Some Unicode/UTF-8 fixes for munkiimport.
2013-03-12 11:03:06 -07:00
Greg Neagle
699decfe00
Use consistent format when an item's version cannot be determined and is noted as '(newer than ...)'
2013-03-11 15:46:29 -07:00
Greg Neagle
1df439ef37
Store original Apple name for an update and use that when determining success of an Apple update install; new metadata functionality allows admins to override the display_name, which could have caused determining success of an Apple update install to fail, since it would have been looking for the wrong name.
2013-03-11 11:03:13 -07:00
Greg Neagle
1ac91e8b44
Patch from rmiddleton for updatecheck.isItemInstallInfo() -- fixes issue with multiple updates with the same name (but different versions) that need to be applied in a single session.
2013-03-11 08:18:08 -07:00
Greg Neagle
cce11a4fc0
Better error checking when processing receipts and installs items when building our catalogDB; pylint cleanups
2013-03-08 14:14:38 -08:00
Greg Neagle
a21a4b1acc
When skipping Apple Software updates because there is an update from Apple in InstallInfo.plist, remove AppleUpdates.plist to prevent MSU.app and logouthelper from presenting force_install_after_date warnings for items it will not be able to install because Munki updates are blocking Apple updates.
2013-03-08 13:52:01 -08:00
Greg Neagle
f8f558edc5
logouthelper now properly checks both InstallInfo.plist and AppleUpdates.plist for 'force_install_after_date' items.
2013-03-08 13:28:46 -08:00
Greg Neagle
dbca31a486
Fix dumb copy-and-paste error in last commit that caused munkiimport to crash with NameError: global name 'item_version' is not defined
2013-03-06 21:42:44 -08:00
Greg Neagle
45de2d3b21
Changes to munkiimport: 1) Always append version number to uploaded dmg or pkg if not there originally; code clean up around the renaming.
2013-03-06 16:41:16 -08:00
Greg Neagle
000d1b969a
PyLint cleanups in munkilib/installer.py.
2013-03-02 21:13:56 -08:00
Hannes Juutilainen
757a72d5ee
Respect "version_comparison_key" when determining pkginfo version
2013-02-27 09:57:49 +02:00
Heig Gregorian
4847006300
Minor code clean-up, no functional changes
2013-02-22 17:17:26 -08:00
Heig Gregorian
ed9a8b0913
Renamed updatecheck.getAppleUpdateMetaData to updatecheck.getPrimaryManifestCatalogs to reflect actual function; added function parameter to specify whether or not the primary client manifest and catalogs should be re-downloaded before parsing for apple_update_metadata
...
Additionally, ensure that MACHINE dict is populated regardless of the
runtype as it may impact how a primary manifest is discovered.
2013-02-22 15:29:15 -08:00
Greg Neagle
8bac537975
When getting blocking_applications from an Apple update dist file, de-dup the list of application-ids before finding matching applications.
2013-02-21 18:44:37 -08:00
Greg Neagle
98de6685cc
Merge of https://code.google.com/r/theheig-conditionals/ apple-update-metadata: Adds support for Munki-style metadata to Apple updates.
2013-02-19 17:09:40 -08:00
Heig Gregorian
27cbf06058
Minor inline comments added for clarification's sake
2013-02-19 15:15:11 -08:00
Heig Gregorian
53fc136d28
unattended_install in metadata no longer applied if a RestartAction exists (in original item or metadata); unattended Apple updates are skipped if a blocking application is running; installlist, holding Apple update installation results, only holds items which are eligible for unattended installation
...
Mostly, this commit involves improving upon expected functionality of
an unattend Apple update installation.
Munki performs a "suppressed" Apple software update check post
installation run if a GUI user is logged in such that the user will be
prompted to install any remaining updates. This is inline with munki's
behavior for munki packages.
blocking_applications can now accept items which are full paths in case
an admin wishes to be specific regarding the location of a running,
blocking application and/or executable.
Also of note is a fix for previously broken blocking_application
checking for Apple updates, both in MSU and managaedsoftwareupdate.
2013-02-19 13:32:09 -08:00
Heig Gregorian
a52acd73f8
Overall clean-up of adding install items to the list of parameters supplied in 'su_options'
2013-02-16 14:08:51 -08:00
Heig Gregorian
b55c1c30af
Minor message and comment update
...
Comment regarding limitations to installing Apple updates removed from
managedsoftwareupdate. Warning message regarding missing
'installs/receipts' on import of an '--apple-update' item is not
displayed.
2013-02-16 13:20:25 -08:00
Heig Gregorian
cd3c69b5a2
'unattended_install' and 'force_install_after_date' actions for Apple update are honored. Overall, functions were add/modified to support this effort.
2013-02-15 18:34:28 -08:00
Greg Neagle
d2eee5e268
When adding or removing Optional Software from the list of current installs, suppress Apple Update checks.
2013-02-14 16:23:06 -08:00
Heig Gregorian
e59555ff76
Minor clean-up; removed custom argument for updatecheck.getItemDetail, unusued self.apple_md variable removed from appleupdates
2013-02-13 16:00:38 -08:00
Heig Gregorian
e2005a696b
Significant changes to how Apple update items are matched to metadata; new function in updatecheck specifically created to handle collection of catalog data by appleupdates; new function created for applying metadata
...
Of note, 'copyUpdateMetadata' function uses a list of whitelisted
metadata keys as well as appropriate logic to determine if a particular
'RestartAction' should be applied.
2013-02-13 13:22:07 -08:00
Greg Neagle
defd773d60
Some PyLint cleanups for makecatalogs
2013-02-12 20:19:41 -08:00
Greg Neagle
d0a8735c21
Merge branch 'development' of https://github.com/hjuutilainen/munki
2013-02-12 20:13:42 -08:00
Greg Neagle
731a470cbe
Remove hack that allowed in-place editing of suggested/default values for prompts; does not work properly on remote sessions.
2013-02-12 13:42:10 -08:00
Heig Gregorian
9f8cd3a975
Initial commit adding client-side support for 'apple_update_metadata'
...
Provided that 'AppleSoftwareUpdatesOnly' preference is False, primary
client manifest's catalogs are parsed for matching
'apple_update_metadata' and applied to pending Apple updates.
Please note that not ALL keys presented by an apple_update_metadata
item are applied as to not either clobber or complicate the listing of
items provided in 'AppleUpdates.plist'. The current list of excluded
keys is as follows:
catalogs
installed_size
installer_type
name
version
version_to_install
2013-02-12 13:23:45 -08:00
Heig Gregorian
e25b5aacf7
Merged with munki master; manually resolved 'munkiimport' merge conflicts
2013-02-12 10:00:12 -08:00
Greg Neagle
a3db265246
When checking for cached Apple updates, use self.GetSoftwareUpdateInfo() instead of self.WriteAppleUpdatesFile() to avoid writing the AppleUpdates.plist twice.
2013-02-12 09:15:52 -08:00
Heig Gregorian
4b322e1e43
Use underscores instead of hyphens for new installer_type
...
apple-update-metadata changed to apple_update_metadata
2013-02-12 08:51:14 -08:00
Greg Neagle
9f7a818edc
Add new munkiimport preference for default catalog to use when no catalog is specified at the command line. Defaults to 'testing'.
2013-02-11 21:46:12 -08:00
Greg Neagle
b80430753b
Changes to allow Munki to check for and install Apple Software Update items in the same session as normal Munki updates.
2013-02-11 08:37:39 -08:00
Heig Gregorian
d92127c241
Initial commit for new installer_type 'apple-update-metadata'
...
Using the new '--apple-update' option available in makepkginfo (and
therefore munkiimport), an admin can generate metadata pkginfo files
for Apple updates. Supported metadata keys will modify munki's
behavior of the specified Apple update offered to the client. Examples
would include 'force_install_after_date' and 'RestartAction'. The
'makecatalogs' utility has also been updated to allow for this new
installer_type when creating catalogs.
NOTE: Client-side implementation is not included in this commit. This
commit only deals with the creation of these specialized pkginfo files.
2013-02-06 13:53:43 -08:00
Greg Neagle
a4ff92e4c6
Reset item[path] to original path after calling comparePlistVersion from compareBundleVersion. More debug output.
2013-02-05 10:06:10 -08:00
Greg Neagle
5ed68f819b
makepkginfo -f now generates installs items with CFBundleShortVersionString and CFBundleVersion string keys if possible.
2013-02-04 16:05:05 -08:00
Greg Neagle
5feaa8ffd3
More clarifying comments in munkicommon.getVersionString()
2013-02-04 16:03:36 -08:00