homebysix / recipe-robot

A kick ass tool for creating AutoPkg recipes.
Apache License 2.0
301 stars 28 forks source link

Sparkle Feed Causes dev Branch Recipe Creation Failure #179

Closed foigus closed 3 years ago

foigus commented 3 years ago

When attempting to build a recipe for the following Sparkle feed, the current dev branch of Recipe Robot (2.1.0) dies with pyrotechnics:

http://downloads.xrite.com/downloads/AutoUpdate/i1Studio/i1Studio_mac_appcast.xml

To Reproduce Steps to reproduce the behavior:

  1. Download RR dev branch
  2. Run ./recipe-robot --verbose http://downloads.xrite.com/downloads/AutoUpdate/i1Studio/i1Studio_mac_appcast.xml

Desktop (please complete the following information):

Processing: http://downloads.xrite.com/downloads/AutoUpdate/i1Studio/i1Studio_mac_appcast.xml Input path looks like a Sparkle feed. Sparkle feed is: http://downloads.xrite.com/downloads/AutoUpdate/i1Studio/i1Studio_mac_appcast.xml Checking for HTTPS URL... Found HTTPS URL: https://downloads.xrite.com/downloads/AutoUpdate/i1Studio/i1Studio_mac_appcast.xml Getting information from Sparkle feed... The Sparkle feed provides a version number The latest version is 1.5.1.11720 The latest shortVersionString is 1.5.1 Download URL is: http://downloads.xrite.com/Downloads/Software/i1Studio/v1.5.1/mac/i1Studio.zip Downloading file for further inspection... Checking for HTTPS URL... Found HTTPS URL: https://downloads.xrite.com/Downloads/Software/i1Studio/v1.5.1/mac/i1Studio.zip ##################################################################################################################################################################################################################### 100.0% Downloaded to /Users/admin/Library/Caches/Recipe Robot/2020-11-10_13-04-38_335260/i1Studio.zip Determining download format... File extension is zip Opening downloaded file... Successfully unarchived zip Checking whether package is signed... Package is signed Getting developer from pkg signature... Developer is: X-Rite, Incorporated Getting package signature authority names... 3 authority names recorded Expanding package to look for clues... Package expanded to: /Users/admin/Library/Caches/Recipe Robot/2020-11-10_13-04-38_335260/expanded Trying to get bundle identifier from PackageInfo file... Bundle identifier (tentative): X-Rite.com.i1studio.i1Studio.pkg Trying to get bundle identifier from PackageInfo file... No bundle identifier in this PackageInfo. Trying to get bundle identifier from PackageInfo file... No bundle identifier in this PackageInfo. Trying to get bundle identifier from PackageInfo file... No bundle identifier in this PackageInfo. Added blocking application: i1Studio.app Added blocking application: i1StudioTray.app Found application: Autoupdate.app Added blocking application: XRD Software Update.app Added blocking application: X-Rite Device Services.app [WARNING] Multiple apps found in payload. I'll do my best to figure out which one to use. Using app: XRD Software Update.app In container package: XRD_ManagerComponent.pkg Validating app... This app seems valid Getting bundle name... Bundle name is: XRD Software Update Getting bundle identifier... Bundle identifier is: com.xrite.xrd.softwareupdate Looking for version key... Version key is: CFBundleShortVersionString (3.0.101) Looking for icon... [WARNING] Can't determine icon. Getting description... Can't retrieve description. Searching for existing AutoPkg recipes for XRD+Software+Update... No results Searching for existing AutoPkg recipes for XRDSoftwareUpdate... No results Generating download recipe... /Users/admin/Library/AutoPkg/Recipe Robot Output/XRD Software Update/XRD Software Update.download.recipe Generating munki recipe... [ERROR] Recipe Robot exploded with unexpected error: sequence item 0: expected str instance, NoneType found Traceback (most recent call last): File "/Users/admin/Downloads/recipe-robot-dev/scripts/recipe-robot", line 96, in main time, = recipe_robot_lib.generate_recipes(facts, prefs) File "/Users/admin/Downloads/recipe-robot-dev/scripts/recipe_robot_lib/tools.py", line 154, in run_func result = func(*args, **kwargs) File "/Users/admin/Downloads/recipe-robot-dev/scripts/recipe_robot_lib/recipe_generator.py", line 115, in generate_recipes build_recipes(facts, preferred, prefs) File "/Users/admin/Downloads/recipe-robot-dev/scripts/recipe_robot_lib/recipe_generator.py", line 200, in build_recipes recipe = generation_func(facts, prefs, recipe) File "/Users/admin/Downloads/recipe-robot-dev/scripts/recipe_robot_lib/recipe_generator.py", line 559, in generate_munki_recipe recipe.set_parent_from(prefs, facts, "download") File "/Users/admin/Downloads/recipe-robot-dev/scripts/recipe_robot_lib/recipe.py", line 138, in set_parent_from self["keys"]["ParentRecipe"] = ".".join(elements).replace(" ", "") TypeError: sequence item 0: expected str instance, NoneType found

                                _[]_
                                [xx]
                               q-||-p
                                 ||
                               _/  \_