mirror of
https://github.com/xcat2/xcat-dep.git
synced 2026-09-12 04:26:25 +00:00
c808e06da3
Review follow-up for the Ubuntu sbuild matrix:
- Add a fail-fast exclusive flock over the whole run (<output-root>/.sbuild-all.lock,
file-scoped handle) so two overlapping runs can't corrupt the shared staging/apt
tree -- this is the root of the observed 'remove_tree .../staging/<cn>/<arch>:
Directory not empty' (an NFS silly-rename from a concurrent run).
- wipe_tree(): remove_tree that captures {error} and dies loud, so an ENOTEMPTY no
longer carps-and-continues leaving stale debs; used for all staging/pool/dists wipes.
- Wire the tested, hash-based cross_copy_genesis_deb into build_genesis (was a naive
glob+copy, so the unit-tested stale-dropping copier was dead code); remove the
genuinely-unused deb_snap_version/rewrite_changelog_top helpers + their subtests
(compiled deps intentionally ship their tracked changelog version).
- Dedupe assemble_apt on binary Package+Architecture (keep highest via
dpkg --compare-versions) so a double-produced genesis can't land two versions in
the pool, independent of the --skip-genesis contract.
- Derive Release Architectures from the arches actually staged (non-empty
binary-<arch>/Packages), not a hard-coded 'amd64 ppc64el'.
- goconserver: guard 'go mod init' when a go.mod exists (+ TODO to commit go.sum for
the pinned SHA). Accept-and-ignore the unused per-package --log-dir/--build-number/
--skip-install flags (documented). Remove orphaned make_deb.sh dispatchers
(build-debs-all, build.sh, ipmitool/build.sh) + update the READMEs.
perl -c clean; prove t/sbuild-all.t: 71/71.
Signed-off-by: Daniel Hilst <392820+dhilst@users.noreply.github.com>
28 lines
1.2 KiB
Plaintext
28 lines
1.2 KiB
Plaintext
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:
|
|
------------------------
|
|
The Ubuntu/Debian build is now driven by the top-level sbuild-all.pl orchestrator, which builds
|
|
each package inside the matching <codename>-<arch>-sbuild chroot from its maintained debian/
|
|
packaging (build-deps such as quilt are installed inside the chroot automatically). The former
|
|
./make_deb.sh has been removed.
|
|
|
|
1. Login to an Ubuntu x86 build host
|
|
2. git clone https://github.com/xcat2/xcat-dep; cd xcat-dep
|
|
3. Build every package for a codename: ./sbuild-all.pl --arch amd64 --dists noble
|
|
or this package alone: ./elilo/sbuild.pl --codename noble --arch amd64 --result-dir <dir>
|
|
4. Verify contents with dpkg -c <deb file>
|