mirror of
https://github.com/token2/fido2-manage.git
synced 2026-04-09 10:45:39 +00:00
Add files via upload
This commit is contained in:
100
build_dmg.md
Normal file
100
build_dmg.md
Normal file
@@ -0,0 +1,100 @@
|
||||
Here’s a comprehensive **README content** for your deployment scripts, including instructions to move the `.sh` files up one level. You can tweak it for style or branding:
|
||||
|
||||
---
|
||||
|
||||
# FIDO2 Manager macOS Deployment Scripts
|
||||
|
||||
This folder contains the deployment scripts for building, packaging, and preparing the **FIDO2 Manager** application on macOS. These scripts automate the entire process from compiling the C++ CLI binary to creating a distributable DMG with the GUI.
|
||||
|
||||
> **Note:** These scripts are intended to be run on macOS (Apple Silicon preferred).
|
||||
|
||||
|
||||
|
||||
## ⚡ Prerequisites
|
||||
|
||||
Make sure you have the following installed:
|
||||
|
||||
* macOS (13.0 or later recommended)
|
||||
* [Homebrew](https://brew.sh/)
|
||||
* Xcode command line tools
|
||||
* Python 3
|
||||
* CMake
|
||||
|
||||
The deployment script will check for and install necessary Homebrew dependencies:
|
||||
|
||||
* pkg-config
|
||||
* openssl@3
|
||||
* libcbor
|
||||
* zlib
|
||||
* python-tk
|
||||
|
||||
---
|
||||
|
||||
## 🏗 Deployment Steps
|
||||
|
||||
1. **These script should be in the project root**
|
||||
2. **Make the main deployment script executable**:
|
||||
|
||||
```bash
|
||||
chmod +x deploy_macos.sh
|
||||
```
|
||||
|
||||
3. **Run the deployment script**:
|
||||
|
||||
```bash
|
||||
./deploy_macos.sh
|
||||
```
|
||||
|
||||
This will:
|
||||
|
||||
* Set up a Python virtual environment
|
||||
* Build the C++ CLI (`fido2-token2`)
|
||||
* Bundle required libraries
|
||||
* Build the macOS GUI app with PyInstaller
|
||||
* Fix library linking for macOS
|
||||
* Optionally code-sign the app if `sign_macos_app.sh` is present
|
||||
* Create a DMG for distribution
|
||||
|
||||
---
|
||||
|
||||
## 🧪 Verification
|
||||
|
||||
After running the script:
|
||||
|
||||
* The final `.app` bundle will be in:
|
||||
|
||||
```
|
||||
dist/fido2-manage.app
|
||||
```
|
||||
|
||||
* The distributable DMG will be in:
|
||||
|
||||
```
|
||||
dist/fido2-manage.dmg
|
||||
```
|
||||
|
||||
* The script performs a self-contained check to ensure all required libraries are bundled and CLI commands work.
|
||||
|
||||
---
|
||||
|
||||
## ⚙ Customization
|
||||
|
||||
* **Icon:** Place your `icon.icns` in the project root to replace the placeholder icon.
|
||||
* **Code signing:** If you have an Apple Developer ID, ensure `sign_macos_app.sh` exists and is executable. The deployment script will prompt to sign the app.
|
||||
|
||||
---
|
||||
|
||||
## 📝 Notes
|
||||
|
||||
* Avoid spaces in your project directory path. The build process handles them but may fail in some cases.
|
||||
* The script assumes ARM64 architecture. Modify `CMAKE_OSX_ARCHITECTURES` in the script if you need x86_64 support.
|
||||
* If you encounter missing libraries, check the `staging` folder and ensure `bundle_libs.sh` and `fix_macos_linking.sh` exist.
|
||||
|
||||
---
|
||||
|
||||
## ⚡ Quick Tips
|
||||
|
||||
* To rebuild from scratch, you can safely delete `build/`, `dist/`, and `.venv/` before running the script.
|
||||
* Use the final DMG to distribute the app; it contains everything needed to run on other macOS machines.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user