homebysix/recipe-robot

2.0rc2: Sparkle URLs collect sparkle:version key value in output instead of sparkle:shortVersionString

apizz opened this issue · 1 comments

apizz commented

Describe the bug
Recently created this recipe manually, so I wanted to test it with latest RC of v2. When I drag the app (MTMR - https://github.com/Toxblh/MTMR) into Recipe Robot it outputs the CFBundleVersion of the app (listed as sparkle:version in the appcast.xml) from the app's Sparkle feed instead of CFBundleShortVersionString (listed as sparkle:shortVersionString). Later on when the app's version is collected, Recipe Robot uses the CFBundleShortVersionString, which doesn't match. Ultimately this is more of an output mismatch rather than a true bug.

To Reproduce
Steps to reproduce the behavior:

  1. Download MTMR app from GitHub
  2. Mount the DMG
  3. Drag the app into Recipe Robot v2.0rc2
  4. What for completion.
  5. Note in output version is listed as 406, which is the app CFBundleVersion, not CFBundleShortVersionString, and that later when a version is collected directly from the downloaded app that 0.26.1 is collected.

Expected behavior
Version key collected from Sparkle feed matches the version key later collected from app.

Screenshots
Screen Shot 2020-10-24 at 9 54 27 PM

Output from CLI tool:

./recipe-robot /Volumes/MTMR/MTMR.app -v

                      -----------------------------------
                     |  Welcome to Recipe Robot v2.0.0.  |
                      -----------------------------------
                                \   _[]_
                                 \  [oo]
                                   d-||-b
                                     ||
                                   _/  \_
    
Processing: /Volumes/MTMR/MTMR.app
Input path looks like an app.
Validating app...
    This app seems valid
Getting bundle name...
    Bundle name is: MTMR
Getting bundle identifier...
    Bundle identifier is: Toxblh.MTMR
Checking for a Sparkle feed...
    Sparkle feed is: https://mtmr.app/appcast.xml
Getting information from Sparkle feed...
    The Sparkle feed provides a version number
    The latest version is 406
    Download URL is: https://mtmr.app/MTMR%200.26.1.dmg
Downloading file for further inspection...
    Downloaded to /Users/admin/Library/Caches/Recipe Robot/2020-10-24_22-04-41_455107/MTMR%200.26.1.dmg
Determining download format...
    File extension is dmg
Looking for version key...
    Version key is: CFBundleShortVersionString (0.26.1)
Looking for icon...
    Icon is: /Volumes/MTMR/MTMR.app/Contents/Resources/AppIcon
Getting description...
    Description (from MacUpdate): TouchBar Customization App.
Gathering code signature information...
    Code signature verification requirements recorded
    3 authority names recorded
    Developer: Anton Palgunov
Searching for existing AutoPkg recipes for MTMR...
    No results
Generating download recipe...
    /Users/admin/Library/AutoPkg/Recipe Robot Output/MTMR/MTMR.download.recipe
Generating pkg recipe...
    /Users/admin/Library/AutoPkg/Recipe Robot Output/MTMR/MTMR.pkg.recipe
Generating munki recipe...
    /Users/admin/Library/AutoPkg/Recipe Robot Output/MTMR/MTMR.munki.recipe

You've created 3 recipes with Recipe Robot. Fantastic.

Desktop (please complete the following information):

  • macOS: 10.15.6
  • Recipe Robot Version: 2.0.0rc2
  • which python: /usr/local/bin/python
  • python --version: Python 2.7.17

Thanks, this is a good suggestion.

First, it should be noted that the versions discovered during Sparkle feed inspection are used only to determine which Sparkle enclosure item should be used as "latest," and needn't match the actual application downloaded.

That said, I could see how showing more version info from the Sparkle feed could be useful. I'll add shortVersionString output in addition to the current version output.