Skip to content

Commit a88d069

Browse files
committed
Merge branch 'master' into v1.10
2 parents f24064f + 1b58716 commit a88d069

File tree

96 files changed

+2290
-13600
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

96 files changed

+2290
-13600
lines changed

.drone.yml

+6-5
Original file line numberDiff line numberDiff line change
@@ -97,13 +97,14 @@ name: scan-build
9797

9898
steps:
9999
- name: bootstrap
100-
image: signalwire/freeswitch-public-base:bullseye
100+
image: signalwire/freeswitch-public-base:bookworm
101101
pull: always
102102
commands:
103+
- apt-get update && apt-get -yq install autoconf
103104
- ./bootstrap.sh -j
104105

105106
- name: configure
106-
image: signalwire/freeswitch-public-base:bullseye
107+
image: signalwire/freeswitch-public-base:bookworm
107108
pull: always
108109
environment:
109110
REPOTOKEN:
@@ -140,7 +141,7 @@ steps:
140141
- ./configure
141142

142143
- name: scan-build
143-
image: signalwire/freeswitch-public-base:bullseye
144+
image: signalwire/freeswitch-public-base:bookworm
144145
pull: always
145146
environment:
146147
REPOTOKEN:
@@ -152,7 +153,7 @@ steps:
152153
- export REPOTOKEN=''
153154
- rm -rf /etc/apt/auth.conf
154155
- mkdir -p scan-build
155-
- echo '#!/bin/bash\nscan-build-11 -o ./scan-build/ make -j`nproc --all` |& tee ./scan-build-result.txt\nexitstatus=$${PIPESTATUS[0]}\necho $$exitstatus > ./scan-build-status.txt\n' > scan.sh
156+
- echo '#!/bin/bash\nscan-build-14 --force-analyze-debug-code -o ./scan-build/ make -j`nproc --all` |& tee ./scan-build-result.txt\nexitstatus=$${PIPESTATUS[0]}\necho $$exitstatus > ./scan-build-status.txt\n' > scan.sh
156157
- chmod +x scan.sh
157158
- ./scan.sh
158159
- exitstatus=`cat ./scan-build-status.txt`
@@ -178,6 +179,6 @@ trigger:
178179

179180
---
180181
kind: signature
181-
hmac: 780e4aaee61e3683ea4a8d6fe5131f7c9e62ebad727546013f18df0fca80d705
182+
hmac: 7e5f6cafc88da0be59243daf47a2a5607ff00b45f441ce4c1041d4b690e8a853
182183

183184
...
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
1+
ARG BUILDER_IMAGE=debian:bookworm-20240513
2+
3+
FROM ${BUILDER_IMAGE} AS builder
4+
5+
ARG MAINTAINER_NAME="Andrey Volk"
6+
ARG MAINTAINER_EMAIL="[email protected]"
7+
8+
# Credentials
9+
ARG REPO_DOMAIN=freeswitch.signalwire.com
10+
ARG REPO_USERNAME=user
11+
12+
ARG BUILD_NUMBER=42
13+
ARG GIT_SHA=0000000000
14+
15+
ARG DATA_DIR=/data
16+
ARG CODENAME=bookworm
17+
ARG GPG_KEY="/usr/share/keyrings/signalwire-freeswitch-repo.gpg"
18+
19+
MAINTAINER "${MAINTAINER_NAME} <${MAINTAINER_EMAIL}>"
20+
21+
SHELL ["/bin/bash", "-c"]
22+
23+
RUN apt-get -q update && \
24+
DEBIAN_FRONTEND=noninteractive apt-get -yq install \
25+
apt-transport-https \
26+
build-essential \
27+
ca-certificates \
28+
cmake \
29+
curl \
30+
debhelper \
31+
devscripts \
32+
dh-autoreconf \
33+
dos2unix \
34+
doxygen \
35+
git \
36+
graphviz \
37+
libglib2.0-dev \
38+
libssl-dev \
39+
lsb-release \
40+
pkg-config \
41+
wget
42+
43+
RUN update-ca-certificates --fresh
44+
45+
RUN echo "export CODENAME=${CODENAME}" | tee ~/.env && \
46+
chmod +x ~/.env
47+
48+
RUN . ~/.env && cat <<EOF > /etc/apt/sources.list.d/freeswitch.list
49+
deb [signed-by=${GPG_KEY}] https://${REPO_DOMAIN}/repo/deb/debian-unstable ${CODENAME} main
50+
deb-src [signed-by=${GPG_KEY}] https://${REPO_DOMAIN}/repo/deb/debian-unstable ${CODENAME} main
51+
EOF
52+
53+
RUN git config --global --add safe.directory '*' \
54+
&& git config --global user.name "${MAINTAINER_NAME}" \
55+
&& git config --global user.email "${MAINTAINER_EMAIL}"
56+
57+
# Bootstrap and Build
58+
COPY . ${DATA_DIR}
59+
WORKDIR ${DATA_DIR}
60+
RUN echo "export VERSION=$(cat ./build/next-release.txt | tr -d '\n')" | tee -a ~/.env
61+
62+
RUN . ~/.env && ./debian/util.sh prep-create-orig -n -V${VERSION}-${BUILD_NUMBER}-${GIT_SHA} -x
63+
RUN . ~/.env && ./debian/util.sh prep-create-dsc ${CODENAME}
64+
65+
RUN --mount=type=secret,id=REPO_PASSWORD,required=true \
66+
printf "machine ${REPO_DOMAIN} " > /etc/apt/auth.conf && \
67+
printf "login ${REPO_USERNAME} " >> /etc/apt/auth.conf && \
68+
printf "password " >> /etc/apt/auth.conf && \
69+
cat /run/secrets/REPO_PASSWORD >> /etc/apt/auth.conf && \
70+
sha512sum /run/secrets/REPO_PASSWORD && \
71+
curl \
72+
--fail \
73+
--netrc-file /etc/apt/auth.conf \
74+
--output ${GPG_KEY} \
75+
https://${REPO_DOMAIN}/repo/deb/debian-unstable/signalwire-freeswitch-repo.gpg && \
76+
file ${GPG_KEY} && \
77+
apt-get --quiet update && \
78+
mk-build-deps \
79+
--install \
80+
--remove debian/control \
81+
--tool "apt-get --yes --no-install-recommends" && \
82+
apt-get --yes --fix-broken install && \
83+
rm -f /etc/apt/auth.conf
84+
85+
ENV DEB_BUILD_OPTIONS="parallel=1"
86+
RUN . ~/.env && dch -b -M -v "${VERSION}-${BUILD_NUMBER}-${GIT_SHA}~${CODENAME}" \
87+
--force-distribution -D "${CODENAME}" "Nightly build, ${GIT_SHA}"
88+
89+
RUN . ~/.env && ./debian/util.sh create-orig -n -V${VERSION}-${BUILD_NUMBER}-${GIT_SHA} -x
90+
91+
RUN dpkg-source \
92+
--diff-ignore=.* \
93+
--compression=xz \
94+
--compression-level=9 \
95+
--build \
96+
. \
97+
&& debuild -b -us -uc \
98+
&& mkdir OUT \
99+
&& mv -v ../*.{deb,dsc,changes,tar.*} OUT/.
100+
101+
# Artifacts image (mandatory part, the resulting image must have a single filesystem layer)
102+
FROM scratch
103+
COPY --from=builder /data/OUT/ /
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
ARG BUILDER_IMAGE=arm32v7/debian:bookworm-20240513
2+
3+
FROM --platform=linux/arm32 ${BUILDER_IMAGE} AS builder
4+
5+
ARG MAINTAINER_NAME="Andrey Volk"
6+
ARG MAINTAINER_EMAIL="[email protected]"
7+
8+
# Credentials
9+
ARG REPO_DOMAIN=freeswitch.signalwire.com
10+
ARG REPO_USERNAME=user
11+
12+
ARG BUILD_NUMBER=42
13+
ARG GIT_SHA=0000000000
14+
15+
ARG DATA_DIR=/data
16+
ARG CODENAME=bookworm
17+
ARG GPG_KEY="/usr/share/keyrings/signalwire-freeswitch-repo.gpg"
18+
19+
MAINTAINER "${MAINTAINER_NAME} <${MAINTAINER_EMAIL}>"
20+
21+
SHELL ["/bin/bash", "-c"]
22+
23+
RUN apt-get -q update && \
24+
DEBIAN_FRONTEND=noninteractive apt-get -yq install \
25+
apt-transport-https \
26+
build-essential \
27+
ca-certificates \
28+
cmake \
29+
curl \
30+
debhelper \
31+
devscripts \
32+
dh-autoreconf \
33+
dos2unix \
34+
doxygen \
35+
git \
36+
graphviz \
37+
libglib2.0-dev \
38+
libssl-dev \
39+
lsb-release \
40+
pkg-config \
41+
wget
42+
43+
RUN update-ca-certificates --fresh
44+
45+
RUN echo "export CODENAME=${CODENAME}" | tee ~/.env && \
46+
chmod +x ~/.env
47+
48+
RUN . ~/.env && cat <<EOF > /etc/apt/sources.list.d/freeswitch.list
49+
deb [signed-by=${GPG_KEY}] https://${REPO_DOMAIN}/repo/deb/rpi/debian-dev ${CODENAME} main
50+
deb-src [signed-by=${GPG_KEY}] https://${REPO_DOMAIN}/repo/deb/rpi/debian-dev ${CODENAME} main
51+
EOF
52+
53+
RUN git config --global --add safe.directory '*' \
54+
&& git config --global user.name "${MAINTAINER_NAME}" \
55+
&& git config --global user.email "${MAINTAINER_EMAIL}"
56+
57+
# Bootstrap and Build
58+
COPY . ${DATA_DIR}
59+
WORKDIR ${DATA_DIR}
60+
RUN echo "export VERSION=$(cat ./build/next-release.txt | tr -d '\n')" | tee -a ~/.env
61+
62+
RUN . ~/.env && ./debian/util.sh prep-create-orig -n -V${VERSION}-${BUILD_NUMBER}-${GIT_SHA} -x
63+
RUN . ~/.env && ./debian/util.sh prep-create-dsc -a armhf ${CODENAME}
64+
65+
RUN --mount=type=secret,id=REPO_PASSWORD,required=true \
66+
printf "machine ${REPO_DOMAIN} " > /etc/apt/auth.conf && \
67+
printf "login ${REPO_USERNAME} " >> /etc/apt/auth.conf && \
68+
printf "password " >> /etc/apt/auth.conf && \
69+
cat /run/secrets/REPO_PASSWORD >> /etc/apt/auth.conf && \
70+
sha512sum /run/secrets/REPO_PASSWORD && \
71+
curl \
72+
--fail \
73+
--netrc-file /etc/apt/auth.conf \
74+
--output ${GPG_KEY} \
75+
https://${REPO_DOMAIN}/repo/deb/rpi/debian-dev/signalwire-freeswitch-repo.gpg && \
76+
file ${GPG_KEY} && \
77+
apt-get --quiet update && \
78+
mk-build-deps \
79+
--install \
80+
--remove debian/control \
81+
--tool "apt-get --yes --no-install-recommends" && \
82+
apt-get --yes --fix-broken install && \
83+
rm -f /etc/apt/auth.conf
84+
85+
ENV DEB_BUILD_OPTIONS="parallel=1"
86+
RUN . ~/.env && dch -b -M -v "${VERSION}-${BUILD_NUMBER}-${GIT_SHA}~${CODENAME}" \
87+
--force-distribution -D "${CODENAME}" "Nightly build, ${GIT_SHA}"
88+
RUN . ~/.env && ./debian/util.sh create-orig -n -V${VERSION}-${BUILD_NUMBER}-${GIT_SHA} -x
89+
90+
RUN dpkg-source \
91+
--diff-ignore=.* \
92+
--compression=xz \
93+
--compression-level=9 \
94+
--build \
95+
. \
96+
&& debuild -b -us -uc \
97+
&& mkdir OUT \
98+
&& mv -v ../*.{deb,dsc,changes,tar.*} OUT/.
99+
100+
# Artifacts image (mandatory part, the resulting image must have a single filesystem layer)
101+
FROM scratch
102+
COPY --from=builder /data/OUT/ /
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
ARG BUILDER_IMAGE=arm64v8/debian:bookworm-20240513
2+
3+
FROM --platform=linux/arm64 ${BUILDER_IMAGE} AS builder
4+
5+
ARG MAINTAINER_NAME="Andrey Volk"
6+
ARG MAINTAINER_EMAIL="[email protected]"
7+
8+
# Credentials
9+
ARG REPO_DOMAIN=freeswitch.signalwire.com
10+
ARG REPO_USERNAME=user
11+
12+
ARG BUILD_NUMBER=42
13+
ARG GIT_SHA=0000000000
14+
15+
ARG DATA_DIR=/data
16+
ARG CODENAME=bookworm
17+
ARG GPG_KEY="/usr/share/keyrings/signalwire-freeswitch-repo.gpg"
18+
19+
MAINTAINER "${MAINTAINER_NAME} <${MAINTAINER_EMAIL}>"
20+
21+
SHELL ["/bin/bash", "-c"]
22+
23+
RUN apt-get -q update && \
24+
DEBIAN_FRONTEND=noninteractive apt-get -yq install \
25+
apt-transport-https \
26+
build-essential \
27+
ca-certificates \
28+
cmake \
29+
curl \
30+
debhelper \
31+
devscripts \
32+
dh-autoreconf \
33+
dos2unix \
34+
doxygen \
35+
git \
36+
graphviz \
37+
libglib2.0-dev \
38+
libssl-dev \
39+
lsb-release \
40+
pkg-config \
41+
wget
42+
43+
RUN update-ca-certificates --fresh
44+
45+
RUN echo "export CODENAME=${CODENAME}" | tee ~/.env && \
46+
chmod +x ~/.env
47+
48+
RUN . ~/.env && cat <<EOF > /etc/apt/sources.list.d/freeswitch.list
49+
deb [signed-by=${GPG_KEY}] https://${REPO_DOMAIN}/repo/deb/debian-unstable ${CODENAME} main
50+
deb-src [signed-by=${GPG_KEY}] https://${REPO_DOMAIN}/repo/deb/debian-unstable ${CODENAME} main
51+
EOF
52+
53+
RUN git config --global --add safe.directory '*' \
54+
&& git config --global user.name "${MAINTAINER_NAME}" \
55+
&& git config --global user.email "${MAINTAINER_EMAIL}"
56+
57+
# Bootstrap and Build
58+
COPY . ${DATA_DIR}
59+
WORKDIR ${DATA_DIR}
60+
RUN echo "export VERSION=$(cat ./build/next-release.txt | tr -d '\n')" | tee -a ~/.env
61+
62+
RUN . ~/.env && ./debian/util.sh prep-create-orig -n -V${VERSION}-${BUILD_NUMBER}-${GIT_SHA} -x
63+
RUN . ~/.env && ./debian/util.sh prep-create-dsc -a arm64 ${CODENAME}
64+
65+
RUN --mount=type=secret,id=REPO_PASSWORD,required=true \
66+
printf "machine ${REPO_DOMAIN} " > /etc/apt/auth.conf && \
67+
printf "login ${REPO_USERNAME} " >> /etc/apt/auth.conf && \
68+
printf "password " >> /etc/apt/auth.conf && \
69+
cat /run/secrets/REPO_PASSWORD >> /etc/apt/auth.conf && \
70+
sha512sum /run/secrets/REPO_PASSWORD && \
71+
curl \
72+
--fail \
73+
--netrc-file /etc/apt/auth.conf \
74+
--output ${GPG_KEY} \
75+
https://${REPO_DOMAIN}/repo/deb/debian-unstable/signalwire-freeswitch-repo.gpg && \
76+
file ${GPG_KEY} && \
77+
apt-get --quiet update && \
78+
mk-build-deps \
79+
--install \
80+
--remove debian/control \
81+
--tool "apt-get --yes --no-install-recommends" && \
82+
apt-get --yes --fix-broken install && \
83+
rm -f /etc/apt/auth.conf
84+
85+
ENV DEB_BUILD_OPTIONS="parallel=1"
86+
RUN . ~/.env && dch -b -M -v "${VERSION}-${BUILD_NUMBER}-${GIT_SHA}~${CODENAME}" \
87+
--force-distribution -D "${CODENAME}" "Nightly build, ${GIT_SHA}"
88+
RUN . ~/.env && ./debian/util.sh create-orig -n -V${VERSION}-${BUILD_NUMBER}-${GIT_SHA} -x
89+
90+
RUN dpkg-source \
91+
--diff-ignore=.* \
92+
--compression=xz \
93+
--compression-level=9 \
94+
--build \
95+
. \
96+
&& debuild -b -us -uc \
97+
&& mkdir OUT \
98+
&& mv -v ../*.{deb,dsc,changes,tar.*} OUT/.
99+
100+
# Artifacts image (mandatory part, the resulting image must have a single filesystem layer)
101+
FROM scratch
102+
COPY --from=builder /data/OUT/ /

0 commit comments

Comments
 (0)