2
0
mirror of https://github.com/xcat2/xcat-dep.git synced 2026-06-24 16:30:47 +00:00
Files
xcat-dep/conserver
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
..
2017-06-14 15:30:01 +08:00
2026-06-20 17:28:16 -03:00
2017-06-14 15:30:01 +08:00

To make the conserver-xcat rpm, run:

./bldconserver.pl

The original patches like initscript.patch and initscript1.patch have been
replaced with initscript_8.2.1.patch, please follow the steps below to create
patch for init script.

1. Copy conserver-8.2.1.tar.gz to a directory, say /root/conserverstart
  mkdir /root/conservertar
  cp conserver-8.2.1.tar.gz /root/conserverstart

2. Copy the initscript_8.2.1.patch to the same directory
  cp initscript_8.2.1.patch /root/conserverstart

3. Uncompress the conserver-8.2.1.tar.gz into two copies:
  tar zxvf conserver-8.2.1.tar.gz
  mv conserver-8.2.1 conserver-8.2.1-diffinit
  tar zxvf conserver-8.2.1.tar.gz

4. Patch the conserver.init with the original patch copied from Git repository
  cd /root/conservertar
  cat initscript_8.2.1.patch | /usr/bin/patch -s -p1 --fuzz=0
  select conserver-8.2.1-diffinit/contrib/redhat-rpm/conserver.init as the file to patch

5. Update the conserver-8.2.1-diffinit/contrib/redhat-rpm/conserver.init with whatever changes that are needed

6. Generate the new patch:
  cd /root/conserverstart
  diff -ruN conserver-8.2.1/contrib/redhat-rpm/conserver.init conserver-8.2.1-diffinit/contrib/redhat-rpm/conserver.init > initscript_8.2.1.patch

7. Copy the new patch to the xcat-dep Git repository and checkin
  cp initscript_8.2.1.patch ~/xcat/xcat-dep/conserver/
  cd ~/xcat/xcat-dep/conserver/
  git commit -m "blah blah blah"