mirror of
https://github.com/xcat2/xcat-dep.git
synced 2026-09-12 04:26:25 +00:00
b72139c18c
The per-package <dep>/sbuild.pl were generic wrappers that shelled out to each package's make_deb.sh, so a package's build brain was split across two files and package-specific fixes (e.g. goconserver's Go toolchain) landed in make_deb.sh instead of the builder -- inconsistent with the EL side, where <dep>/mockbuild.pl IS the per-package builder. Make each <dep>/sbuild.pl own its build (mirroring <dep>/mockbuild.pl), absorbing its make_deb.sh (source prep, patches, toolchain, dpkg-buildpackage), and remove all seven make_deb.sh. The common chroot orchestration -- ephemeral schroot session, apt update, build-dep install, out-of-tree copy, SOURCE_DATE_EPOCH, deb collection + host-side verification -- moves into BuildUtils::build_deb_in_chroot; each builder supplies only its package-specific recipe (passed base64-encoded to avoid quoting interplay through schroot). Also make the older Ubuntu codenames buildable: - goconserver: install a pinned modern Go (1.25.12) in the build -- focal/jammy ship a Go too old to even auto-switch toolchains, and goconserver's pinned deps need Go >= 1.25 (it is a static CGO-free binary, so the pinned toolchain is portable and reproducible across codenames). - ipmitool + goconserver: lower debian/compat 13 -> 12 and Build-Depends debhelper (>= 12), since Ubuntu 20.04 (focal) ships debhelper 12; compat 12 also builds cleanly on newer codenames. Validated: all recipe shapes build green through the new path -- tarball (ipmitool@focal), git-clone+pinned-Go (goconserver@focal), tarball+patches (syslinux@noble), in-place (grub2-xcat), in-place+custom-rules (xnba); 80/80 unit tests still pass. Signed-off-by: Daniel Hilst <392820+dhilst@users.noreply.github.com>
To build elilo-xcat RPM: ------------------------ 1. Login to RHEL7.6 x86 node 2. yum install git 3. git clone https://github.com/xcat2/xcat-dep 4. cd xcat-dep/elilo 5. yum install gcc 6. yum install ./gnu-efi-3.0g-2.el6.x86_64.rpm 7. cp elilo-xcat.spec /root/rpmbuild/SPECS 8. cp elilo-3.14-source.tar.gz /root/rpmbuild/SOURCES 9. cp *.patch /root/rpmbuild/SOURCES 10. rpmbuild -ba /root/rpmbuild/SPECS/elilo-xcat.spec 11. Verify contents with rpm -qlp /root/rpmbuild/RPMS/noarch/elilo-xcat-3.14-6.noarch.rpm To build elilo-xcat DEB: ------------------------ 1. Login to Ubuntu x86 node 2. git clone https://github.com/xcat2/xcat-dep 3. cd xcat-dep/elilo 4. apt install quilt 5. apt install ./gnu-efi_3.0v-5_amd64.deb 6. ./make_deb.sh 7. Verify contents with dpkg -c <deb file>