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

doc says MunkiImporter output var pkg_repo_path will be empty for existing matching item but it's populated #824

Open
codeskipper opened this issue Sep 9, 2022 · 0 comments

Comments

@codeskipper
Copy link

Describe the problem
Documentation says MunkiImporter Output variable pkg_repo_path will be empty if item is not imported, but I find it is populated if a matching item has already been imported (in an earlier session).

Documentation
%autopkg processor-info MunkiImporter

...
pkg_repo_path:
   description: The repo path where the pkg was written. Empty if item not imported.

It looks to me like the output variable is for this code path is set here

AutoPkg output
% autopkg run -vv Firefox.munki.recipe

Processing Firefox.munki.recipe...
MozillaURLProvider
{'Input': {'locale': 'en-US',
           'product_name': 'firefox',
           'release': 'latest-esr'}}
MozillaURLProvider: No value supplied for platform, setting default value of: osx
MozillaURLProvider: No value supplied for base_url, setting default value of: https://download.mozilla.org/?product={product_release}-ssl&os={platform}&lang={locale}
MozillaURLProvider: No value supplied for versions_base_url, setting default value of: https://product-details.mozilla.org/1.0/{product}_versions.json
MozillaURLProvider: Found URL https://download.mozilla.org/?product=firefox-esr-latest-ssl&os=osx&lang=en-US
{'Output': {'moz_original_version': '91.13.0esr',
            'moz_version': '91.13.0',
            'url': 'https://download.mozilla.org/?product=firefox-esr-latest-ssl&os=osx&lang=en-US'}}
URLDownloader
{'Input': {'filename': 'Mozilla Firefox.dmg',
           'url': 'https://download.mozilla.org/?product=firefox-esr-latest-ssl&os=osx&lang=en-US'}}
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/Shared/my_org/AutoPkg/Cache/local.munki.Firefox/downloads/Mozilla Firefox.dmg
{'Output': {'pathname': '/Users/Shared/my_org/AutoPkg/Cache/local.munki.Firefox/downloads/Mozilla '
                        'Firefox.dmg'}}
EndOfCheckPhase
{'Input': {}}
{'Output': {}}
CodeSignatureVerifier
{'Input': {'input_path': '/Users/Shared/my_org/AutoPkg/Cache/local.munki.Firefox/downloads/Mozilla '
                         'Firefox.dmg/Firefox*.app',
           'requirement': 'anchor apple generic and certificate '
                          'leaf[field.1.2.840.113635.100.6.1.9] /* exists */ '
                          'or 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] = '
                          '"43AQ936H96"'}}
CodeSignatureVerifier: Mounted disk image /Users/Shared/my_org/AutoPkg/Cache/local.munki.Firefox/downloads/Mozilla Firefox.dmg
CodeSignatureVerifier: Using path '/private/tmp/dmg.NbNUfc/Firefox.app' matched from globbed '/private/tmp/dmg.NbNUfc/Firefox*.app'.
CodeSignatureVerifier: Verifying code signature...
CodeSignatureVerifier: Deep verification enabled...
CodeSignatureVerifier: Strict verification not defined. Using codesign defaults...
CodeSignatureVerifier: /private/tmp/dmg.NbNUfc/Firefox.app: valid on disk
CodeSignatureVerifier: /private/tmp/dmg.NbNUfc/Firefox.app: satisfies its Designated Requirement
CodeSignatureVerifier: /private/tmp/dmg.NbNUfc/Firefox.app: explicit requirement satisfied
CodeSignatureVerifier: Signature is valid
{'Output': {}}
MunkiImporter
{'Input': {'MUNKI_REPO': '/Users/my_account/dev/my_org-devops/autopkg-cicd/munki_repo',
           'pkg_path': '/Users/Shared/my_org/AutoPkg/Cache/local.munki.Firefox/downloads/Mozilla '
                       'Firefox.dmg',
           'pkginfo': {'catalogs': ['testing'],
                       'description': 'Mozilla Firefox is a free and open '
                                      'source web browser.  '
                                      'https://www.mozilla.org',
                       'display_name': 'Mozilla Firefox',
                       'name': 'Mozilla Firefox',
                       'notes': 'ESR version, en-US localization',
                       'unattended_install': True},
           'repo_subdirectory': ''}}
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/my_account/dev/my_org-devops/autopkg-cicd/munki_repo
MunkiImporter: Item Mozilla Firefox.dmg already exists in the munki repo as pkgs/apps/firefox/Mozilla Firefox-91.13.0.dmg.
{'Output': {'pkg_repo_path': '/Users/my_account/dev/my_org-devops/autopkg-cicd/munki_repo/pkgs/apps/firefox/Mozilla '
                             'Firefox-91.13.0.dmg'}}
Receipt written to /Users/Shared/my_org/AutoPkg/Cache/local.munki.Firefox/receipts/Firefox.munki-receipt-20220909-181100.plist

Nothing downloaded, packaged or imported.
%

Expected behavior
Either the documentation for the processor should be updated to state what to expect for output variable pkg_repo_path in the case of an existing item that matches, or the code should be corrected to do what the doc says so pkg_repo_path is returned empty in this case.

Maybe the docs could say something like this:

pkg_repo_path:
   description: The repo path where the imported installer was written, or where a matching installer was found. Empty if item not imported or found in the repo at all.

Even better (more consistent) would be if pkginfo_repo_path would also be populated in the case of an existing matching item in the repo, but I'm guessing that would take significantly more of an effort.

Version (please complete the following information):

  • OS version: [12.5.1]
  • AutoPkg Version: [2.4.1]
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

No branches or pull requests

1 participant