aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAleksandr Nogikh <nogikh@google.com>2023-07-12 12:06:59 +0200
committerAleksandr Nogikh <nogikh@google.com>2023-07-12 14:58:29 +0000
commit189e93f224aa365d476b65dc5693774254b20d8a (patch)
tree6505435b51f241026fc0680c3b792112e9372ae2
parent73162bc03a311edc88ae7ae64fcdd82334aa388e (diff)
tools/docker: merge big-env into env
There's not much sense to keep both.
-rw-r--r--tools/docker/big-env/Dockerfile68
-rw-r--r--tools/docker/env/Dockerfile59
2 files changed, 59 insertions, 68 deletions
diff --git a/tools/docker/big-env/Dockerfile b/tools/docker/big-env/Dockerfile
deleted file mode 100644
index 1d8aa74b9..000000000
--- a/tools/docker/big-env/Dockerfile
+++ /dev/null
@@ -1,68 +0,0 @@
-# Copyright 2020 syzkaller project authors. All rights reserved.
-# Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file.
-
-# See /tools/docker/README.md for details.
-
-FROM gcr.io/syzkaller/env
-
-# Install OS toolchains from pre-built archives.
-# These archives were created with:
-# tar -cz --owner=0 --group=0 --mode=go=u -f akaros-toolchain.tar.gz akaros/toolchain
-# tar -cz --owner=0 --group=0 --mode=go=u -f netbsd-toolchain.tar.gz netbsd/tools netbsd/dest
-# tar -cz --owner=0 --group=0 --mode=go=u -f fuchsia-toolchain.tar.gz fuchsia/prebuilt/third_party/clang \
-# fuchsia/zircon/system/ulib fuchsia/src/lib/ddk fuchsia/out/x64/fidling/gen \
-# fuchsia/out/x64/zircon_toolchain/obj/zircon/public/sysroot/sysroot \
-# fuchsia/out/x64/x64-shared/*.so fuchsia/out/arm64/fidling/gen \
-# fuchsia/out/arm64/zircon_toolchain/obj/zircon/public/sysroot/sysroot \
-# fuchsia/out/arm64/arm64-shared/*.so
-#
-# And then uploaded to GCS with:
-# gsutil mv gs://syzkaller/GOOS-toolchain.tar.gz gs://syzkaller/GOOS-toolchain.old.tar.gz
-# gsutil cp GOOS-toolchain.tar.gz gs://syzkaller/
-# gsutil acl ch -g all:R gs://syzkaller/GOOS-toolchain.tar.gz
-#
-# NetBSD toolchain can be re-built with:
-# ./build.sh -j72 -m amd64 -U -T ../tools tools
-# ./build.sh -j72 -m amd64 -U -T ../tools -D ../dest distribution
-#
-# To build root image run:
-# docker run -it --rm --privileged --device /dev/loop0 gcr.io/syzkaller/big-env
-# mount binfmt_misc -t binfmt_misc /proc/sys/fs/binfmt_misc
-# create-image.sh -a s390x -d buster
-
-RUN dpkg --add-architecture i386 && \
- apt-get update --allow-releaseinfo-change && \
- DEBIAN_FRONTEND=noninteractive apt-get install -y -q \
- # required to build root images.
- debootstrap ssh-tools qemu-user-static && \
- apt-get -y autoremove && \
- apt-get clean autoclean && \
- rm -rf /var/lib/apt/lists/{apt,dpkg,cache,log} /tmp/* /var/tmp/*
-
-RUN rm -rf /usr/local/go
-RUN curl https://dl.google.com/go/go1.19.6.linux-amd64.tar.gz | tar -C /usr/local -xz
-
-RUN curl https://storage.googleapis.com/syzkaller/fuchsia-toolchain.tar.gz | tar -C /syzkaller -xz
-RUN curl https://storage.googleapis.com/syzkaller/netbsd-toolchain.tar.gz | tar -C /syzkaller -xz
-ENV SOURCEDIR_FUCHSIA /syzkaller/fuchsia
-ENV SOURCEDIR_NETBSD /syzkaller/netbsd
-
-# Build Python 2.7 from source.
-RUN apt-get install -y -q libsqlite3-dev
-RUN wget -O /tmp/Python-2.7.18.tgz 'https://www.python.org/ftp/python/2.7.18/Python-2.7.18.tgz'
-RUN cd /tmp/ && tar -zxf Python-2.7.18.tgz
-RUN cd /tmp/Python-2.7.18 && ./configure
-RUN cd /tmp/Python-2.7.18 && make -j2 && make altinstall
-RUN ln -s /usr/local/bin/python2.7 /usr/bin/python2
-
-# Install gcloud sdk for dashboard/app tests.
-# The newest version (as of 07/10/23) is 437, however, it seems to expect to be run with python3
-# (but still requires python2). But Go's aetest package still runs dev_appserver.py with python2.7.
-# So let's use an older, but working sdk.
-RUN curl https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-400.0.0-linux-x86_64.tar.gz | tar -C /usr/local -xz
-ENV PATH /usr/local/google-cloud-sdk/bin:$PATH
-RUN gcloud components install --quiet app-engine-python app-engine-go app-engine-python-extras cloud-datastore-emulator
-RUN chmod 0777 /usr/local/google-cloud-sdk
-
-RUN echo "export PS1='syz-big-env🈶 '" > /syzkaller/.bashrc
-ENV SYZ_BIG_ENV yes
diff --git a/tools/docker/env/Dockerfile b/tools/docker/env/Dockerfile
index db4e87025..2317f8848 100644
--- a/tools/docker/env/Dockerfile
+++ b/tools/docker/env/Dockerfile
@@ -46,6 +46,65 @@ RUN sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++
RUN sudo update-alternatives --install /usr/bin/clang-tidy clang-tidy /usr/bin/clang-tidy-15 100
RUN sudo update-alternatives --install /usr/bin/clang-format clang-format /usr/bin/clang-format-15 100
+# Install OS toolchains from pre-built archives.
+# These archives were created with:
+# tar -cz --owner=0 --group=0 --mode=go=u -f akaros-toolchain.tar.gz akaros/toolchain
+# tar -cz --owner=0 --group=0 --mode=go=u -f netbsd-toolchain.tar.gz netbsd/tools netbsd/dest
+# tar -cz --owner=0 --group=0 --mode=go=u -f fuchsia-toolchain.tar.gz fuchsia/prebuilt/third_party/clang \
+# fuchsia/zircon/system/ulib fuchsia/src/lib/ddk fuchsia/out/x64/fidling/gen \
+# fuchsia/out/x64/zircon_toolchain/obj/zircon/public/sysroot/sysroot \
+# fuchsia/out/x64/x64-shared/*.so fuchsia/out/arm64/fidling/gen \
+# fuchsia/out/arm64/zircon_toolchain/obj/zircon/public/sysroot/sysroot \
+# fuchsia/out/arm64/arm64-shared/*.so
+#
+# And then uploaded to GCS with:
+# gsutil mv gs://syzkaller/GOOS-toolchain.tar.gz gs://syzkaller/GOOS-toolchain.old.tar.gz
+# gsutil cp GOOS-toolchain.tar.gz gs://syzkaller/
+# gsutil acl ch -g all:R gs://syzkaller/GOOS-toolchain.tar.gz
+#
+# NetBSD toolchain can be re-built with:
+# ./build.sh -j72 -m amd64 -U -T ../tools tools
+# ./build.sh -j72 -m amd64 -U -T ../tools -D ../dest distribution
+#
+# To build root image run:
+# docker run -it --rm --privileged --device /dev/loop0 gcr.io/syzkaller/big-env
+# mount binfmt_misc -t binfmt_misc /proc/sys/fs/binfmt_misc
+# create-image.sh -a s390x -d buster
+
+RUN dpkg --add-architecture i386 && \
+ apt-get update --allow-releaseinfo-change && \
+ DEBIAN_FRONTEND=noninteractive apt-get install -y -q \
+ # required to build root images.
+ debootstrap ssh-tools qemu-user-static && \
+ apt-get -y autoremove && \
+ apt-get clean autoclean && \
+ rm -rf /var/lib/apt/lists/{apt,dpkg,cache,log} /tmp/* /var/tmp/*
+
+RUN rm -rf /usr/local/go
+RUN curl https://dl.google.com/go/go1.19.6.linux-amd64.tar.gz | tar -C /usr/local -xz
+
+RUN curl https://storage.googleapis.com/syzkaller/fuchsia-toolchain.tar.gz | tar -C /syzkaller -xz
+RUN curl https://storage.googleapis.com/syzkaller/netbsd-toolchain.tar.gz | tar -C /syzkaller -xz
+ENV SOURCEDIR_FUCHSIA /syzkaller/fuchsia
+ENV SOURCEDIR_NETBSD /syzkaller/netbsd
+
+# Build Python 2.7 from source.
+RUN apt-get install -y -q libsqlite3-dev
+RUN wget -O /tmp/Python-2.7.18.tgz 'https://www.python.org/ftp/python/2.7.18/Python-2.7.18.tgz'
+RUN cd /tmp/ && tar -zxf Python-2.7.18.tgz
+RUN cd /tmp/Python-2.7.18 && ./configure
+RUN cd /tmp/Python-2.7.18 && make -j2 && make altinstall
+RUN ln -s /usr/local/bin/python2.7 /usr/bin/python2
+
+# Install gcloud sdk for dashboard/app tests.
+# The newest version (as of 07/10/23) is 437, however, it seems to expect to be run with python3
+# (but still requires python2). But Go's aetest package still runs dev_appserver.py with python2.7.
+# So let's use an older, but working sdk.
+RUN curl https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-400.0.0-linux-x86_64.tar.gz | tar -C /usr/local -xz
+ENV PATH /usr/local/google-cloud-sdk/bin:$PATH
+RUN gcloud components install --quiet app-engine-python app-engine-go app-engine-python-extras cloud-datastore-emulator
+RUN chmod 0777 /usr/local/google-cloud-sdk
+
# The default Docker prompt is too ugly and takes the whole line:
# I have no name!@0f3331d2fb54:~/gopath/src/github.com/google/syzkaller$
RUN echo "export PS1='syz-env🈴 '" > /syzkaller/.bashrc