Skip to content

feat(openssl): drop configure-project-installer, inline build#66

Merged
Sunrisepeak merged 1 commit intomainfrom
feat/cluster-b-openssl-sandbox
May 1, 2026
Merged

feat(openssl): drop configure-project-installer, inline build#66
Sunrisepeak merged 1 commit intomainfrom
feat/cluster-b-openssl-sandbox

Conversation

@Sunrisepeak
Copy link
Copy Markdown
Member

Summary

  • Switch fromsource:openssl from xim:configure-project-installer shim to its own inline build
  • Apply the cluster-A sandbox-fix template
  • Configure flags: linux-x86_64 enable-shared enable-legacy no-asm
  • Pin upstream url + sha256 (from www.openssl.org)
  • Cluster B leaf 5/8

no-asm?

openssl 3.1.5's perlasm output for AVX-512 (crypto/modes/aes-gcm-avx512.s) emits %SCALAR(...) register names that the binutils 2.42 assembler in our subos rejects. C fallback is slower but stable; future binutils bumps can drop the flag.

Verification (local isolated xlings 0.4.9)

  • ✅ Configure + make + install_sw clean
  • ✅ produced libssl.so.3 / libcrypto.so.3 (+ .so / .a) under lib64/
  • openssl + c_rehash binaries staged
  • ✅ headers (include/openssl/) copied to subos sysroot/usr/include

Test plan

  • Local iso e2e
  • CI (linux-test, static-and-isolation, index-registration)

Switch fromsource:openssl from xim:configure-project-installer to its
own inline build, applying the cluster-A sandbox-fix template:

* paths derived from pkginfo.install_file()
* Configure + make + make install_sw chained in single sh -c (openssl
  Configure does not support out-of-tree build, run from srcdir)
* fixed -j8
* sysroot include dir wrapped in _sys_usr_includedir() helper
* shell cp -r replaces os.dirs / os.files glob (silent no-ops in 0.4.9)
* declare upstream url + sha256
* deps: add explicit xim:gcc + xim:make + xim:xpkg-helper (previously
  pulled in transitively via configure-project-installer)

Build flags:
  linux-x86_64 enable-shared enable-legacy no-asm

`no-asm` works around an openssl 3.1.5 perlasm/binutils bug:
crypto/modes/aes-gcm-avx512.s emits `%SCALAR(...)` register names
that binutils 2.42 (the assembler in our subos) rejects. C fallback
is slower but stable; future binutils version bumps can drop the flag.

`make install_sw` skips docs install (saves several minutes).

Verified end-to-end in xlings 0.4.9 iso:
  ✓ Configure linux-x86_64 enable-shared enable-legacy no-asm
  ✓ make -j8 (~3 min on 8-core)
  ✓ make install_sw
  ✓ produced libssl.so.3 / libcrypto.so.3 + .so / .a
  ✓ openssl + c_rehash binaries staged
  ✓ headers (include/openssl/) shell-copied to subos sysroot

Cluster B leaf 5/8.
@Sunrisepeak Sunrisepeak merged commit 0c21602 into main May 1, 2026
5 checks passed
@Sunrisepeak Sunrisepeak deleted the feat/cluster-b-openssl-sandbox branch May 1, 2026 18:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant