Skip to content

Commit 1b71aa0

Browse files
Backport: chore(core): build libs (#1402)
chore(core): build libs (#1371) packages: - libffi: v3.5.2 - libmnl: libmnl-1.0.5 - libnbd: v1.23.6 - multipath-tools: 0.11.1 - libblkid -> util-linux: v2.41.1 refactoring build packages - gnutls - libgmp - nbdkit --------- Signed-off-by: Nikita Korolev <[email protected]> Co-authored-by: Nikita Korolev <[email protected]>
1 parent ebe3bc9 commit 1b71aa0

File tree

32 files changed

+955
-445
lines changed

32 files changed

+955
-445
lines changed

.werf/defines/images.tmpl

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,15 @@ Result:
3535
{{- $stage = index . 2 }}
3636
{{- end }}
3737
{{- range $imageName := $ImageNameList }}
38-
- image: {{ $context.ModuleNamePrefix }}packages/{{ $imageName }}
39-
add: /{{ $imageName }}
40-
to: /{{ $imageName }}
38+
{{- $packages := splitList " " $imageName -}}
39+
{{- range $packages -}}
40+
{{- $image := trim . -}}
41+
{{- if ne $image "" }}
42+
- image: packages/{{ $image }}
43+
add: /{{ $image }}
44+
to: /{{ $image }}
4145
before: {{ $stage }}
46+
{{- end }}
47+
{{- end -}}
4248
{{- end }}
4349
{{ end }}

build/components/versions.yml

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
firmware:
2-
qemu: 9.2.0
3-
libvirt: 10.9.0
2+
qemu: v9.2.0
3+
libvirt: v10.9.0
44
edk2: stable202411
55
core:
66
3p-kubevirt: v1.3.1-v12n.10
@@ -17,10 +17,9 @@ package:
1717
glib2: 2.84.2
1818
glibc: glibc-2.38
1919
libgmp: 6.3.0
20-
gnutls: 3.8.6
20+
gnutls: 3.8.10
2121
libattr: v2.5.2
2222
libaudit: v4.0.3
23-
libblkid: v2.41
2423
libbrotli: v1.1.0
2524
libbsd: 0.12.2
2625
libburn: release-1.5.6
@@ -29,6 +28,7 @@ package:
2928
libcapstone: 4.0.2
3029
libcurl: curl-8_14_1
3130
libfuse3: fuse-3.16.2
31+
libffi: v3.5.2
3232
libgcrypt: libgcrypt-1.10.2
3333
libxcrypt: v4.4.36
3434
libtpms: v0.10.0
@@ -40,10 +40,14 @@ package:
4040
libidn2: v2.3.8
4141
libisoburn: release-1.5.6
4242
libmd: 1.1.0
43+
libmnl: libmnl-1.0.5
44+
libnbd: v1.23.6
4345
lvm2: v2_03_32
46+
multipath-tools: 0.11.1
4447
nbdkit: v1.39.5
4548
nettle: nettle_3.10.1_release_20241230
4649
nftables: v1.1.3
4750
numactl: v2.0.19
4851
openssl: openssl-3.4.1
4952
swtpm: v0.10.0
53+
util-linux: v2.41.1
Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
---
22
{{- $name := print $.ImageName "-dependencies" -}}
33
{{- define "$name" -}}
4-
packages:
4+
altPackages:
55
- glibc-utils
66
- mount xfsprogs xfstests util-linux
7-
- libffi-devel
8-
libraries:
7+
altLibraries:
98
- libssh-devel libssh2-devel
9+
packages:
10+
- libffi e2fsprogs
1011
{{- end -}}
1112

1213
{{ $builderDependencies := include "$name" . | fromYaml }}
@@ -18,20 +19,19 @@ git:
1819
- add: {{ .ModuleDir }}/build/tools/relocate_binaries.sh
1920
to: /relocate_binaries.sh
2021
import:
21-
{{- $images := list "e2fsprogs" -}}
22-
{{- include "importPackageImages" (list . $images "install") -}}
22+
{{- include "importPackageImages" (list . $builderDependencies.packages "install") -}}
2323
shell:
2424
install:
25+
{{- include "alt packages proxy" . | nindent 2 }}
26+
- |
27+
apt-get install -y \
28+
{{ $builderDependencies.altPackages | join " " }} \
29+
{{ $builderDependencies.altLibraries | join " " }}
30+
{{- include "alt packages clean" . | nindent 2 }}
2531
- |
2632
# Install packages
27-
PKGS="{{ $images | join " " }}"
33+
PKGS="{{ $builderDependencies.packages | join " " }}"
2834
for pkg in $PKGS; do
29-
cp -a /$pkg/. /
35+
cp -af /$pkg/. /
3036
rm -rf /$pkg
3137
done
32-
{{- include "alt packages proxy" . | nindent 2 }}
33-
- |
34-
apt-get install -y \
35-
{{ $builderDependencies.packages | join " " }} \
36-
{{ $builderDependencies.libraries | join " " }}
37-
{{- include "alt packages clean" . | nindent 2 }}

images/cdi-artifact/werf.inc.yaml

Lines changed: 30 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,16 @@
33
{{- $gitRepoUrl := (printf "%s/%s" "deckhouse" $gitRepoName) }}
44
{{- $version := get $.Core $gitRepoName }}
55

6+
{{- $name := print $.ImageName "-dependencies" -}}
7+
{{- define "$name" -}}
8+
binaries:
9+
- /cdi-binaries/cdi-importer
10+
- /cdi-binaries/cdi-source-update-poller
11+
packages:
12+
- libnbd
13+
{{- end -}}
14+
15+
{{ $builderDependencies := include "$name" . | fromYaml }}
616

717
image: {{ .ModuleNamePrefix }}{{ .ImageName }}-src-artifact
818
final: false
@@ -21,7 +31,6 @@ secrets:
2131
shell:
2232
install:
2333
- |
24-
mkdir -p ~/.ssh && echo "StrictHostKeyChecking accept-new" > ~/.ssh/config
2534
echo "Git clone CDI repository..."
2635
git clone --depth 1 --branch {{ $version }} $(cat /run/secrets/SOURCE_REPO)/{{ $gitRepoUrl }} /src/containerized-data-importer
2736
@@ -30,38 +39,40 @@ shell:
3039
---
3140
image: {{ .ModuleNamePrefix }}{{ .ImageName }}
3241
final: false
33-
fromImage: {{ eq $.SVACE_ENABLED "false" | ternary "builder/golang-bookworm-1.23" "builder/alt-go-svace" }}
42+
fromImage: {{ eq $.SVACE_ENABLED "false" | ternary "builder/alt" "builder/alt-go-svace" }}
3443
mount:
35-
- fromPath: ~/go-pkg-cache
36-
to: /go/pkg
37-
import:
38-
- image: {{ .ModuleNamePrefix }}{{ .ImageName }}-src-artifact
39-
add: /src/containerized-data-importer
40-
to: /containerized-data-importer
41-
before: install
44+
- fromPath: ~/go-pkg-cache
45+
to: /go/pkg
4246
secrets:
4347
- id: SOURCE_REPO
4448
value: {{ $.SOURCE_REPO }}
4549
- id: GOPROXY
4650
value: {{ .GOPROXY }}
51+
import:
52+
- image: {{ .ModuleNamePrefix }}{{ .ImageName }}-src-artifact
53+
add: /src/containerized-data-importer
54+
to: /containerized-data-importer
55+
before: install
56+
{{- include "importPackageImages" (list . $builderDependencies.packages "install") -}}
4757
shell:
4858
beforeInstall:
49-
{{- if eq $.SVACE_ENABLED "false" }}
50-
{{- include "debian packages proxy" . | nindent 2 }}
51-
- apt-get install --yes libnbd-dev
52-
{{- include "debian packages clean" . | nindent 2 }}
53-
{{- else }}
5459
{{- include "alt packages proxy" . | nindent 2 }}
55-
- apt-get -qq install -y libnbd-devel
60+
- |
61+
apt-get -qq install -y libxml2-devel \
62+
git binutils make gcc glibc-pthread glibc-devel glibc-devel-static golang
5663
{{- include "alt packages clean" . | nindent 2 }}
57-
{{- end }}
58-
5964
install:
6065
- |
61-
export GOPROXY=$(cat /run/secrets/GOPROXY)
62-
mkdir -p ~/.ssh && echo "StrictHostKeyChecking accept-new" > ~/.ssh/config
66+
# Install packages
67+
PKGS="{{ $builderDependencies.packages | join " " }}"
68+
for pkg in $PKGS; do
69+
cp -a /$pkg/. /
70+
rm -rf /$pkg
71+
done
6372
6473
- |
74+
export GOPROXY=$(cat /run/secrets/GOPROXY)
75+
6576
echo Download Go modules.
6677
cd /containerized-data-importer
6778
go mod download
@@ -133,7 +144,6 @@ shell:
133144
{{- $_ := set $ "ProjectName" (list $.ImageName "cdi-source-update-poller" | join "/") }}
134145
{{- include "image-build.build" (set $ "BuildCommand" `go build -ldflags="-s -w" -o /cdi-binaries/cdi-source-update-poller ./tools/cdi-source-update-poller`) | nindent 6 }}
135146
136-
137147
- chown -R 64535:64535 /cdi-binaries/*
138148
- ls -la /cdi-binaries
139149

images/cdi-importer/werf.inc.yaml

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,7 @@ imageSpec:
1616
{{- define "cdi-importer-deps" -}}
1717
libraries:
1818
- libsqlite3
19-
packages:
20-
- libnbd
19+
- libxml2-devel
2120
binaries:
2221
# nbd bins and libs
2322
- /usr/sbin/nbdkit
@@ -55,14 +54,13 @@ import:
5554
add: /qemu-img
5655
to: /relocate
5756
before: setup
58-
{{- $images := list "nbdkit" -}}
57+
{{- $images := list "nbdkit" "libnbd" -}}
5958
{{- include "importPackageImages" (list . $images "install") -}}
6059
shell:
6160
install:
6261
{{- include "alt packages proxy" . | nindent 2 }}
6362
- |
6463
apt-get install --yes \
65-
{{ $cdiImporterDependencies.packages | join " " }} \
6664
{{ $cdiImporterDependencies.libraries | join " " }}
6765
{{- include "alt packages clean" . | nindent 2 }}
6866
- |

images/dvcr-artifact/werf.inc.yaml

Lines changed: 34 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,19 @@
11
---
2+
{{- $nameDeps := print $.ImageName "-dependencies" -}}
3+
{{- define "$nameDeps" -}}
4+
altPackages:
5+
- gcc glibc-pthread glibc-devel glibc-devel-static
6+
- git golang make binutils
7+
- libxml2-devel
8+
packages:
9+
- libnbd
10+
{{- end -}}
11+
12+
{{ $builderDeps := include "$nameDeps" . | fromYaml }}
13+
214
image: {{ .ModuleNamePrefix }}{{ .ImageName }}-builder
315
final: false
4-
fromImage: {{ eq $.SVACE_ENABLED "false" | ternary "builder/golang-bookworm-1.24" "builder/alt-go-svace" }}
16+
fromImage: {{ eq $.SVACE_ENABLED "false" | ternary "builder/alt" "builder/alt-go-svace" }}
517
git:
618
- add: {{ .ModuleDir }}/images/{{ .ImageName }}
719
to: /src
@@ -14,18 +26,23 @@ git:
1426
secrets:
1527
- id: GOPROXY
1628
value: {{ .GOPROXY }}
29+
import:
30+
{{- include "importPackageImages" (list . $builderDeps.packages "install") -}}
1731
shell:
1832
beforeInstall:
19-
{{- if eq $.SVACE_ENABLED "false" }}
20-
{{- include "debian packages proxy" . | nindent 2 }}
21-
- apt-get -qq install -y --no-install-recommends libnbd-dev
22-
{{- include "debian packages clean" . | nindent 2 }}
23-
{{- else }}
2433
{{- include "alt packages proxy" . | nindent 2 }}
25-
- apt-get -qq install -y libnbd-devel
34+
- |
35+
apt-get -qq install -y \
36+
{{ $builderDeps.altPackages | join " " }}
2637
{{- include "alt packages clean" . | nindent 2 }}
27-
{{- end }}
2838
install:
39+
- |
40+
# Install packages
41+
PKGS="{{ $builderDeps.packages | join " " }}"
42+
for pkg in $PKGS; do
43+
cp -a /$pkg/. /
44+
rm -rf /$pkg
45+
done
2946
- cd /src
3047
- export GOPROXY=$(cat /run/secrets/GOPROXY)
3148
- go mod download
@@ -51,8 +68,8 @@ shell:
5168
---
5269
{{- $name := print $.ImageName "-dependencies" -}}
5370
{{- define "$name" -}}
54-
libraries:
55-
- libnbd
71+
altPackages:
72+
- libxml2-devel
5673
binaries:
5774
- /usr/local/bin/dvcr-importer
5875
- /usr/sbin/nbd*
@@ -65,9 +82,11 @@ binaries:
6582
- /usr/bin/qemu-img
6683
- /usr/bin/qemu-nbd
6784
- /usr/lib64/libnbd.s*
85+
packages:
86+
- bzip2 file nbdkit libnbd
6887
{{- end -}}
6988

70-
{{ $dvcrDependencies := include "$name" . | fromYaml }}
89+
{{ $builderDependencies := include "$name" . | fromYaml }}
7190

7291
image: {{ .ModuleNamePrefix }}{{ .ImageName }}-bins
7392
final: false
@@ -84,8 +103,7 @@ import:
84103
add: /out
85104
to: /usr/local/bin
86105
before: setup
87-
{{- $images := list "bzip2" "file" "nbdkit" -}}
88-
{{- include "importPackageImages" (list . $images "install") -}}
106+
{{- include "importPackageImages" (list . $builderDependencies.packages "install") -}}
89107
- image: {{ .ModuleNamePrefix }}qemu
90108
add: /qemu-img
91109
to: /qemu-img
@@ -95,14 +113,12 @@ shell:
95113
{{- include "alt packages proxy" . | nindent 2 }}
96114
- |
97115
apt-get install -y \
98-
{{ $dvcrDependencies.libraries | join " " }}
99-
116+
{{ $builderDependencies.altPackages | join " " }}
100117
{{- include "alt packages clean" . | nindent 2 }}
101-
102118
install:
103119
- |
104120
# Install packages
105-
PKGS="{{ $images | join " " }}"
121+
PKGS="{{ $builderDependencies.packages | join " " }}"
106122
PKGS+=" qemu-img"
107123
for pkg in $PKGS; do
108124
cp -a /$pkg/. /
@@ -111,4 +127,4 @@ shell:
111127
112128
setup:
113129
- |
114-
/relocate_binaries.sh -i "{{ $dvcrDependencies.binaries | join " " }}" -o /relocate
130+
/relocate_binaries.sh -i "{{ $builderDependencies.binaries | join " " }}" -o /relocate

images/libvirt/install-libvirt.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ EOF
2727
exit 0
2828
}
2929
convert_version() {
30-
local version="$1"
30+
local version="${1#v}"
3131

3232
# Split the version string into major, minor, and patch parts
3333
# and construct the compact version by combining major and zero-padded minor

0 commit comments

Comments
 (0)