Skip to content

Commit acdb8db

Browse files
committed
Clean up package builders after switch to CMake build system.
1 parent b72ef49 commit acdb8db

22 files changed

+1397
-0
lines changed

.github/data/matrices.yaml

+1
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ meta:
1010
anchors:
1111
pkg-builder-revs: &pkg-builder-revs
1212
- v1
13+
- v2
1314
static:
1415
image: static-builder
1516
revisions:
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
FROM amazonlinux:2
2+
3+
LABEL org.opencontainers.image.authors="Netdatabot <[email protected]>"
4+
LABEL org.opencontainers.image.source="https://github.com/netdata/helper-images"
5+
LABEL org.opencontainers.image.title="Netdata Package Builder for Amazon Linux 2"
6+
LABEL org.opencontainers.image.description="Package builder image for Netdata official RPM packages for Amazon Linux 2"
7+
LABEL org.opencontainers.image.vendor="Netdata Inc."
8+
9+
ENV VERSION=$VERSION
10+
11+
RUN yum update -y && \
12+
yum install -y bison \
13+
bison-devel \
14+
cmake \
15+
cups-devel \
16+
curl \
17+
diffutils \
18+
findutils \
19+
flex \
20+
flex-devel \
21+
gcc \
22+
gcc-c++ \
23+
git-core \
24+
golang \
25+
libatomic \
26+
libcurl-devel \
27+
lm_sensors \
28+
make \
29+
ninja-build \
30+
openssl-perl \
31+
patch \
32+
pkgconfig \
33+
'pkgconfig(json-c)' \
34+
'pkgconfig(libelf)' \
35+
'pkgconfig(libipmimonitoring)' \
36+
'pkgconfig(liblz4)' \
37+
'pkgconfig(libmnl)' \
38+
'pkgconfig(libmongoc-1.0)' \
39+
'pkgconfig(libnetfilter_acct)' \
40+
'pkgconfig(libsystemd)' \
41+
'pkgconfig(libuv)' \
42+
'pkgconfig(openssl)' \
43+
'pkgconfig(snappy)' \
44+
'pkgconfig(uuid)' \
45+
'pkgconfig(yaml-0.1)' \
46+
'pkgconfig(zlib)' \
47+
procps \
48+
protobuf-c-devel \
49+
protobuf-compiler \
50+
protobuf-devel \
51+
rpm-build \
52+
rpm-devel \
53+
rpmdevtools \
54+
wget && \
55+
yum clean all && \
56+
c_rehash && \
57+
mkdir -p /root/rpmbuild/BUILD /root/rpmbuild/RPMS /root/rpmbuild/SOURCES /root/rpmbuild/SPECS /root/rpmbuild/SRPMS
58+
59+
# Fetch a newer version of CMake, because the system-provided one is _ancient_.
60+
# The hash is hard-coded here to mitigate the risk of supply-chain attacks.
61+
RUN curl --fail -sSL --connect-timeout 20 --retry 3 --output cmake-linux-$(uname -m).sh \
62+
https://github.com/Kitware/CMake/releases/download/v3.27.6/cmake-3.27.6-linux-$(uname -m).sh && \
63+
if [ "$(uname -m)" = "x86_64" ]; then \
64+
echo '8c449dabb2b2563ec4e6d5e0fb0ae09e729680efab71527b59015131cea4a042 cmake-linux-x86_64.sh' | sha256sum -c - ; \
65+
elif [ "$(uname -m)" = "aarch64" ]; then \
66+
echo 'a83e01ed1cdf44c2e33e0726513b9a35a8c09e3b5a126fd720b3c8a9d5552368 cmake-linux-aarch64.sh' | sha256sum -c - ; \
67+
else \
68+
echo "ARCH NOT SUPPORTED BY CMAKE" ; \
69+
exit 1 ; \
70+
fi && \
71+
chmod +x ./cmake-linux-$(uname -m).sh && \
72+
mkdir -p /cmake && \
73+
./cmake-linux-$(uname -m).sh --skip-license --prefix=/cmake
74+
75+
COPY package-builders/entrypoint.sh /entrypoint.sh
76+
COPY package-builders/fedora-build.sh /build.sh
77+
78+
ENTRYPOINT ["/entrypoint.sh"]
79+
CMD ["/build.sh"]
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
FROM amazonlinux:2023
2+
3+
LABEL org.opencontainers.image.authors="Netdatabot <[email protected]>"
4+
LABEL org.opencontainers.image.source="https://github.com/netdata/helper-images"
5+
LABEL org.opencontainers.image.title="Netdata Package Builder for Amazon Linux 2023"
6+
LABEL org.opencontainers.image.description="Package builder image for Netdata official RPM packages for Amazon Linux 2023"
7+
LABEL org.opencontainers.image.vendor="Netdata Inc."
8+
9+
ENV VERSION=$VERSION
10+
11+
RUN dnf distro-sync -y --nodocs && \
12+
dnf clean packages && \
13+
dnf install -y --nodocs --allowerasing --setopt=install_weak_deps=False --setopt=diskspacecheck=False \
14+
bison \
15+
bison-devel \
16+
cmake \
17+
cups-devel \
18+
curl \
19+
diffutils \
20+
findutils \
21+
flex \
22+
flex-devel \
23+
gcc \
24+
gcc-c++ \
25+
git-core \
26+
golang \
27+
libatomic \
28+
libcurl-devel \
29+
lm_sensors \
30+
make \
31+
ninja-build \
32+
openssl-perl \
33+
patch \
34+
pkgconfig \
35+
'pkgconfig(json-c)' \
36+
'pkgconfig(libelf)' \
37+
'pkgconfig(libipmimonitoring)' \
38+
'pkgconfig(libsystemd)' \
39+
'pkgconfig(libuv)' \
40+
'pkgconfig(liblz4)' \
41+
'pkgconfig(openssl)' \
42+
'pkgconfig(snappy)' \
43+
'pkgconfig(uuid)' \
44+
'pkgconfig(yaml-0.1)' \
45+
'pkgconfig(zlib)' \
46+
procps \
47+
protobuf-c-devel \
48+
protobuf-compiler \
49+
protobuf-devel \
50+
rpm-build \
51+
rpm-devel \
52+
rpmdevtools \
53+
wget && \
54+
rm -rf /var/cache/dnf && \
55+
c_rehash && \
56+
mkdir -p /root/rpmbuild/BUILD /root/rpmbuild/RPMS /root/rpmbuild/SOURCES /root/rpmbuild/SPECS /root/rpmbuild/SRPMS
57+
58+
COPY package-builders/entrypoint.sh /entrypoint.sh
59+
COPY package-builders/fedora-build.sh /build.sh
60+
61+
ENTRYPOINT ["/entrypoint.sh"]
62+
CMD ["/build.sh"]
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
FROM quay.io/centos/centos:stream8
2+
3+
LABEL org.opencontainers.image.authors="Netdatabot <[email protected]>"
4+
LABEL org.opencontainers.image.source="https://github.com/netdata/helper-images"
5+
LABEL org.opencontainers.image.title="Netdata Package Builder for CentOS-Stream 8"
6+
LABEL org.opencontainers.image.description="Package builder image for Netdata official RPM packages for CentOS-Stream 8"
7+
LABEL org.opencontainers.image.vendor="Netdata Inc."
8+
9+
ENV VERSION=$VERSION
10+
11+
RUN dnf distro-sync -y --nodocs && \
12+
dnf install -y --nodocs 'dnf-command(config-manager)' epel-release && \
13+
dnf config-manager --set-enabled powertools && \
14+
dnf clean packages && \
15+
dnf install -y --nodocs --setopt=install_weak_deps=False --setopt=diskspacecheck=False \
16+
bison \
17+
cmake \
18+
cups-devel \
19+
curl \
20+
diffutils \
21+
findutils \
22+
flex \
23+
freeipmi-devel \
24+
gcc \
25+
gcc-c++ \
26+
git \
27+
golang \
28+
libatomic \
29+
libcurl-devel \
30+
lm_sensors \
31+
make \
32+
ninja-build \
33+
openssl-perl \
34+
patch \
35+
pkgconfig \
36+
'pkgconfig(libmongoc-1.0)' \
37+
'pkgconfig(json-c)' \
38+
'pkgconfig(libelf)' \
39+
'pkgconfig(libipmimonitoring)' \
40+
'pkgconfig(libsystemd)' \
41+
'pkgconfig(libuv)' \
42+
'pkgconfig(liblz4)' \
43+
'pkgconfig(openssl)' \
44+
'pkgconfig(snappy)' \
45+
'pkgconfig(uuid)' \
46+
'pkgconfig(yaml-0.1)' \
47+
'pkgconfig(zlib)' \
48+
procps \
49+
protobuf-c-devel \
50+
protobuf-compiler \
51+
protobuf-devel \
52+
python3 \
53+
python3-pyyaml \
54+
rpm-build \
55+
rpm-devel \
56+
rpmdevtools \
57+
wget && \
58+
rm -rf /var/cache/dnf && \
59+
c_rehash && \
60+
mkdir -p /root/rpmbuild/BUILD /root/rpmbuild/RPMS /root/rpmbuild/SOURCES /root/rpmbuild/SPECS /root/rpmbuild/SRPMS
61+
62+
COPY package-builders/entrypoint.sh /entrypoint.sh
63+
COPY package-builders/fedora-build.sh /build.sh
64+
65+
ENTRYPOINT ["/entrypoint.sh"]
66+
CMD ["/build.sh"]
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
FROM quay.io/centos/centos:stream9
2+
3+
LABEL org.opencontainers.image.authors="Netdatabot <[email protected]>"
4+
LABEL org.opencontainers.image.source="https://github.com/netdata/helper-images"
5+
LABEL org.opencontainers.image.title="Netdata Package Builder for CentOS-Stream 9"
6+
LABEL org.opencontainers.image.description="Package builder image for Netdata official RPM packages for CentOS-Stream 9"
7+
LABEL org.opencontainers.image.vendor="Netdata Inc."
8+
9+
ENV VERSION=$VERSION
10+
11+
RUN dnf distro-sync -y --nodocs && \
12+
dnf install -y --nodocs 'dnf-command(config-manager)' epel-release && \
13+
dnf config-manager --set-enabled crb && \
14+
dnf clean packages && \
15+
dnf install -y --allowerasing --nodocs --setopt=install_weak_deps=False --setopt=diskspacecheck=False \
16+
bison \
17+
cmake \
18+
cups-devel \
19+
curl \
20+
diffutils \
21+
findutils \
22+
flex \
23+
gcc \
24+
gcc-c++ \
25+
git \
26+
golang \
27+
libatomic \
28+
libcurl-devel \
29+
lm_sensors \
30+
make \
31+
ninja-build \
32+
openssl-perl \
33+
patch \
34+
pkgconfig \
35+
'pkgconfig(json-c)' \
36+
'pkgconfig(libelf)' \
37+
'pkgconfig(libipmimonitoring)' \
38+
'pkgconfig(liblz4)' \
39+
'pkgconfig(libmongoc-1.0)' \
40+
'pkgconfig(libsystemd)' \
41+
'pkgconfig(libuv)' \
42+
'pkgconfig(openssl)' \
43+
'pkgconfig(snappy)' \
44+
'pkgconfig(uuid)' \
45+
'pkgconfig(yaml-0.1)' \
46+
'pkgconfig(zlib)' \
47+
procps \
48+
protobuf-c-devel \
49+
protobuf-compiler \
50+
protobuf-devel \
51+
python3 \
52+
python3-pyyaml \
53+
rpm-build \
54+
rpm-devel \
55+
rpmdevtools \
56+
wget && \
57+
rm -rf /var/cache/dnf && \
58+
c_rehash && \
59+
mkdir -p /root/rpmbuild/BUILD /root/rpmbuild/RPMS /root/rpmbuild/SOURCES /root/rpmbuild/SPECS /root/rpmbuild/SRPMS
60+
61+
COPY package-builders/entrypoint.sh /entrypoint.sh
62+
COPY package-builders/fedora-build.sh /build.sh
63+
64+
ENTRYPOINT ["/entrypoint.sh"]
65+
CMD ["/build.sh"]
+80
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
FROM centos:7
2+
3+
LABEL org.opencontainers.image.authors="Netdatabot <[email protected]>"
4+
LABEL org.opencontainers.image.source="https://github.com/netdata/helper-images"
5+
LABEL org.opencontainers.image.title="Netdata Package Builder for CentOS 7"
6+
LABEL org.opencontainers.image.description="Package builder image for Netdata official RPM packages for CentOS 7"
7+
LABEL org.opencontainers.image.vendor="Netdata Inc."
8+
9+
ENV VERSION=$VERSION
10+
11+
RUN yum install -y epel-release && \
12+
yum update -y && \
13+
yum install -y bison \
14+
bison-devel \
15+
cmake \
16+
cups-devel \
17+
curl \
18+
diffutils \
19+
findutils \
20+
flex \
21+
flex-devel \
22+
gcc \
23+
gcc-c++ \
24+
git-core \
25+
golang \
26+
libatomic \
27+
libcurl-devel \
28+
lm_sensors \
29+
make \
30+
ninja-build \
31+
openssl-perl \
32+
patch \
33+
pkgconfig \
34+
'pkgconfig(json-c)' \
35+
'pkgconfig(libelf)' \
36+
'pkgconfig(libipmimonitoring)' \
37+
'pkgconfig(liblz4)' \
38+
'pkgconfig(libmnl)' \
39+
'pkgconfig(libmongoc-1.0)' \
40+
'pkgconfig(libnetfilter_acct)' \
41+
'pkgconfig(libsystemd)' \
42+
'pkgconfig(libuv)' \
43+
'pkgconfig(openssl)' \
44+
'pkgconfig(snappy)' \
45+
'pkgconfig(uuid)' \
46+
'pkgconfig(yaml-0.1)' \
47+
'pkgconfig(zlib)' \
48+
procps \
49+
protobuf-c-devel \
50+
protobuf-compiler \
51+
protobuf-devel \
52+
rpm-build \
53+
rpm-devel \
54+
rpmdevtools \
55+
wget && \
56+
yum clean all && \
57+
c_rehash && \
58+
mkdir -p /root/rpmbuild/BUILD /root/rpmbuild/RPMS /root/rpmbuild/SOURCES /root/rpmbuild/SPECS /root/rpmbuild/SRPMS
59+
60+
# Fetch a newer version of CMake, because the system-provided one is _ancient_.
61+
# The hash is hard-coded here to mitigate the risk of supply-chain attacks.
62+
RUN curl --fail -sSL --connect-timeout 20 --retry 3 --output cmake-linux-$(uname -m).sh \
63+
https://github.com/Kitware/CMake/releases/download/v3.27.6/cmake-3.27.6-linux-$(uname -m).sh && \
64+
if [ "$(uname -m)" = "x86_64" ]; then \
65+
echo '8c449dabb2b2563ec4e6d5e0fb0ae09e729680efab71527b59015131cea4a042 cmake-linux-x86_64.sh' | sha256sum -c - ; \
66+
elif [ "$(uname -m)" = "aarch64" ]; then \
67+
echo 'a83e01ed1cdf44c2e33e0726513b9a35a8c09e3b5a126fd720b3c8a9d5552368 cmake-linux-aarch64.sh' | sha256sum -c - ; \
68+
else \
69+
echo "ARCH NOT SUPPORTED BY CMAKE" ; \
70+
exit 1 ; \
71+
fi && \
72+
chmod +x ./cmake-linux-$(uname -m).sh && \
73+
mkdir -p /cmake && \
74+
./cmake-linux-$(uname -m).sh --skip-license --prefix=/cmake
75+
76+
COPY package-builders/entrypoint.sh /entrypoint.sh
77+
COPY package-builders/fedora-build.sh /build.sh
78+
79+
ENTRYPOINT ["/entrypoint.sh"]
80+
CMD ["/build.sh"]

0 commit comments

Comments
 (0)