-
Notifications
You must be signed in to change notification settings - Fork 2.4k
feat: Add comprehensive Linux build support #3673
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
- Configure Electron Forge for Linux builds (remove RPM, add ZIP) - Update ui/desktop/README.md with Linux build instructions - Add BUILDING_LINUX.md with detailed Linux build guide - Add goose-gui.sh launcher script to suppress GLib warnings - Support for Debian/Ubuntu, Arch/Manjaro, Fedora, and openSUSE This enables building Goose Desktop on various Linux distributions by providing proper system dependencies documentation and removing incompatible RPM maker for Arch-based systems.
- Add Linux support while maintaining macOS and Windows compatibility - Use platform-specific icon configuration - Restore arch configuration for proper builds
Resolve conflicts in forge.config.ts: - Add Linux support to ZIP maker while maintaining macOS and Windows compatibility - Keep RPM maker from upstream for comprehensive Linux package support - Use platform-specific icon configuration (PNG for Linux, ICO for others) - Preserve arch configuration for proper builds This ensures comprehensive Linux build support while maintaining compatibility with existing macOS and Windows build processes.
DOsinga
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
thanks for doing this!
| # Suppresses common GLib warnings that don't affect functionality | ||
|
|
||
| cd /home/alfonsodg/Devel-Local/oss/goose/ui/desktop/out/Goose-linux-x64 | ||
| ./Goose 2>&1 | grep -v "GLib-GObject" | grep -v "browser_main_loop" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
can we move this to the Just file?
| arch: process.env.ELECTRON_ARCH === 'x64' ? ['x64'] : ['arm64'], | ||
| options: { | ||
| icon: 'src/images/icon.ico', | ||
| icon: process.platform === 'linux' ? 'src/images/icon.png' : 'src/images/icon.ico', |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
how broken was this before?
…ng-quickfix * 'main' of github.com:block/goose: (26 commits) docs: Add YouTube link to Git MCP Tutorial (#3831) feat: more robust client initialization for the app (#3830) Build app bundles on release branches always (#3789) fix param order of debug_conversation_fixer (#3796) Fix directory switcher not working in active chat sessions and file browser not defaulting to current session directory path (#3791) File completion in CLI (#3822) docs: Dynamic linux install buttons (#3810) tests: Add missing `#[serial]` to two tests (#3816) Chore: apply more clippy rules to prevent from code complexity (#3813) chore(mcp): Add helpers to parse parameters (#2821) feat: enable docusaurus respectPrefersColorScheme (#3746) fix session resume in new window (#3800) Add settings field documentation to recipe guides (#3809) chore(deps): bump on-headers and compression in /documentation (#3532) fix(ui): refresh provider related issues (#3385) feat: Add comprehensive Linux build support (#3673) developer: Optimize text_editor_view a bit (#3781) Override session name generator for ollama provider (#3710) docs: fix markdown for cognee tutorial (#3801) chore: Upgrade node (#3756) ...
* main: (34 commits) Token counting in Auto-compact uses provider metadata (#3788) docs: Add YouTube link to Git MCP Tutorial (#3831) feat: more robust client initialization for the app (#3830) Build app bundles on release branches always (#3789) fix param order of debug_conversation_fixer (#3796) Fix directory switcher not working in active chat sessions and file browser not defaulting to current session directory path (#3791) File completion in CLI (#3822) docs: Dynamic linux install buttons (#3810) tests: Add missing `#[serial]` to two tests (#3816) Chore: apply more clippy rules to prevent from code complexity (#3813) chore(mcp): Add helpers to parse parameters (#2821) feat: enable docusaurus respectPrefersColorScheme (#3746) fix session resume in new window (#3800) Add settings field documentation to recipe guides (#3809) chore(deps): bump on-headers and compression in /documentation (#3532) fix(ui): refresh provider related issues (#3385) feat: Add comprehensive Linux build support (#3673) developer: Optimize text_editor_view a bit (#3781) Override session name generator for ollama provider (#3710) docs: fix markdown for cognee tutorial (#3801) ...
* main: (56 commits) Token counting in Auto-compact uses provider metadata (#3788) docs: Add YouTube link to Git MCP Tutorial (#3831) feat: more robust client initialization for the app (#3830) Build app bundles on release branches always (#3789) fix param order of debug_conversation_fixer (#3796) Fix directory switcher not working in active chat sessions and file browser not defaulting to current session directory path (#3791) File completion in CLI (#3822) docs: Dynamic linux install buttons (#3810) tests: Add missing `#[serial]` to two tests (#3816) Chore: apply more clippy rules to prevent from code complexity (#3813) chore(mcp): Add helpers to parse parameters (#2821) feat: enable docusaurus respectPrefersColorScheme (#3746) fix session resume in new window (#3800) Add settings field documentation to recipe guides (#3809) chore(deps): bump on-headers and compression in /documentation (#3532) fix(ui): refresh provider related issues (#3385) feat: Add comprehensive Linux build support (#3673) developer: Optimize text_editor_view a bit (#3781) Override session name generator for ollama provider (#3710) docs: fix markdown for cognee tutorial (#3801) ...
Summary
This PR adds comprehensive Linux build support for Goose Desktop, enabling builds on various Linux distributions including Arch/Manjaro, Debian/Ubuntu, Fedora, and openSUSE.
Changes
Testing
Distribution Support
Files Changed
This enables the Goose community to build and distribute the desktop application on Linux systems, expanding platform support beyond macOS and Windows.