Skip to content

[IMP] odoo-setup: Add support for windows packaging#1

Merged
d-fence merged 9 commits into
masterfrom
master-windows-builder-moc
Apr 22, 2026
Merged

[IMP] odoo-setup: Add support for windows packaging#1
d-fence merged 9 commits into
masterfrom
master-windows-builder-moc

Conversation

@d-fence
Copy link
Copy Markdown

@d-fence d-fence commented Apr 3, 2026

No description provided.

@xavierbol xavierbol requested a review from Xavier-Do April 9, 2026 14:11
Comment thread odoo-setup/aw-systray-odoo.py Outdated
d-fence added 5 commits April 15, 2026 14:56
When building windows package, we exclude aw-qt and the python server
from the Windows installer.

This is done through the environment variable ODOO_WINDOWS_BUILD
Adapt the script to work on Windows by using pystray instead of gi when
building for Windows platform.

While pystray is cross platform, we need to keep gi as python3-pystray
package is not available on Ubuntu Jammy.

So the script is now able to conditionaly use one or another.
Add a .spec file used by pyinstaller to build aw-systray-odoo for
windows platform.
@d-fence d-fence force-pushed the master-windows-builder-moc branch 3 times, most recently from a668d2e to bc75b4f Compare April 17, 2026 15:26
Xavier-Do and others added 4 commits April 21, 2026 15:57
Update the aw-server-rust commit to the corresponding one with the
changes needed for the current branch. (git submodules inferno)
Replace the initial KVM VM workflow with a Docker container using Wine for
cross-platform Windows builds.

- Add Dockerfile_wine: Wine + Python 3.14 + Inno Setup 6 + mingw-w64 + Rust
- Add buildwine.sh: orchestrates the full build (Xvfb, Wine Python,
  cross-compilation via MinGW, PyInstaller, Inno Setup)
- Makefile: add $(PYTHON) for Wine Python, exclude watchers from
  submodule loop
- getversion.sh: add AW_VERSION environment variable
- package-all.sh: add AW_PLATFORM and INNOSETUPDIR for Inno Setup via Wine
- includes aw-systray-odoo.exe in NSIS installer

The main idea is to cross compile rust binaries for windows within a
Docker container. For that, the Cargo build target
"x86_64-pc-windows-gnu" is used.

On the other hand, the wine is needed for pyinstaller and Inno Setup.
@d-fence d-fence force-pushed the master-windows-builder-moc branch from bc75b4f to 8e476a6 Compare April 21, 2026 13:57
@d-fence d-fence merged commit b9eb4e1 into master Apr 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants