Skip to content

feat(packaging): add Fedora .rpm and Arch pacman build scripts#620

Merged
BenJule merged 1 commit into
developfrom
feat/distro-packaging-scripts
Jul 18, 2026
Merged

feat(packaging): add Fedora .rpm and Arch pacman build scripts#620
BenJule merged 1 commit into
developfrom
feat/distro-packaging-scripts

Conversation

@BenJule

@BenJule BenJule commented Jul 18, 2026

Copy link
Copy Markdown
Owner

The Linux container build calls scripts/build_rpm.sh (Fedora) and scripts/build_pkg_arch.sh (Arch), but those scripts didn't exist, so the Fedora and Arch package phases failed with exit 127.

This adds both, modelled on the existing build_deb.sh: they stage the same /usr tree (binary under /usr/lib/bambustudio/bin, filtered app libs, resources, launcher wrapper, desktop entry, icons) and build the package with fpm. fpm's rpm and pacman targets are used so Arch packaging works as root without makepkg. fpm is installed on demand; on Arch the erb gem is installed explicitly because Ruby 3.4 dropped it from the default gems.

Both were verified end-to-end in the bambu-fedora:42 and bambu-archlinux:base CI containers (produce .rpm and .pkg.tar.zst).

build-linux-container.sh calls scripts/build_rpm.sh (fedora) and
scripts/build_pkg_arch.sh (arch), but the scripts were missing so both
package phases failed with exit 127. Add them, modelled on build_deb.sh:
stage the same /usr tree and build the package with fpm (rpm / pacman).
fpm is installed on demand; on Arch the erb gem is added explicitly
(Ruby 3.4 dropped it). Verified in the fedora-42 and archlinux containers.
@BenJule BenJule added this to the v02.07.01-dev milestone Jul 18, 2026
@BenJule BenJule self-assigned this Jul 18, 2026
@BenJule
BenJule merged commit 397b976 into develop Jul 18, 2026
3 checks passed
@BenJule
BenJule deleted the feat/distro-packaging-scripts branch July 18, 2026 04:43
@github-actions github-actions Bot added area: ci GitHub Actions, CI/CD area: packaging AppImage, .deb, .rpm, Flatpak platform: linux Linux-specific issue area: build Build system, CMake, scripts labels Jul 18, 2026
BenJule added a commit that referenced this pull request Jul 18, 2026
…CI tools (#621)

Follow-up to #620. #620 replaced the repo's native packaging scripts
with an fpm-based approach; this restores the original native scripts
(rpmbuild + a generated spec for Fedora, makepkg with an unprivileged
build user for Arch) and only adds the tool installs the CI images are
missing: rpm-build + python3 on Fedora, fakeroot on Arch. Both verified
end-to-end in the bambu-fedora:42 and bambu-archlinux:base containers
(produce .rpm and .pkg.tar.zst).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: build Build system, CMake, scripts area: ci GitHub Actions, CI/CD area: packaging AppImage, .deb, .rpm, Flatpak platform: linux Linux-specific issue

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant