2
0
mirror of https://github.com/xcat2/xcat-dep.git synced 2026-09-12 12:36:23 +00:00
Commit Graph

18 Commits

Author SHA1 Message Date
Daniel Hilst c70e09ceeb fix(build): stop concurrent per-arch builds racing on shared package sources
The elilo, ipmitool and syslinux builders each fetched their upstream
source and rewrote the tracked source tarball in place, inside the
package source directory that both arch builds share. When the two
per-arch builds run in parallel they were racing to fetch the source:
one build truncated and rewrote the tarball while the other read it, so
the reader got a truncated archive and failed intermittently with
"missing top-level tree" errors.

The correct, normalized source is already tracked in the repository and
is what mock consumes, so the fetch is redundant as well as unsafe. Drop
the download/normalize entirely and verify the tracked source read-only
(it exists and has the expected top-level tree). With no writer, the
shared source is only ever read, so parallel per-arch builds can no
longer race on it. Also removes the now-dead --source-url /
--skip-upstream-download options, the normalize helper, and the wget
dependency check.

Signed-off-by: Daniel Hilst <392820+dhilst@users.noreply.github.com>
2026-07-26 21:15:39 -03:00
Daniel Hilst ec3c8f71e7 build(xcat-dep): vendor build source tarballs to avoid upstream URL dependency
Commit the upstream source tarballs the mock builders consume so a build never
has to fetch them from the network -- offline/reproducible builds, and
resilience to upstream URL rot for these older releases:
  - ipmitool/ipmitool-1.8.18.tar.gz  (re-normalized to the release tarball)
  - syslinux/syslinux-6.03.tar.xz
  - perl-Crypt-SSLeay/Crypt-SSLeay-0.72.tar.gz

The per-package builders use the local tarball when present and only fall back
to the upstream URL if it is missing (ipmitool/syslinux mockbuild.pl; and
mockbuild-perl-packages.pl 'spec' mode for perl-Crypt-SSLeay).

Also folded in:
  - mockbuild-all.pl: switch createrepo -> createrepo_c (--database,
    --set-timestamp-to-revision) for deterministic, upstream-matching repo
    metadata.
  - perl-HTTP-Async / perl-Net-HTTPS-NB specs: reword the brp-compress comment.

Signed-off-by: Daniel Hilst <392820+dhilst@users.noreply.github.com>
2026-07-10 10:50:20 -03:00
Daniel Hilst e65c33cbcd fix(syslinux): allow noarch xcat subpackage to ship bootloader blobs on EL8/EL9
The syslinux-xcat subpackage is BuildArch: noarch but deliberately bundles the
arch-dependent PXELINUX/SYSLINUX bootloader blobs under
/opt/xcat/share/xcat/netboot/syslinux. EL10 rpm does not flag these real-mode
binaries, but EL8/EL9 rpm aborts the build with "Arch dependent binaries in
noarch package", so syslinux-xcat 6.03 could not be rebuilt for rh8/rh9 and the
2.17 -> 2.18 upgrade had no syslinux-xcat >= 6.03-1 to satisfy xCAT 2.18.

Set %_binaries_in_noarch_packages_terminate_build 0 so the self-contained xcat
netboot payload builds across EL8/EL9/EL10.
2026-06-29 09:02:31 -03:00
Daniel Hilst a2378ba780 build: Make builds deterministic
Port SOURCE_DATE_EPOCH patterns from xcat-core to all xcat-dep build
scripts. RPM and Debian packages now produce identical output given
the same Gitepoch timestamp, regardless of build host or time.

EL (RPM) changes:
- mockbuild-all.pl: --build-timestamp flag, deterministic run_id,
  tar --sort/--owner/--group/--mtime, createrepo --revision
- All mockbuild.pl: SOURCE_DATE_EPOCH cascade (CLI > Gitepoch > git > time),
  deterministic mock config with SOURCE_DATE_EPOCH in chroot env,
  RPM macros for timestamp clamping and fixed buildhost
- goconserver: -trimpath -buildvcs=false, canonical rpmbuild path
- xnba: canonical rpmbuild path
- syslinux: ZERO_AR_DATE=1 in mock env

Ubuntu (Debian) changes:
- All make_deb.sh: SOURCE_DATE_EPOCH fallback from Gitepoch
- goconserver: deterministic SNAP_TS and changelog from epoch,
  -trimpath -buildvcs=false in debian/rules
- syslinux: -fdebug-prefix-map for path-independent debug info
- build-apt-repo.sh: gzip -n, Release Date: from SOURCE_DATE_EPOCH

Verified: 31/33 package artifacts produce identical SHA256 hashes
across independent builds. 2 syslinux sub-packages (devel,
debugsource) have known limitations from upstream build system.
2026-06-20 17:28:16 -03:00
Daniel Hilst 19c65dbec5 fix(deb): Port syslinux, elilo, grub2-xcat to modern Ubuntu toolchains
syslinux 3.86: add GCC 10+ -fcommon, GCC 15 -Wno-error flags, glibc
sysmacros.h include, vpd.c pointer fix, python2 menugen skip.

elilo-xcat: three patches for GCC 15 (bool keyword, StrnCpy conflict
with gnu-efi 4.0) and binutils 2.46 (objcopy efi-app format removed).
Bump debhelper compat 5→10, fix changelog maintainer emails.

grub2-xcat: bump DH_COMPAT 5→8, add make_deb.sh.
2026-06-20 17:28:16 -03:00
Daniel Hilst Selli c47315a138 fix: Fix build for goconserver grub2-xcat and syslinux
Signed-off-by: Daniel Hilst Selli <392820+dhilst@users.noreply.github.com>
2026-04-14 11:04:46 -03:00
Daniel Hilst Selli fdf8393a2b fix: Add scripts & patches for building in mock for EL10
Signed-off-by: Daniel Hilst Selli <392820+dhilst@users.noreply.github.com>
2026-03-13 07:20:46 -03:00
xq2005 bb3e2fbc6d change the Maintainer to xCAT when building dependecy packages on ubuntu
Former-commit-id: aedd3c83a50b1ef980fb56f33fed3f5308e9b5ef
2013-06-26 07:41:45 +00:00
xq2005 13fc50eda4 do not signature the changefile and dsc file
Former-commit-id: e6847bd1520796af11931f748c547f9ef6b50a59
2013-02-20 08:47:00 +00:00
hamzy 381963c39e error: can't build with source format '3.0 (quilt)': no orig.tar file found
Former-commit-id: 4fc90fffde1410d330d2a79695641af4f92c16bc
2011-05-10 19:03:31 +00:00
hamzy bf08ce086d This is the first draft of building packages under Debian
Former-commit-id: 342cdeb67cc99dc5c0da1095d07cf5f239b58c4c
2011-05-03 20:29:30 +00:00
jbjohnso 8cb6c1268c -Fix problem where mboot.c32 wasn't actually compiled making patch ineffective
Former-commit-id: ed19f29f2d23b4c7844645ee735aeef3fb8f7c5f
2010-05-15 11:46:25 +00:00
jbjohnso 01e058e193 -Clean up patch and update spec file
Former-commit-id: 4c750397cab1657c9054a4404f7192f8810e343b
2010-05-15 01:22:44 +00:00
jbjohnso 7f34c5b619 -Add newer syslinux base
Former-commit-id: 9bc32e80b2b22ed2f426f61f1c49173919d48517
2010-05-15 01:09:38 +00:00
jbjohnso 2d8c0d85e4 -Patch to allow primarynic autodetect on stateless esxi
Former-commit-id: 9eab9bac8651ecf6667e31a7a04dc84ccfbab019
2010-05-14 21:13:14 +00:00
jbjohnso b9d2a5d1d5 -Move the rpm target to a directory in xcat, for xcat to move as appropriate later 2009-07-09 21:01:32 +00:00
jbjohnso b611322ea4 -Produce an arch-independent rpm to install since the binaries are not executed by the system that this rpm is installed to 2009-07-09 20:56:57 +00:00
jbjohnso 9e87c3a589 -Add source/spec file to build prerequisite syslinux enhancements to aid the 2.3 boot strategy 2009-07-09 20:44:06 +00:00