Commit Graph

289 Commits

Author SHA1 Message Date
boypt
e062237c5c fix(docker): use verified vault/stream mirrors for 8/9-stream
- 8-stream (EOL): switch from single vault.centos.org to 3 verified vault mirrors
  https://mirrors.aliyun.com/centos-vault/8-stream/
  https://ftp.iij.ad.jp/pub/linux/centos-vault/8-stream/
  https://ftp.yandex.ru/centos/centos/8-stream/ (dual-path validated)
  via multi-baseurl sed in Dockerfile.centos-stream EL8 branch
- 9-stream: update modify_dnf_source.pl @mirrors to 4 verified stream mirrors
  (mirrors.aliyun, mirrors.ustc, ftp.iij, ftp.yandex /centos-stream)
  drop vault.centos.org (404 for active 9-stream, verified via HEAD)
- verified repodata (BaseOS/$basearch/os/repodata/repomd.xml) on both arches
2026-08-21 10:49:44 +08:00
boypt
464f44b1ed refactor(docker): remove MIRROR branching, use multi-baseurl failover
- drop ARG MIRROR / MIRROR_HOLDER sed injection across all Dockerfiles
- modify_yum_source.sh: EL5/6 use 4x HTTP centos-vault + 5x HTTP epel
  (ftp.iij, mirrors.aliyun, ftp.yandex, ftp.pasteur / sindad, debian.sbor)
  to avoid TLS/302 on Python2.4; EL7 keep 2x HTTPS vault + 2x epel
- modify_dnf_source.pl: replace single mirror holder with @mirrors array
  (vault.centos.org, mirrors.ustc, mirrors.aliyun) emitting multi baseurl
- Dockerfile.centos-stream: EL9 now unconditional perl, EL8 vault direct
- workflows/README: drop MIRROR docs and build-args
- shfmt fix docker_compile.sh (tabs)
2026-08-21 10:12:41 +08:00
boypt
e1da586e03 docs: update README/AGENTS for aarch64 support
- README: expand supported distro table to 4 cols with Arch (x86_64/aarch64) and per-arch tags aarch64_el7/8/9, add altarch note
- AGENTS: add Supported architectures (per-arch tags) and altarch vault handling, expand CI matrix details for build-images (5+3) and build-rpm (arm64@ubuntu-24.04-arm)
2026-08-20 17:28:34 +08:00
boypt
9e54e5d205 style: shfmt docker/modify_yum_source.sh (tabs) 2026-08-20 16:50:07 +08:00
boypt
c52b9968ed fix(docker): handle el7 aarch64 altarch baseurl and make epel sed robust 2026-08-20 16:42:48 +08:00
boypt
116e7ec791 fix(docker): use HTTP aliyun EPEL for el5 to avoid Python2.4 HTTPS redirect (302) 2026-08-20 16:38:52 +08:00
boypt
f961f49444 fix(pullsrc): download perl for DOCKERBUILD without GETEL check (fix el5 lstat) 2026-08-20 16:27:46 +08:00
boypt
d551b20885 ci: remove redundant Replace Mirror URL steps, keep source intact 2026-08-20 16:19:35 +08:00
boypt
f82afb75b3 fix(ci): correct Replace Mirror URL regex to avoid Dockerfile truncation 2026-08-20 16:17:27 +08:00
boypt
1a6c26eeba refactor(docker): simplify images, move el8 to centos-stream, isolate el5, fix altarch/metalink 2026-08-20 16:09:50 +08:00
boypt
43ff05ed49 fix: ignore dot files 2026-08-16 11:24:29 +08:00
boypt
cbb519644d lint: add shellcheck/shfmt rules to AGENTS.md, format compile.sh and pullsrc.sh 2026-08-16 11:21:01 +08:00
boypt
277ccf7ec4 cleanup: remove deprecated --with-md5-passwords, --with-smartcard, --with-systemd, and fix kerberos5 in initv spec 2026-08-16 10:59:00 +08:00
boypt
385c677425 config: add .opencode/opencode.json for edit/bash/external_directory permissions
Allow editing version.env without confirmation, allow /tmp external
directory access, and default bash commands to ask.
2026-08-11 15:42:00 +08:00
boypt
4c8b1fb2e9 fix: use '.' separator in UOS20 PKGREL prefix to avoid illegal '-' in Release field
RPM does not allow '-' in the Release field (it is the Version/Release
delimiter). The 'uos20-' prefix produced Release values like 'uos20-b1.el8'
which rpmbuild rejects with 'Illegal char '-' (0x2d)'. Switch to 'uos20.'.
v10.5p1_b2
2026-08-11 15:17:39 +08:00
boypt
31c5e61c6e ver bump: 10.5p1 v10.5p1_b1 2026-08-11 15:09:58 +08:00
boypt
b0690b2822 docs: mark UnionTech UOS V20 as UOS20 variant in Supported Distro
The standard EL 8 build does not include the do_dup2() kernel-panic
workaround needed on UOS 20 kernels. Point UOS 20 users at the UOS20
variant instead, matching the dedicated 'Build for uniontech UOS 20'
section in Other Notes.
2026-08-07 17:05:07 +08:00
boypt
f7b7dfccc2 docs: auto-detect ARCH and EL when downloading from latest release
Replace the hardcoded 'el7' / 'x86_64' filter with ARCH and EL
variables, populated from `uname -m` and `./compile.sh GETEL`
respectively. UOS 20 still requires manually setting EL=uos20
since it's not auto-detectable from the running system.
2026-08-07 17:04:12 +08:00
boypt
d6bcab2809 fix: use 'uos20-' as PKGREL prefix to avoid unreadable 'uos201'
PKGREL=1 + 'uos20' prefix concatenated to 'uos201', which reads as
'uos two hundred one' rather than 'uos20 version 1'. Add a hyphen
('uos20-') so the resulting release tag is 'uos20-1' / 'uos20-b12' etc.

Update compile.sh logic and the three doc references (README,
AGENTS.md, docker/README.md) to match.
2026-08-07 16:48:38 +08:00
boypt
1dddf9eb4a docs: document UOS20=1 build variant in README
Add an 'Other Notes' subsection describing the UOS 20 kernel
do_dup2() panic, the openssh-uos20-kernel-panic-fix.patch workaround,
and how to opt in via UOS20=1 (which also prefixes PKGREL with uos20).
Note that ordinary EL7/8/9 builds are unaffected, and link to the
Docker build instructions for the same variant.
2026-08-07 16:46:04 +08:00
boypt
761cc835d7 ci: decouple artifact name from matrix.el/arch via explicit field
The upload-artifact template hardcoded 'el' as a prefix
(rpm-el${el}-${arch}), which glued 'el' to non-numeric el values
like 'uos20' and produced ugly artifact names such as
'rpm-eluos20-x86_64'.

Add an explicit 'artifact' field to each matrix entry carrying the
full artifact name, and reference it directly in the upload step.
This keeps naming fully self-describing per entry and lets future
variants pick their own label without touching the template.
v10.4p1_b13
2026-08-07 16:34:30 +08:00
boypt
59870bad71 ci: build UOS 20 RPMs in build-rpm workflow (x86_64 + aarch64)
Add a UOS 20 matrix entry to both build-arm64 and build-amd64 jobs,
reusing the existing el8 / aarch64_el8 base images and passing
-e UOS20=1 to the container. Artifact names use 'uos20' (rpm-uos20-x86_64,
rpm-uos20-aarch64) so they are distinguishable from the standard el8
builds in releases.

The release job already downloads everything under artifacts/, so no
changes there.
v10.4p1_b12
2026-08-07 16:19:28 +08:00
boypt
422e850fe0 docs: document UOS20=1 docker build variant
Add a UOS 20 Variant subsection in the EL7 build area and a row in the
Build Arguments table, showing how to reuse the elssh:el7 image with
-e UOS20=1 to produce UOS 20 RPMs.
2026-08-07 16:15:27 +08:00
boypt
ef31f9cb53 refactor: consolidate UOS20 spec into main openssh.spec via UOS20=1
The UOS 20 build was previously a near-duplicate spec (openssh.uos20.spec)
with only the kernel-panic patch as an intentional difference. The
kerberos5 and gssapi drift was unintentional and caused maintenance pain
upstream changes had to be applied in two places.

Now there is one spec. The kernel-panic patch is gated on a uos20 macro
that compile.sh sets only when UOS20=1 is in the environment, so non-UOS
builds cannot accidentally pick it up. When UOS20=1, PKGREL is prefixed
with 'uos20' so the resulting RPMs are distinguishable from the standard
build (e.g. PKGREL=1 -> uos201).

Delete openssh.uos20.spec, document UOS20=1 in AGENTS.md.
2026-08-07 16:12:21 +08:00
boypt
fc0fd802a6 refactor: rename aarch64-kernel-panic patch to uos20-kernel-panic, switch to Patch999
The do_dup2() NULL pointer dereference panic affects all UOS 20 systems,
not just aarch64, so the patch name is generalized. Move the patch slot
from Patch100 (which collides with 10.4-fix-gssapi.patch in other specs)
to Patch999. Add an inline comment documenting the panic call trace and
fix mechanism.
2026-08-07 16:01:40 +08:00
boypt
7f1af1b7d0 feat: add --latest to check upstream OpenSSH version, document release workflow 2026-07-29 10:08:22 +08:00
boypt
6eb13e831a refactor: map el8+ to el7 in GUESS_DIST, add AGENTS.md 2026-07-29 09:49:14 +08:00
boypt
75c8793cb4 fix: revert unnecess pkg 2026-07-10 16:30:35 +08:00
boypt
b4e4764bb9 fix: patch applying v10.4p1_b11 2026-07-10 16:01:47 +08:00
boypt
4d8cac9a2d fix: docker detect openssl 2026-07-10 15:48:11 +08:00
boypt
aa5a4b8162 fix: upstream bug with GSSAPI options 2026-07-10 15:47:02 +08:00
boypt
fd02898584 fix: force gssapi enabled 2026-07-10 14:13:18 +08:00
boypt
e631cda76c fix: move the el5 krb5 linking hack to SPCE 2026-07-10 09:09:14 +08:00
boypt
fb9940fc8c fix: remove tab indent 2026-07-09 16:42:26 +08:00
boypt
ed95794b1f fix: el5 perl ver check 2026-07-09 16:12:38 +08:00
boypt
2d5684db77 fix: el5 fake perl src 2026-07-09 16:08:10 +08:00
boypt
9227ec48d8 fix: el5 build hacks 2026-07-09 15:59:10 +08:00
boypt
26bb728182 fix: el5 build 2026-07-09 15:48:02 +08:00
boypt
f4b0b367ef fix: only download for el5 2026-07-09 15:15:54 +08:00
boypt
8f963924f8 fix: only el5 install setarch 2026-07-09 15:11:43 +08:00
boypt
74407594eb fix: avoid action stragy 2026-07-09 15:07:49 +08:00
boypt
eefd89e9f1 fix: typo 2026-07-09 14:18:43 +08:00
boypt
82140f9776 fix: workflow strategy configuration 2026-07-09 14:16:57 +08:00
boypt
b26ae9911a gh: update actions 2026-07-09 14:03:51 +08:00
boypt
018d9130ab fix: krb5 in el5 hack 2026-07-09 13:48:41 +08:00
boypt
df886d8efe doc: use docker image tag 2026-07-09 13:18:13 +08:00
boypt
196031cca0 fix: support krb5 in M32=1 2026-07-09 13:14:52 +08:00
boypt
0317be588e fix: script may fail to report error code in EL5 2026-07-07 16:06:26 +08:00
boypt
25ce45ddf0 fix: el5 krb5 support disable v10.4p1_b4 2026-07-07 15:50:17 +08:00
boypt
34ddbb4ad4 update workflow actions 2026-07-07 15:27:51 +08:00