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
Greg Neagle
e3aef2bd7e
Debug output tweaks when doing version comparisons
2013-02-04 15:14:47 -08:00
Greg Neagle
78d9ea6b49
Simplify implementation of compareBundleVersion() by just calling comparePlistVersion() to do the actual version comparison. Don't Repeat Yourself!
2013-02-04 15:00:21 -08:00
Greg Neagle
3c5d707ec1
Key name changes and behavior tweaks to Heig's submission for support for bundle/plist version keys other than CFBundleShortVersionString
2013-02-04 14:20:31 -08:00
Greg Neagle
20a0b51895
Fix typo in call to pkgutil --regexp --pkg-info-plist (was -pkg-info-plist). Thanks to Heig Gregorian.
2013-02-04 13:31:14 -08:00
Greg Neagle
19e06f73c9
Reset filelist2pkg config variable to defaults; removing my org's specific values.
2013-02-04 10:59:17 -08:00
Greg Neagle
097c6d8acb
Merge branch 'versionkey' of https://code.google.com/r/theheig-conditionals
2013-02-04 10:46:24 -08:00
Greg Neagle
954dfe9934
Use readline and a OS X hack to allow editable default values when importing an item.
2013-01-28 13:58:16 -08:00
Greg Neagle
4b71ace130
Updated copyright info on all files with copyright info.
2013-01-28 11:55:09 -08:00
Greg Neagle
78810f67fc
Address issue 214: munkiimport should not crash when editor is missing. Print an error message and continue.
2013-01-28 11:40:54 -08:00
Greg Neagle
6fffa1b025
Change updatecheck.checkServer for IPv6 compatibility.
2013-01-28 09:17:16 -08:00
Greg Neagle
344a754b66
Merge branch 'master' of https://code.google.com/p/munki
2013-01-14 15:07:47 -08:00
Greg Neagle
cbb385f540
Add support for a new 'SuppressLoginwindowInstall' key in Munki's preferences (ManagedInstalls.plist).
...
This causes installs/removals to be suppressed at the loginwindow unless an install/uninstall is marked
with unattended_install = True or unattended_uninstall = True.
This is different from the behavior with the existing 'SuppressAutoInstall' key, which suppresses all "automatic" installs;
that is, Munki will not install _anything_ without first notifying the user.
2013-01-14 15:03:01 -08:00
Justin McWilliams
5d901765a1
Fix logouthelper from crashing 100% of the time.
...
updatecheck.discardTimeZoneFromDate() was renamed to subtractTimeZoneOffsetFromDate() in https://code.google.com/p/munki/source/detail?r=cc67bb8ca134c2782b15fb1c32ca8fa811a74f3d
2013-01-10 16:03:15 -05:00
Justin McWilliams
ba6588acdd
Force Munki to obtain temp directories within /tmp, to avoid rare, intermittent issue where tempfile.mkdtemp() would choose to create a temp dir on an NFS path, such as /home/<username>/tmp/, causing Munki to crash when attempting to chown/etc.
2013-01-09 17:32:31 -05:00
Justin McWilliams
4784ea762b
Cleanup readability of pkgid_table generation in makeCatalogDB().
2012-12-19 16:53:31 -05:00
Greg Neagle
cc67bb8ca1
Add 'date' item to INFO_OBJECT for use in conditional_items. This allows for date-based conditions.
2012-12-18 13:08:13 -08:00
Justin McWilliams
da0891dd9b
Missing comma introduced in commit 15e082ae45 causes MSU to crash
2012-12-18 12:08:28 -05:00
Justin McWilliams
4401cdbfcd
For cases where there is no InstallInfo.plist file, or it doesn't contain any OOptional Installs, we should present the "Check again" button in the "No Updates" alert. This will allow users to forcefully run updatecheck via MSU once again.
2012-12-17 14:53:24 -05:00
Justin McWilliams
15e082ae45
s/GuiCacheAgeSecs/CheckResultsCacheSeconds/ per a discussion with gneagle.
...
Also, add to default_prefs, even though default is None/unset, a rrmiddleton pointed out this documents which prefs MSU might use.
2012-12-17 10:52:13 -05:00
Justin McWilliams
dc37943b46
Move MSU manual check cache age seconds to ManagedInstalls.plist config option (final naming TBD). For manual check executions, only run updatecheck if this config is undefined or if the defined timeout has elapsed.
2012-12-14 16:44:17 -05:00
Justin McWilliams
6fa4957e2a
In the "No Updates" alert, add a "Refresh" button which when clicked executes a full managedsoftwareupdate updatecheck.
2012-12-14 14:45:53 -05:00
Greg Neagle
159b73aee3
Merge https://code.google.com/r/thomastvegaard-danish-localization
2012-12-13 15:13:13 -08:00
thomas.tvegaard
755b66e395
Minor translation change.
2012-12-13 09:53:31 +00:00
thomas.tvegaard
e7a5aa8140
Minor translations updates
2012-12-13 09:51:25 +00:00
Greg Neagle
d4f3fed906
Bumping version in version.plist to 0.8.4 for next round of development.
2012-12-04 13:50:23 -08:00
Greg Neagle
ff445fcf84
Additional Norwegian (Bokmal) localized strings.
2012-11-30 12:08:15 -08:00
Justin McWilliams
2cc9bd5f11
Don't delete package from cache if installation fails. If the package is corrupt, hash/etags should not match the server and it'll redownload. Furthermore, if the install was actually successful regardless of a non-zero installer exit code, the cached package will be downloaded on the next Munki execution after determining that package is no longer needed.
...
As discussed here: https://groups.google.com/forum/?fromgroups=#!topic/munki-dev/Q5UxFOf6En8
2012-11-29 15:50:40 -05:00
Greg Neagle
272b496cc8
Merge branch 'master' of https://code.google.com/p/munki
2012-11-28 13:24:17 -08:00
Greg Neagle
34c31e79fa
Fix build of nb.lproj files.
2012-11-28 13:23:41 -08:00
Justin McWilliams
fe3c76dbdb
Munki shouldn't crash when attempting to load a non-existent dist file while detecting blocking apps.
...
Fixes the following traceback:
File '/usr/local/munki/munkilib/appleupdates.py', line 808, in GetSoftwareUpdateInfo
blocking_apps = self.GetBlockingApps(update['productKey'])
File '/usr/local/munki/munkilib/appleupdates.py', line 423, in GetBlockingApps
dom = minidom.parse(distfile)
File '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/xml/dom/minidom.py', line 1914, in parse
File '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/xml/dom/expatbuilder.py', line 922, in parse
IOError: [Errno 2] No such file or directory: u'/tmp/munki_swupd_cache/content/downloads/15/38/041-7414/ldfmzmn6psq7re395jmalnyba8ge3xa4cj/041-7414.English.dist'
2012-11-27 16:23:20 -05:00
thomas.tvegaard
fc257c609e
Minor change
2012-11-20 07:57:35 +00:00
Greg Neagle
3903e89fc3
Merge branch 'master' of https://code.google.com/p/munki
2012-11-19 08:48:17 -08:00
Greg Neagle
09bb383b37
Added Norwegian (Bokmal) localization. Thanks to Frank Paul Silye.
2012-11-19 08:46:14 -08:00
Greg Neagle
b959caddb5
Change tsutton's 'predicate_check' pkginfo key to 'installable_condition'
2012-11-16 16:34:57 -08:00
Greg Neagle
f372d6889c
Merge branch 'pkginfo-predicates' of https://code.google.com/r/tim-munki
...
Merge Tim's pkginfo-predicates changes
2012-11-16 16:30:14 -08:00
Greg Neagle
ed39d81485
Using the launchd module to call /usr/sbin/installer introduced a bug where we did not capture stderr when an install failed. This commit fixes that; stderr is now correctly logged and reported.
2012-11-15 13:45:18 -08:00
Rob Middleton
bce1fa42f9
Fix issue 169. Pref AppleSoftwareUpdatesOnly needs to be understood by MSU.app not just managedsoftwareupdate.
2012-11-13 11:50:16 +11:00
Justin McWilliams
e6cd53188d
Supervisor improvements:
...
- more robost killing; sigterm, then sigkill processes if they're still running.
- new --error-exec option, to execute an external script if primary process exits with one of --error-exec-exit-codes. Intended to be used to notify admins of Munki crashes, by calling report_broken_client or similar script to email/post to server/etc.
2012-11-12 14:19:07 -05:00
Justin McWilliams
b31e82905f
When logging/display messages/etc., use arguments instead of explicit string formatting, to avoid the following traceback:
...
File '/usr/local/munki/munkilib/removepackages.py', line 611, in initDatabase
munkicommon.display_detail('Importing %s...' % pkg)
File '/usr/local/munki/munkilib/munkicommon.py', line 393, in display_detail
log(u' ' + msg)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe8 in position 36: ordinal not in range(128)
When passing arguments, str_to_ascii (via concat_log_message) drops characters it cannot decode.
2012-11-09 15:26:16 -05:00
Justin McWilliams
85dca9e6de
Fix munkicommon.Popen.communicate(); previously, all calls crashed as stdin was always being written to ("input" is a builtin).
...
Use Popen.communicate(timeout=60) to sanely exit "system_profiler SPApplicationsDataType" calls, which are hanging indefinitely on a small number of clients.
2012-11-09 13:35:49 -05:00
Rob Middleton
d73bb1370c
Keep parsing stdout after curl exits. Small downloads caused fetch.curl to stop looping before the ETag header was read. Thus the ETag xattr was often not written for small fast downloads. (Fix for issue 208, 204, 161)
2012-11-08 10:32:28 +11:00
ogle
22002c7153
Fix s/munki_common/munkicommon/ typo introduced in e22995c5c4
2012-11-07 21:56:37 +00:00
ogle
e22995c5c4
Remove duplicate os.path.exists() calls when checking for real_cache_dir existence.
2012-11-07 17:23:24 +00:00
ogle
5ae3ad5f1a
If real_cache_dir exists but is not a dir, log an error.
2012-11-07 17:16:52 +00:00
ogle
83837f6fea
If the swupd dir does not exist, create it.
2012-11-07 17:10:14 +00:00
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