autopkg / recipes

Recipes for AutoPkg
231 stars 206 forks source link

BBEdit BarebonesURLProvider broken #388

Closed workflowsguy closed 2 years ago

workflowsguy commented 3 years ago

Describe the problem Running BBEdit.munki fails in BarebonesURLProvider

AutoPkg output

BarebonesURLProvider
{'Input': {'product_name': 'bbedit'}}
Traceback (most recent call last):
  File "/Library/AutoPkg/autopkglib/URLGetter.py", line 177, in execute_curl
    errors=errors,
  File "/Library/AutoPkg/Python3/Python.framework/Versions/Current/lib/python3.7/subprocess.py", line 512, in run
    output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command '['/opt/local/bin/curl', '--compressed', '--location', 'https://versioncheck.barebones.com/BBEdit.xml']' returned non-zero exit status 60.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Library/AutoPkg/autopkglib/__init__.py", line 840, in process
    self.env = processor.process()
  File "/Library/AutoPkg/autopkglib/__init__.py", line 626, in process
    self.main()
  File "/Volumes/Web/Softwareverteilung/Recipe-Repositories/com.github.autopkg.recipes/Barebones/BarebonesURLProvider.py", line 61, in main
    manifest_str = self.download(url)
  File "/Library/AutoPkg/autopkglib/URLGetter.py", line 197, in download
    output = self.download_with_curl(curl_cmd, text)
  File "/Library/AutoPkg/autopkglib/URLGetter.py", line 185, in download_with_curl
    proc_stdout, proc_stderr, retcode = self.execute_curl(curl_cmd, text)
  File "/Library/AutoPkg/autopkglib/URLGetter.py", line 180, in execute_curl
    raise ProcessorError(e)
autopkglib.ProcessorError: Command '['/opt/local/bin/curl', '--compressed', '--location', 'https://versioncheck.barebones.com/BBEdit.xml']' returned non-zero exit status 60.
  File "/Library/AutoPkg/autopkglib/__init__.py", line 840, in process
    self.env = processor.process()
Command '['/opt/local/bin/curl', '--compressed', '--location', 'https://versioncheck.barebones.com/BBEdit.xml']' returned non-zero exit status 60.
Failed.

Version (please complete the following information):

homebysix commented 3 years ago

Hi @workflowsguy - I don't have a 10.13.6 Mac or VM available, but I'm unable to reproduce your issue on macOS 10.14 or 11.4.

I notice your curl path is nonstandard. Is that intentional?

What output do you get when checking the headers on the BBEdit xml?

/opt/local/bin/curl -I --compressed --location https://versioncheck.barebones.com/BBEdit.xml

Are you able to browse to the URL of the xml in a browser?

Curl exit code 60 indicates an SSL certificate issue. Do you have a network proxy or any security software that would be performing SSL inspection?

workflowsguy commented 2 years ago

I notice your curl path is nonstandard. Is that intentional?

Yes, this curl is the most recent one (7.83.1), installed through MacPorts.

There is a difference between this and macOS's version of curl that prevents the recipe from running successfully. My current workaround is to deactivate the MacPorts curl, run the BBEdit recipe and then reactivate it.

myszon01 commented 2 years ago

I'm using standard curl on macos 12 and getting same error as @workflowsguy

BarebonesURLProvider
{'Input': {'product_name': 'bbedit'}}
Traceback (most recent call last):
  File "/Library/AutoPkg/autopkglib/URLGetter.py", line 177, in execute_curl
    errors=errors,
  File "/Library/AutoPkg/Python3/Python.framework/Versions/Current/lib/python3.7/subprocess.py", line 512, in run
    output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command '['/usr/bin/curl', '--compressed', '--location', 'https://versioncheck.barebones.com/BBEdit.xml']' returned non-zero exit status 60.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Library/AutoPkg/autopkglib/__init__.py", line 840, in process
    self.env = processor.process()
  File "/Library/AutoPkg/autopkglib/__init__.py", line 626, in process
    self.main()
  File "/Users/ssm-user/Library/AutoPkg/RecipeRepos/com.github.autopkg.recipes/Barebones/BarebonesURLProvider.py", line 57, in main
    manifest_str = self.download(url)
  File "/Library/AutoPkg/autopkglib/URLGetter.py", line 197, in download
    output = self.download_with_curl(curl_cmd, text)
  File "/Library/AutoPkg/autopkglib/URLGetter.py", line 185, in download_with_curl
    proc_stdout, proc_stderr, retcode = self.execute_curl(curl_cmd, text)
  File "/Library/AutoPkg/autopkglib/URLGetter.py", line 180, in execute_curl
    raise ProcessorError(e)
autopkglib.ProcessorError: Command '['/usr/bin/curl', '--compressed', '--location', 'https://versioncheck.barebones.com/BBEdit.xml']' returned non-zero exit status 60.
  File "/Library/AutoPkg/autopkglib/__init__.py", line 840, in process
    self.env = processor.process()
Command '['/usr/bin/curl', '--compressed', '--location', 'https://versioncheck.barebones.com/BBEdit.xml']' returned non-zero exit status 60.
Failed.
homebysix commented 2 years ago

What output to you get from:

/usr/bin/curl -IL --compressed --location https://versioncheck.barebones.com/BBEdit.xml

I get the following:

% /usr/bin/curl -IL --compressed --location https://versioncheck.barebones.com/BBEdit.xml
HTTP/1.1 200 OK
Date: Fri, 01 Jul 2022 15:25:37 GMT
Server: Apache
Last-Modified: Sat, 25 Jun 2022 14:51:51 GMT
ETag: "9ac0-5e246d3b50fc0"
Accept-Ranges: bytes
Content-Length: 39616
MS-Author-Via: DAV
Content-Type: application/xml
myszon01 commented 2 years ago

Seems like it is working now. @homebysix I'm getting same results as you. Thank you!