homebysix / recipe-robot

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

Parsing BBEdit Sparkle feed causes error #194

Open workflowsguy opened 2 years ago

workflowsguy commented 2 years ago

Describe the bug Trying to create a recipe for BBEdit by dropping the app on RR fails with the following

 Processing: /Volumes/Macintosh HD/Applications/BBEdit.app
Input path looks like an app.
Validating app...
    This app seems valid
Getting bundle name...
    Bundle name is: BBEdit
Getting bundle identifier...
    Bundle identifier is: com.barebones.bbedit
Checking for a Sparkle feed...
    Sparkle feed is: https://versioncheck.barebones.com/BBEdit.xml
Getting information from Sparkle feed...
[ERROR] Recipe Robot exploded with unexpected error: max() arg is an empty sequence
Traceback (most recent call last):
  File "/Applications/Recipe Robot.app/Contents/Resources/scripts/recipe-robot", line 92, in main
    process_input_path(facts)
  File "/Applications/Recipe Robot.app/Contents/Resources/scripts/recipe_robot_lib/inspect.py", line 177, in process_input_path
    facts = inspect_func(input_path, args, facts)
  File "/Applications/Recipe Robot.app/Contents/Resources/scripts/recipe_robot_lib/inspect.py", line 320, in inspect_app
    facts = inspect_sparkle_feed_url(sparkle_feed, args, facts)
  File "/Applications/Recipe Robot.app/Contents/Resources/scripts/recipe_robot_lib/inspect.py", line 2035, in inspect_sparkle_feed_url
    latest_info = max(sparkle_info, key=lambda x: APLooseVersion(x[key]))
ValueError: max() arg is an empty sequence

To Reproduce Steps to reproduce the behavior:

  1. Dropping BBEdit.app on RR's Gui area
  2. See error above

Expected behavior RR should create the individual recipe parts

Desktop (please complete the following information):

homebysix commented 2 years ago

A good catch — BareBones doesn't actually use Sparkle for their update check XML. I might adjust Recipe Robot to accommodate their format.

However, I'd suggest that most BareBones apps already have recipes in the AutoPkg org on GitHub. BBEdit, for example. Still, good for RR to know what to do in case a new app is released.

workflowsguy commented 2 years ago

Thank you.

I am aware that a recipe for BBedit already exists. However, it fails to download anything. (I had reported an issue about this and just checked, only to see that you had replied. This somehow escaped my notice; I am sorry about that.)

This is the reason I was trying to create a separate recipe for it with RR.

homebysix commented 1 year ago

RR 2.3.0 now contains special handling for Bare Bones appcast feeds. However I'm getting a ditto: Couldn't read PKZip signature error when running the generated download recipes in AutoPkg 3.0rc2. I'll look more into this.