This project automatically builds and packages the latest Waydroid system and vendor images as RPM packages for compatible Linux distributions. It's designed to work with the Open Build Service (OBS) and uses GitHub Actions to keep the image URLs current.
- Automated Updates: Daily checks for new Waydroid image releases
- Multi-Flavor Support: Builds packages for multiple Android variants and GApps configurations
- OBS Integration: Seamless integration with Open Build Service for automated package building
- Version Tracking: Automatic version numbering based on image release dates
- Cache System: Prevents unnecessary updates when no new images are available
graph LR
A[GitHub Actions] --> B[Scrape SourceForge]
B --> C[Update Spec File]
C --> D[Commit Changes]
D --> E[OBS Trigger]
E --> F[Build RPMs]
F --> G[Package Repository]
- Daily Automation: A GitHub Actions workflow (
.github/workflows/update-images.yml) runs daily - Web Scraping: The
update_waydroid_latest.pyscript scrapes the Waydroid SourceForge project page to find the latest system and vendor image download URLs - Spec File Update: The script updates
waydroid-image.specwith new URLs and sets the package version to match the latest image date - Automatic Commit: If new images are found, the GitHub Action commits the updated
waydroid-image.specandwaydroid-urls.jsonfiles - OBS Building: Open Build Service monitors the repository and automatically rebuilds packages when changes are detected
The _service file configures OBS to:
- Fetch the latest code from the
mainbranch - Use
_multibuildto build packages for all defined flavors - Download image ZIP files from the
SourceURLs in the spec file
| Flavor | Android Version | GApps | Description |
|---|---|---|---|
lineage-20-vanilla |
LineageOS 20 (Android 13) | ❌ | Clean AOSP experience |
lineage-20-gapps |
LineageOS 20 (Android 13) | ✅ | With Google Apps included |
lineage-18-vanilla |
LineageOS 18.1 (Android 11) | ❌ | Legacy AOSP experience |
lineage-18-gapps |
LineageOS 18.1 (Android 11) | ✅ | Legacy with Google Apps |
.
├── .github/
│ └── workflows/
│ └── update-images.yml # Daily update automation
├── waydroid-image.spec # RPM spec file template
├── _multibuild # OBS multi-flavor configuration
├── _service # OBS service definitions
├── update_waydroid_latest.py # URL scraping and update script
└── waydroid-urls.json # Cache of latest URLs and versions
Install the Waydroid image packages from your OBS repository:
# Add the OBS repository
zypper addrepo https://download.opensuse.org/repositories/home:itachi_re/openSUSE_Tumbleweed/home:itachi_re.repo
zypper refresh
# Install desired flavor
zypper install waydroid-image-lineage-20-gappsManual Update Trigger:
python3 update_waydroid_latest.pyTesting Locally:
# Build RPM locally (requires rpmbuild)
rpmbuild -ba waydroid-image.specContributions are welcome! Please feel free to submit pull requests for:
- Adding new Waydroid image flavors
- Improving the update script
- Enhancing OBS configuration
- Documentation improvements
This project is licensed under the MIT License - see the LICENSE file for details.
This project is not officially affiliated with Waydroid or LineageOS. It is an automated packaging solution maintained by the community.