Remove build and installation of whisper.cpp, and installation of ffmpeg.
Rename build_llama_and_whisper.sh to build_llama.sh.
Update Containerfiles to reference new script name.
Consolidate management of cmake args in build_llama.sh.
Remove references to whisper-server in various locations.
Signed-off-by: Mike Bonnet <mikeb@redhat.com>
The entrypoint images are used by AI Lab, which pins to older digests and
has no need to update. Stop building and releasing new, unused versions.
Signed-off-by: Mike Bonnet <mikeb@redhat.com>
Switch from building a onefile executable to a onedir executable and app bundle.
The onefile executable is less efficient because it needs to extract resources
into a temp directory on every run, and it will no longer be supported as part
of an app bundle in future versions of pyinstaller.
Skip installing config and inference files under /usr, they will be referenced
from within the app bundle.
Use a plist when calling pkgbuild to avoid the macOS installer "relocating"
the app bundle to arbitrary locations, which breaks the "ramalama" symlink.
Signed-off-by: Mike Bonnet <mikeb@redhat.com>
Address code review feedback to separate content from build logic:
Changes:
- Created scripts/macos-installer/ directory for template files
- Moved distribution.xml to distribution.xml.template
* Uses {{VERSION}} and {{PKG_NAME}} placeholders
* Processed with sed during build
- Moved welcome.html to separate file
- Moved readme.html to separate file
- Moved conclusion.html to separate file
- Updated build_macos_pkg.sh to copy from templates
Benefits:
- Cleaner separation of content and build logic
- Easier to maintain and update installer UI text
- Templates can be edited without touching shell script
- More maintainable for future updates
- Follows best practices for build scripts
The build process now:
1. Copies HTML files as-is
2. Processes XML template with variable substitution
3. Builds installer with processed files
Cursor-AI-Generated
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
Fixes #812
This commit adds a mechanism to create self-contained macOS installer
packages (.pkg) that bundle Python and all dependencies, eliminating
the need for users to install Python separately.
**New Features:**
1. **PyInstaller Spec File** (ramalama.spec)
- Configures PyInstaller to create standalone executable
- Bundles all ramalama modules and dependencies
- Includes configuration files, man pages, and shell completions
- Creates macOS app bundle structure
2. **Build Script** (scripts/build_macos_pkg.sh)
- Automated build process for macOS .pkg installer
- Uses PyInstaller to create standalone binary
- Packages everything into macOS installer format
- Includes post-install script for PATH configuration
- Generates installer with welcome/readme/conclusion screens
3. **GitHub Actions Workflow** (.github/workflows/build-macos-installer.yml)
- Automatically builds macOS installer on release
- Runs on macOS runners with proper dependencies
- Uploads installer as release asset
- Generates SHA256 checksums for verification
- Can be triggered manually for testing
4. **Documentation** (docs/MACOS_INSTALL.md)
- Comprehensive installation guide for macOS users
- Multiple installation methods documented
- Troubleshooting section
- Prerequisites and system requirements
- Uninstallation instructions
5. **README Update**
- Added macOS installer as primary installation method
- Links to detailed installation guide
**Benefits:**
- No Python installation required for end users
- Single-click installation experience
- Includes all dependencies in one package
- Follows macOS packaging best practices
- Automatic PATH configuration
- Professional installer UI with instructions
**Installation:**
Users can now download RamaLama-VERSION-macOS-Installer.pkg from
GitHub Releases and install with a simple double-click or:
sudo installer -pkg RamaLama-*-macOS-Installer.pkg -target /
The installer places files in /usr/local/ following macOS conventions.
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
* Start adding rpm/ramalama.spec for Fedora
Add a ramalama.spec to sit next to python-ramalama.spec while we get
this reviewed. Change various configs so they are aware of
ramalama.spec
Signed-off-by: Stephen Smoogen <ssmoogen@redhat.com>
* Add needed obsoletes/provides in base rpm to start process.
Signed-off-by: Stephen Smoogen <ssmoogen@redhat.com>
* Try to fix CI problems with initial mr
The initial MR puts two spec files in the same directory which was
causing problems with the CI. This splits them off into different
directories which should allow for the tooling to work.
Signed-off-by: Stephen Smoogen <ssmoogen@redhat.com>
* Finish move of Fedora rpm package to new name.
Put changes into various files needed to allow for new RPM package
`ramalama` to build in Fedora infrastructure versus python3-ramalama.
Signed-off-by: Stephen Smoogen <ssmoogen@redhat.com>
* Fix problem with path names lsm5 caught
Signed-off-by: Stephen Smoogen <ssmoogen@redhat.com>
---------
Signed-off-by: Stephen Smoogen <ssmoogen@redhat.com>
Co-authored-by: Stephen Smoogen <ssmoogen@redhat.com>
* Start adding rpm/ramalama.spec for Fedora
Add a ramalama.spec to sit next to python-ramalama.spec while we get
this reviewed. Change various configs so they are aware of
ramalama.spec
Signed-off-by: Stephen Smoogen <ssmoogen@redhat.com>
* Add needed obsoletes/provides in base rpm to start process.
Signed-off-by: Stephen Smoogen <ssmoogen@redhat.com>
* Try to fix CI problems with initial mr
The initial MR puts two spec files in the same directory which was
causing problems with the CI. This splits them off into different
directories which should allow for the tooling to work.
Signed-off-by: Stephen Smoogen <ssmoogen@redhat.com>
---------
Signed-off-by: Stephen Smoogen <ssmoogen@redhat.com>
Co-authored-by: Stephen Smoogen <ssmoogen@redhat.com>
We have accidently overwridden the images release version
if we also tag by digest, then we will not destroy the
image or manifest list. Since Podman Desktop AI Lab Recipes
relies on the image digest this makes it safer for them.
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
intel-gpu will not currently build on Fedora 42, there are issues
in the glibc library. Should try again when Fedora 42 is released
in May.
Verification of the ramalama-cli command, was broken, since ramalama
is the entrypoint.
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
These are the scripts I am using to push images and build multi-arch
images to the quay.io repositories.
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>