Rename CLI binary to managedbootstrapinstall + consolidate staging on /Library/Managed Bootstrap#6
Merged
Conversation
…solidate staging on /Library/Managed Bootstrap - Makefile BINARY_NAME and codesign identifier - LaunchDaemon program path, postinstall binary path + symlink (drops legacy installapplications symlink on upgrade) - BootstrapMateConstants.executablePath - ManifestGenerator now stages payloads under /Library/Managed Bootstrap/cache/ (was /Library/bootstrapmate/), matching the live fleet convention - Drop unused io.macadmins.installapplications managed-pref fallback domain (ECU ships only com.github.bootstrapmate) - README + CI/release workflow copy targets
a76adab to
58c1eac
Compare
There was a problem hiding this comment.
Pull request overview
Renames the packaged macOS CLI binary from installapplications to managedbootstrapinstall, consolidates staging paths under /Library/Managed Bootstrap, and removes the legacy managed-preference domain fallback.
Changes:
- Updated packaging, LaunchDaemon, constants, and CI/release workflows to use the new CLI binary name/path.
- Consolidated manifest payload
filepaths to/Library/Managed Bootstrap/cache/. - Removed
io.macadmins.installapplicationsas a managed-preference fallback domain.
Reviewed changes
Copilot reviewed 10 out of 10 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| Sources/core/Utilities/ManifestGenerator.swift | Updates generated manifest file path to the new Managed Bootstrap cache location. |
| Sources/core/Utilities/ManagementDetector.swift | Removes the legacy managed domain fallback. |
| Sources/core/Utilities/BootstrapMateConstants.swift | Updates embedded CLI executable path constant to managedbootstrapinstall. |
| Sources/core/Managers/ConfigManager.swift | Removes the legacy managed-preference domain fallback. |
| README.md | Updates CLI usage example to the new binary name. |
| packaging/scripts/postinstall | Updates installed binary/symlink naming and removes legacy symlink. |
| packaging/LaunchDaemons/com.github.bootstrapmate.plist | Updates LaunchDaemon ProgramArguments to the renamed CLI binary. |
| Makefile | Renames packaged binary and updates codesign identifier. |
| .github/workflows/release.yml | Updates release packaging copy/chmod/grep targets to the renamed binary. |
| .github/workflows/ci.yml | Updates CI app bundle creation to use the renamed binary. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Comment on lines
41
to
45
| let manifestItem = ManifestItem( | ||
| name: item.name, | ||
| file: "/Library/bootstrapmate/\(URL(fileURLWithPath: item.file).lastPathComponent)", | ||
| file: "/Library/Managed Bootstrap/cache/\(URL(fileURLWithPath: item.file).lastPathComponent)", | ||
| url: "\(baseURL)/\(item.type)/\(URL(fileURLWithPath: item.file).lastPathComponent)", | ||
| hash: hash, |
Comment on lines
+48
to
+49
| # Hard cut: drop the legacy installapplications symlink from prior versions | ||
| rm -f "${SYMLINK_DIR}/installapplications" 2>/dev/null || true |
…upgrade - ManifestGenerator: derive staging path from BootstrapMateConstants.cacheDirectory and compute lastPathComponent once (single filename var) - postinstall: launchctl bootout the existing job before load, so an upgrade picks up the renamed executable path instead of no-op'ing on the already-loaded label
Contributor
Author
|
Addressed Copilot review in fea4e67:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Hard-cut rename of the macOS CLI binary
installapplications→managedbootstrapinstall, plus two cleanups requested alongside it.Changes
bootstrapmate):MakefileBINARY_NAME+ codesign identifier (com.github.bootstrapmate.managedbootstrapinstall)ProgramArgumentspathpostinstallbinary path +/usr/local/bootstrapmate/managedbootstrapinstallsymlink; removes the legacyinstallapplicationssymlink on upgrade (hard cut)BootstrapMateConstants.executablePathManifestGeneratornow writes payloadfilepaths under/Library/Managed Bootstrap/(was the divergent/Library/bootstrapmate/).io.macadmins.installapplicationsmanaged-preference fallback fromConfigManagerandManagementDetector— ECU only ever shipscom.github.bootstrapmate.Notes
com.github.bootstrapmate; no MDM-profile impact.management.jsonstaging path (/Library/installapplications/) is set byprovisioning-intune-macintosh/deploy.sh— moved to/Library/Managed Bootstrap/in that repo's companion PR.swift buildpasses.Part of the cross-repo
installapplications→managedbootstrapinstallswitch (Windows app + Cimian pipeline + provisioning repos ship alongside).