From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28]) by sourceware.org (Postfix) with ESMTPS id 6043A3861832 for ; Wed, 25 May 2022 12:57:18 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 6043A3861832 Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by smtp-out1.suse.de (Postfix) with ESMTPS id 99434219ED; Wed, 25 May 2022 12:57:17 +0000 (UTC) Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 850EC13ADF; Wed, 25 May 2022 12:57:17 +0000 (UTC) Received: from dovecot-director2.suse.de ([192.168.254.65]) by imap2.suse-dmz.suse.de with ESMTPSA id Pb+DH60njmIdPwAAMHmgww (envelope-from ); Wed, 25 May 2022 12:57:17 +0000 Message-ID: <59dd88af-8800-e9a4-7c01-1e969cc42ecb@suse.cz> Date: Wed, 25 May 2022 14:57:17 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.9.1 From: =?UTF-8?Q?Martin_Li=c5=a1ka?= Subject: [PATCH] containers: add openSUSE containers (Leap, Tumbleweed) To: overseers@sourceware.org Content-Language: en-US Cc: Mark Wielaard Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-11.9 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, SPF_HELO_NONE, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: overseers@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Overseers mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 May 2022 12:57:19 -0000 --- .../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