Skip to content

Commit 2ed4849

Browse files
Otest new version pg_repack
1 parent d62eb50 commit 2ed4849

File tree

8 files changed

+1445
-278
lines changed

8 files changed

+1445
-278
lines changed
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
---
2+
metadata:
3+
version: "1.0"
4+
artifacts:
5+
- download_url: "https://github.com/reorg/pg_repack/archive/ver_1.5.2.tar.gz"
6+
checksum: "sha256:4516cad42251ed3ad53ff619733004db47d5755acac83f75924cd94d1c4fb681"
7+
filename: "pg_repack-1.5.2.tar.gz"

.hermetic_builds/redhat.repo

Lines changed: 263 additions & 263 deletions
Large diffs are not rendered by default.

.hermetic_builds/rpms.in.yaml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,9 @@
1-
packages: [python312, python3.12-pip, python3.12-devel, libpq-devel, gcc, libpq, shadow-utils, git-core, postgresql, pg_repack, cargo, rust, zlib-devel, gcc-c++]
1+
packages: [
2+
python312, python3.12-pip, python3.12-devel, gcc, libpq, shadow-utils, git-core, postgresql, pg_repack, cargo, rust, zlib-devel, gcc-c++, tar, redhat-rpm-config, postgresql-server-devel, make, postgresql-static, readline-devel, openssl-devel, libedit-devel, lz4-devel, libzstd-devel,
3+
dwz, efi-srpm-macros, elfutils-libelf, file, findutils, fonts-srpm-macros, ghc-srpm-macros, glibc-gconv-extra, go-srpm-macros, groff-base, kernel-srpm-macros, lua-srpm-macros, ncurses, ocaml-srpm-macros, openblas-srpm-macros,
4+
perl-AutoLoader, perl-B, perl-Carp, perl-Class-Struct, perl-Data-Dumper, perl-Digest, perl-Digest-MD5, perl-Encode, perl-Errno, perl-Exporter, perl-Fcntl, perl-File-Basename, perl-File-Path, perl-File-Temp, perl-File-stat, perl-FileHandle, perl-Getopt-Long, perl-Getopt-Std, perl-HTTP-Tiny, perl-IO, perl-IO-Socket-IP, perl-IO-Socket-SSL, perl-IPC-Open3, perl-MIME-Base64, perl-Mozilla-CA, perl-NDBM_File, perl-Net-SSLeay, perl-POSIX, perl-PathTools, perl-Pod-Escapes, perl-Pod-Perldoc, perl-Pod-Simple, perl-Pod-Usage, perl-Scalar-List-Utils, perl-SelectSaver, perl-Socket, perl-Storable, perl-Symbol, perl-Term-ANSIColor, perl-Term-Cap, perl-Text-ParseWords, perl-Text-Tabs+Wrap, perl-Time-Local, perl-URI, perl-base, perl-constant, perl-if, perl-interpreter, perl-libnet, perl-libs, perl-mro, perl-overload, perl-overloading, perl-parent, perl-podlators, perl-srpm-macros, perl-subs, perl-vars,
5+
pyproject-srpm-macros, python-srpm-macros, qt5-srpm-macros, rust-srpm-macros, unzip, zip
6+
]
27
contentOrigin:
38
repofiles: ["./redhat.repo"]
49
arches: [x86_64]

.hermetic_builds/rpms.lock.yaml

Lines changed: 1124 additions & 8 deletions
Large diffs are not rendered by default.

.tekton/vulnerability-engine-pull-request.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ spec:
3434
- name: hermetic
3535
value: "true"
3636
- name: prefetch-input
37-
value: '[{"type": "pip", "path": ".", "requirements_files": ["requirements.txt", "requirements-build.txt", "requirements-extras.txt"]}, {"type": "rpm", "path": "./.hermetic_builds"}]'
37+
value: '[{"type": "pip", "path": ".", "requirements_files": ["requirements.txt", "requirements-build.txt", "requirements-extras.txt"]}, {"type": "rpm", "path": "./.hermetic_builds"}, {"type": "generic", "path": "."}]'
3838
- name: prefetch-dev-package-managers
3939
value: "true"
4040
pipelineRef:

.tekton/vulnerability-engine-push.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ spec:
3131
- name: hermetic
3232
value: "true"
3333
- name: prefetch-input
34-
value: '[{"type": "pip", "path": ".", "requirements_files": ["requirements.txt", "requirements-build.txt", "requirements-extras.txt"]}, {"type": "rpm", "path": "./.hermetic_builds"}]'
34+
value: '[{"type": "pip", "path": ".", "requirements_files": ["requirements.txt", "requirements-build.txt", "requirements-extras.txt"]}, {"type": "rpm", "path": "./.hermetic_builds"}, {"type": "generic", "path": "."}]'
3535
- name: prefetch-dev-package-managers
3636
value: "true"
3737
pipelineRef:

Dockerfile

Lines changed: 36 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,36 @@
11
ARG ALT_REPO
22

3+
# ===== BUILDER STAGE FOR PG_REPACK =====
4+
FROM registry.access.redhat.com/ubi9/ubi-minimal AS pg_repack_builder
5+
6+
ARG ALT_REPO
7+
8+
# Use microdnf to keep consistent with other stages
9+
RUN (microdnf module enable -y postgresql:16 || curl -o /etc/yum.repos.d/postgresql.repo $ALT_REPO) && \
10+
microdnf install -y \
11+
gcc make tar redhat-rpm-config \
12+
postgresql postgresql-server-devel \
13+
postgresql-static \
14+
readline-devel \
15+
zlib-devel openssl-devel libedit-devel lz4-devel libzstd-devel && \
16+
microdnf clean all
17+
18+
19+
RUN tar xzf /cachi2/output/deps/generic/pg_repack-1.5.2.tar.gz && \
20+
cd pg_repack-ver_1.5.2 && \
21+
make && make install
22+
23+
324
FROM registry.access.redhat.com/ubi9/ubi-minimal AS buildimg
425

5-
RUN microdnf install -y --setopt=install_weak_deps=0 --setopt=tsflags=nodocs \
6-
python312 python3.12-pip python3.12-devel libpq-devel gcc cargo rust zlib-devel gcc-c++ && \
26+
ARG ALT_REPO
27+
28+
# Enable PostgreSQL 16 module and install postgresql-devel for psycopg2 compilation
29+
RUN (microdnf module enable -y postgresql:16 || curl -o /etc/yum.repos.d/postgresql.repo $ALT_REPO) && \
30+
microdnf install -y --setopt=install_weak_deps=0 --setopt=tsflags=nodocs \
31+
python312 python3.12-pip python3.12-devel \
32+
postgresql-devel libpq \
33+
gcc cargo rust zlib-devel gcc-c++ && \
734
microdnf clean all
835

936
WORKDIR /engine
@@ -24,12 +51,17 @@ ARG ALT_REPO
2451
# support for alternative RPM name (in case not compatible version available in RHEL)
2552
ARG PG_REPACK_RPM=pg_repack-1.5.1
2653

27-
# try to install $PG_REPACK_RPM from module, if it fails, use $ALT_REPO
54+
# Install PostgreSQL without pg_repack (will copy from builder)
2855
RUN (microdnf module enable -y postgresql:16 || curl -o /etc/yum.repos.d/postgresql.repo $ALT_REPO) && \
2956
microdnf install -y --setopt=install_weak_deps=0 --setopt=tsflags=nodocs \
30-
python312 libpq shadow-utils git-core postgresql $PG_REPACK_RPM && \
57+
python312 libpq shadow-utils git-core postgresql && \
3158
microdnf clean all
3259

60+
# Copy pg_repack 1.5.2 from builder stage
61+
COPY --from=pg_repack_builder /usr/bin/pg_repack /usr/local/bin/pg_repack
62+
COPY --from=pg_repack_builder /usr/lib64/pgsql/pg_repack.so /usr/local/lib/postgresql/
63+
COPY --from=pg_repack_builder /usr/share/pgsql/extension/ /usr/local/share/postgresql/extension/
64+
3365
WORKDIR /engine
3466

3567
RUN adduser --gid 0 -d /engine --no-create-home insights

artifacts.lock.yaml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
---
2+
metadata:
3+
version: "1.0"
4+
artifacts:
5+
- download_url: "https://github.com/reorg/pg_repack/archive/ver_1.5.2.tar.gz"
6+
checksum: "sha256:4516cad42251ed3ad53ff619733004db47d5755acac83f75924cd94d1c4fb681"
7+
filename: "pg_repack-1.5.2.tar.gz"

0 commit comments

Comments
 (0)