-
Couldn't load subscription status.
- Fork 7
patch.py
patch.py is a script designed to automate the patching process.
Note: most of this tool has been deprecated and replaced with various jctl subcommands. Also, the package upload functionality quit working around Jamf Pro 10.28.0. Please see jamf-upload for a replacement.
Originally, this project was "patch" and it focused on patch management, including installer package management, patch management, assigning package to patch definition, updating versions, version release branching (i.e. development, testing, production), and scripting and automation.
Note, that some of the functionality of "patch" is specific to the Marriott Library's environment & usage and will not work properly for other environments. We will not be fixing this but plan on completely removing this tool.
For now, it is still included.
patch.py --help
patch.py list --help
patch.py upload --help
patch.py remove --help
patch.py info --help
patch.py update --helpDEPRECATED: patch.py list has been replaced with jctl patchsoftwaretitles.
patch.py listFor example...
$ patch.py list
1Password 7
ATLAS.ti
Adobe AIR
Adobe Acrobat DC
Adobe Acrobat Reader DC
Adobe After Effects 2020
Adobe After Effects 2021 - Intel
Adobe Animate 2020
Adobe Animate 2021 - Intel
Adobe Audition 2020
Adobe Audition 2021 - Intel
Adobe Bridge 2020
Adobe Bridge 2021 - Intel
Adobe Character Animator 2020
Adobe Character Animator 2021 - Intel
Adobe Digital Editions
Adobe Dimension - Intel
Adobe Dreamweaver 2020
Adobe Dreamweaver 2021 - Intel
Adobe Flash Player
Adobe Illustrator 2020
Adobe Illustrator 2021 - Intel
Adobe InCopy 2020
Adobe InCopy 2021 - Intel
Adobe InDesign 2020
Adobe InDesign 2021 - Intel
Adobe Lightroom CC
Adobe Lightroom Classic
Adobe Media Encoder 2020
Adobe Media Encoder 2021
Adobe Photoshop 2020
Adobe Photoshop 2021
Adobe Prelude 2020
Adobe Prelude 2021
Adobe Premiere Pro 2020
Adobe Premiere Pro 2021
Adobe Premiere Rush
Adobe Shockwave Player
Adobe XD
Alfred
Amadeus Pro
Amphetamine
.
.
.
Xcode
YakYak
Zoom Plugin for Microsoft Outlook
Zotero
calibre
iMazing Profile Editor
iMovie
iTerm
macOS
texmaker
zoom.usDEPRECATED: patch.py list --pkgs has been replaced with jctl packages.
patch.py list --pkgsFor example...
$ patch.py list --pkgs
1password_7_7.4.1_2019.11.18_rcg.pkg
1password_7_7.4.3_2020.04.07_rcg.pkg
1password_7_7.4.4_2020.04.09_rcg.pkg
1password_7_7.5_2020.05.08_rcg.pkg
1password_7_7.6_2020.07.13_rcg.pkg
1password_7_7.7_2020.11.17_rcg.pkg
1password_7_7.8.1_2021.04.16_rcg.pkg
1password_7_7.8.2_2021.05.10_rcg.pkg
1password_7_7.8.3_2021.05.21_rcg.pkg
1password_7_7.8.4_2021.05.27_rcg.pkg
1password_7_7.8.5_2021.06.02_rcg.pkg
1password_7_7.8.6_2021.06.16_rcg.pkg
1password_7_7.8.7_2021.08.13_rcg.pkg
1password_7_7.8.8_2021.10.04_rcg.pkg
1password_7_7.8_2021.03.10_rcg.pkg
1password_7_7.9_2021.10.15_rcg.pkg
Anaconda3-2021.05-MacOSX-x86_64.pkg
.
.
.
zotero_5.0.74_2019.09.05_rcg.pkg
zotero_5.0.87_2020.05.18_rcg.pkg
zotero_5.0.96_2021.09.20_rcg.pkgDEPRECATED: patch.py list --pkgs has been replaced with jctl patchsoftwaretitles -n <Patch Name> -S versions.
patch.py list --versions <Patch Name>For example...
$ patch.py list --version Zotero
5.0.96.3: zotero_5.0.96_2021.09.20_rcg.pkg
5.0.96.2: -
5.0.96.1: -
5.0.96: -
5.0.95.3: -
5.0.95.2: -
5.0.95: -
5.0.94: -
5.0.93: -
5.0.92: -
5.0.91: -
5.0.90: -
5.0.89: -
5.0.88: -
5.0.87: zotero_5.0.87_2020.05.18_rcg.pkg
5.0.86: -
5.0.85: -
5.0.84: -
5.0.83: -
5.0.82: -
5.0.81: -
5.0.80: -
5.0.79: -
5.0.78: -
5.0.77: -
5.0.76: -
5.0.75: -
5.0.74: zotero_5.0.74_2019.09.05_rcg.pkg
5.0.73: -
5.0.72: -
5.0.71: -
5.0.70: -
5.0.69: -
5.0.68: -
5.0.67.3: -
5.0.67: -
5.0.66: -
5.0.65: -
5.0.64: -
5.0.63: -
5.0.62: -
5.0.61: -
5.0.60: -
5.0.59: -
5.0.58: -
5.0.57: -
5.0.56: -
5.0.55.1: -
5.0.55: -
5.0.54: -
5.0.53: -
5.0.52: -
5.0.51: -
5.0.50: -
5.0.49: -
5.0.48: -
5.0.47: -
5.0.46: -
5.0.45: -
5.0.44: -
5.0.43: -
5.0.42: -
5.0.41: -
5.0.40: -
5.0.39: -
5.0.38: -
5.0.37: -
5.0.36: -
5.0.35.1: -
5.0.35: -
5.0.34.6: -
5.0.34.5: -
5.0.34.4: -
5.0.34.3: -
5.0.34.2: -
5.0.34.1: -
5.0.34: -
5.0.33: -
5.0.32: -
5.0.31: -
5.0.30: -
5.0.29: -
5.0.28: -
5.0.27: -
5.0.26: -
5.0.25: -
5.0.24: -
5.0.23: -
5.0.22: -
5.0.21: -
5.0.20: -
5.0.19: -
5.0.18: -
5.0.17: -
5.0.16: -
5.0.15: -
5.0.14: -
5.0.13: -
5.0.12: -
5.0.11: -
5.0.10: -
5.0.9: -
5.0.8: -
5.0.7: -
5.0.6: -
5.0.5: -
5.0.4: -
5.0.3: -
5.0.2: -
5.0.1: -
5.0: -And example...
$ patch.py list --pkg Zotero
zotero_5.0.74_2019.09.05_rcg.pkg
zotero_5.0.87_2020.05.18_rcg.pkg
zotero_5.0.96_2021.09.20_rcg.pkgDEPRECATED: patch.py patch list --patch <Patch Name> has been replaced with jctl patchsoftwaretitles -n <Patch Name> -S patchpolicies.
patch.py patch list --patch <Patch Name>For example...
$ patch.py patch list --patch Zotero
5.0.87: Guinea Pig - Lab - Zotero
5.0.87: Guinea Pig - Staff - Zotero
5.0.87: Stable - Lab - Zotero
5.0.87: Stable - Staff - Zotero
5.0.87: Tech - Main Boxes - Zotero
5.0.87: Tech - Test Boxes - ZoteroDEPRECATED: This has been replaced with jctl patchpolicies -n <Name of Patch Policy> -S set_version "<version>".
patch.py update <Name of Patch Policy> <Patch Version> <Patch Name>For example...
$ patch.py update --tech 5.0.96.3 Zotero$ patch.py update --guinea-pig 5.0.96.3 Zotero$ patch.py update --stable 5.0.96.3 ZoteroDEPRECATED: This has been replaced with jctl patchsoftwaretitles -n <Patch Name> -S set_package_for_version <Installer Package Name> <Patch Version>.
$ patch.py update --pkg <Patch Version> <Installer Package Name> <Patch Name>For example...
$ patch.py update --pkg 5.0.96.3 zotero_5.0.96_2021.09.20_rcg.pkg Zotero
2021-10-15 15:40:45,526: INFO: __main__ - update_softwaretitle_packages(): updating patch software title: Zotero (370)
2021-10-15 15:40:46,311: INFO: __main__ - update_softwaretitle_packages(): succesfully updated: ZoteroThe following requires the user to have Jamf Admin Privileges
patch.py info /PATH/TO/PACKAGE
patch.py upload /PATH/TO/PACKAGE
patch.py remove <PACKAGE NAME>