public inbox for overseers@sourceware.org
 help / color / mirror / Atom feed
* [PATCH] containers: add openSUSE containers (Leap, Tumbleweed)
@ 2022-05-25 12:57 Martin Liška
  2022-05-25 14:49 ` Mark Wielaard
  0 siblings, 1 reply; 5+ messages in thread
From: Martin Liška @ 2022-05-25 12:57 UTC (permalink / raw)
  To: overseers; +Cc: Mark Wielaard

---
 .../containers/Containerfile-opensuse-leap    | 49 +++++++++++++++++++
 .../Containerfile-opensuse-tumbleweed         | 49 +++++++++++++++++++
 2 files changed, 98 insertions(+)
 create mode 100644 builder/containers/Containerfile-opensuse-leap
 create mode 100644 builder/containers/Containerfile-opensuse-tumbleweed

diff --git a/builder/containers/Containerfile-opensuse-leap b/builder/containers/Containerfile-opensuse-leap
new file mode 100644
index 0000000..dcdaf82
--- /dev/null
+++ b/builder/containers/Containerfile-opensuse-leap
@@ -0,0 +1,49 @@
+# Setup the (minimal) image, upgrade and install all devel packages
+FROM registry.opensuse.org/opensuse/leap
+RUN zypper -n dup
+RUN zypper -n install \
+        gcc gcc-c++ libtool ccache valgrind \
+        isl-devel mpc-devel mpfr-devel gmp-devel \
+        patch util-linux diffutils iproute2 bsdtar cpio procps \
+        coreutils make git autoconf dejagnu automake gettext-devel bison flex \
+        bzip2 libbz2-devel xz xz-devel gzip zlib-devel zstd libzstd-devel \
+        findutils file tar curl libarchive-devel libcurl-devel \
+        libmicrohttpd-devel sqlite-devel libelf-devel libdw-devel \
+        xmlto poppler-tools libxslt docbook-dtds docbook-xsl-stylesheets \
+        libxml2-devel dos2unix dpkg python3-devel python3-mock \
+        python3-rpm python3-pyxdg python3-pip openmpi-devel gdb help2man wget
+RUN zypper clean
+
+# Install buildbot-worker
+RUN pip install buildbot-worker
+
+# Setup user with same id as host user id.
+RUN useradd -u 1001 -U -d /home/builder -m builder
+
+# Create buildbot-worker script which sets up shared worker and ccache
+# data with the host. Each run gets a new password, so update that too.
+RUN cd /home/builder; \
+    echo $'image_name=opensuse-tumbleweed\n\
+        worker_dir=shared/$image_name/worker\n\
+        tac_file=$worker_dir/buildbot.tac\n\
+        if [ ! -f $tac_file ]; then\n\
+        mkdir -p $worker_dir\n\
+        buildbot-worker create-worker $worker_dir \
+          $BUILDMASTER:$BUILDMASTER_PORT $WORKERNAME $WORKERPASS\n\
+        echo overseers@sourceware.org > $worker_dir/info/admin\n\
+        echo $image_name > $worker_dir/info/host\n\
+      else\n\
+        sed -ie \"s/^passwd = .*/passwd = \'$WORKERPASS\'/\" $tac_file\n\
+      fi\n\
+      unset WORKERPASS\n\
+      export PATH=/usr/lib64/ccache:$PATH\n\
+      mkdir -p shared/$image_name/ccache\n\
+      export CCACHE_DIR=/home/builder/shared/$image_name/ccache\n\
+      buildbot-worker start --nodaemon $worker_dir\n' \
+	> bb-start.sh && \
+    chmod 755 bb-start.sh
+
+# And now run the script
+USER builder
+WORKDIR /home/builder
+ENTRYPOINT /home/builder/bb-start.sh
diff --git a/builder/containers/Containerfile-opensuse-tumbleweed b/builder/containers/Containerfile-opensuse-tumbleweed
new file mode 100644
index 0000000..001b956
--- /dev/null
+++ b/builder/containers/Containerfile-opensuse-tumbleweed
@@ -0,0 +1,49 @@
+# Setup the (minimal) image, upgrade and install all devel packages
+FROM registry.opensuse.org/opensuse/tumbleweed:latest
+RUN zypper -n dup
+RUN zypper -n install \
+        gcc gcc-c++ libtool ccache valgrind \
+        isl-devel mpc-devel mpfr-devel gmp-devel \
+        patch util-linux diffutils iproute2 bsdtar cpio procps \
+        coreutils make git autoconf dejagnu automake gettext-devel bison flex \
+        bzip2 libbz2-devel xz xz-devel gzip zlib-devel zstd libzstd-devel \
+        findutils file tar curl libarchive-devel libcurl-devel \
+        libmicrohttpd-devel sqlite-devel libelf-devel libdw-devel \
+        xmlto poppler-tools libxslt docbook-dtds docbook-xsl-stylesheets \
+        libxml2-devel dos2unix dpkg python3-devel python3-mock \
+        python3-rpm python3-pyxdg python3-pip openmpi-devel gdb help2man wget
+RUN zypper clean
+
+# Install buildbot-worker
+RUN pip install buildbot-worker
+
+# Setup user with same id as host user id.
+RUN useradd -u 1001 -U -d /home/builder -m builder
+
+# Create buildbot-worker script which sets up shared worker and ccache
+# data with the host. Each run gets a new password, so update that too.
+RUN cd /home/builder; \
+    echo $'image_name=opensuse-tumbleweed\n\
+        worker_dir=shared/$image_name/worker\n\
+        tac_file=$worker_dir/buildbot.tac\n\
+        if [ ! -f $tac_file ]; then\n\
+        mkdir -p $worker_dir\n\
+        buildbot-worker create-worker $worker_dir \
+          $BUILDMASTER:$BUILDMASTER_PORT $WORKERNAME $WORKERPASS\n\
+        echo overseers@sourceware.org > $worker_dir/info/admin\n\
+        echo $image_name > $worker_dir/info/host\n\
+      else\n\
+        sed -ie \"s/^passwd = .*/passwd = \'$WORKERPASS\'/\" $tac_file\n\
+      fi\n\
+      unset WORKERPASS\n\
+      export PATH=/usr/lib64/ccache:$PATH\n\
+      mkdir -p shared/$image_name/ccache\n\
+      export CCACHE_DIR=/home/builder/shared/$image_name/ccache\n\
+      buildbot-worker start --nodaemon $worker_dir\n' \
+	> bb-start.sh && \
+    chmod 755 bb-start.sh
+
+# And now run the script
+USER builder
+WORKDIR /home/builder
+ENTRYPOINT /home/builder/bb-start.sh
-- 
2.36.1


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2022-05-26  8:44 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-05-25 12:57 [PATCH] containers: add openSUSE containers (Leap, Tumbleweed) Martin Liška
2022-05-25 14:49 ` Mark Wielaard
2022-05-25 20:01   ` [PATCH] Add openSUSE builders Martin Liška
2022-05-25 21:48     ` Mark Wielaard
2022-05-26  8:44       ` Martin Liška

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).