Skip to content

Commit 5e5f789

Browse files
universal-itengineernevermarine
authored andcommitted
chore(core): build libs readline cyrus-sasl2 libseccomp selinux libslirp snappy (#1434)
build libs: - readline: readline-8.2 (libreadline8) - cyrus-sasl2: cyrus-sasl-2.1.28 (libsasl2-3) - libseccomp: v2.6.0 - selinux: 3.6 (libselinux) - libslirp: v4.8.0 - snappy: 1.2.2 (libsnappy) refactor build libs: - bzip2 - libcap - libcap-ng - openssl --------- Signed-off-by: Nikita Korolev <[email protected]> Co-authored-by: Maxim Fedotov <[email protected]>
1 parent 5c0070a commit 5e5f789

File tree

34 files changed

+1396
-224
lines changed

34 files changed

+1396
-224
lines changed

build/components/versions.yml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ package:
2323
libbrotli: v1.1.0
2424
libbsd: 0.12.2
2525
libburn: release-1.5.6
26-
libcap: libcap-2.69
26+
libcap: libcap-2.69 # v1.2.69
2727
libcap-ng: v0.8.5
2828
libcapstone: 4.0.2
2929
libcurl: curl-8_14_1
@@ -77,5 +77,11 @@ package:
7777
swtpm: v0.10.0
7878
ubdsrv: v1.6
7979
util-linux: v2.41.1
80+
readline: readline-8.2
81+
cyrus-sasl2: cyrus-sasl-2.1.28 # libsasl2-3
82+
libseccomp: v2.6.0
83+
selinux: 3.6
84+
libslirp: v4.8.0
85+
snappy: 1.2.2 # libsnappy
8086
zlib: v1.3.1
8187
zstd: v1.5.7

images/libvirt/werf.inc.yaml

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,6 @@ altPackages:
4949
- clang ccache
5050
- make cmake
5151
- meson ninja-build
52-
- attr
5352
- iproute iptables iptables-nft iptables-ipv6
5453
- openvswitch ebtables
5554
- pkgconfig
@@ -69,29 +68,28 @@ altLibraries:
6968
- libpciaccess-devel
7069
- libyajl-devel sanlock-devel
7170
- libpcap-devel libnl-devel
72-
- libselinux-devel libsasl2-devel
7371
- libparted-devel
7472
- libdevmapper-devel
7573
- ceph-devel
7674
- libiscsi-devel libglusterfs-devel
7775
- libgnutls-devel
78-
- libreadline-devel
79-
- libattr-devel libbsd-devel
8076
- libsystemd-devel
8177
- systemtap-sdt-devel
8278
- libacl-devel glib2-devel glibc-utils
8379
- libgio-devel libxml2-devel
84-
- libsasl2-devel
8580
- wireshark-devel
8681
- libclocale
8782
- libslirp-devel
88-
- libyajl-devel libselinux-devel
83+
- libyajl-devel
8984
packages:
9085
- dmidecode lvm2 libattr libbsd libmd util-linux
9186
- libgcrypt libfuse3 libaudit libnbd libcap-ng
9287
- openssl libcurl e2fsprogs libxcrypt numactl
9388
- zlib p11-kit
9489
- libssh libssh2 libjson-c5 keyutils
90+
- readline
91+
- selinux
92+
- cyrus-sasl2
9593
- libtasn1 libtirpc
9694
{{- end -}}
9795

@@ -113,10 +111,6 @@ import:
113111
to: /install-libvirt.sh
114112
before: install
115113
{{- include "importPackageImages" (list . $builderDependencies.packages "install") -}}
116-
- image: {{ .ModuleNamePrefix }}qemu
117-
add: /qemu-img
118-
to: /qemu-img
119-
before: install
120114
shell:
121115
beforeInstall:
122116
{{- include "alt packages proxy" . | nindent 2 }}
@@ -138,12 +132,10 @@ shell:
138132
- |
139133
# Install packages
140134
PKGS="{{ $builderDependencies.packages | join " " }}"
141-
PKGS+=" qemu-img"
142135
for pkg in $PKGS; do
143136
cp -a /$pkg/. /
144137
rm -rf /$pkg
145138
done
146-
mkdir -p ~/.ssh && echo "StrictHostKeyChecking accept-new" > ~/.ssh/config
147139
148140
export CCACHE_WRAPPERSDIR="/usr/libexec/ccache-wrappers"
149141
export CCACHE_DIR="$CCACHE_BASEDIR/ccache"

images/packages/bzip2/README.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# bzip2
2+
/bzip2
3+
```
4+
[drwxr-xr-x 4.0K] ./
5+
└── [drwxr-xr-x 4.0K] usr/
6+
├── [drwxr-xr-x 4.0K] bin/
7+
│   ├── [-rwxr-xr-x 94K] bunzip2*
8+
│   ├── [-rwxr-xr-x 94K] bzcat*
9+
│   ├── [lrwxrwxrwx 6] bzcmp -> bzdiff*
10+
│   ├── [-rwxr-xr-x 2.1K] bzdiff*
11+
│   ├── [lrwxrwxrwx 6] bzegrep -> bzgrep*
12+
│   ├── [lrwxrwxrwx 6] bzfgrep -> bzgrep*
13+
│   ├── [-rwxr-xr-x 2.0K] bzgrep*
14+
│   ├── [-rwxr-xr-x 94K] bzip2*
15+
│   ├── [-rwxr-xr-x 15K] bzip2recover*
16+
│   ├── [lrwxrwxrwx 6] bzless -> bzmore*
17+
│   └── [-rwxr-xr-x 1.2K] bzmore*
18+
├── [drwxr-xr-x 4.0K] include/
19+
│   └── [-rw-r--r-- 6.1K] bzlib.h
20+
└── [drwxr-xr-x 4.0K] lib64/
21+
├── [-rw-r--r-- 233K] libbz2.a
22+
├── [lrwxrwxrwx 15] libbz2.so -> libbz2.so.1.0.8
23+
├── [lrwxrwxrwx 15] libbz2.so.1 -> libbz2.so.1.0.8
24+
└── [lrwxrwxrwx 15] libbz2.so.1.0 -> libbz2.so.1.0.8
25+
26+
5 directories, 16 files
27+
```

images/packages/bzip2/werf.inc.yaml

Lines changed: 22 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -28,11 +28,13 @@ shell:
2828

2929
{{- $name := print $.ImageName "-dependencies" -}}
3030
{{- define "$name" -}}
31-
packages:
31+
altPackages:
3232
- gcc git libtool
33-
- make automake autoconf libtool makeinfo
33+
- make automake autoconf makeinfo
34+
- glibc-devel
3435
- meson ninja-build
3536
- pkg-config
37+
- tree
3638
{{- end -}}
3739

3840
{{ $builderDependencies := include "$name" . | fromYaml }}
@@ -50,31 +52,39 @@ shell:
5052
{{- include "alt packages proxy" . | nindent 2 }}
5153
- |
5254
apt-get install -y \
53-
{{ $builderDependencies.packages | join " " }}
55+
{{ $builderDependencies.altPackages | join " " }}
5456
5557
{{- include "alt packages clean" . | nindent 2 }}
5658

5759
install:
5860
- |
5961
OUTDIR=/out
6062
pkgver=$( echo {{ $version }} | cut -d "-" -f2)
63+
mkdir -p $OUTDIR/usr/lib64
6164
6265
cd /src
6366
64-
mkdir -p $OUTDIR/usr/lib64
65-
6667
sed -i \
6768
-e 's:\$(PREFIX)/man:\$(PREFIX)/share/man:g' \
6869
-e 's:ln -s -f \$(PREFIX)/bin/:ln -s :' \
6970
Makefile
7071
71-
make -f Makefile-libbz2_so all -j $(nproc)
72-
make all
72+
make -f Makefile-libbz2_so all -j$(nproc)
73+
make -j$(nproc) all
74+
make -j$(nproc) PREFIX=${OUTDIR}/usr install
7375
74-
make -j $(nproc) PREFIX=${OUTDIR}/usr install
75-
76-
install -D libbz2.so.$pkgver "${OUTDIR}"/usr/lib64/libbz2.so.$pkgver
77-
ln -s libbz2.so.$pkgver "${OUTDIR}"/usr/lib64/libbz2.so
78-
ln -s libbz2.so.$pkgver "${OUTDIR}"/usr/lib64/libbz2.so.${pkgver%%.*}
76+
cd ${OUTDIR}/usr/lib64
77+
ln -s libbz2.so.$pkgver libbz2.so
78+
ln -s libbz2.so.$pkgver libbz2.so.${pkgver%%.*}
79+
ln -s libbz2.so.$pkgver libbz2.so.${pkgver%.*}
80+
mv ../lib/libbz2.a . && rm -rf ../lib
7981
8082
rm -rf $OUTDIR/usr/share
83+
84+
find $OUTDIR -type f -executable | while read -r execfile; do
85+
if strip "$execfile"; then
86+
echo "Stripped: $execfile"
87+
fi
88+
done
89+
90+
tree -sph $OUTDIR
Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
# cyrus-sasl2
2+
/cyrus-sasl2
3+
```
4+
[drwxr-xr-x 4.0K] ./
5+
└── [drwxr-xr-x 4.0K] usr/
6+
├── [drwxr-xr-x 4.0K] include/
7+
│   └── [drwxr-xr-x 4.0K] sasl/
8+
│   ├── [-rw-r--r-- 1.3K] hmac-md5.h
9+
│   ├── [-rw-r--r-- 1.4K] md5.h
10+
│   ├── [-rw-r--r-- 1.0K] md5global.h
11+
│   ├── [-rw-r--r-- 7.0K] prop.h
12+
│   ├── [-rw-r--r-- 51K] sasl.h
13+
│   ├── [-rw-r--r-- 34K] saslplug.h
14+
│   └── [-rw-r--r-- 2.8K] saslutil.h
15+
├── [drwxr-xr-x 4.0K] lib64/
16+
│   ├── [-rwxr-xr-x 923] libsasl2.la*
17+
│   ├── [lrwxrwxrwx 17] libsasl2.so -> libsasl2.so.3.0.0*
18+
│   ├── [lrwxrwxrwx 17] libsasl2.so.3 -> libsasl2.so.3.0.0*
19+
│   ├── [-rwxr-xr-x 120K] libsasl2.so.3.0.0*
20+
│   ├── [drwxr-xr-x 4.0K] pkgconfig/
21+
│   │   └── [-rw-r--r-- 269] libsasl2.pc
22+
│   └── [drwxr-xr-x 4.0K] sasl2/
23+
│   ├── [-rwxr-xr-x 949] libanonymous.la*
24+
│   ├── [lrwxrwxrwx 21] libanonymous.so -> libanonymous.so.3.0.0*
25+
│   ├── [lrwxrwxrwx 21] libanonymous.so.3 -> libanonymous.so.3.0.0*
26+
│   ├── [-rwxr-xr-x 19K] libanonymous.so.3.0.0*
27+
│   ├── [-rwxr-xr-x 937] libcrammd5.la*
28+
│   ├── [lrwxrwxrwx 19] libcrammd5.so -> libcrammd5.so.3.0.0*
29+
│   ├── [lrwxrwxrwx 19] libcrammd5.so.3 -> libcrammd5.so.3.0.0*
30+
│   ├── [-rwxr-xr-x 27K] libcrammd5.so.3.0.0*
31+
│   ├── [-rwxr-xr-x 958] libdigestmd5.la*
32+
│   ├── [lrwxrwxrwx 21] libdigestmd5.so -> libdigestmd5.so.3.0.0*
33+
│   ├── [lrwxrwxrwx 21] libdigestmd5.so.3 -> libdigestmd5.so.3.0.0*
34+
│   ├── [-rwxr-xr-x 59K] libdigestmd5.so.3.0.0*
35+
│   ├── [-rwxr-xr-x 955] libgs2.la*
36+
│   ├── [lrwxrwxrwx 15] libgs2.so -> libgs2.so.3.0.0*
37+
│   ├── [lrwxrwxrwx 15] libgs2.so.3 -> libgs2.so.3.0.0*
38+
│   ├── [-rwxr-xr-x 38K] libgs2.so.3.0.0*
39+
│   ├── [-rwxr-xr-x 985] libgssapiv2.la*
40+
│   ├── [lrwxrwxrwx 20] libgssapiv2.so -> libgssapiv2.so.3.0.0*
41+
│   ├── [lrwxrwxrwx 20] libgssapiv2.so.3 -> libgssapiv2.so.3.0.0*
42+
│   ├── [-rwxr-xr-x 39K] libgssapiv2.so.3.0.0*
43+
│   ├── [-rwxr-xr-x 933] liblogin.la*
44+
│   ├── [lrwxrwxrwx 17] liblogin.so -> liblogin.so.3.0.0*
45+
│   ├── [lrwxrwxrwx 17] liblogin.so.3 -> liblogin.so.3.0.0*
46+
│   ├── [-rwxr-xr-x 19K] liblogin.so.3.0.0*
47+
│   ├── [-rwxr-xr-x 928] libntlm.la*
48+
│   ├── [lrwxrwxrwx 16] libntlm.so -> libntlm.so.3.0.0*
49+
│   ├── [lrwxrwxrwx 16] libntlm.so.3 -> libntlm.so.3.0.0*
50+
│   ├── [-rwxr-xr-x 39K] libntlm.so.3.0.0*
51+
│   ├── [-rwxr-xr-x 922] libotp.la*
52+
│   ├── [lrwxrwxrwx 15] libotp.so -> libotp.so.3.0.0*
53+
│   ├── [lrwxrwxrwx 15] libotp.so.3 -> libotp.so.3.0.0*
54+
│   ├── [-rwxr-xr-x 111K] libotp.so.3.0.0*
55+
│   ├── [-rwxr-xr-x 933] libplain.la*
56+
│   ├── [lrwxrwxrwx 17] libplain.so -> libplain.so.3.0.0*
57+
│   ├── [lrwxrwxrwx 17] libplain.so.3 -> libplain.so.3.0.0*
58+
│   ├── [-rwxr-xr-x 19K] libplain.so.3.0.0*
59+
│   ├── [-rwxr-xr-x 940] libsasldb.la*
60+
│   ├── [lrwxrwxrwx 18] libsasldb.so -> libsasldb.so.3.0.0*
61+
│   ├── [lrwxrwxrwx 18] libsasldb.so.3 -> libsasldb.so.3.0.0*
62+
│   ├── [-rwxr-xr-x 30K] libsasldb.so.3.0.0*
63+
│   ├── [-rwxr-xr-x 934] libscram.la*
64+
│   ├── [lrwxrwxrwx 17] libscram.so -> libscram.so.3.0.0*
65+
│   ├── [lrwxrwxrwx 17] libscram.so.3 -> libscram.so.3.0.0*
66+
│   └── [-rwxr-xr-x 43K] libscram.so.3.0.0*
67+
└── [drwxr-xr-x 4.0K] sbin/
68+
├── [-rwxr-xr-x 15K] pluginviewer*
69+
├── [-rwxr-xr-x 95K] saslauthd*
70+
├── [-rwxr-xr-x 19K] sasldblistusers2*
71+
├── [-rwxr-xr-x 15K] saslpasswd2*
72+
└── [-rwxr-xr-x 15K] testsaslauthd*
73+
74+
8 directories, 61 files
75+
```
Lines changed: 118 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,118 @@
1+
---
2+
image: {{ .ModuleNamePrefix }}{{ .PackagePath }}/{{ .ImageName }}
3+
final: false
4+
fromImage: builder/scratch
5+
import:
6+
- image: {{ .ModuleNamePrefix }}{{ .PackagePath }}/{{ .ImageName }}-builder
7+
add: /out
8+
to: /{{ .ImageName }}
9+
before: setup
10+
11+
---
12+
{{- $version := get .PackageVersion .ImageName }}
13+
{{- $gitRepoUrl := "cyrusimap/cyrus-sasl.git" }}
14+
15+
image: {{ .ModuleNamePrefix }}{{ .PackagePath }}/{{ .ImageName }}-src-artifact
16+
final: false
17+
fromImage: builder/src
18+
secrets:
19+
- id: SOURCE_REPO
20+
value: {{ $.SOURCE_REPO_GIT }}
21+
shell:
22+
install:
23+
- git clone --depth=1 $(cat /run/secrets/SOURCE_REPO)/{{ $gitRepoUrl }} --branch {{ $version }} /src
24+
---
25+
26+
{{- $name := print $.ImageName "-dependencies" -}}
27+
{{- define "$name" -}}
28+
altPackages:
29+
- gcc gcc-c++ autoconf automake libtool make pkg-config
30+
- meson ninja-build flex
31+
- libsphinxclient-devel libsphinxclient
32+
- libsphinxbase-devel libgdbm-devel
33+
- libdb4-devel libkrb5-devel
34+
- groff-base
35+
- perl-Pod-POM-View-Restructured
36+
- python3-module-sphinx
37+
- python3-module-sphinx-devel
38+
- python3-module-six
39+
- python3-module-setuptools
40+
- python3-module-sphinx-sphinx-build-symlink
41+
- libMySQL-devel postgresql-devel libsqlite3-devel
42+
- m4
43+
- groff-base gettext-tools
44+
- libdb4-devel
45+
- libkrb5-devel
46+
- libsqlite3-devel
47+
- tree
48+
packages:
49+
- libxcrypt
50+
- zlib
51+
- linux-pam
52+
- openssl e2fsprogs
53+
{{- end -}}
54+
55+
{{ $builderDependencies := include "$name" . | fromYaml }}
56+
57+
image: {{ .ModuleNamePrefix }}{{ .PackagePath }}/{{ .ImageName }}-builder
58+
final: false
59+
fromImage: builder/alt
60+
import:
61+
- image: {{ .ModuleNamePrefix }}{{ .PackagePath }}/{{ .ImageName }}-src-artifact
62+
add: /src
63+
to: /src
64+
before: install
65+
{{- include "importPackageImages" (list . $builderDependencies.packages "install") -}}
66+
shell:
67+
beforeInstall:
68+
{{- include "alt packages proxy" . | nindent 2 }}
69+
- |
70+
apt-get install -y \
71+
{{ $builderDependencies.altPackages | join " " }}
72+
73+
{{- include "alt packages clean" . | nindent 2 }}
74+
75+
install:
76+
- |
77+
# Install packages
78+
PKGS="{{ $builderDependencies.packages | join " " }}"
79+
for pkg in $PKGS; do
80+
cp -a /$pkg/. /
81+
rm -rf /$pkg
82+
done
83+
84+
OUTDIR=/out
85+
86+
cd /src
87+
88+
./autogen.sh
89+
./configure \
90+
--prefix=/usr \
91+
--exec-prefix=/usr \
92+
--libdir=/usr/lib64 \
93+
--enable-sample=no \
94+
--disable-static \
95+
--enable-shared \
96+
--disable-static \
97+
--disable-krb4 \
98+
--enable-login \
99+
--enable-ntlm \
100+
--with-ldap \
101+
--with-openssl \
102+
--with-pam \
103+
--with-dblib=berkeley \
104+
--with-sqlite3 \
105+
--disable-macos-framework
106+
107+
make -j$(nproc)
108+
make DESTDIR=$OUTDIR install
109+
110+
rm -rf $OUTDIR/usr/share
111+
112+
find $OUTDIR -type f -executable | while read -r execfile; do
113+
if strip "$execfile"; then
114+
echo "Stripped: $execfile"
115+
fi
116+
done
117+
118+
tree -sph $OUTDIR

0 commit comments

Comments
 (0)