From 2c22d154816b55c98e5a1f0242ec4f8dd132884f Mon Sep 17 00:00:00 2001 From: Daniil Antoshin Date: Tue, 6 May 2025 10:50:41 +0200 Subject: [PATCH] chore(core): build glibc Signed-off-by: Daniil Antoshin --- component_versions/version_map.yml | 1 + images/packages/binaries/glibc/werf.inc.yaml | 62 ++++++++++++++++++++ 2 files changed, 63 insertions(+) create mode 100644 images/packages/binaries/glibc/werf.inc.yaml diff --git a/component_versions/version_map.yml b/component_versions/version_map.yml index acc76918d1..c5b752a8fa 100644 --- a/component_versions/version_map.yml +++ b/component_versions/version_map.yml @@ -11,3 +11,4 @@ package: nbdkit: 1.39.5 gnutls: 3.8.6 dmidecode: 3-6 + glibc: glibc-2.38 diff --git a/images/packages/binaries/glibc/werf.inc.yaml b/images/packages/binaries/glibc/werf.inc.yaml new file mode 100644 index 0000000000..1c626a4b30 --- /dev/null +++ b/images/packages/binaries/glibc/werf.inc.yaml @@ -0,0 +1,62 @@ +--- +image: {{ $.ImageType }}/{{ $.ImageName }} +final: false +fromImage: builder/scratch +import: +- image: {{ $.ImageType }}/{{ $.ImageName }}-builder + add: /out + to: /glibc + before: setup + +--- +{{- $version := get $.Package $.ImageName }} +{{- $gitRepoUrl := "glibc.git" }} + +{{- $name := print $.ImageName "-dependencies" -}} +{{- define "$name" -}} +packages: +- gcc +- git pkg-config cmake +- hardlink binutils glibc-kernheaders +- make bison python3 +{{- end -}} + +{{ $builderDependencies := include "$name" . | fromYaml }} + +image: {{ $.ImageType }}/{{ $.ImageName }}-builder +final: false +fromImage: builder/alt +secrets: +- id: SOURCE_REPO + value: {{ $.SOURCE_REPO_GIT }} +shell: + beforeInstall: + - | + apt-get update && apt-get install -y \ + {{ $builderDependencies.packages | join " " }} + rm --recursive --force /var/lib/apt/lists/ftp.altlinux.org* /var/cache/apt/*.bin + + install: + - | + OUTDIR=/out + mkdir -p ~/.ssh && echo "StrictHostKeyChecking accept-new" > ~/.ssh/config + + git clone --depth=1 $(cat /run/secrets/SOURCE_REPO)/{{ $gitRepoUrl }} --branch {{ $version }} /src + + mkdir /build + cd /build + + ../src/configure \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --disable-crypt \ + --disable-profile \ + --enable-bind-now \ + --enable-obsolete-rpc \ + --enable-stack-protector=strong \ + --enable-fortify-source=3 \ + + make -j$(nproc) + + make DESTDIR=$OUTDIR install +