Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix USB Overdrive recipes #84

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

homebysix
Copy link
Member

This PR updates the download method for USB Overdrive and adjusts child recipes to accomodate the dmg format instead of pkg.

Verbose recipe run output:

% autopkg run -vvq USBOverdrive.{download,munki}.recipe
Processing USBOverdrive.download.recipe...
WARNING: USBOverdrive.download.recipe is missing trust info and FAIL_RECIPES_WITHOUT_TRUST_INFO is not set. Proceeding...
URLTextSearcher
{'Input': {'re_pattern': 'href="(https://www\\.usboverdrive\\.com/download/USB-Overdrive-\\d+\\.dmg)"',
           'result_output_var_name': 'url',
           'url': 'https://www.usboverdrive.com/downloads/'}}
URLTextSearcher: Found matching text (url): https://www.usboverdrive.com/download/USB-Overdrive-531.dmg
{'Output': {'url': 'https://www.usboverdrive.com/download/USB-Overdrive-531.dmg'}}
URLDownloader
{'Input': {'filename': 'USBOverdrive.dmg',
           'url': 'https://www.usboverdrive.com/download/USB-Overdrive-531.dmg'}}
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
URLDownloader: Storing new Last-Modified header: Mon, 19 Feb 2024 21:44:32 GMT
URLDownloader: Storing new ETag header: "e3f28-611c2ffc0a250"
URLDownloader: Downloaded ~/Library/AutoPkg/Cache/com.github.jaharmi.download.USBOverdrive/downloads/USBOverdrive.dmg
{'Output': {'download_changed': True,
            'etag': '"e3f28-611c2ffc0a250"',
            'last_modified': 'Mon, 19 Feb 2024 21:44:32 GMT',
            'pathname': '~/Library/AutoPkg/Cache/com.github.jaharmi.download.USBOverdrive/downloads/USBOverdrive.dmg',
            'url_downloader_summary_result': {'data': {'download_path': '~/Library/AutoPkg/Cache/com.github.jaharmi.download.USBOverdrive/downloads/USBOverdrive.dmg'},
                                              'summary_text': 'The following '
                                                              'new items were '
                                                              'downloaded:'}}}
EndOfCheckPhase
{'Input': {}}
{'Output': {}}
CodeSignatureVerifier
{'Input': {'input_path': '~/Library/AutoPkg/Cache/com.github.jaharmi.download.USBOverdrive/downloads/USBOverdrive.dmg/USB '
                         'Overdrive.app'}}
CodeSignatureVerifier: Mounted disk image ~/Library/AutoPkg/Cache/com.github.jaharmi.download.USBOverdrive/downloads/USBOverdrive.dmg
CodeSignatureVerifier: Verifying code signature...
CodeSignatureVerifier: WARNING: This recipe is using 'requirements' when it should be using 'requirement'. This will become an error in future versions of AutoPkg.
CodeSignatureVerifier: Deep verification enabled...
CodeSignatureVerifier: Strict verification not defined. Using codesign defaults...
CodeSignatureVerifier: /private/tmp/dmg.KvRwuR/USB Overdrive.app: valid on disk
CodeSignatureVerifier: /private/tmp/dmg.KvRwuR/USB Overdrive.app: satisfies its Designated Requirement
CodeSignatureVerifier: /private/tmp/dmg.KvRwuR/USB Overdrive.app: explicit requirement satisfied
CodeSignatureVerifier: Signature is valid
{'Output': {}}
Versioner
{'Input': {'input_plist_path': '~/Library/AutoPkg/Cache/com.github.jaharmi.download.USBOverdrive/downloads/USBOverdrive.dmg/USB '
                               'Overdrive.app/Contents/Info.plist',
           'plist_version_key': 'CFBundleShortVersionString'}}
Versioner: No value supplied for skip_single_root_dir, setting default value of: False
Versioner: Mounted disk image ~/Library/AutoPkg/Cache/com.github.jaharmi.download.USBOverdrive/downloads/USBOverdrive.dmg
Versioner: Found version 5.3.1 in file ~/Library/AutoPkg/Cache/com.github.jaharmi.download.USBOverdrive/downloads/USBOverdrive.dmg/USB Overdrive.app/Contents/Info.plist
{'Output': {'version': '5.3.1'}}
Receipt written to ~/Library/AutoPkg/Cache/com.github.jaharmi.download.USBOverdrive/receipts/USBOverdrive.download-receipt-20241226-174946.plist
Processing USBOverdrive.munki.recipe...
WARNING: USBOverdrive.munki.recipe is missing trust info and FAIL_RECIPES_WITHOUT_TRUST_INFO is not set. Proceeding...
URLTextSearcher
{'Input': {'re_pattern': 'href="(https://www\\.usboverdrive\\.com/download/USB-Overdrive-\\d+\\.dmg)"',
           'result_output_var_name': 'url',
           'url': 'https://www.usboverdrive.com/downloads/'}}
URLTextSearcher: Found matching text (url): https://www.usboverdrive.com/download/USB-Overdrive-531.dmg
{'Output': {'url': 'https://www.usboverdrive.com/download/USB-Overdrive-531.dmg'}}
URLDownloader
{'Input': {'filename': 'USBOverdrive.dmg',
           'url': 'https://www.usboverdrive.com/download/USB-Overdrive-531.dmg'}}
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
URLDownloader: Storing new Last-Modified header: Mon, 19 Feb 2024 21:44:32 GMT
URLDownloader: Storing new ETag header: "e3f28-611c2ffc0a250"
URLDownloader: Downloaded ~/Library/AutoPkg/Cache/com.github.jaharmi.munki.USBOverdrive/downloads/USBOverdrive.dmg
{'Output': {'download_changed': True,
            'etag': '"e3f28-611c2ffc0a250"',
            'last_modified': 'Mon, 19 Feb 2024 21:44:32 GMT',
            'pathname': '~/Library/AutoPkg/Cache/com.github.jaharmi.munki.USBOverdrive/downloads/USBOverdrive.dmg',
            'url_downloader_summary_result': {'data': {'download_path': '~/Library/AutoPkg/Cache/com.github.jaharmi.munki.USBOverdrive/downloads/USBOverdrive.dmg'},
                                              'summary_text': 'The following '
                                                              'new items were '
                                                              'downloaded:'}}}
EndOfCheckPhase
{'Input': {}}
{'Output': {}}
CodeSignatureVerifier
{'Input': {'input_path': '~/Library/AutoPkg/Cache/com.github.jaharmi.munki.USBOverdrive/downloads/USBOverdrive.dmg/USB '
                         'Overdrive.app'}}
CodeSignatureVerifier: Mounted disk image ~/Library/AutoPkg/Cache/com.github.jaharmi.munki.USBOverdrive/downloads/USBOverdrive.dmg
CodeSignatureVerifier: Verifying code signature...
CodeSignatureVerifier: WARNING: This recipe is using 'requirements' when it should be using 'requirement'. This will become an error in future versions of AutoPkg.
CodeSignatureVerifier: Deep verification enabled...
CodeSignatureVerifier: Strict verification not defined. Using codesign defaults...
CodeSignatureVerifier: /private/tmp/dmg.PNXpRG/USB Overdrive.app: valid on disk
CodeSignatureVerifier: /private/tmp/dmg.PNXpRG/USB Overdrive.app: satisfies its Designated Requirement
CodeSignatureVerifier: /private/tmp/dmg.PNXpRG/USB Overdrive.app: explicit requirement satisfied
CodeSignatureVerifier: Signature is valid
{'Output': {}}
Versioner
{'Input': {'input_plist_path': '~/Library/AutoPkg/Cache/com.github.jaharmi.munki.USBOverdrive/downloads/USBOverdrive.dmg/USB '
                               'Overdrive.app/Contents/Info.plist',
           'plist_version_key': 'CFBundleShortVersionString'}}
Versioner: No value supplied for skip_single_root_dir, setting default value of: False
Versioner: Mounted disk image ~/Library/AutoPkg/Cache/com.github.jaharmi.munki.USBOverdrive/downloads/USBOverdrive.dmg
Versioner: Found version 5.3.1 in file ~/Library/AutoPkg/Cache/com.github.jaharmi.munki.USBOverdrive/downloads/USBOverdrive.dmg/USB Overdrive.app/Contents/Info.plist
{'Output': {'version': '5.3.1'}}
MunkiPkginfoMerger
{'Input': {'additional_pkginfo': {'version': '5.3.1'},
           'pkginfo': {'catalogs': ['testing'],
                       'description': 'The USB Overdrive is a device driver '
                                      'for Mac OS X that handles any USB or '
                                      'Bluetooth mouse, keyboard, trackball, '
                                      'joystick, gamepad or gaming device from '
                                      'any manufacturer and lets you configure '
                                      'it either globally or on a '
                                      'per-application, per-device basis.',
                       'developer': 'A. Levi Montalcini',
                       'display_name': 'USB Overdrive',
                       'name': 'USBOverdrive',
                       'unattended_install': True}}}
MunkiPkginfoMerger: Merged {'version': '5.3.1'} into pkginfo
{'Output': {'pkginfo': {'catalogs': ['testing'],
                        'description': 'The USB Overdrive is a device driver '
                                       'for Mac OS X that handles any USB or '
                                       'Bluetooth mouse, keyboard, trackball, '
                                       'joystick, gamepad or gaming device '
                                       'from any manufacturer and lets you '
                                       'configure it either globally or on a '
                                       'per-application, per-device basis.',
                        'developer': 'A. Levi Montalcini',
                        'display_name': 'USB Overdrive',
                        'name': 'USBOverdrive',
                        'unattended_install': True,
                        'version': '5.3.1'}}}
MunkiImporter
{'Input': {'MUNKI_REPO': '/Users/Shared/munki_repo',
           'pkg_path': '~/Library/AutoPkg/Cache/com.github.jaharmi.munki.USBOverdrive/downloads/USBOverdrive.dmg',
           'pkginfo': {'catalogs': ['testing'],
                       'description': 'The USB Overdrive is a device driver '
                                      'for Mac OS X that handles any USB or '
                                      'Bluetooth mouse, keyboard, trackball, '
                                      'joystick, gamepad or gaming device from '
                                      'any manufacturer and lets you configure '
                                      'it either globally or on a '
                                      'per-application, per-device basis.',
                       'developer': 'A. Levi Montalcini',
                       'display_name': 'USB Overdrive',
                       'name': 'USBOverdrive',
                       'unattended_install': True,
                       'version': '5.3.1'},
           'repo_subdirectory': 'apps'}}
MunkiImporter: No value supplied for MUNKI_REPO_PLUGIN, setting default value of: FileRepo
MunkiImporter: No value supplied for MUNKILIB_DIR, setting default value of: /usr/local/munki
MunkiImporter: No value supplied for force_munki_repo_lib, setting default value of: False
MunkiImporter: Using repo lib: AutoPkgLib
MunkiImporter:         plugin: FileRepo
MunkiImporter:           repo: /Users/Shared/munki_repo
MunkiImporter: Copied pkginfo to: /Users/Shared/munki_repo/pkgsinfo/apps/USBOverdrive-5.3.1.plist
MunkiImporter:            pkg to: /Users/Shared/munki_repo/pkgs/apps/USBOverdrive-5.3.1.dmg
{'Output': {'munki_importer_summary_result': {'data': {'catalogs': 'testing',
                                                       'icon_repo_path': '',
                                                       'name': 'USBOverdrive',
                                                       'pkg_repo_path': 'apps/USBOverdrive-5.3.1.dmg',
                                                       'pkginfo_path': 'apps/USBOverdrive-5.3.1.plist',
                                                       'version': '5.3.1'},
                                              'report_fields': ['name',
                                                                'version',
                                                                'catalogs',
                                                                'pkginfo_path',
                                                                'pkg_repo_path',
                                                                'icon_repo_path'],
                                              'summary_text': 'The following '
                                                              'new items were '
                                                              'imported into '
                                                              'Munki:'},
            'munki_info': {'_metadata': {'created_by': 'testuser',
                                         'creation_date': datetime.datetime(2024, 12, 27, 1, 49, 53),
                                         'munki_version': '6.6.3.4704',
                                         'os_version': '15.2'},
                           'autoremove': False,
                           'catalogs': ['testing'],
                           'description': 'The USB Overdrive is a device '
                                          'driver for Mac OS X that handles '
                                          'any USB or Bluetooth mouse, '
                                          'keyboard, trackball, joystick, '
                                          'gamepad or gaming device from any '
                                          'manufacturer and lets you configure '
                                          'it either globally or on a '
                                          'per-application, per-device basis.',
                           'developer': 'A. Levi Montalcini',
                           'display_name': 'USB Overdrive',
                           'installer_item_hash': '36d923046fca04503288449f48dd3bab299e782974900a2ddd0d2dbf81bf3e6c',
                           'installer_item_location': 'apps/USBOverdrive-5.3.1.dmg',
                           'installer_item_size': 911,
                           'installer_type': 'copy_from_dmg',
                           'installs': [{'CFBundleIdentifier': 'com.usboverdrive.app',
                                         'CFBundleName': 'USB Overdrive',
                                         'CFBundleShortVersionString': '5.3.1',
                                         'CFBundleVersion': '5310',
                                         'minosversion': '12.0',
                                         'path': '/Applications/USB '
                                                 'Overdrive.app',
                                         'type': 'application',
                                         'version_comparison_key': 'CFBundleShortVersionString'}],
                           'items_to_copy': [{'destination_path': '/Applications',
                                              'source_item': 'USB '
                                                             'Overdrive.app'}],
                           'minimum_os_version': '12.0',
                           'name': 'USBOverdrive',
                           'unattended_install': True,
                           'uninstall_method': 'remove_copied_items',
                           'uninstallable': True,
                           'version': '5.3.1'},
            'munki_repo_changed': True,
            'pkg_repo_path': '/Users/Shared/munki_repo/pkgs/apps/USBOverdrive-5.3.1.dmg',
            'pkginfo_repo_path': '/Users/Shared/munki_repo/pkgsinfo/apps/USBOverdrive-5.3.1.plist'}}
Receipt written to ~/Library/AutoPkg/Cache/com.github.jaharmi.munki.USBOverdrive/receipts/USBOverdrive.munki-receipt-20241226-174953.plist

The following new items were downloaded:
    Download Path
    -------------
    ~/Library/AutoPkg/Cache/com.github.jaharmi.download.USBOverdrive/downloads/USBOverdrive.dmg
    ~/Library/AutoPkg/Cache/com.github.jaharmi.munki.USBOverdrive/downloads/USBOverdrive.dmg

The following new items were imported into Munki:
    Name          Version  Catalogs  Pkginfo Path                   Pkg Repo Path                Icon Repo Path
    ----          -------  --------  ------------                   -------------                --------------
    USBOverdrive  5.3.1    testing   apps/USBOverdrive-5.3.1.plist  apps/USBOverdrive-5.3.1.dmg

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant