As discussed in Slack I switched the version merge to the parent recipe's "long_version" variable. Using "long_version" extracted by the parent .download recipe results in a more presentable version.
The current recipe is non functional as the package is imported with "%version%" as version.
Here are both runs in comparison:
New run:
URLTextSearcher
{'Input': {'re_pattern': 'h2[^1-9]*(11(\\.\\d+)+)',
'result_output_var_name': 'long_version',
'url': 'https://www.ableton.com/en/release-notes/live-11/'}}
URLTextSearcher: Found matching text (long_version): 11.2
{'Output': {'long_version': '11.2'}}
URLDownloader
{'Input': {'url': 'https://cdn-downloads.ableton.com/channels/11.2/ableton_live_lite_11.2_universal.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: Item at URL is unchanged.
URLDownloader: Using existing /Users/trujmu/Library/AutoPkg/Cache/com.github.apizz.munki.AbletonLive/downloads/ableton_live_lite_11.2_universal.dmg
{'Output': {'pathname': '/Users/trujmu/Library/AutoPkg/Cache/com.github.apizz.munki.AbletonLive/downloads/ableton_live_lite_11.2_universal.dmg'}}
EndOfCheckPhase
{'Input': {}}
{'Output': {}}
CodeSignatureVerifier
{'Input': {'input_path': '/Users/trujmu/Library/AutoPkg/Cache/com.github.apizz.munki.AbletonLive/downloads/ableton_live_lite_11.2_universal.dmg/*.app',
'requirement': 'identifier "com.ableton.live" and anchor apple '
'generic and certificate '
'1[field.1.2.840.113635.100.6.2.6] /* exists */ and '
'certificate leaf[field.1.2.840.113635.100.6.1.13] '
'/* exists */ and certificate leaf[subject.OU] = '
'MWR434WD94'}}
CodeSignatureVerifier: Mounted disk image /Users/trujmu/Library/AutoPkg/Cache/com.github.apizz.munki.AbletonLive/downloads/ableton_live_lite_11.2_universal.dmg
CodeSignatureVerifier: Using path '/private/tmp/dmg.dh1NrD/Ableton Live 11 Lite.app' matched from globbed '/private/tmp/dmg.dh1NrD/*.app'.
CodeSignatureVerifier: Verifying code signature...
CodeSignatureVerifier: Deep verification enabled...
CodeSignatureVerifier: Strict verification not defined. Using codesign defaults...
CodeSignatureVerifier: /private/tmp/dmg.dh1NrD/Ableton Live 11 Lite.app: valid on disk
CodeSignatureVerifier: /private/tmp/dmg.dh1NrD/Ableton Live 11 Lite.app: satisfies its Designated Requirement
CodeSignatureVerifier: /private/tmp/dmg.dh1NrD/Ableton Live 11 Lite.app: explicit requirement satisfied
CodeSignatureVerifier: Signature is valid
{'Output': {}}
MunkiPkginfoMerger
{'Input': {'additional_pkginfo': {'version': '11.2'},
'pkginfo': {'catalogs': ['testing'],
'category': 'Music',
'description': 'Live is fast, fluid and flexible '
'software for music creation and '
'performance. It comes with effects, '
'instruments, sounds and all kinds of '
'creative features—everything you need '
'to make any kind of music.\n'
'\n'
'Create in a traditional linear '
'arrangement, or improvise without the '
'constraints of a timeline in Live’s '
'Session View. Move freely between '
'musical elements and play with ideas, '
'without stopping the music and without '
'breaking your flow.',
'developer': 'Ableton',
'display_name': 'Ableton Live',
'name': 'AbletonLive',
'unattended_install': True}}}
MunkiPkginfoMerger: Merged {'version': '11.2'} into pkginfo
{'Output': {'pkginfo': {'catalogs': ['testing'],
'category': 'Music',
'description': 'Live is fast, fluid and flexible '
'software for music creation and '
'performance. It comes with effects, '
'instruments, sounds and all kinds of '
'creative features—everything you need '
'to make any kind of music.\n'
'\n'
'Create in a traditional linear '
'arrangement, or improvise without the '
'constraints of a timeline in Live’s '
'Session View. Move freely between '
'musical elements and play with ideas, '
'without stopping the music and without '
'breaking your flow.',
'developer': 'Ableton',
'display_name': 'Ableton Live',
'name': 'AbletonLive',
'unattended_install': True,
'version': '11.2'}}}
MunkiImporter
{'Input': {'MUNKI_REPO': '/Users/trujmu/Desktop/munki',
'pkg_path': '/Users/trujmu/Library/AutoPkg/Cache/com.github.apizz.munki.AbletonLive/downloads/ableton_live_lite_11.2_universal.dmg',
'pkginfo': {'catalogs': ['testing'],
'category': 'Music',
'description': 'Live is fast, fluid and flexible '
'software for music creation and '
'performance. It comes with effects, '
'instruments, sounds and all kinds of '
'creative features—everything you need '
'to make any kind of music.\n'
'\n'
'Create in a traditional linear '
'arrangement, or improvise without the '
'constraints of a timeline in Live’s '
'Session View. Move freely between '
'musical elements and play with ideas, '
'without stopping the music and without '
'breaking your flow.',
'developer': 'Ableton',
'display_name': 'Ableton Live',
'name': 'AbletonLive',
'unattended_install': True,
'version': '11.2'},
'repo_subdirectory': 'apps/abletonlive'}}
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/trujmu/Desktop/munki
MunkiImporter: Copied pkginfo to: /Users/trujmu/Desktop/munki/pkgsinfo/apps/abletonlive/AbletonLive-11.2.plist
MunkiImporter: pkg to: /Users/trujmu/Desktop/munki/pkgs/apps/abletonlive/ableton_live_lite_11.2_universal-11.2.dmg
{'Output': {'munki_importer_summary_result': {'data': {'catalogs': 'testing',
'icon_repo_path': '',
'name': 'AbletonLive',
'pkg_repo_path': 'apps/abletonlive/ableton_live_lite_11.2_universal-11.2.dmg',
'pkginfo_path': 'apps/abletonlive/AbletonLive-11.2.plist',
'version': '11.2'},
'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': 'trujmu',
'creation_date': datetime.datetime(2022, 10, 6, 14, 44, 21),
'munki_version': '5.7.3.4443',
'os_version': '12.6'},
'autoremove': False,
'catalogs': ['testing'],
'category': 'Music',
'description': 'Live is fast, fluid and flexible '
'software for music creation and '
'performance. It comes with effects, '
'instruments, sounds and all kinds '
'of creative features—everything you '
'need to make any kind of music.\n'
'\n'
'Create in a traditional linear '
'arrangement, or improvise without '
'the constraints of a timeline in '
'Live’s Session View. Move freely '
'between musical elements and play '
'with ideas, without stopping the '
'music and without breaking your '
'flow.',
'developer': 'Ableton',
'display_name': 'Ableton Live',
'installer_item_hash': '9f9ecdb2a1b7684fdd00d49acb742ded1de0c61f05fcf703e8522db9836f0df2',
'installer_item_location': 'apps/abletonlive/ableton_live_lite_11.2_universal-11.2.dmg',
'installer_item_size': 3017685,
'installer_type': 'copy_from_dmg',
'installs': [{'CFBundleIdentifier': 'com.ableton.live',
'CFBundleName': 'Live',
'CFBundleShortVersionString': '11.2 '
'(2022-09-19_33f2245cd0)',
'CFBundleVersion': '11.2 '
'(2022-09-19_33f2245cd0)',
'minosversion': '10.13',
'path': '/Applications/Ableton Live '
'11 Lite.app',
'type': 'application',
'version_comparison_key': 'CFBundleShortVersionString'}],
'items_to_copy': [{'destination_path': '/Applications',
'source_item': 'Ableton Live 11 '
'Lite.app'}],
'minimum_os_version': '10.13',
'name': 'AbletonLive',
'unattended_install': True,
'uninstall_method': 'remove_copied_items',
'uninstallable': True,
'version': '11.2'},
'munki_repo_changed': True,
'pkg_repo_path': '/Users/trujmu/Desktop/munki/pkgs/apps/abletonlive/ableton_live_lite_11.2_universal-11.2.dmg',
'pkginfo_repo_path': '/Users/trujmu/Desktop/munki/pkgsinfo/apps/abletonlive/AbletonLive-11.2.plist'}}
Receipt written to /Users/trujmu/Library/AutoPkg/Cache/com.github.apizz.munki.AbletonLive/receipts/AbletonLive.munki-receipt-20221006-164421.plist
The following new items were imported into Munki:
Name Version Catalogs Pkginfo Path Pkg Repo Path Icon Repo Path
---- ------- -------- ------------ ------------- --------------
AbletonLive 11.2 testing apps/abletonlive/AbletonLive-11.2.plist apps/abletonlive/ableton_live_lite_11.2_universal-11.2.dmg
Old run:
Processing /Users/trujmu/Library/AutoPkg/RecipeRepos/com.github.autopkg.apizz-recipes/Ableton/AbletonLive.munki.recipe...
WARNING: /Users/trujmu/Library/AutoPkg/RecipeRepos/com.github.autopkg.apizz-recipes/Ableton/AbletonLive.munki.recipe is missing trust info and FAIL_RECIPES_WITHOUT_TRUST_INFO is not set. Proceeding...
URLTextSearcher
{'Input': {'re_pattern': 'h2[^1-9]*(11(\\.\\d+)+)',
'result_output_var_name': 'long_version',
'url': 'https://www.ableton.com/en/release-notes/live-11/'}}
URLTextSearcher: Found matching text (long_version): 11.2
{'Output': {'long_version': '11.2'}}
URLDownloader
{'Input': {'url': 'https://cdn-downloads.ableton.com/channels/11.2/ableton_live_lite_11.2_universal.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: Item at URL is unchanged.
URLDownloader: Using existing /Users/trujmu/Library/AutoPkg/Cache/com.github.apizz.munki.AbletonLive/downloads/ableton_live_lite_11.2_universal.dmg
{'Output': {'pathname': '/Users/trujmu/Library/AutoPkg/Cache/com.github.apizz.munki.AbletonLive/downloads/ableton_live_lite_11.2_universal.dmg'}}
EndOfCheckPhase
{'Input': {}}
{'Output': {}}
CodeSignatureVerifier
{'Input': {'input_path': '/Users/trujmu/Library/AutoPkg/Cache/com.github.apizz.munki.AbletonLive/downloads/ableton_live_lite_11.2_universal.dmg/*.app',
'requirement': 'identifier "com.ableton.live" and anchor apple '
'generic and certificate '
'1[field.1.2.840.113635.100.6.2.6] /* exists */ and '
'certificate leaf[field.1.2.840.113635.100.6.1.13] '
'/* exists */ and certificate leaf[subject.OU] = '
'MWR434WD94'}}
CodeSignatureVerifier: Mounted disk image /Users/trujmu/Library/AutoPkg/Cache/com.github.apizz.munki.AbletonLive/downloads/ableton_live_lite_11.2_universal.dmg
CodeSignatureVerifier: Using path '/private/tmp/dmg.4jRC5G/Ableton Live 11 Lite.app' matched from globbed '/private/tmp/dmg.4jRC5G/*.app'.
CodeSignatureVerifier: Verifying code signature...
CodeSignatureVerifier: Deep verification enabled...
CodeSignatureVerifier: Strict verification not defined. Using codesign defaults...
CodeSignatureVerifier: /private/tmp/dmg.4jRC5G/Ableton Live 11 Lite.app: valid on disk
CodeSignatureVerifier: /private/tmp/dmg.4jRC5G/Ableton Live 11 Lite.app: satisfies its Designated Requirement
CodeSignatureVerifier: /private/tmp/dmg.4jRC5G/Ableton Live 11 Lite.app: explicit requirement satisfied
CodeSignatureVerifier: Signature is valid
{'Output': {}}
MunkiPkginfoMerger
Use of undefined key in variable substitution: 'version'
{'Input': {'additional_pkginfo': {'version': '%version%'},
'pkginfo': {'catalogs': ['testing'],
'category': 'Music',
'description': 'Live is fast, fluid and flexible '
'software for music creation and '
'performance. It comes with effects, '
'instruments, sounds and all kinds of '
'creative features—everything you need '
'to make any kind of music.\n'
'\n'
'Create in a traditional linear '
'arrangement, or improvise without the '
'constraints of a timeline in Live’s '
'Session View. Move freely between '
'musical elements and play with ideas, '
'without stopping the music and without '
'breaking your flow.',
'developer': 'Ableton',
'display_name': 'Ableton Live',
'name': 'AbletonLive',
'unattended_install': True}}}
MunkiPkginfoMerger: Merged {'version': '%version%'} into pkginfo
{'Output': {'pkginfo': {'catalogs': ['testing'],
'category': 'Music',
'description': 'Live is fast, fluid and flexible '
'software for music creation and '
'performance. It comes with effects, '
'instruments, sounds and all kinds of '
'creative features—everything you need '
'to make any kind of music.\n'
'\n'
'Create in a traditional linear '
'arrangement, or improvise without the '
'constraints of a timeline in Live’s '
'Session View. Move freely between '
'musical elements and play with ideas, '
'without stopping the music and without '
'breaking your flow.',
'developer': 'Ableton',
'display_name': 'Ableton Live',
'name': 'AbletonLive',
'unattended_install': True,
'version': '%version%'}}}
MunkiImporter
{'Input': {'MUNKI_REPO': '/Users/trujmu/Desktop/munki',
'pkg_path': '/Users/trujmu/Library/AutoPkg/Cache/com.github.apizz.munki.AbletonLive/downloads/ableton_live_lite_11.2_universal.dmg',
'pkginfo': {'catalogs': ['testing'],
'category': 'Music',
'description': 'Live is fast, fluid and flexible '
'software for music creation and '
'performance. It comes with effects, '
'instruments, sounds and all kinds of '
'creative features—everything you need '
'to make any kind of music.\n'
'\n'
'Create in a traditional linear '
'arrangement, or improvise without the '
'constraints of a timeline in Live’s '
'Session View. Move freely between '
'musical elements and play with ideas, '
'without stopping the music and without '
'breaking your flow.',
'developer': 'Ableton',
'display_name': 'Ableton Live',
'name': 'AbletonLive',
'unattended_install': True,
'version': '%version%'},
'repo_subdirectory': 'apps/abletonlive'}}
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/trujmu/Desktop/munki
MunkiImporter: Copied pkginfo to: /Users/trujmu/Desktop/munki/pkgsinfo/apps/abletonlive/AbletonLive-%version%.plist
MunkiImporter: pkg to: /Users/trujmu/Desktop/munki/pkgs/apps/abletonlive/ableton_live_lite_11.2_universal-%version%.dmg
{'Output': {'munki_importer_summary_result': {'data': {'catalogs': 'testing',
'icon_repo_path': '',
'name': 'AbletonLive',
'pkg_repo_path': 'apps/abletonlive/ableton_live_lite_11.2_universal-%version%.dmg',
'pkginfo_path': 'apps/abletonlive/AbletonLive-%version%.plist',
'version': '%version%'},
'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': 'trujmu',
'creation_date': datetime.datetime(2022, 10, 6, 14, 52, 55),
'munki_version': '5.7.3.4443',
'os_version': '12.6'},
'autoremove': False,
'catalogs': ['testing'],
'category': 'Music',
'description': 'Live is fast, fluid and flexible '
'software for music creation and '
'performance. It comes with effects, '
'instruments, sounds and all kinds '
'of creative features—everything you '
'need to make any kind of music.\n'
'\n'
'Create in a traditional linear '
'arrangement, or improvise without '
'the constraints of a timeline in '
'Live’s Session View. Move freely '
'between musical elements and play '
'with ideas, without stopping the '
'music and without breaking your '
'flow.',
'developer': 'Ableton',
'display_name': 'Ableton Live',
'installer_item_hash': '9f9ecdb2a1b7684fdd00d49acb742ded1de0c61f05fcf703e8522db9836f0df2',
'installer_item_location': 'apps/abletonlive/ableton_live_lite_11.2_universal-%version%.dmg',
'installer_item_size': 3017685,
'installer_type': 'copy_from_dmg',
'installs': [{'CFBundleIdentifier': 'com.ableton.live',
'CFBundleName': 'Live',
'CFBundleShortVersionString': '11.2 '
'(2022-09-19_33f2245cd0)',
'CFBundleVersion': '11.2 '
'(2022-09-19_33f2245cd0)',
'minosversion': '10.13',
'path': '/Applications/Ableton Live '
'11 Lite.app',
'type': 'application',
'version_comparison_key': 'CFBundleShortVersionString'}],
'items_to_copy': [{'destination_path': '/Applications',
'source_item': 'Ableton Live 11 '
'Lite.app'}],
'minimum_os_version': '10.13',
'name': 'AbletonLive',
'unattended_install': True,
'uninstall_method': 'remove_copied_items',
'uninstallable': True,
'version': '%version%'},
'munki_repo_changed': True,
'pkg_repo_path': '/Users/trujmu/Desktop/munki/pkgs/apps/abletonlive/ableton_live_lite_11.2_universal-%version%.dmg',
'pkginfo_repo_path': '/Users/trujmu/Desktop/munki/pkgsinfo/apps/abletonlive/AbletonLive-%version%.plist'}}
Receipt written to /Users/trujmu/Library/AutoPkg/Cache/com.github.apizz.munki.AbletonLive/receipts/AbletonLive.munki-receipt-20221006-165256.plist
The following new items were imported into Munki:
Name Version Catalogs Pkginfo Path Pkg Repo Path Icon Repo Path
---- ------- -------- ------------ ------------- --------------
AbletonLive %version% testing apps/abletonlive/AbletonLive-%version%.plist apps/abletonlive/ableton_live_lite_11.2_universal-%version%.dmg
As discussed in Slack I switched the version merge to the parent recipe's "long_version" variable. Using "long_version" extracted by the parent .download recipe results in a more presentable version.
The current recipe is non functional as the package is imported with "%version%" as version.
Here are both runs in comparison:
New run:
Old run: