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

801 Commits

Author SHA1 Message Date
Vinícius Ferrão 861cec2d8f ci(genesis): test unprivileged package builds 2026-08-22 02:43:01 -03:00
Vinícius Ferrão 4bfa7104d4 test(genesis): isolate release consumers 2026-08-22 02:39:39 -03:00
Vinícius Ferrão 17bd87c53c fix(genesis): harden staged release publication 2026-08-22 02:39:38 -03:00
Vinícius Ferrão 1b21fdb827 test(genesis): verify staged package payloads 2026-08-22 02:18:01 -03:00
Vinícius Ferrão b1eed082e6 ci(genesis): require package build tools 2026-08-22 02:15:04 -03:00
Vinícius Ferrão fd0cffadac docs(genesis): describe staged package rollout 2026-08-22 02:15:04 -03:00
Vinícius Ferrão 6e31a24c30 test(genesis): keep legacy packages available 2026-08-22 02:14:26 -03:00
Vinícius Ferrão 6516f29423 fix(genesis): stage OpenEmbedded packages separately 2026-08-22 02:14:17 -03:00
Vinícius Ferrão 4f38261407 test(genesis): protect deployed release packages 2026-08-22 01:35:48 -03:00
Vinícius Ferrão 2531e9f579 docs(genesis): clarify release publication 2026-08-22 01:34:32 -03:00
Vinícius Ferrão 853847ab39 ci(genesis): test OpenEmbedded packages 2026-08-22 01:33:30 -03:00
Vinícius Ferrão 79cf9add2a fix(build): preserve source epoch failures 2026-08-22 01:33:01 -03:00
Vinícius Ferrão a54f7bc3ea test(genesis): cover DEB package transitions 2026-08-22 01:31:36 -03:00
Vinícius Ferrão be73af9799 fix(genesis): replace legacy DEB packages 2026-08-22 01:31:36 -03:00
Vinícius Ferrão d201f5c0f5 test(genesis): inspect package install hooks 2026-08-22 01:31:36 -03:00
Vinícius Ferrão 6597def239 fix(genesis): harden package install hooks 2026-08-22 01:31:36 -03:00
Vinícius Ferrão b7197aab0f test(genesis): cover release qualifiers 2026-08-22 01:31:36 -03:00
Vinícius Ferrão 7ac007d545 fix(genesis): accept valid release filenames 2026-08-22 01:31:36 -03:00
Vinícius Ferrão c71b04344e fix(genesis): require reproducible archive tooling 2026-08-22 01:31:36 -03:00
Vinícius Ferrão 7763a03efd test(genesis): reject changed release packages 2026-08-22 01:25:58 -03:00
Vinícius Ferrão 779f5f7b21 fix(genesis): pin verified release checksums 2026-08-22 01:25:39 -03:00
Vinícius Ferrão 23d7cbf5dc test(build): cover repository paths with spaces 2026-08-22 01:23:10 -03:00
Vinícius Ferrão a8b30e0ecd fix(build): handle repository paths with spaces 2026-08-22 01:23:00 -03:00
Vinícius Ferrão df481887ca test(genesis): reject partial repository releases 2026-08-22 01:22:33 -03:00
Vinícius Ferrão fc11b981ab fix(genesis): require complete repository releases 2026-08-22 01:22:06 -03:00
Vinícius Ferrão c0f3c3e073 test(genesis): build complete release fixtures 2026-08-22 01:21:24 -03:00
Vinícius Ferrão 49048459e1 test(genesis): cover package build umasks 2026-08-22 01:20:32 -03:00
Vinícius Ferrão d4e0d6c390 fix(genesis): normalize package build modes 2026-08-22 01:20:07 -03:00
Vinícius Ferrão c42e6b92ee test(genesis): cover inaccessible build cwd 2026-08-22 00:27:12 -03:00
Vinícius Ferrão 4d0ee7d5f1 fix(genesis): tolerate inaccessible build cwd 2026-08-22 00:27:12 -03:00
Vinícius Ferrão faa72c14aa test(genesis): cover isolated build tmpdir 2026-08-21 10:45:31 -03:00
Vinícius Ferrão e3ff2eb1cf fix(genesis): isolate OpenEmbedded tmpdir 2026-08-21 10:44:42 -03:00
Vinícius Ferrão 6e499cd77b test(genesis): remove placeholder assertions 2026-08-21 09:46:01 -03:00
Vinícius Ferrão 98ee9edbfe test(genesis): cover dirty release sources 2026-08-21 09:38:57 -03:00
Vinícius Ferrão a388bdacb5 docs(build): list Genesis skip option 2026-08-21 09:38:56 -03:00
Vinícius Ferrão 87c769304a fix(genesis): reject untracked release sources 2026-08-21 09:38:56 -03:00
Vinícius Ferrão 57f0db1ed3 docs(genesis): record package transition gate 2026-08-21 09:35:39 -03:00
Vinícius Ferrão f8adc37a89 fix(build): preserve basename failure status 2026-08-21 09:33:15 -03:00
Vinícius Ferrão ed1d72bc77 fix(genesis): make file listing scalar-safe 2026-08-21 09:33:14 -03:00
Vinícius Ferrão d0cee4f005 docs(genesis): document release packaging 2026-08-21 09:27:05 -03:00
Vinícius Ferrão acc972d524 test(build): cover Genesis release consumers 2026-08-21 09:25:49 -03:00
Vinícius Ferrão df43878111 feat(build): consume Genesis package releases 2026-08-21 09:21:33 -03:00
Vinícius Ferrão badcaedef0 test(genesis): cover OpenEmbedded packages 2026-08-21 09:11:01 -03:00
Vinícius Ferrão 063ffc7724 fix(genesis): verify source package identity 2026-08-21 09:10:51 -03:00
Vinícius Ferrão f909033b10 feat(genesis): package OpenEmbedded exports 2026-08-21 09:07:02 -03:00
Daniel Hilst 587a9ead70 Merge pull request #61 from VersatusHPC/master
Build xcat-dep for multiple targets, rh8, rh9, rh10 and SUSE
2026-07-16 15:33:17 -03:00
Daniel Hilst 99d2000c28 Merge pull request #3 from VersatusHPC/feat/ci-x86-targets
Feat build xcat-dep for multiple targets Ubuntu, EL, SUSE
2026-07-10 11:04:14 -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 a02adbfc63 feat(mockbuild-all): build conserver-xcat as a dep builder
Register conserver-xcat in mockbuild-all.pl's dep-builder set so the
traditional C conserver (8.2.1) is built per-EL/arch alongside goconserver.
xCAT itself requires goconserver, so conserver stays a build-on-demand
artifact, but wiring it into the full dep build keeps it produced and
signed with the rest of xcat-dep for sites that want it.

conserver/mockbuild.pl gains the --build-timestamp option that
mockbuild-all passes to every builder (SOURCE_DATE_EPOCH for deterministic
builds); without it the child invocation would abort on an unknown option.

Signed-off-by: Daniel Hilst <392820+dhilst@users.noreply.github.com>
2026-07-05 16:51:09 -03:00
Daniel Hilst 9f01a153e0 fix(conserver): build on EL8-EL10 x86_64; add per-EL mockbuild.pl
conserver.spec had not been built on a modern EL toolchain and no longer
compiled on EL9/EL10:

- %prep used the bare %patch / %patch1 macros, which rpm 4.18+ (EL9/EL10)
  rejects with "Patch number not specified". Switched to explicit
  Patch0:/Patch1: with the numbered %patch0/%patch1 macros, which apply
  cleanly on EL8 through EL10.
- BuildRequires listed only openssl-devel, so on EL9/EL10's minimal mock
  buildroot the toolchain was absent and %configure failed with
  "C compiler cannot create executables". Added gcc, make and glibc-devel.

Also add conserver/mockbuild.pl, a standalone per-EL builder matching the
other xcat-dep builders (goconserver/ipmitool): it stages the sources and
spec, builds the SRPM, mock-rebuilds it in the target chroot, copies the
RPMs to --result-dir, and smoke-tests console/conserver in the chroot.
conserver is not in the default mockbuild-all.pl set (xCAT uses goconserver),
so this builder is run on demand. Built + smoke-tested conserver-xcat-8.2.1
for alma+epel-{8,9,10}-x86_64.

Signed-off-by: Daniel Hilst <392820+dhilst@users.noreply.github.com>
2026-07-05 16:47:12 -03:00