autopkg/recipes

SassafrasK2Client recipes break with v.7.7

Opened this issue · 0 comments

Describe the problem
SassafrasK2Client recipes break with version 7.7 or later of the product (now known as AllSight/LabSight/KeySight).

AutoPkg output
When command autopkg run SassafrasK2Client.download is executed, the recipe succeeds, but with default values, it downloads v.7.6.1.2. (The current version is 7.7.0.0.) If you try to specify version 7.7, it fails as shown below, since the download links have changed (to a static download link for the latest version) for version 7.7 and later:

% autopkg run -vvvv --ignore-parent-trust-verification-errors SassafrasK2Client.download -k REVISION=77
Processing SassafrasK2Client.download...
WARNING: SassafrasK2Client.download is missing trust info and FAIL_RECIPES_WITHOUT_TRUST_INFO is not set. Proceeding...
{'AUTOPKG_VERSION': '2.2',
 'GIT_PATH': '/usr/local/git/bin/git',
 'NAME': 'K2Client',
 'PARENT_RECIPES': [],
 'RECIPE_CACHE_DIR': '/Users/uc/Library/AutoPkg/Cache/com.github.autopkg.download.sassafras-k2client',
 'RECIPE_DIR': '/Users/uc/Library/AutoPkg/RecipeRepos/com.github.autopkg.recipes/SassafrasK2Client',
 'RECIPE_OVERRIDE_DIRS': ['~/Library/AutoPkg/RecipeOverrides'],
 'RECIPE_PATH': '/Users/uc/Library/AutoPkg/RecipeRepos/com.github.autopkg.recipes/SassafrasK2Client/SassafrasK2Client.download.recipe',
 'RECIPE_REPOS': {'/Users/uc/Library/AutoPkg/RecipeRepos/com.github.autopkg.grahamgilbert-recipes': {'URL': 'https://github.com/autopkg/grahamgilbert-recipes'},
                  '/Users/uc/Library/AutoPkg/RecipeRepos/com.github.autopkg.jazzace-recipes': {'URL': 'https://github.com/autopkg/jazzace-recipes'},
                  '/Users/uc/Library/AutoPkg/RecipeRepos/com.github.autopkg.recipes': {'URL': 'https://github.com/autopkg/recipes.git'}},
 'RECIPE_SEARCH_DIRS': ['.',
                        '~/Library/AutoPkg/Recipes',
                        '/Library/AutoPkg/Recipes',
                        '/Users/uc/Library/AutoPkg/RecipeRepos/com.github.autopkg.recipes',
                        '/Users/uc/Library/AutoPkg/RecipeRepos/com.github.autopkg.jazzace-recipes',
                        '/Users/uc/Library/AutoPkg/RecipeRepos/com.github.autopkg.grahamgilbert-recipes'],
 'REVISION': '77',
 'verbose': 4}
URLDownloader
{'Input': {'url': 'https://www.sassafras.com/k2/revisions77/current/Installers/Macintosh%20Installers/Client/K2Client.pkg'}}
URLDownloader: No value supplied for prefetch_filename, setting default value of: False
URLDownloader: No value supplied for CHECK_FILESIZE_ONLY, setting default value of: False
Traceback (most recent call last):
  File "/Library/AutoPkg/autopkglib/URLGetter.py", line 196, 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', '--silent', '--show-error', '--no-buffer', '--dump-header', '-', '--speed-time', '30', '--location', '--url', 'https://www.sassafras.com/k2/revisions77/current/Installers/Macintosh%20Installers/Client/K2Client.pkg', '--fail', '--output', '/Users/uc/Library/AutoPkg/Cache/com.github.autopkg.download.sassafras-k2client/downloads/tmp8wx4zn0g', '--header', 'If-None-Match: "2bd691-5ac60a6dea400"', '--header', 'If-Modified-Since: Sat, 08 Aug 2020 17:00:00 GMT']' returned non-zero exit status 22.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Library/AutoPkg/autopkglib/__init__.py", line 658, in process
    self.env = processor.process()
  File "/Library/AutoPkg/autopkglib/__init__.py", line 465, in process
    self.main()
  File "/Library/AutoPkg/autopkglib/URLDownloader.py", line 328, in main
    raw_headers = self.download_with_curl(curl_cmd)
  File "/Library/AutoPkg/autopkglib/URLGetter.py", line 204, in download_with_curl
    proc_stdout, proc_stderr, retcode = self.execute_curl(curl_cmd, text)
  File "/Library/AutoPkg/autopkglib/URLGetter.py", line 199, in execute_curl
    raise ProcessorError(e)
autopkglib.ProcessorError: Command '['/usr/bin/curl', '--silent', '--show-error', '--no-buffer', '--dump-header', '-', '--speed-time', '30', '--location', '--url', 'https://www.sassafras.com/k2/revisions77/current/Installers/Macintosh%20Installers/Client/K2Client.pkg', '--fail', '--output', '/Users/uc/Library/AutoPkg/Cache/com.github.autopkg.download.sassafras-k2client/downloads/tmp8wx4zn0g', '--header', 'If-None-Match: "2bd691-5ac60a6dea400"', '--header', 'If-Modified-Since: Sat, 08 Aug 2020 17:00:00 GMT']' returned non-zero exit status 22.
  File "/Library/AutoPkg/autopkglib/__init__.py", line 658, in process
    self.env = processor.process()
Command '['/usr/bin/curl', '--silent', '--show-error', '--no-buffer', '--dump-header', '-', '--speed-time', '30', '--location', '--url', 'https://www.sassafras.com/k2/revisions77/current/Installers/Macintosh%20Installers/Client/K2Client.pkg', '--fail', '--output', '/Users/uc/Library/AutoPkg/Cache/com.github.autopkg.download.sassafras-k2client/downloads/tmp8wx4zn0g', '--header', 'If-None-Match: "2bd691-5ac60a6dea400"', '--header', 'If-Modified-Since: Sat, 08 Aug 2020 17:00:00 GMT']' returned non-zero exit status 22.
Failed.
Receipt written to /Users/uc/Library/AutoPkg/Cache/com.github.autopkg.download.sassafras-k2client/receipts/SassafrasK2Client-receipt-20200831-151848.plist

The following recipes failed:
    SassafrasK2Client.download
        Error in com.github.autopkg.download.sassafras-k2client: Processor: URLDownloader: Error: Command '['/usr/bin/curl', '--silent', '--show-error', '--no-buffer', '--dump-header', '-', '--speed-time', '30', '--location', '--url', 'https://www.sassafras.com/k2/revisions77/current/Installers/Macintosh%20Installers/Client/K2Client.pkg', '--fail', '--output', '/Users/uc/Library/AutoPkg/Cache/com.github.autopkg.download.sassafras-k2client/downloads/tmp8wx4zn0g', '--header', 'If-None-Match: "2bd691-5ac60a6dea400"', '--header', 'If-Modified-Since: Sat, 08 Aug 2020 17:00:00 GMT']' returned non-zero exit status 22.

Nothing downloaded, packaged or imported.

Expected behavior
Recipe, as documented, should fetch the "latest" client installer. This fetches the terminal version of the 7.6 client (or earlier terminal version if specified by PRODUCT variable).

Suggested Fix
I would recommend deprecation of these recipes. The original author of these recipes (Tim Sutton) no longer uses this product and an alternative that supports version 7.7 (plus the Admin and Server installs) is now available in jazzace-recipes. The only reason to update the recipes would be for the customization of the client installer pkg, but even this is no longer common with the addition of new functionality in the product.

Version

  • OS version: 10.15.6
  • AutoPkg Version: 2.2