fleet/tools/custom-package-parser
Ian Littman 980adc0c45
Improve .pkg metadata extraction for names and bundle IDs, let custom package metadata extraction tool check an entire directory at a time (#29249)
For #24083, #26597.

# Checklist for submitter

If some of the following don't apply, delete the relevant line.

<!-- Note that API documentation changes are now addressed by the
product design team. -->

- [x] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
See [Changes
files](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/Committing-Changes.md#changes-files)
for more information.
- [x] Input data is properly validated, `SELECT *` is avoided, SQL
injection is prevented (using placeholders for values in statements)
- [x] Added/updated automated tests
- [x] Manual QA for all new/changed functionality
2025-05-19 10:32:36 -05:00
..
main.go Improve .pkg metadata extraction for names and bundle IDs, let custom package metadata extraction tool check an entire directory at a time (#29249) 2025-05-19 10:32:36 -05:00
README.md Automatic install custom packages (#25021) 2024-12-27 15:10:28 -03:00
tests.md Automatic install custom packages (#25021) 2024-12-27 15:10:28 -03:00

custom-package-parser

Tool to extract the metadata of software packages (same way Fleet would extract metadata on uploads). This tool was used to determine accuracy of Fleet's processing of software packages (with the most used/popular apps) (see tests.md).

Using a local file:

go run ./tools/custom-package-parser -path ~/Downloads/MicrosoftTeams.pkg
- Name: 'Microsoft Teams.app'
- Bundle Identifier: 'com.microsoft.teams2'
- Package IDs: 'com.microsoft.teams2,com.microsoft.package.Microsoft_AutoUpdate.app,com.microsoft.MSTeamsAudioDevice'

Using a URL:

go run ./tools/custom-package-parser -url https://downloads.1password.com/win/1PasswordSetup-latest.msi
- Name: '1Password'
- Bundle Identifier: ''
- Package IDs: '{321BD799-2490-40D7-8A88-6888809FA681}'