autopkg / hjuutilainen-recipes

Recipes for AutoPkg
MIT License
49 stars 74 forks source link

TeamViewer Fixes and Improvements #221

Closed ellisdickinson46 closed 2 years ago

ellisdickinson46 commented 2 years ago

This PR is targeted at issues #212 #220.

TeamViewer has recently made changes that mean the currently available PkgPayloadUnpacker does not support the Payload provided. A custom processor has been provided with the requisite changes to service the recipe until the original one is updated at which point the custom processor will become redundant and be removed.

Additionally, the changes to the Munki recipe ensure that TeamViewer does not start post-installation as detailed in the target issue.

ellisdickinson46 commented 2 years ago

A successful munki recipe run output:

autopkg run TeamViewer.munki -v
Processing TeamViewer.munki...
URLDownloader
URLDownloader: Item at URL is unchanged.
URLDownloader: Using existing /Users/autopkgadmin/Library/AutoPkg/Cache/local.munki.TeamViewer/downloads/TeamViewer.dmg
EndOfCheckPhase
CodeSignatureVerifier
CodeSignatureVerifier: Mounted disk image /Users/autopkgadmin/Library/AutoPkg/Cache/local.munki.TeamViewer/downloads/TeamViewer.dmg
CodeSignatureVerifier: Verifying installer package signature...
CodeSignatureVerifier: Package "Install TeamViewer.pkg":
CodeSignatureVerifier:    Status: signed by a developer certificate issued by Apple for distribution
CodeSignatureVerifier:    Notarization: trusted by the Apple notary service
CodeSignatureVerifier:    Signed with a trusted timestamp on: 2022-04-15 08:39:00 +0000
CodeSignatureVerifier:    Certificate Chain:
CodeSignatureVerifier:     1. Developer ID Installer: TeamViewer Germany GmbH (H7UGFBUGV6)
CodeSignatureVerifier:        Expires: 2027-02-09 12:21:10 +0000
CodeSignatureVerifier:        SHA256 Fingerprint:
CodeSignatureVerifier:            40 B7 9F BC F7 67 55 CC F9 B2 DA A7 1E EA B9 22 13 DF E5 E3 34 74 
CodeSignatureVerifier:            36 8C B0 13 CF 14 C5 FA F2 A2
CodeSignatureVerifier:        ------------------------------------------------------------------------
CodeSignatureVerifier:     2. Developer ID Certification Authority
CodeSignatureVerifier:        Expires: 2031-09-17 00:00:00 +0000
CodeSignatureVerifier:        SHA256 Fingerprint:
CodeSignatureVerifier:            F1 6C D3 C5 4C 7F 83 CE A4 BF 1A 3E 6A 08 19 C8 AA A8 E4 A1 52 8F 
CodeSignatureVerifier:            D1 44 71 5F 35 06 43 D2 DF 3A
CodeSignatureVerifier:        ------------------------------------------------------------------------
CodeSignatureVerifier:     3. Apple Root CA
CodeSignatureVerifier:        Expires: 2035-02-09 21:40:36 +0000
CodeSignatureVerifier:        SHA256 Fingerprint:
CodeSignatureVerifier:            B0 B1 73 0E CB C7 FF 45 05 14 2C 49 F1 29 5E 6E DA 6B CA ED 7E 2C 
CodeSignatureVerifier:            68 C5 BE 91 B5 A1 10 01 F0 24
CodeSignatureVerifier: 
CodeSignatureVerifier: Signature is valid
CodeSignatureVerifier: Authority name chain is valid
FlatPkgUnpacker
FlatPkgUnpacker: Mounted disk image /Users/autopkgadmin/Library/AutoPkg/Cache/local.munki.TeamViewer/downloads/TeamViewer.dmg
FlatPkgUnpacker: Unpacked /private/tmp/dmg.USuLqZ/Install TeamViewer.app/Contents/Resources/Install TeamViewer.pkg to /Users/autopkgadmin/Library/AutoPkg/Cache/local.munki.TeamViewer/unpack
PkgRootCreator
PkgRootCreator: Created /Users/autopkgadmin/Library/AutoPkg/Cache/local.munki.TeamViewer/payload/root/Applications
PBXZPayloadUnpacker
PBXZPayloadUnpacker: Unpacked /Users/autopkgadmin/Library/AutoPkg/Cache/local.munki.TeamViewer/unpack/TeamViewerApp.pkg/Payload to /Users/autopkgadmin/Library/AutoPkg/Cache/local.munki.TeamViewer/payload/root/Applications
MunkiInstallsItemsCreator
MunkiInstallsItemsCreator: Created installs item for /Applications/TeamViewer.app
MunkiPkginfoMerger
MunkiPkginfoMerger: Merged {'installs': [{'CFBundleIdentifier': 'com.teamviewer.TeamViewer', 'CFBundleName': 'TeamViewer', 'CFBundleShortVersionString': '15.29.4', 'CFBundleVersion': '1', 'minosversion': '10.14.6', 'path': '/Applications/TeamViewer.app', 'type': 'application', 'version_comparison_key': 'CFBundleShortVersionString'}]} into pkginfo
PlistReader
PlistReader: Reading: /Users/autopkgadmin/Library/AutoPkg/Cache/local.munki.TeamViewer/payload/root/Applications/TeamViewer.app/Contents/Info.plist
PlistReader: Assigning value of '15.29.4' to output variable 'version'
PathDeleter
PathDeleter: Deleted /Users/autopkgadmin/Library/AutoPkg/Cache/local.munki.TeamViewer/unpack
PathDeleter: Deleted /Users/autopkgadmin/Library/AutoPkg/Cache/local.munki.TeamViewer/payload
PkgCopier
PkgCopier: Mounted disk image /Users/autopkgadmin/Library/AutoPkg/Cache/local.munki.TeamViewer/downloads/TeamViewer.dmg
PkgCopier: Copied /private/tmp/dmg.j7ZhF4/Install TeamViewer.app/Contents/Resources/Install TeamViewer.pkg to /Users/autopkgadmin/Library/AutoPkg/Cache/local.munki.TeamViewer/TeamViewer-15.29.4.pkg
MunkiPkginfoMerger
MunkiPkginfoMerger: Merged {'version': '15.29.4'} into pkginfo
MunkiImporter
MunkiImporter: Using repo lib: AutoPkgLib
MunkiImporter:         plugin: FileRepo
MunkiImporter:           repo: /Volumes/Munki Repository
MunkiImporter: Item TeamViewer-15.29.4.pkg already exists in the munki repo as pkgs/apps/TeamViewer/TeamViewer-15.29.4.pkg.
Receipt written to /Users/autopkgadmin/Library/AutoPkg/Cache/local.munki.TeamViewer/receipts/TeamViewer-receipt-20220508-020527.plist

The following packages were copied:
    Pkg Path                                                                                   
    --------                                                                                   
    /Users/autopkgadmin/Library/AutoPkg/Cache/local.munki.TeamViewer/TeamViewer-15.29.4.pkg
TK5-Tim commented 2 years ago

This would be very helpful!

hjuutilainen commented 2 years ago

Thank you for the PR and apologies for the wait. I'm going to merge this as-is. Hopefully we'll get the fix incorporated in AutoPkg processor in the near future.

eppomania commented 2 years ago

Hi Hannes,

with io.github.hjuutilainen.pkg.TeamViewerHost i get back:

autopkglib.ProcessorError: extraction of /Volumes/AutoPkg/1-Cache/io.github.hjuutilainen.pkg.TeamViewerHost/unpack/TeamViewerHostApp.pkg/Payload with ditto failed: ditto: cpio read error: bad file format

I Assume it is the same problem as you had on #220

Thanks and Keep up the Good Work!

jlayt commented 1 year ago

Just adding a diito that this affects the TeamViewerHost package now as well and needs the same fix.