Skip to main content
Solved

Retrospect Version Extension Attribute

  • October 17, 2016
  • 11 replies
  • 46 views

Forum|alt.badge.img+12

Does anyone have or know how to make an EA to show Retrospect client version?
Thanks.

Best answer by mm2270

defaults read /Library/PreferencePanes/Retrospect Client.prefPane/Contents/Info.plist CFBundleVersion

Note you can also use CFBundleShortVersionString as the attribute to read, but since the plist you posted shows this for that attribute - <string>13.0.1 (104)</string> I'd say its probably better to use CFBundleVersion
That should yield 13.0.1.104 as an example.

To put the above into a usable EA script, try something like this

#!/bin/sh

PrefPanePath="/Library/PreferencePanes/Retrospect Client.prefPane"

if [ -e "$PrefPanePath" ]; then
     result=$(defaults read "${PrefPanePath}/Contents/Info.plist" CFBundleVersion)
else
     result="Not Installed"
fi

echo "<result>$result</result>"

11 replies

mm2270
Forum|alt.badge.img+24
  • Legendary Contributor
  • October 17, 2016

Its been a long time since I've used it now, but isn't Retrospect just an application? If so, wouldn't the version be captured like any other application installed on a client?


Forum|alt.badge.img+12
  • Author
  • Valued Contributor
  • October 17, 2016

@mm2270 Its a system preference now. No app that I'm aware of.
Thanks.


mm2270
Forum|alt.badge.img+24
  • Legendary Contributor
  • October 17, 2016

Ah, got it. Told you its been a while. :)
So, all Preference Panes have a version string in them. You just need to get it with the defaults command (or mdls - command line Spotlight)
I don't know the path to the installed Preference pane, but if you post it I can probably help you build the EA. Or you can probably do it yourself easily enough.


madscripter
Forum|alt.badge.img+4
  • New Contributor
  • October 20, 2016

Hello I need help with this as well. How would I parse the version from info.plist that is in the Preference pane.
Path is '/Library/PreferencePanes/Retrospect Client.prefPane/Contents/Info.plist

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>BuildMachineOSBuild</key>
    <string>13F34</string>
    <key>CFBundleDevelopmentRegion</key>
    <string>English</string>
    <key>CFBundleExecutable</key>
    <string>Retrospect Client</string>
    <key>CFBundleIconFile</key>
    <string>app.icns</string>
    <key>CFBundleIdentifier</key>
    <string>com.retrospect.Retrospect_Client</string>
    <key>CFBundleInfoDictionaryVersion</key>
    <string>6.0</string>
    <key>CFBundleName</key>
    <string>Retrospect Client</string>
    <key>CFBundlePackageType</key>
    <string>BNDL</string>
    <key>CFBundleShortVersionString</key>
    <string>13.0.1 (104)</string>
    <key>CFBundleSignature</key>
    <string>????</string>
    <key>CFBundleVersion</key>
    <string>13.0.1.104</string>
    <key>DTCompiler</key>
    <string>com.apple.compilers.llvm.clang.1_0</string>
    <key>DTPlatformBuild</key>
    <string>5B1008</string>
    <key>DTPlatformVersion</key>
    <string>GM</string>
    <key>DTSDKBuild</key>
    <string>13C64</string>
    <key>DTSDKName</key>
    <string>macosx10.9</string>
    <key>DTXcode</key>
    <string>0511</string>
    <key>DTXcodeBuild</key>
    <string>5B1008</string>
    <key>NSHumanReadableCopyright</key>
    <string>Copyright © Retrospect, Inc. Portions © 1989-2010 EMC Corporation. All rights reserved.</string>
    <key>NSMainNibFile</key>
    <string>MainView</string>
    <key>NSPrefPaneIconFile</key>
    <string>icon32.png</string>
    <key>NSPrefPaneIconLabel</key>
    <string>Retrospect Client</string>
    <key>NSPrincipalClass</key>
    <string>MainController</string>
    <key>build</key>
    <string>423a5dd/fb7eac8</string>
</dict>
</plist>

mm2270
Forum|alt.badge.img+24
  • Legendary Contributor
  • Answer
  • October 20, 2016
defaults read /Library/PreferencePanes/Retrospect Client.prefPane/Contents/Info.plist CFBundleVersion

Note you can also use CFBundleShortVersionString as the attribute to read, but since the plist you posted shows this for that attribute - <string>13.0.1 (104)</string> I'd say its probably better to use CFBundleVersion
That should yield 13.0.1.104 as an example.

To put the above into a usable EA script, try something like this

#!/bin/sh

PrefPanePath="/Library/PreferencePanes/Retrospect Client.prefPane"

if [ -e "$PrefPanePath" ]; then
     result=$(defaults read "${PrefPanePath}/Contents/Info.plist" CFBundleVersion)
else
     result="Not Installed"
fi

echo "<result>$result</result>"

donmontalvo
Forum|alt.badge.img+36
  • Hall of Fame
  • October 20, 2016

@mm2270 wrote:

but isn't Retrospect just an application?

Wait. Is Retrospect still a thing?

I know CrashPlan is a thing. :)

Don


mm2270
Forum|alt.badge.img+24
  • Legendary Contributor
  • October 20, 2016

@donmontalvo wrote:

Wait. Is Retrospect still a thing?

Heh. That WAS going to be my original question, but I decided to be nice about it. :)


Forum|alt.badge.img+12
  • Author
  • Valued Contributor
  • October 21, 2016

I would like nothing more than to get to a modern, robust backup solution rather than sending drives offsite with Iron Mountain and struggling through regular manual backup checks to verify clients are actually getting backed up. Unfortunately robust and reliable backups don't seem to be a priority in my environment. Woo?


Forum|alt.badge.img+12
  • Author
  • Valued Contributor
  • October 21, 2016

Oh and thanks for the help with my quandary. :)
I'll give it a try soon @mm2270


Forum|alt.badge.img+12
  • Author
  • Valued Contributor
  • October 27, 2016

@mm2270 's solution worked.
Thanks.


madscripter
Forum|alt.badge.img+4
  • New Contributor
  • March 20, 2017

Just getting back to this. Thanks to @mm2270 for the solution and @llitz123 for posting the problem.