diff --git a/build/components/versions.yml b/build/components/versions.yml index 887ed72f3d..75efeebec4 100644 --- a/build/components/versions.yml +++ b/build/components/versions.yml @@ -86,3 +86,7 @@ package: snappy: 1.2.2 # libsnappy zlib: v1.3.1 zstd: v1.5.7 + krb5: krb5-1.21.3-final + lz4: v1.9.4 + lzo: lzo-2.10 + xz: v5.4.5 diff --git a/images/cdi-artifact/werf.inc.yaml b/images/cdi-artifact/werf.inc.yaml index fd731f6ff4..84352a4756 100644 --- a/images/cdi-artifact/werf.inc.yaml +++ b/images/cdi-artifact/werf.inc.yaml @@ -10,6 +10,8 @@ binaries: - /cdi-binaries/cdi-source-update-poller packages: - libnbd +- libxml2 +- xz - libtasn1 {{- end -}} diff --git a/images/cdi-importer/werf.inc.yaml b/images/cdi-importer/werf.inc.yaml index 8b24b87039..b612ff4f77 100644 --- a/images/cdi-importer/werf.inc.yaml +++ b/images/cdi-importer/werf.inc.yaml @@ -18,7 +18,6 @@ imageSpec: {{- define "cdi-importer-deps" -}} libraries: - libsqlite3 -- libxml2-devel binaries: # nbd bins and libs - /usr/sbin/nbdkit @@ -30,7 +29,7 @@ binaries: - /usr/bin/cdi-image-size-detection /usr/bin/cdi-importer /usr/bin/cdi-source-update-poller packages: - nbdkit libnbd -- libtasn1 +- libtasn1 libxml2 {{- end -}} {{ $cdiImporterDependencies := include "cdi-importer-deps" . | fromYaml }} diff --git a/images/dvcr-artifact/werf.inc.yaml b/images/dvcr-artifact/werf.inc.yaml index 070620e232..425607823f 100644 --- a/images/dvcr-artifact/werf.inc.yaml +++ b/images/dvcr-artifact/werf.inc.yaml @@ -4,9 +4,9 @@ altPackages: - gcc glibc-pthread glibc-devel glibc-devel-static - git golang make binutils -- libxml2-devel packages: - libnbd +- libxml2 {{- end -}} {{ $builderDeps := include "$nameDeps" . | fromYaml }} @@ -68,8 +68,6 @@ shell: --- {{- $name := print $.ImageName "-dependencies" -}} {{- define "$name" -}} -altPackages: -- libxml2-devel binaries: - /usr/local/bin/dvcr-importer - /usr/sbin/nbd* @@ -83,7 +81,7 @@ binaries: - /usr/bin/qemu-nbd - /usr/lib64/libnbd.s* packages: -- bzip2 file nbdkit libnbd +- bzip2 file nbdkit libnbd xz libxml2 {{- end -}} {{ $builderDependencies := include "$name" . | fromYaml }} @@ -109,12 +107,6 @@ import: to: /qemu-img before: install shell: - beforeInstall: - {{- include "alt packages proxy" . | nindent 2 }} - - | - apt-get install -y \ - {{ $builderDependencies.altPackages | join " " }} - {{- include "alt packages clean" . | nindent 2 }} install: - | # Install packages diff --git a/images/libvirt/werf.inc.yaml b/images/libvirt/werf.inc.yaml index fd8c32b6d7..07e87be4fb 100644 --- a/images/libvirt/werf.inc.yaml +++ b/images/libvirt/werf.inc.yaml @@ -87,6 +87,7 @@ packages: - openssl libcurl e2fsprogs libxcrypt numactl - zlib p11-kit - libssh libssh2 libjson-c5 keyutils +- krb5 xz - readline - selinux - cyrus-sasl2 diff --git a/images/packages/file/werf.inc.yaml b/images/packages/file/werf.inc.yaml index eb9635bf9d..dd96f3471c 100644 --- a/images/packages/file/werf.inc.yaml +++ b/images/packages/file/werf.inc.yaml @@ -35,7 +35,7 @@ altPackages: - bzlib-devel liblzma-devel libseccomp-devel libcap-devel lzip ncompress strace - tree packages: -- zlib zstd +- zlib zstd xz {{- end -}} diff --git a/images/packages/krb5/README.md b/images/packages/krb5/README.md new file mode 100644 index 0000000000..1071b3c781 --- /dev/null +++ b/images/packages/krb5/README.md @@ -0,0 +1,109 @@ +└── [drwxr-xr-x 4096] usr + ├── [drwxr-xr-x 4096] include + │ ├── [drwxr-xr-x 4096] gssapi + │ │ ├── [-rw-r--r-- 30083] gssapi.h + │ │ ├── [-rw-r--r-- 2640] gssapi_alloc.h + │ │ ├── [-rw-r--r-- 21165] gssapi_ext.h + │ │ ├── [-rw-r--r-- 2217] gssapi_generic.h + │ │ ├── [-rw-r--r-- 12027] gssapi_krb5.h + │ │ └── [-rw-r--r-- 1652] mechglue.h + │ ├── [-rw-r--r-- 181] gssapi.h + │ ├── [drwxr-xr-x 4096] gssrpc + │ │ ├── [-rw-r--r-- 6441] auth.h + │ │ ├── [-rw-r--r-- 4840] auth_gss.h + │ │ ├── [-rw-r--r-- 4333] auth_gssapi.h + │ │ ├── [-rw-r--r-- 2896] auth_unix.h + │ │ ├── [-rw-r--r-- 9654] clnt.h + │ │ ├── [-rw-r--r-- 2442] netdb.h + │ │ ├── [-rw-r--r-- 3429] pmap_clnt.h + │ │ ├── [-rw-r--r-- 3841] pmap_prot.h + │ │ ├── [-rw-r--r-- 2303] pmap_rmt.h + │ │ ├── [-rw-r--r-- 10034] rename.h + │ │ ├── [-rw-r--r-- 3143] rpc.h + │ │ ├── [-rw-r--r-- 5107] rpc_msg.h + │ │ ├── [-rw-r--r-- 11402] svc.h + │ │ ├── [-rw-r--r-- 3976] svc_auth.h + │ │ ├── [-rw-r--r-- 3628] types.h + │ │ └── [-rw-r--r-- 11781] xdr.h + │ ├── [drwxr-xr-x 4096] kadm5 + │ │ ├── [-rw-r--r-- 20688] admin.h + │ │ ├── [-rw-r--r-- 1548] chpass_util_strings.h + │ │ └── [-rw-r--r-- 4345] kadm_err.h + │ ├── [-rw-r--r-- 64259] kdb.h + │ ├── [-rw-r--r-- 8933] krad.h + │ ├── [drwxr-xr-x 4096] krb5 + │ │ ├── [-rw-r--r-- 4213] ccselect_plugin.h + │ │ ├── [-rw-r--r-- 5864] certauth_plugin.h + │ │ ├── [-rw-r--r-- 15529] clpreauth_plugin.h + │ │ ├── [-rw-r--r-- 5460] hostrealm_plugin.h + │ │ ├── [-rw-r--r-- 12482] kadm5_auth_plugin.h + │ │ ├── [-rw-r--r-- 6161] kadm5_hook_plugin.h + │ │ ├── [-rw-r--r-- 5320] kdcpolicy_plugin.h + │ │ ├── [-rw-r--r-- 18241] kdcpreauth_plugin.h + │ │ ├── [-rw-r--r-- 348689] krb5.h + │ │ ├── [-rw-r--r-- 5881] localauth_plugin.h + │ │ ├── [-rw-r--r-- 2686] locate_plugin.h + │ │ ├── [-rw-r--r-- 2090] plugin.h + │ │ ├── [-rw-r--r-- 1774] preauth_plugin.h + │ │ └── [-rw-r--r-- 4426] pwqual_plugin.h + │ ├── [-rw-r--r-- 402] krb5.h + │ ├── [-rw-r--r-- 12154] profile.h + │ ├── [-rw-r--r-- 6640] verto-module.h + │ └── [-rw-r--r-- 19437] verto.h + └── [drwxr-xr-x 4096] lib64 + ├── [drwxr-xr-x 4096] krb5 + │ └── [drwxr-xr-x 4096] plugins + │ ├── [drwxr-xr-x 4096] authdata + │ ├── [drwxr-xr-x 4096] kdb + │ │ └── [-rwxr-xr-x 112496] db2.so + │ ├── [drwxr-xr-x 4096] libkrb5 + │ ├── [drwxr-xr-x 4096] preauth + │ │ ├── [-rwxr-xr-x 32520] otp.so + │ │ ├── [-rwxr-xr-x 154992] pkinit.so + │ │ ├── [-rwxr-xr-x 93936] spake.so + │ │ └── [-rwxr-xr-x 21824] test.so + │ └── [drwxr-xr-x 4096] tls + │ └── [-rwxr-xr-x 29120] k5tls.so + ├── [lrwxrwxrwx 21] libgssapi_krb5.so -> libgssapi_krb5.so.2.2 + ├── [lrwxrwxrwx 21] libgssapi_krb5.so.2 -> libgssapi_krb5.so.2.2 + ├── [-rwxr-xr-x 392192] libgssapi_krb5.so.2.2 + ├── [lrwxrwxrwx 16] libgssrpc.so -> libgssrpc.so.4.2 + ├── [lrwxrwxrwx 16] libgssrpc.so.4 -> libgssrpc.so.4.2 + ├── [-rwxr-xr-x 145832] libgssrpc.so.4.2 + ├── [lrwxrwxrwx 18] libk5crypto.so -> libk5crypto.so.3.1 + ├── [lrwxrwxrwx 18] libk5crypto.so.3 -> libk5crypto.so.3.1 + ├── [-rwxr-xr-x 201744] libk5crypto.so.3.1 + ├── [lrwxrwxrwx 19] libkadm5clnt.so -> libkadm5clnt_mit.so + ├── [lrwxrwxrwx 24] libkadm5clnt_mit.so -> libkadm5clnt_mit.so.12.0 + ├── [lrwxrwxrwx 24] libkadm5clnt_mit.so.12 -> libkadm5clnt_mit.so.12.0 + ├── [-rwxr-xr-x 105088] libkadm5clnt_mit.so.12.0 + ├── [lrwxrwxrwx 18] libkadm5srv.so -> libkadm5srv_mit.so + ├── [lrwxrwxrwx 23] libkadm5srv_mit.so -> libkadm5srv_mit.so.12.0 + ├── [lrwxrwxrwx 23] libkadm5srv_mit.so.12 -> libkadm5srv_mit.so.12.0 + ├── [-rwxr-xr-x 137216] libkadm5srv_mit.so.12.0 + ├── [lrwxrwxrwx 15] libkdb5.so -> libkdb5.so.10.0 + ├── [lrwxrwxrwx 15] libkdb5.so.10 -> libkdb5.so.10.0 + ├── [-rwxr-xr-x 96008] libkdb5.so.10.0 + ├── [lrwxrwxrwx 14] libkrad.so -> libkrad.so.0.0 + ├── [lrwxrwxrwx 14] libkrad.so.0 -> libkrad.so.0.0 + ├── [-rwxr-xr-x 44456] libkrad.so.0.0 + ├── [lrwxrwxrwx 14] libkrb5.so -> libkrb5.so.3.3 + ├── [lrwxrwxrwx 14] libkrb5.so.3 -> libkrb5.so.3.3 + ├── [-rwxr-xr-x 1054216] libkrb5.so.3.3 + ├── [lrwxrwxrwx 21] libkrb5support.so -> libkrb5support.so.0.1 + ├── [lrwxrwxrwx 21] libkrb5support.so.0 -> libkrb5support.so.0.1 + ├── [-rwxr-xr-x 63408] libkrb5support.so.0.1 + ├── [lrwxrwxrwx 15] libverto.so -> libverto.so.0.0 + ├── [lrwxrwxrwx 15] libverto.so.0 -> libverto.so.0.0 + ├── [-rwxr-xr-x 47696] libverto.so.0.0 + └── [drwxr-xr-x 4096] pkgconfig + ├── [-rw-r--r-- 241] gssrpc.pc + ├── [-rw-r--r-- 262] kadm-client.pc + ├── [-rw-r--r-- 258] kadm-server.pc + ├── [-rw-r--r-- 293] kdb.pc + ├── [-rw-r--r-- 199] krb5-gssapi.pc + ├── [-rw-r--r-- 324] krb5.pc + ├── [-rw-r--r-- 249] mit-krb5-gssapi.pc + └── [-rw-r--r-- 396] mit-krb5.pc + +16 directories, 92 files \ No newline at end of file diff --git a/images/packages/krb5/werf.inc.yaml b/images/packages/krb5/werf.inc.yaml new file mode 100644 index 0000000000..9493646074 --- /dev/null +++ b/images/packages/krb5/werf.inc.yaml @@ -0,0 +1,95 @@ +--- +image: {{ .ModuleNamePrefix }}{{ .PackagePath }}/{{ $.ImageName }} +final: false +fromImage: builder/scratch +import: +- image: {{ .ModuleNamePrefix }}{{ .PackagePath }}/{{ $.ImageName }}-builder + add: /out + to: /{{ $.ImageName }} + before: setup + +--- +{{- $version := get $.PackageVersion $.ImageName }} +{{- $gitRepoUrl := "krb5/krb5.git" }} + +image: {{ .ModuleNamePrefix }}{{ .PackagePath }}/{{ .ImageName }}-src-artifact +final: false +fromImage: builder/src +secrets: +- id: SOURCE_REPO + value: {{ $.SOURCE_REPO_GIT }} +shell: + install: + - git clone --depth=1 $(cat /run/secrets/SOURCE_REPO)/{{ $gitRepoUrl }} --branch {{ $version }} /src + +--- +{{- $name := print $.ImageName "-dependencies" -}} +{{- define "$name" -}} +altPackages: +- git gcc automake make tree +- flex bison +packages: +- linux-pam openssl e2fsprogs keyutils ncurses +{{- end -}} + +{{ $builderDependencies := include "$name" . | fromYaml }} + +image: {{ .ModuleNamePrefix }}{{ .PackagePath }}/{{ $.ImageName }}-builder +final: false +fromImage: builder/alt +import: +- image: {{ .ModuleNamePrefix }}{{ .PackagePath }}/{{ .ImageName }}-src-artifact + add: /src + to: /src + before: install +{{- include "importPackageImages" (list . $builderDependencies.packages "install") -}} +shell: + beforeInstall: + {{- include "alt packages proxy" . | nindent 2 }} + - | + apt-get install -y \ + {{ $builderDependencies.altPackages | join " " }} + + {{- include "alt packages clean" . | nindent 2 }} + + install: + - | + # Install packages + PKGS="{{ $builderDependencies.packages | join " " }}" + for pkg in $PKGS; do + cp -a /$pkg/. / + rm -rf /$pkg + done + OUTDIR=/out + + cd /src/src + export YACC="bison -y" + export CFLAGS="-O2 -fcommon" + + autoreconf + + ./configure \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --exec-prefix=/usr \ + --enable-shared --disable-static \ + --enable-dns-for-realm \ + --enable-pkinit \ + --with-system-et \ + --with-system-ss \ + --with-pkinit-crypto-impl=openssl \ + --with-tls-impl=openssl + + make -j$(nproc) + make DESTDIR=$OUTDIR install + + rm -rf $OUTDIR/usr/share + rm -rf $OUTDIR/usr/var + + find $OUTDIR -type f -executable | while read -r execfile; do + if strip "$execfile"; then + echo "Stripped: $execfile" + fi + done + + tree -sp $OUTDIR diff --git a/images/packages/libfuse3/README.md b/images/packages/libfuse3/README.md index eb917bc927..4c4873ebda 100644 --- a/images/packages/libfuse3/README.md +++ b/images/packages/libfuse3/README.md @@ -1,35 +1,30 @@ # libfuse3 /libfuse3 ``` -. -`-- usr - |-- bin - | `-- fusermount3 - |-- etc - | `-- fuse.conf - |-- include - | `-- fuse3 - | |-- cuse_lowlevel.h - | |-- fuse.h - | |-- fuse_common.h - | |-- fuse_log.h - | |-- fuse_lowlevel.h - | |-- fuse_opt.h - | `-- libfuse_config.h - |-- lib64 - | |-- libfuse3.so -> libfuse3.so.3 - | |-- libfuse3.so.3 -> libfuse3.so.3.16.2 - | |-- libfuse3.so.3.16.2 - | `-- pkgconfig - | `-- fuse3.pc - |-- sbin - | `-- mount.fuse3 - `-- share - `-- man - |-- man1 - | `-- fusermount3.1 - `-- man8 - `-- mount.fuse3.8 +[drwxr-xr-x 7] usr +├── [drwxr-xr-x 3] bin +│ └── [-rwsr-xr-x 39K] fusermount3 +├── [drwxr-xr-x 3] include +│ └── [drwxr-xr-x 9] fuse3 +│ ├── [-rw-r--r-- 2.5K] cuse_lowlevel.h +│ ├── [-rw-r--r-- 46K] fuse.h +│ ├── [-rw-r--r-- 29K] fuse_common.h +│ ├── [-rw-r--r-- 1.9K] fuse_log.h +│ ├── [-rw-r--r-- 71K] fuse_lowlevel.h +│ ├── [-rw-r--r-- 7.4K] fuse_opt.h +│ └── [-rw-r--r-- 157] libfuse_config.h +├── [drwxr-xr-x 3] lib +│ └── [drwxr-xr-x 3] udev +│ └── [drwxr-xr-x 3] rules.d +│ └── [-rw-r--r-- 28] 99-fuse3.rules +├── [drwxr-xr-x 6] lib64 +│ ├── [lrwxrwxrwx 13] libfuse3.so -> libfuse3.so.3 +│ ├── [lrwxrwxrwx 18] libfuse3.so.3 -> libfuse3.so.3.16.2 +│ ├── [-rwxr-xr-x 280K] libfuse3.so.3.16.2 +│ └── [drwxr-xr-x 3] pkgconfig +│ └── [-rw-r--r-- 229] fuse3.pc +└── [drwxr-xr-x 3] sbin + └── [-rwxr-xr-x 19K] mount.fuse3 -13 directories, 16 files +11 directories, 14 files ``` \ No newline at end of file diff --git a/images/packages/libfuse3/werf.inc.yaml b/images/packages/libfuse3/werf.inc.yaml index 8bd28c021e..caae55ce13 100644 --- a/images/packages/libfuse3/werf.inc.yaml +++ b/images/packages/libfuse3/werf.inc.yaml @@ -5,6 +5,7 @@ packages: - gcc git - make rpm-macros-alternatives meson - ninja-build libudev-devel +- tree {{- end -}} {{- $builderDependencies := include "$name" . | fromYaml }} @@ -62,6 +63,25 @@ shell: OUTDIR=/out cd /src - meson setup build -Duseroot=false -Dprefix=$OUTDIR/usr + meson setup build \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --sbindir=/usr/sbin \ + --buildtype=release + meson compile -C build + DESTDIR=${OUTDIR} meson install -C build + + find $OUTDIR -type f -executable | while read -r execfile; do + if strip "$execfile"; then + echo "Stripped: $execfile" + fi + done + meson install -C build + + rm -rf /out/usr/share + rm -rf /out/dev + rm -rf /out/etc + + tree -hp /out diff --git a/images/packages/libnbd/werf.inc.yaml b/images/packages/libnbd/werf.inc.yaml index 3b8e81060c..97a43c0f42 100644 --- a/images/packages/libnbd/werf.inc.yaml +++ b/images/packages/libnbd/werf.inc.yaml @@ -29,12 +29,13 @@ shell: altPackages: - gcc gcc-c++ make git autoconf libtool gettext-tools - automake pkgconf glibc-devel -- bash-completion hardlink libfuse3-devel -- liburing-devel libxml2-devel perl-podlators +- bash-completion hardlink +- liburing-devel perl-podlators - ocaml ocaml-findlib ocaml-ocamldoc packages: -- gnutls libidn2 libgmp ubdsrv +- gnutls libidn2 libgmp ubdsrv xz libxml2 - libtasn1 +- libfuse3 {{- end -}} {{ $builderDependencies := include "$name" . | fromYaml }} @@ -66,6 +67,8 @@ shell: rm -rf /$pkg done + cp /usr/include/fuse3/* /usr/include/ + OUTDIR=/out cd /src @@ -73,9 +76,11 @@ shell: autoreconf -i ./configure \ --prefix=/usr \ + --exec-prefix=/usr \ --libdir=/usr/lib64 \ --disable-ocaml \ - --disable-static + --disable-golang \ + --disable-rust make -j$(nproc) diff --git a/images/packages/libxml2/werf.inc.yaml b/images/packages/libxml2/werf.inc.yaml index acf0d74479..44046145fe 100644 --- a/images/packages/libxml2/werf.inc.yaml +++ b/images/packages/libxml2/werf.inc.yaml @@ -31,6 +31,7 @@ altPackages: - meson ninja-build - gettext-devel liblzma-devel - xz git +- tree packages: - zlib - openssl @@ -85,3 +86,5 @@ shell: echo "Stripped: $execfile" fi done + + tree -hp /out diff --git a/images/packages/lz4/README.md b/images/packages/lz4/README.md new file mode 100644 index 0000000000..b190581e58 --- /dev/null +++ b/images/packages/lz4/README.md @@ -0,0 +1,22 @@ +# lz4 +└── [drwxr-xr-x 4096] usr + ├── [drwxr-xr-x 4096] bin + │ ├── [-rwxr-xr-x 324192] lz4 + │ ├── [lrwxrwxrwx 3] lz4c -> lz4 + │ ├── [lrwxrwxrwx 3] lz4cat -> lz4 + │ └── [lrwxrwxrwx 3] unlz4 -> lz4 + ├── [drwxr-xr-x 4096] include + │ ├── [-rw-r--r-- 43263] lz4.h + │ ├── [-rw-r--r-- 32749] lz4frame.h + │ ├── [-rw-r--r-- 2044] lz4frame_static.h + │ └── [-rw-r--r-- 20179] lz4hc.h + └── [drwxr-xr-x 4096] lib64 + ├── [-rw-r--r-- 263272] liblz4.a + ├── [lrwxrwxrwx 15] liblz4.so -> liblz4.so.1.9.4 + ├── [lrwxrwxrwx 15] liblz4.so.1 -> liblz4.so.1.9.4 + ├── [-rwxr-xr-x 237024] liblz4.so.1.9.4 + └── [drwxr-xr-x 4096] pkgconfig + └── [-rw-r--r-- 391] liblz4.pc + +6 directories, 13 files +``` \ No newline at end of file diff --git a/images/packages/lz4/werf.inc.yaml b/images/packages/lz4/werf.inc.yaml new file mode 100644 index 0000000000..f8e880ac5e --- /dev/null +++ b/images/packages/lz4/werf.inc.yaml @@ -0,0 +1,69 @@ +--- +image: {{ .ModuleNamePrefix }}{{ .PackagePath }}/{{ $.ImageName }} +final: false +fromImage: builder/scratch +import: +- image: {{ .ModuleNamePrefix }}{{ .PackagePath }}/{{ $.ImageName }}-builder + add: /out + to: /{{ $.ImageName }} + before: setup + +--- +{{- $version := get $.PackageVersion $.ImageName }} +{{- $gitRepoUrl := "lz4/lz4.git" }} + +image: {{ .ModuleNamePrefix }}{{ .PackagePath }}/{{ .ImageName }}-src-artifact +final: false +fromImage: builder/src +secrets: +- id: SOURCE_REPO + value: {{ $.SOURCE_REPO_GIT }} +shell: + install: + - git clone --depth=1 $(cat /run/secrets/SOURCE_REPO)/{{ $gitRepoUrl }} --branch {{ $version }} /src + +--- +{{- $name := print $.ImageName "-dependencies" -}} +{{- define "$name" -}} +altPackages: +- git gcc automake make tree +{{- end -}} + +{{ $builderDependencies := include "$name" . | fromYaml }} + +image: {{ .ModuleNamePrefix }}{{ .PackagePath }}/{{ $.ImageName }}-builder +final: false +fromImage: builder/alt +import: +- image: {{ .ModuleNamePrefix }}{{ .PackagePath }}/{{ .ImageName }}-src-artifact + add: /src + to: /src + before: install +shell: + beforeInstall: + {{- include "alt packages proxy" . | nindent 2 }} + - | + apt-get install -y \ + {{ $builderDependencies.altPackages | join " " }} + + {{- include "alt packages clean" . | nindent 2 }} + + install: + - | + OUTDIR=/out + + cd /src + + export PREFIX=/usr + export LIBDIR=/usr/lib64 + make -j$(nproc) + make DESTDIR=$OUTDIR install + rm -rf $OUTDIR/usr/share + + find $OUTDIR -type f -executable | while read -r execfile; do + if strip "$execfile"; then + echo "Stripped: $execfile" + fi + done + + tree -sp $OUTDIR diff --git a/images/packages/lzo/README.md b/images/packages/lzo/README.md new file mode 100644 index 0000000000..001ac7d617 --- /dev/null +++ b/images/packages/lzo/README.md @@ -0,0 +1,30 @@ +# lzo +/lzo +``` +└── [drwxr-xr-x 4] usr + ├── [drwxr-xr-x 3] include + │ └── [drwxr-xr-x 15] lzo + │ ├── [-rw-r--r-- 2634] lzo1.h + │ ├── [-rw-r--r-- 2638] lzo1a.h + │ ├── [-rw-r--r-- 5387] lzo1b.h + │ ├── [-rw-r--r-- 5384] lzo1c.h + │ ├── [-rw-r--r-- 3073] lzo1f.h + │ ├── [-rw-r--r-- 5873] lzo1x.h + │ ├── [-rw-r--r-- 4641] lzo1y.h + │ ├── [-rw-r--r-- 3771] lzo1z.h + │ ├── [-rw-r--r-- 2525] lzo2a.h + │ ├── [-rw-r--r-- 5566] lzo_asm.h + │ ├── [-rw-r--r-- 16006] lzoconf.h + │ ├── [-rw-r--r-- 127289] lzodefs.h + │ └── [-rw-r--r-- 1823] lzoutil.h + └── [drwxr-xr-x 8] lib64 + ├── [-rw-r--r-- 825068] liblzo2.a + ├── [-rwxr-xr-x 916] liblzo2.la + ├── [lrwxrwxrwx 16] liblzo2.so -> liblzo2.so.2.0.0 + ├── [lrwxrwxrwx 16] liblzo2.so.2 -> liblzo2.so.2.0.0 + ├── [-rwxr-xr-x 591976] liblzo2.so.2.0.0 + └── [drwxr-xr-x 3] pkgconfig + └── [-rw-r--r-- 512] lzo2.pc + +6 directories, 19 files +``` \ No newline at end of file diff --git a/images/packages/lzo/werf.inc.yaml b/images/packages/lzo/werf.inc.yaml new file mode 100644 index 0000000000..afbbf0386e --- /dev/null +++ b/images/packages/lzo/werf.inc.yaml @@ -0,0 +1,73 @@ +--- +image: {{ .ModuleNamePrefix }}{{ .PackagePath }}/{{ $.ImageName }} +final: false +fromImage: builder/scratch +import: +- image: {{ .ModuleNamePrefix }}{{ .PackagePath }}/{{ $.ImageName }}-builder + add: /out + to: /{{ $.ImageName }} + before: setup + +--- +{{- $version := get $.PackageVersion $.ImageName }} +{{- $gitRepoUrl := "oberhumer/lzo.git" }} + +image: {{ .ModuleNamePrefix }}{{ .PackagePath }}/{{ .ImageName }}-src-artifact +final: false +fromImage: builder/src +secrets: +- id: SOURCE_REPO + value: {{ $.SOURCE_REPO_GIT }} +shell: + install: + - git clone --depth=1 $(cat /run/secrets/SOURCE_REPO)/{{ $gitRepoUrl }} --branch {{ $version }} /src + +--- +{{- $name := print $.ImageName "-dependencies" -}} +{{- define "$name" -}} +altPackages: +- git gcc make tree +{{- end -}} + +{{ $builderDependencies := include "$name" . | fromYaml }} + +image: {{ .ModuleNamePrefix }}{{ .PackagePath }}/{{ $.ImageName }}-builder +final: false +fromImage: builder/alt +import: +- image: {{ .ModuleNamePrefix }}{{ .PackagePath }}/{{ .ImageName }}-src-artifact + add: /src + to: /src + before: install +shell: + beforeInstall: + {{- include "alt packages proxy" . | nindent 2 }} + - | + apt-get install -y \ + {{ $builderDependencies.altPackages | join " " }} + + {{- include "alt packages clean" . | nindent 2 }} + + install: + - | + OUTDIR=/out + + cd /src + + ./configure \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --enable-shared \ + --disable-silent-rules + make -j$(nproc) + make DESTDIR=$OUTDIR install + + rm -rf $OUTDIR/usr/share + + find $OUTDIR -type f -executable | while read -r execfile; do + if strip "$execfile"; then + echo "Stripped: $execfile" + fi + done + + tree -sp $OUTDIR diff --git a/images/packages/nbdkit/werf.inc.yaml b/images/packages/nbdkit/werf.inc.yaml index 5afb223d40..2cd5c4dad9 100644 --- a/images/packages/nbdkit/werf.inc.yaml +++ b/images/packages/nbdkit/werf.inc.yaml @@ -41,6 +41,7 @@ packages: - zlib - libssh - zstd +- libxml2 - libtasn1 {{- end -}} diff --git a/images/packages/xz/README.md b/images/packages/xz/README.md new file mode 100644 index 0000000000..580ed09871 --- /dev/null +++ b/images/packages/xz/README.md @@ -0,0 +1,42 @@ +# xz +/xz +``` +└── [drwxr-xr-x 5] usr + ├── [drwxr-xr-x 11] bin + │ ├── [lrwxrwxrwx 2] lzcat -> xz + │ ├── [lrwxrwxrwx 2] lzma -> xz + │ ├── [-rwxr-xr-x 33272] lzmadec + │ ├── [-rwxr-xr-x 34560] lzmainfo + │ ├── [lrwxrwxrwx 2] unlzma -> xz + │ ├── [lrwxrwxrwx 2] unxz -> xz + │ ├── [-rwxr-xr-x 280352] xz + │ ├── [lrwxrwxrwx 2] xzcat -> xz + │ └── [-rwxr-xr-x 33200] xzdec + ├── [drwxr-xr-x 4] include + │ ├── [drwxr-xr-x 16] lzma + │ │ ├── [-rw-r--r-- 28145] base.h + │ │ ├── [-rw-r--r-- 2790] bcj.h + │ │ ├── [-rw-r--r-- 26028] block.h + │ │ ├── [-rw-r--r-- 4904] check.h + │ │ ├── [-rw-r--r-- 40821] container.h + │ │ ├── [-rw-r--r-- 2251] delta.h + │ │ ├── [-rw-r--r-- 31810] filter.h + │ │ ├── [-rw-r--r-- 2614] hardware.h + │ │ ├── [-rw-r--r-- 30371] index.h + │ │ ├── [-rw-r--r-- 4735] index_hash.h + │ │ ├── [-rw-r--r-- 20882] lzma12.h + │ │ ├── [-rw-r--r-- 9303] stream_flags.h + │ │ ├── [-rw-r--r-- 3936] version.h + │ │ └── [-rw-r--r-- 6699] vli.h + │ └── [-rw-r--r-- 9959] lzma.h + └── [drwxr-xr-x 8] lib64 + ├── [-rw-r--r-- 1520394] liblzma.a + ├── [-rwxr-xr-x 931] liblzma.la + ├── [lrwxrwxrwx 16] liblzma.so -> liblzma.so.5.4.5 + ├── [lrwxrwxrwx 16] liblzma.so.5 -> liblzma.so.5.4.5 + ├── [-rwxr-xr-x 946784] liblzma.so.5.4.5 + └── [drwxr-xr-x 3] pkgconfig + └── [-rw-r--r-- 426] liblzma.pc + +7 directories, 30 files +``` \ No newline at end of file diff --git a/images/packages/xz/werf.inc.yaml b/images/packages/xz/werf.inc.yaml new file mode 100644 index 0000000000..f09386e9be --- /dev/null +++ b/images/packages/xz/werf.inc.yaml @@ -0,0 +1,78 @@ +--- +image: {{ .ModuleNamePrefix }}{{ .PackagePath }}/{{ $.ImageName }} +final: false +fromImage: builder/scratch +import: +- image: {{ .ModuleNamePrefix }}{{ .PackagePath }}/{{ $.ImageName }}-builder + add: /out + to: /{{ $.ImageName }} + before: setup + +--- +{{- $version := get $.PackageVersion $.ImageName }} +{{- $gitRepoUrl := "tukaani-project/xz.git" }} + +image: {{ .ModuleNamePrefix }}{{ .PackagePath }}/{{ .ImageName }}-src-artifact +final: false +fromImage: builder/src +secrets: +- id: SOURCE_REPO + value: {{ $.SOURCE_REPO_GIT }} +shell: + install: + - git clone --depth=1 $(cat /run/secrets/SOURCE_REPO)/{{ $gitRepoUrl }} --branch {{ $version }} /src + +--- +{{- $name := print $.ImageName "-dependencies" -}} +{{- define "$name" -}} +altPackages: +- git gcc automake make +- glibc-devel-static gettext-devel +- libtool po4a doxygen +- tree +{{- end -}} + +{{ $builderDependencies := include "$name" . | fromYaml }} + +image: {{ .ModuleNamePrefix }}{{ .PackagePath }}/{{ $.ImageName }}-builder +final: false +fromImage: builder/alt +import: +- image: {{ .ModuleNamePrefix }}{{ .PackagePath }}/{{ .ImageName }}-src-artifact + add: /src + to: /src + before: install +shell: + beforeInstall: + {{- include "alt packages proxy" . | nindent 2 }} + - | + apt-get install -y \ + {{ $builderDependencies.altPackages | join " " }} + + {{- include "alt packages clean" . | nindent 2 }} + + install: + - | + OUTDIR=/out + + cd /src + + ./autogen.sh + ./configure \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --enable-dynamic \ + --disable-scripts + + make -j$(nproc) + make DESTDIR=$OUTDIR install + + rm -rf /$OUTDIR/usr/share + + find $OUTDIR -type f -executable | while read -r execfile; do + if strip "$execfile"; then + echo "Stripped: $execfile" + fi + done + + tree -sp $OUTDIR diff --git a/images/qemu/werf.inc.yaml b/images/qemu/werf.inc.yaml index 5f25559c9f..87a9266ac3 100644 --- a/images/qemu/werf.inc.yaml +++ b/images/qemu/werf.inc.yaml @@ -75,7 +75,7 @@ altPackages: - qboot flex - filesystem - ipxe-roms-qemu -- qemu-kvm-core shadow-utils sysvinit-utils +- shadow-utils sysvinit-utils - hasher-provides-dev-kvm - python3 python3-dev - python3-module-pytest @@ -125,6 +125,7 @@ packages: - zlib zstd - libssh libssh2 - openldap keyutils +- xz lz4 lzo krb5 - libpixman libpsl libpng libqpl rdma-core - pcre2 - selinux diff --git a/images/virt-launcher/werf.inc.yaml b/images/virt-launcher/werf.inc.yaml index e653963e36..df494bfdc7 100644 --- a/images/virt-launcher/werf.inc.yaml +++ b/images/virt-launcher/werf.inc.yaml @@ -60,7 +60,6 @@ altLibs: - libpmem-devel - libdaxctl-devel - bzlib-devel - - liblzo2-devel - libcacard-devel - libusbredir-devel - libepoxy-devel @@ -82,7 +81,6 @@ altLibs: - systemtap-sdt-devel - glib2-devel - libgio-devel - - libxml2-devel - libclocale - libLLVMSPIRVLib-devel - ethtool @@ -125,6 +123,7 @@ packages: - zlib zstd p11-kit - libssh libssh2 - libpixman libqpl rdma-core +- krb5 xz libxml2 - readline - selinux - linux-pam