Update only if the older version of the app exists

303 views
Skip to first unread message

scottlep

unread,
Aug 21, 2012, 10:18:30 AM8/21/12
to munk...@googlegroups.com
I am trying to configure Munki to only install/update an app only if the app already exists on the client system.

For example, I want to update the machine to Universal Type Client v3.2.0 only if version 3.1.0 or 2.1.3 of the Universal Type Client already exist on the client workstation. If the UTC app does not exist, I do not want it installed/updated. The earlier versions of the UTC app was not installed or updated by Munki.

I have tried using <key>update_for</key> and/or <key>requires></key> but I am not getting the results I am looking for. It either doesn't try to update where the app already exists, or doesn't try to install on any machines whether or not an earlier version exists....or tries to install on all machines.

Not sure what I am doing wrong. I have tried many different variations of "update_for" and "requires" but cannot figure it out. Sorry if this question has been asked before.

I am sure a separate catalog/manifest would handle this, but we currently only run a Testing catalog and a Production catalog.

Thanks,
Scott




Ricky Chilcott

unread,
Aug 21, 2012, 10:23:55 AM8/21/12
to munk...@googlegroups.com
You'll want to use the managed_update key in your manifest.

Sent from my iPhone

scottlep

unread,
Aug 21, 2012, 10:28:58 AM8/21/12
to munk...@googlegroups.com
I tried that. When I do it as managed_update, it doesn't show up on any of the clients whether they already have it installed or not.

Thanks,
Scott

Gregory Neagle

unread,
Aug 21, 2012, 10:31:17 AM8/21/12
to munk...@googlegroups.com
Ricky's advice is correct -- this is what managed_updates is designed for.

Instead of making us guess, could you post a sample manifest and pkginfo?

-Greg

scottlep

unread,
Aug 21, 2012, 10:42:28 AM8/21/12
to munk...@googlegroups.com
Ok, thanks. I didn't want to clog up my first post with the pkginfo and manifest. Here ya go....

pkginfo.....

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>autoremove</key>
<false/>
<key>catalogs</key>
<array>
<string>utc_test</string>
</array>
<key>description</key>
<string>Universal Type Client v3.2.0</string>
<key>display_name</key>
<string>Universal Type Client v3.2.0</string>
<key>installed_size</key>
<integer>198712</integer>
<key>installer_item_hash</key>
<string>6d0413fa77b67a3a7d488bf91f54808937d252b1001a109aab67ea0a4d0b2c3d</string>
<key>installer_item_location</key>
<string>apps/Universal Type Client 3.2.0.dmg</string>
<key>installer_item_size</key>
<integer>67876</integer>
<key>minimum_os_version</key>
<string>10.6.8</string>
<key>RestartAction</key>
<string>RequireLogout</string>
<key>name</key>
<string>Universal Type Client v3.2.0</string>
<key>update_for</key>
    <array>
          <string>Universal Type Client-2.1.3</string>      <<<<<(I tried this a few different ways with no success)
    </array>
<key>receipts</key>
<array>
<dict>
<key>filename</key>
<string>info.pkg</string>
<key>installed_size</key>
<integer>4</integer>
<key>packageid</key>
<string>com.extensis.UniversalTypeClient.universalTypeClient%MAVERSION%%MIVERSION%.Info.pkg</string>
<key>version</key>
<string>0.0.0.0.0</string>
</dict>
<dict>
<key>filename</key>
<string>universalTypeClient.pkg</string>
<key>installed_size</key>
<integer>37860</integer>
<key>packageid</key>
<string>com.extensis.UniversalTypeClient.universalTypeClient15.universalTypeClient.pkg</string>
<key>version</key>
<string>3.2</string>
</dict>
</array>
<key>uninstall_method</key>
<string>removepackages</string>
<key>uninstallable</key>
<true/>
<key>version</key>
<string>3.2.0</string>
</dict>
</plist>



Manifest....

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>catalogs</key>
<array>
<string>utc_test</string>
</array>
<key>managed_installs</key>
<array>
<string>Firefox</string>
<string>Cyberduck</string>
<string>MSO2004_1166</string>
<string>MunkiScripts-2.1</string>
<string>munkitools-clientonly</string>
<string>LDMSClient-9.0.3.57490</string>
<string>Adobe Flash Player v235</string>
</array>
<key>managed_updates</key>
<array>
<string>Universal Type Client v3.2.0</string>
</array>
</dict>
</plist>

Greg Neagle

unread,
Aug 21, 2012, 10:50:34 AM8/21/12
to munk...@googlegroups.com
First, get rid of the update_for key; it's not helping at all.

Second: Look at those receipts.

I find it unlikely that Munki will be able to do anything useful with that first receipt.

If it were me I'd generate an installs array consisting of the Universal Type Client application and add it to the pkginfo. This way Munki has something to look for that might actually be installed; right now it's looking for two package receipts; one with a very suspicious name.

Last, and not directly related to your issue: I'd think the name should be "Universal Type Client" with no embedded version info. Embedding version info into pkg item names only sets you up for more work down the road.

I'd remove the embedded version info from as many names as possible and let Munki figure out the correct version to install based on available catalogs. This way you can update Flash Player without having to touch any manifests.

-Greg

scottlep

unread,
Aug 21, 2012, 10:56:50 AM8/21/12
to munk...@googlegroups.com
I was also wondering about the receipt with %MAVERSION%%MIVERSION%. Extensis seems to do some weird things with their installers.

I will try some of your other suggestions and report back.

Thanks as always for you help Greg.....and everyone else.

Thanks,
Scott

scottlep

unread,
Aug 21, 2012, 2:09:21 PM8/21/12
to munk...@googlegroups.com
So I tried adding the installs array. No luck. I tried it every way that I can think of. When a client that already has the software install checks for updates, it says that there is a newer version of the software installed in the MSU logs. When a client that doesnt have it checks, it make no mention of the update in the MSU logs

Here is what I have for the pkginfo at this point.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>autoremove</key>
<false/>
<key>catalogs</key>
<array>
<string>utc_test</string>
</array>
<key>description</key>
<string>Universal Type Client v3.2.0</string>
<key>display_name</key>
<string>Universal Type Client v3.2.0</string>
<key>installed_size</key>
<integer>198712</integer>
<key>installer_item_hash</key>
<string>6d0413fa77b67a3a7d488bf91f54808937d252b1001a109aab67ea0a4d0b2c3d</string>
<key>installer_item_location</key>
<string>apps/Universal Type Client 3.2.0.dmg</string>
<key>installer_item_size</key>
<integer>67876</integer>
<key>installs</key>
        <array>
                <dict>
                <key>CFBundleIdentifier</key>
<string>com.extensis.UniversalTypeClient.universalTypeClient15.universalTypeClient.pkg</string>
<key>CFBundleName</key>
<string>Universal Type Client</string>
<key>CFBundleShortVersionString</key>
<string>2.1.3</string>
<key>PackageVersion</key>
<string>2.1</string>
<key>path</key>
<string>/Applications/Universal Type Client.app</string>
<key>type</key>
<string>application</string>
                </dict>
        </array>
<key>minimum_os_version</key>
<string>10.6.8</string>
<key>RestartAction</key>
<string>RequireLogout</string>
<key>name</key>
<string>Universal Type Client v3.2.0</string>
<key>uninstall_method</key>
<string>removepackages</string>
<key>uninstallable</key>
<true/>
<key>version</key>
<string>3.2.0</string>
</dict>
</plist>



And here is what the receipt (/var/db/receipts/com.extensis.UniversalTypeClient.universalTypeClient15.universalTypeClient.pkg.plist) has from the client that already has the 2.1.3 version of UTC installed .

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>InstallDate</key>
<date>2012-04-23T20:03:35Z</date>
<key>InstallPrefixPath</key>
<string>Applications</string>
<key>InstallProcessName</key>
<string>installer</string>
<key>PackageFileName</key>
<string>universalTypeClient.pkg</string>
<key>PackageIdentifier</key>
<string>com.extensis.UniversalTypeClient.universalTypeClient15.universalTypeClient.pkg</string>
<key>PackageVersion</key>
<string>2.1</string>
</dict>
</plist>


Sorry to bug you guys with this, but I have been pulling my hair out for days trying to figure it out.

Thanks,
Scott

Greg Neagle

unread,
Aug 21, 2012, 2:14:42 PM8/21/12
to munk...@googlegroups.com
On Aug 21, 2012, at 11:09 AM, scottlep wrote:

So I tried adding the installs array. No luck. I tried it every way that I can think of. When a client that already has the software install checks for updates, it says that there is a newer version of the software installed in the MSU logs.

So investigate why that is. Why does it think the installed version is newer than the version you want to install?

Hint: it looks at the CFBundleShortVersionString of the application to determine its version.

BTW, how did you generate that installs item? It looks... odd.

I'd recommend:

makepkginfo -f "/Applications/Universal Type Client.app"

And copy and paste the installs arrary (or item) into the existing pkginfo.

When a client that doesnt have it checks, it make no mention of the update in the MSU logs

Which is what you said you wanted... "Update only if the older version of the app exists"

scottlep

unread,
Aug 21, 2012, 2:16:13 PM8/21/12
to munk...@googlegroups.com
Here is the log (/Library/Managed Installs/Logs/ManagedSoftwareUpdate.log) from the client machine that already has UTC v2.1.3 installed. It is seeing the update, but it think it already has a newer version of the app installed. Weird.

Aug 21 13:59:08 ### Beginning managed software check ###
Aug 21 13:59:08 Checking for available updates...
Aug 21 13:59:08     Getting manifest client_manifest...
Aug 21 13:59:09     Using manifest: utc_test
Aug 21 13:59:09     **Checking for installs**
Aug 21 13:59:09     Getting catalog utc_test...
Aug 21 13:59:09     Retrieving catalog "utc_test"...
Aug 21 13:59:09     Firefox version 7.0.1 (or newer) is already installed.
Aug 21 13:59:09     Cyberduck version 4.1.3 (or newer) is already installed.
Aug 21 13:59:09     MSO2004_1166 version 1.0 (or newer) is already installed.
Aug 21 13:59:09     MunkiScripts version 2.1 (or newer) is already installed.
Aug 21 13:59:09     munkitools-clientonly version 0.8.3.1496.0 (or newer) is already installed.
Aug 21 13:59:09     LDMSClient version 9.0.3.57490 (or newer) is already installed.
Aug 21 13:59:09     Adobe Flash Player v235 version 11.2.202.235 (or newer) is already installed.
Aug 21 13:59:09     **Checking for removals**
Aug 21 13:59:09     **Checking for managed updates**
Aug 21 13:59:10     Universal Type Client v3.2.0 version 3.2.0 (or newer) is already installed.
Aug 21 13:59:10 
Aug 21 13:59:10     No changes to managed software are available.
Aug 21 13:59:10 ###    End managed software check    ###
Aug 21 13:59:10 Checking Apple Software Update catalog...
Aug 21 13:59:10 Checking for available Apple Software Updates...
Aug 21 13:59:13 Finishing...
Aug 21 13:59:13 Saving application inventory...
Aug 21 13:59:15     Performing postflight tasks...
Aug 21 13:59:15     postflight stdout: Generating a system_profiler report.
Urlencoding Munki report
Submitting Munki report
Checking stored inventory
No change in inventory.
Aug 21 13:59:15 ### Ending managedsoftwareupdate run ###

Greg Neagle

unread,
Aug 21, 2012, 2:20:56 PM8/21/12
to munk...@googlegroups.com
On Aug 21, 2012, at 11:16 AM, scottlep wrote:

Here is the log (/Library/Managed Installs/Logs/ManagedSoftwareUpdate.log) from the client machine that already has UTC v2.1.3 installed. It is seeing the update, but it think it already has a newer version of the app installed. Weird.

It says: "Universal Type Client v3.2.0 version 3.2.0 (or newer) is already installed."

I'm guessing that the CFBundleShortVersionString of /Applications/Universal Type Client.app/Contents/Info.plist is "3.2.0" or higher.

But you could also run `managedsoftwareupdate -vvv` for more detail or set the LoggingLevel (See http://code.google.com/p/munki/wiki/configuration) to 3 or 4...

-Greg

scottlep

unread,
Aug 21, 2012, 2:30:31 PM8/21/12
to munk...@googlegroups.com
Contents of /Applications/Universal Type Client.app/Contents/Info.plist...

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleDocumentTypes</key>
<array>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>typecache</string>
</array>
<key>CFBundleTypeName</key>
<string>typecache</string>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
<key>LSTypeIsPackage</key>
<true/>
<key>NSPersistentStoreTypeKey</key>
<string>Binary</string>
</dict>
<dict>
<key>CFBundleTypeOSTypes</key>
<array>
<string>****</string>
<string>fold</string>
</array>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
</dict>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>otf</string>
</array>
<key>CFBundleTypeName</key>
<string>Open Type Font</string>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
<key>LSTypeIsPackage</key>
<false/>
<key>NSPersistentStoreTypeKey</key>
<string>XML</string>
</dict>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>lst</string>
</array>
<key>CFBundleTypeName</key>
<string>Adobe Font</string>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
<key>LSTypeIsPackage</key>
<false/>
<key>NSPersistentStoreTypeKey</key>
<string>XML</string>
</dict>
</array>
<key>CFBundleExecutable</key>
<string>Universal Type Client</string>
<key>CFBundleIconFile</key>
<string>applicationicon.icns</string>
<key>CFBundleIdentifier</key>
<string>com.extensis.UniversalTypeClient</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>Universal Type Client</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>        <<<<<Looks right to me
<string>2.1.3</string>                                     <<<<<2.1.3
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>                        <<<<<Could this be messing it up??
<string>6</string>                                          <<<<<Could this be messing it up??
<key>LSMinimumSystemVersion</key>
<string>10.4.7</string>
<key>NSMainNibFile</key>
<string>MainMenu</string>
<key>NSPrincipalClass</key>
<string>NSApplication</string>
<key>crashReporterAdditionalApps</key>
<array>
<string>FMCore</string>
<string>Fusion1ExportTool</string>
<string>FontTool</string>
</array>
<key>crashReporterCompanyName</key>
<string>Extensis</string>
<key>crashReporterEmail</key>
<string>mystiquemac...@extensis.com</string>
<key>crashReporterLogFiles</key>
<array>
<string>Library/Logs/Extensis/UTC Logs/FMCore.log</string>
<string>Library/Logs/Extensis/UTC Logs/Universal Type Client_SDK.log</string>
</array>
<key>crashReporterMaxLogLines</key>
<integer>50</integer>
<key>crashReporterPostURLClient</key>
<key>crashReporterPostURLStandalone</key>
</dict>
</plist>

Greg Neagle

unread,
Aug 21, 2012, 2:32:25 PM8/21/12
to munk...@googlegroups.com
Please use managedsoftwareupdate -vvvv to get the most detail.

Are you certain there isn't a newer copy of Universal Type Client.app somewhere else on the machine?

-Greg

scottlep

unread,
Aug 21, 2012, 2:38:54 PM8/21/12
to munk...@googlegroups.com
Results of -vvv. It looks like it is definitely looking at /Applications/Universal Type Client.app for version info.

I checked System Profiler and can only see one version of UTS installed.



Last login: Tue Aug 21 14:33:51 on console
msu-tests:~ admin$ sudo managedsoftwareupdate -vvv
Password:
Managed Software Update Tool
Copyright 2010-2012 The Munki Project

Starting...
    Performing preflight tasks...
Checking for available updates...
    Getting manifest client_manifest...
    follow_redirects is False
    HTTP/1.1 304 Not Modified
    /Library/Managed Installs/manifests/client_manifest.plist already exists and is up-to-date.
    Using manifest: utc_test
    **Checking for installs**
    ** Processing manifest client_manifest.plist for managed_installs
    Getting catalog utc_test...
    follow_redirects is False
    HTTP/1.1 304 Not Modified
    /Library/Managed Installs/catalogs/utc_test already exists and is up-to-date.
    * Processing manifest item Firefox for install
    Looking for detail for: Firefox, version latest...
    Considering 1 items with name Firefox from catalog utc_test
    Considering item Firefox, version 7.0.1 with minimum os version required 10.4.0
    Our OS version is 10.6.8
    Considering item Firefox, version 7.0.1 with supported architectures: (
    i386,
    "x86_64"
)
    Our architecture is i386
    Found Firefox, version 7.0.1 in catalog utc_test
    Checking bundle /Applications/Firefox.app for version 7.0.1...
    Found Info.plist at /Applications/Firefox.app/Contents/Info.plist
    Looking for application Firefox, version org.mozilla.firefox
    Firefox version 7.0.1 (or newer) is already installed.
    Looking for updates for: Firefox
    Looking for updates for: Firefox-13.0.1
    Looking for updates for: Firefox--13.0.1
    * Processing manifest item Cyberduck for install
    Looking for detail for: Cyberduck, version latest...
    Considering 1 items with name Cyberduck from catalog utc_test
    Considering item Cyberduck, version 4.1.3 with minimum os version required 10.4.0
    Our OS version is 10.6.8
    Found Cyberduck, version 4.1.3 in catalog utc_test
    Checking bundle /Applications/Cyberduck.app for version 4.1.3...
    Found Info.plist at /Applications/Cyberduck.app/Contents/Info.plist
    Cyberduck version 4.1.3 (or newer) is already installed.
    Looking for updates for: Cyberduck
    Looking for updates for: Cyberduck-4.1.3
    Looking for updates for: Cyberduck--4.1.3
    * Processing manifest item MSO2004_1166 for install
    Looking for detail for: MSO2004_1166, version latest...
    Considering 1 items with name MSO2004_1166 from catalog utc_test
    Considering item MSO2004_1166, version 1.0 with minimum os version required 10.4.0
    Our OS version is 10.6.8
    Found MSO2004_1166, version 1.0 in catalog utc_test
    Looking for package com.microsoft.microsoftOffice20041166Update.MicrosoftOffice2004.pkg, version 1.0
    MSO2004_1166 version 1.0 (or newer) is already installed.
    Looking for updates for: MSO2004_1166
    Looking for updates for: MSO2004_1166-1.0
    Looking for updates for: MSO2004_1166--1.0
    * Processing manifest item MunkiScripts-2.1 for install
    Looking for detail for: MunkiScripts, version 2.1...
    Considering 1 items with name MunkiScripts from catalog utc_test
    Considering item MunkiScripts, version 2.1 with minimum os version required 10.4.0
    Our OS version is 10.6.8
    Found MunkiScripts, version 2.1 in catalog utc_test
    Checking existence of /usr/local/munki/preflight...
    Exists.
    Comparing checksums...
    Checksums match.
    Checking existence of /usr/local/munki/postflight...
    Exists.
    Comparing checksums...
    Checksums match.
    Checking existence of /usr/local/munki/report_broken_client...
    Exists.
    Comparing checksums...
    Checksums match.
    MunkiScripts version 2.1 (or newer) is already installed.
    Looking for updates for: MunkiScripts-2.1
    Looking for updates for: MunkiScripts--2.1
    * Processing manifest item munkitools-clientonly for install
    Looking for detail for: munkitools-clientonly, version latest...
    Considering 1 items with name munkitools-clientonly from catalog utc_test
    Considering item munkitools-clientonly, version 0.8.3.1496.0 with minimum os version required 10.4.0
    Our OS version is 10.6.8
    Found munkitools-clientonly, version 0.8.3.1496.0 in catalog utc_test
    Looking for package com.googlecode.munki.app, version 3.4.1485
    Looking for package com.googlecode.munki.core, version 0.8.3.1496.0
    munkitools-clientonly version 0.8.3.1496.0 (or newer) is already installed.
    Looking for updates for: munkitools-clientonly
    Looking for updates for: munkitools-clientonly-0.8.3.1496.0
    Looking for updates for: munkitools-clientonly--0.8.3.1496.0
    * Processing manifest item LDMSClient-9.0.3.57490 for install
    Looking for detail for: LDMSClient, version 9.0.3.57490...
    Considering 1 items with name LDMSClient from catalog utc_test
    Considering item LDMSClient, version 9.0.3.57490 with minimum os version required 10.4.0
    Our OS version is 10.6.8
    Considering item LDMSClient, version 9.0.3.57490 with supported architectures: (
    i386,
    "x86_64"
)
    Our architecture is i386
    Found LDMSClient, version 9.0.3.57490 in catalog utc_test
    Looking for package com.landesk.agent.sharedtech, version 9.0.3.57490
    Looking for package com.landesk.agent.stuffitutility, version 9.0.3.57490
    Looking for package com.landesk.agent.baseagent, version 9.0.3.57490
    Looking for package com.landesk.agent.config, version 9.0.3.57490
    Looking for package com.landesk.agent.slm, version 9.0.3.57490
    Looking for package com.landesk.agent.rc, version 9.0.3.57490
    Looking for package com.landesk.agent.swd, version 9.0.3.57490
    Looking for package com.landesk.agent.vulscan, version 9.0.3.57490
    Looking for package com.landesk.agent.brokerconfig, version 9.0.3.57490
    Looking for package com.landesk.agent.ldusermenu, version 9.0.3.57490
    LDMSClient version 9.0.3.57490 (or newer) is already installed.
    Looking for updates for: LDMSClient-9.0.3.57490
    Looking for updates for: LDMSClient--9.0.3.57490
    * Processing manifest item Adobe Flash Player v235 for install
    Looking for detail for: Adobe Flash Player v235, version latest...
    Considering 1 items with name Adobe Flash Player v235 from catalog utc_test
    Considering item Adobe Flash Player v235, version 11.2.202.235 with minimum os version required 10.6.0
    Our OS version is 10.6.8
    Found Adobe Flash Player v235, version 11.2.202.235 in catalog utc_test
    Looking for package com.adobe.pkg.FlashPlayer, version 11.2.202.235
    Adobe Flash Player v235 version 11.2.202.235 (or newer) is already installed.
    Looking for updates for: Adobe Flash Player v235
    Looking for updates for: Adobe Flash Player v235-11.2.202.235
    Looking for updates for: Adobe Flash Player v235--11.2.202.235
    **Checking for removals**
    ** Processing manifest client_manifest.plist for managed_uninstalls
    **Checking for managed updates**
    ** Processing manifest client_manifest.plist for managed_updates
    * Processing manifest item Universal Type Client v3.2.0 for update
    Looking for detail for: Universal Type Client v3.2.0, version latest...
    Considering 1 items with name Universal Type Client v3.2.0 from catalog utc_test
    Considering item Universal Type Client v3.2.0, version 3.2.0 with minimum os version required 10.6.8
    Our OS version is 10.6.8
    Found Universal Type Client v3.2.0, version 3.2.0 in catalog utc_test
    Checking bundle /Applications/Universal Type Client.app for version 2.1.3...
    Found Info.plist at /Applications/Universal Type Client.app/Contents/Info.plist
    * Processing manifest item Universal Type Client v3.2.0 for install
    Looking for detail for: Universal Type Client v3.2.0, version latest...
    Considering 1 items with name Universal Type Client v3.2.0 from catalog utc_test
    Considering item Universal Type Client v3.2.0, version 3.2.0 with minimum os version required 10.6.8
    Our OS version is 10.6.8
    Found Universal Type Client v3.2.0, version 3.2.0 in catalog utc_test
    Checking bundle /Applications/Universal Type Client.app for version 2.1.3...
    Found Info.plist at /Applications/Universal Type Client.app/Contents/Info.plist
    Universal Type Client v3.2.0 version 3.2.0 (or newer) is already installed.
    Looking for updates for: Universal Type Client v3.2.0
    Looking for updates for: Universal Type Client v3.2.0-3.2.0
    Looking for updates for: Universal Type Client v3.2.0--3.2.0
    ** Processing manifest client_manifest.plist for optional_installs
    No change in InstallInfo.
    No changes to managed software are available.
Checking Apple Software Update catalog...
    follow_redirects is True
    HTTP/1.1 304 Not Modified
    /Library/Managed Installs/swupd/mirror/apple.sucatalog already exists and is up-to-date.
    Skipping Apple Software Update check because sucatalog is unchanged, installed Apple packages are unchanged and we recently did a full check.
Finishing...
    Getting info on currently installed applications...
    Performing postflight tasks...
    postflight stdout: Generating a system_profiler report.
Urlencoding Munki report
Submitting Munki report
Checking stored inventory
No change in inventory.
Done.
msu-tests:~ admin$ 

Greg Neagle

unread,
Aug 21, 2012, 3:24:46 PM8/21/12
to munk...@googlegroups.com
On Aug 21, 2012, at 11:38 AM, scottlep wrote:

    * Processing manifest item Universal Type Client v3.2.0 for update
    Looking for detail for: Universal Type Client v3.2.0, version latest...
    Considering 1 items with name Universal Type Client v3.2.0 from catalog utc_test
    Considering item Universal Type Client v3.2.0, version 3.2.0 with minimum os version required 10.6.8
    Our OS version is 10.6.8
    Found Universal Type Client v3.2.0, version 3.2.0 in catalog utc_test
    Checking bundle /Applications/Universal Type Client.app for version 2.1.3...

Where is this "version 2.1.3" coming from?  Here (based on a previous post):

<key>installs</key>
        <array>
                <dict>
                 <key>CFBundleIdentifier</key>
<string>com.extensis.UniversalTypeClient.universalTypeClient15.universalTypeClient.pkg</string>
<key>CFBundleName</key>
<string>Universal Type Client</string>
<key>CFBundleShortVersionString</key>
<string>CFBundleShortVersionString</string>
<key>PackageVersion</key>
<string>2.1</string>
<key>path</key>
<string>/Applications/Universal Type Client.app</string>
<key>type</key>
<string>application</string>
                </dict>
        </array>

You've told Munki that if there is an application at /Applications/Universal Type Client.app with CFBundleShortVersionString == 2.1.3, that Universal Type Client v3.2.0, version 3.2.0 is installed.

Again, I don't know how you generated this installs item, but I'd recommend that on a machine with your desired version of Universal Type Client.app installed, you do:

makepkginfo -f "/Applications/Universal Type Client.app"

If it _still_ has a CFBundleShortVersionString of "2.1.3" then you have a mess. It means that the package claiming to be Universal Type Client.app, version 3.2.0 installs an app with a version of "2.1.3".

scottlep

unread,
Aug 21, 2012, 3:38:06 PM8/21/12
to munk...@googlegroups.com
Uggggghhhh. Ok....my fault. I thought that I was supposed to run makepkginfo -f "/Applications/Universal Type Client.app" on a machine with the older version (2.1.3) that I was trying to replace, not the a machine with the version (3.2.0) that I was trying to install.

Sorry.

Just ran makepkginfo -f "/Applications/Universal Type Client.app" on the correct machine, now it works as expected.

Thanks as always for all of your help.

~Scott

bruienne

unread,
Aug 21, 2012, 3:43:01 PM8/21/12
to munk...@googlegroups.com
For reference, this is my pkginfo for UTC 3.2.0. We're doing a new deployment so there's no previous version to upgrade but ostensibly you shouldn't have to add anything to this pkginfo if you use the same "name" key as your older version and add it to your managed_installs entries. Munki will pick up your 3.2.0 pkginfo as the newest version, compare to the current app version on disk, and update. I would keep all versioning out of my name keys though, as Greg also mentioned. It never does anything but bite you in the end.


Pepijn.
Reply all
Reply to author
Forward
0 new messages