Skip to content

Commit 3dcc81b

Browse files
committed
all base and release images
1 parent aa39ddb commit 3dcc81b

File tree

12 files changed

+802
-12
lines changed

12 files changed

+802
-12
lines changed

.github/docker-images/Dockerfile

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
ARG OS
2+
ARG BASE_IMAGE
3+
FROM ${BASE_IMAGE} AS deploy
4+
5+
###############################################################################
6+
# Copy and build local proxy
7+
###############################################################################
8+
COPY . /root/aws-iot-securetunneling-localproxy
9+
RUN mkdir -p /root/aws-iot-securetunneling-localproxy/build \
10+
&& cd /root/aws-iot-securetunneling-localproxy/build \
11+
&& cmake .. \
12+
&& make
13+
14+
FROM ${OS} AS minimum_size
15+
16+
COPY --from=deploy /root/aws-iot-securetunneling-localproxy/build/aws-iot-securetunneling-localproxy ./bin
17+
18+
COPY ./.github/docker-images/oss-compliance /root/oss-compliance
19+
#RUN HOME_DIR=/root \
20+
# && chmod +x ${HOME_DIR}/oss-compliance/generate-oss-compliance.sh \
21+
# && chmod +x ${HOME_DIR}/oss-compliance/test/test-oss-compliance.sh \
22+
# && bash ${HOME_DIR}/oss-compliance/generate-oss-compliance.sh ${HOME_DIR} \
23+
# && rm -rf ${HOME_DIR}/oss-compliance*
24+
25+
ENTRYPOINT ["/bin"]

.github/docker-images/base-images/amazonlinux/Dockerfile

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
# FROM amazonlinux:latest
2-
FROM amazonlinux:latest as builder
1+
FROM amazonlinux:latest as base
32
ARG OPENSSL_CONFIG
43

54
# Install Prerequisites
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
FROM debian:latest AS base
2+
# Install Prerequisites
3+
4+
RUN apt update && apt upgrade -y && \
5+
apt install -y git libboost-all-dev autoconf automake \
6+
wget libtool curl make g++ unzip cmake libssl-dev python3
7+
8+
# Install Dependencies
9+
10+
RUN mkdir /home/dependencies
11+
12+
WORKDIR /home/dependencies
13+
RUN wget https://www.zlib.net/zlib-1.2.13.tar.gz -O /tmp/zlib-1.2.13.tar.gz && \
14+
tar xzvf /tmp/zlib-1.2.13.tar.gz && \
15+
cd zlib-1.2.13 && \
16+
./configure && \
17+
make && \
18+
make install
19+
20+
WORKDIR /home/dependencies
21+
RUN wget https://boostorg.jfrog.io/artifactory/main/release/1.81.0/source/boost_1_81_0.tar.gz -O /tmp/boost.tar.gz && \
22+
tar xzvf /tmp/boost.tar.gz && \
23+
cd boost_1_81_0 && \
24+
./bootstrap.sh && \
25+
./b2 install link=static
26+
27+
WORKDIR /home/dependencies
28+
RUN wget https://github.com/protocolbuffers/protobuf/releases/download/v3.17.3/protobuf-all-3.17.3.tar.gz -O /tmp/protobuf-all-3.17.3.tar.gz && \
29+
tar xzvf /tmp/protobuf-all-3.17.3.tar.gz && \
30+
cd protobuf-3.17.3 && \
31+
mkdir build && \
32+
cd build && \
33+
cmake ../cmake && \
34+
make && \
35+
make install
36+
37+
WORKDIR /home/dependencies
38+
RUN git clone https://github.com/openssl/openssl.git && \
39+
cd openssl && \
40+
git checkout OpenSSL_1_1_1-stable && \
41+
./config && \
42+
make depend && \
43+
make all
44+
45+
WORKDIR /home/dependencies
46+
RUN git clone --branch v2.13.6 https://github.com/catchorg/Catch2.git && \
47+
cd Catch2 && \
48+
mkdir build && \
49+
cd build && \
50+
cmake ../ && \
51+
make && \
52+
make install
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
FROM fedora:latest AS base
2+
3+
# Install Prerequisites
4+
5+
RUN dnf -y update \
6+
&& dnf -y install \
7+
git autoconf automake \
8+
wget libtool curl make gcc-c++ unzip cmake python3 openssl-devel perl-core \
9+
&& dnf clean all \
10+
&& rm -rf /var/cache/dnf
11+
12+
RUN mkdir /home/dependencies
13+
14+
WORKDIR /home/dependencies
15+
RUN wget https://www.zlib.net/zlib-1.2.13.tar.gz -O /tmp/zlib-1.2.13.tar.gz && \
16+
tar xzvf /tmp/zlib-1.2.13.tar.gz && \
17+
cd zlib-1.2.13 && \
18+
./configure && \
19+
make && \
20+
make install
21+
22+
WORKDIR /home/dependencies
23+
RUN wget https://boostorg.jfrog.io/artifactory/main/release/1.79.0/source/boost_1_79_0.tar.gz -O /tmp/boost.tar.gz && \
24+
tar xzvf /tmp/boost.tar.gz && \
25+
cd boost_1_79_0 && \
26+
./bootstrap.sh && \
27+
./b2 install link=static
28+
29+
WORKDIR /home/dependencies
30+
RUN wget https://github.com/protocolbuffers/protobuf/releases/download/v3.17.3/protobuf-all-3.17.3.tar.gz -O /tmp/protobuf-all-3.17.3.tar.gz && \
31+
tar xzvf /tmp/protobuf-all-3.17.3.tar.gz && \
32+
cd protobuf-3.17.3 && \
33+
mkdir build && \
34+
cd build && \
35+
cmake ../cmake && \
36+
make && \
37+
make install
38+
39+
WORKDIR /home/dependencies
40+
RUN git clone https://github.com/openssl/openssl.git && \
41+
cd openssl && \
42+
git checkout OpenSSL_1_1_1-stable && \
43+
./config && \
44+
make depend && \
45+
make all
46+
47+
WORKDIR /home/dependencies
48+
RUN git clone --branch v2.13.6 https://github.com/catchorg/Catch2.git && \
49+
cd Catch2 && \
50+
mkdir build && \
51+
cd build && \
52+
cmake ../ && \
53+
make && \
54+
make install

.github/docker-images/base-images/ubi8/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,4 +51,4 @@ RUN git clone --branch v2.13.6 https://github.com/catchorg/Catch2.git && \
5151
cd build && \
5252
cmake ../ && \
5353
make && \
54-
make install
54+
make install

.github/docker-images/base-images/ubuntu/Dockerfile

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,9 @@ RUN wget https://www.zlib.net/zlib-1.2.13.tar.gz -O /tmp/zlib-1.2.13.tar.gz && \
2020
make install
2121

2222
WORKDIR /home/dependencies
23-
RUN wget https://boostorg.jfrog.io/artifactory/main/release/1.79.0/source/boost_1_79_0.tar.gz -O /tmp/boost.tar.gz && \
23+
RUN wget https://boostorg.jfrog.io/artifactory/main/release/1.81.0/source/boost_1_81_0.tar.gz -O /tmp/boost.tar.gz && \
2424
tar xzvf /tmp/boost.tar.gz && \
25-
cd boost_1_79_0 && \
25+
cd boost_1_81_0 && \
2626
./bootstrap.sh && \
2727
./b2 install link=static
2828

@@ -51,4 +51,4 @@ RUN git clone --branch v2.13.6 https://github.com/catchorg/Catch2.git && \
5151
cd build && \
5252
cmake ../ && \
5353
make && \
54-
make install
54+
make install
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
#!/bin/bash
5+
6+
PRETTY_NAME=$(cat /etc/os-release | grep PRETTY_NAME)
7+
8+
HOME_DIR=$1
9+
10+
export HOME_DIR=${HOME_DIR}
11+
LINUX_PACKAGES=${HOME_DIR}/oss-compliance/linux-packages
12+
BUILD_FROM_SOURCE_PACKAGES_LICENCES=${HOME_DIR}/oss-compliance/build-from-source-packages/build-from-source-package-licenses.txt
13+
14+
set -e
15+
16+
chmod +x ${LINUX_PACKAGES}/yum-packages.sh
17+
chmod +x ${LINUX_PACKAGES}/dkpg-packages.sh
18+
19+
if [[ $PRETTY_NAME == *"Ubuntu"* ]]; then
20+
${LINUX_PACKAGES}/dkpg-packages.sh
21+
fi
22+
23+
if [[ $PRETTY_NAME == *"Amazon Linux"* ]]; then
24+
${LINUX_PACKAGES}/yum-packages.sh
25+
fi
26+
27+
if [[ $PRETTY_NAME == *"Red Hat Enterprise Linux"* ]]; then
28+
${LINUX_PACKAGES}/yum-packages.sh
29+
BUILD_FROM_SOURCE_PACKAGES_LICENCES=${HOME_DIR}/oss-compliance/build-from-source-packages/build-from-source-package-licenses-ubi8.txt
30+
fi
31+
32+
cp ${BUILD_FROM_SOURCE_PACKAGES_LICENCES} ${HOME_DIR}/BUILD_FROM_SOURCE_PACKAGES_LICENCES
33+
chmod +x ${HOME_DIR}/oss-compliance/test/test-oss-compliance.sh
34+
bash ${HOME_DIR}/oss-compliance/test/test-oss-compliance.sh ${HOME_DIR}
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
HOME_DIR=/root
5+
LICENSE_TEXT_FILE_NAME="LINUX_PACKAGES_LICENSES"
6+
LICENSE_TEXT_FILE_PATH=${HOME_DIR}/${LICENSE_TEXT_FILE_NAME}
7+
PACKAGE_LIST_TEXT_FILE_NAME="LINUX_PACKAGES_LIST"
8+
9+
OUTPUT=$(dpkg -l | grep '^.[iufhwt]')
10+
echo "${OUTPUT}" > ${HOME_DIR}/${PACKAGE_LIST_TEXT_FILE_NAME}
11+
12+
IFS=$'\n' read -rd '' -a OUTPUT_LIST <<<${OUTPUT}
13+
14+
for (( i=0; i<${#OUTPUT_LIST[@]}; i++ ))
15+
do
16+
IFS=$' ' read -rd '' -a PACKAGE_DETAILS <<<${OUTPUT_LIST[$i]}
17+
if [ ${#PACKAGE_DETAILS[@]} ]; then
18+
IFS=$':' read -a PACKAGE_NAME_AND_ARCH <<<${PACKAGE_DETAILS[1]}
19+
PACKAGE_NAME="${PACKAGE_NAME_AND_ARCH[0]}"
20+
LICENSE_TEXT=$(cat "/usr/share/doc/${PACKAGE_NAME}/copyright")
21+
if [ -z "${LICENSE_TEXT}" ]; then
22+
LICENSE_TEXT="License is not present for this package."
23+
fi
24+
echo "Package Name: "${PACKAGE_NAME} >> ${LICENSE_TEXT_FILE_PATH}
25+
echo "Package Version: "${PACKAGE_DETAILS[2]} >> ${LICENSE_TEXT_FILE_PATH}
26+
echo "Package License Location: "${PACKAGE_LICENSE_LOCATION} >> ${LICENSE_TEXT_FILE_PATH}
27+
echo -e "Package License Text: "${LICENSE_TEXT}"\n" >> ${LICENSE_TEXT_FILE_PATH}
28+
fi
29+
done
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
LICENSE_FILE_NAMES=("LICENSE" "LICENSE.txt" "LICENSE.md" "license.txt" "license" "COPYRIGHT" "LICENSE.rst" "COPYING" "COPYING.md" "COPYING.txt")
5+
6+
LICENSE_FILE_LOCATIONS=("/usr/share/licenses" "/usr/share/doc")
7+
8+
HOME_DIR=/root
9+
LICENSE_TEXT_FILE_NAME="LINUX_PACKAGES_LICENSES"
10+
LICENSE_TEXT_FILE_PATH=${HOME_DIR}/${LICENSE_TEXT_FILE_NAME}
11+
PACKAGE_LIST_TEXT_FILE_NAME="LINUX_PACKAGES_LIST"
12+
13+
OUTPUT="$(yum list installed | grep -v @amzn2-core | sort)"
14+
echo "${OUTPUT}" > ${HOME_DIR}/${PACKAGE_LIST_TEXT_FILE_NAME}
15+
16+
IFS=$'\n' read -rd '' -a OUTPUT_LIST <<<"${OUTPUT}"
17+
18+
for (( i=0; i<${#OUTPUT_LIST[@]}; i++ ))
19+
do
20+
IFS=$' ' read -rd '' -a PACKAGE_DETAILS <<<${OUTPUT_LIST[$i]}
21+
if [ ${#PACKAGE_DETAILS[@]} -eq "3" ]; then
22+
IFS=$'.' read -rd '' -a PACKAGE_NAME_AND_ARCH <<<${PACKAGE_DETAILS[0]}
23+
PACKAGE_NAME=${PACKAGE_NAME_AND_ARCH[0]}
24+
IFS=$'-:' read -rd '' -a PACKAGE_VERSION_ARR <<<${PACKAGE_DETAILS[1]}
25+
if [ ${#PACKAGE_VERSION[@]} -ge "2" ]; then
26+
PACKAGE_VERSION="${PACKAGE_VERSION_ARR[1]}"
27+
else
28+
PACKAGE_VERSION="${PACKAGE_VERSION_ARR[0]}"
29+
fi
30+
PACKAGE_LOCATION=""
31+
for (( license_file_dir=0; license_file_dir<"${#LICENSE_FILE_LOCATIONS[@]}"; license_file_dir++ ))
32+
do
33+
for (( license_file=0; license_file<"${#LICENSE_FILE_NAMES[@]}"; license_file++ ))
34+
do
35+
if [[ -f "${LICENSE_FILE_LOCATIONS[$license_file_dir]}/${PACKAGE_NAME}-${PACKAGE_VERSION}/${LICENSE_FILE_NAMES[$license_file]}" ]]; then
36+
PACKAGE_LICENSE_LOCATION=${LICENSE_FILE_LOCATIONS[$license_file_dir]}/${PACKAGE_NAME}-${PACKAGE_VERSION}/${LICENSE_FILE_NAMES[$license_file]}
37+
break
38+
elif [[ -f "${LICENSE_FILE_LOCATIONS[$license_file_dir]}/${PACKAGE_NAME}/${LICENSE_FILE_NAMES[$license_file]}" ]]; then
39+
PACKAGE_LICENSE_LOCATION=${LICENSE_FILE_LOCATIONS[$license_file_dir]}/${PACKAGE_NAME}/${LICENSE_FILE_NAMES[$license_file]}
40+
break
41+
fi
42+
done
43+
done
44+
if [ ${PACKAGE_LICENSE_LOCATION} ] && [ -f ${PACKAGE_LICENSE_LOCATION} ]; then
45+
LICENSE_TEXT=$(cat "${PACKAGE_LICENSE_LOCATION}") || true
46+
else
47+
LICENSE_TEXT="License is not present for this package."
48+
fi
49+
echo "Package Name: "${PACKAGE_NAME} >> ${LICENSE_TEXT_FILE_PATH}
50+
echo "Package Version: "${PACKAGE_VERSION} >> ${LICENSE_TEXT_FILE_PATH}
51+
echo "Package License Location: "${PACKAGE_LICENSE_LOCATION} >> ${LICENSE_TEXT_FILE_PATH}
52+
echo -e "Package License Text: "${LICENSE_TEXT}"\n" >> ${LICENSE_TEXT_FILE_PATH}
53+
fi
54+
done
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
#!/bin/bash
5+
6+
HOME_DIR=$1
7+
8+
FILES=("${HOME_DIR}/LINUX_PACKAGES_LICENSES" "${HOME_DIR}/BUILD_FROM_SOURCE_PACKAGES_LICENCES")
9+
10+
for FILE in ${FILES[@]}; do
11+
if [ -f "$FILE" ]; then
12+
echo "$FILE exists."
13+
else
14+
echo "$FILE doesn't exist which is needed for license attribution compliance."
15+
exit 1
16+
fi
17+
done

0 commit comments

Comments
 (0)