[
https://issues.apache.org/jira/browse/QPID-8637?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17713047#comment-17713047
]
ASF GitHub Bot commented on QPID-8637:
--------------------------------------
jiridanek commented on code in PR #40:
URL: https://github.com/apache/qpid-cpp/pull/40#discussion_r1168569213
##########
Containerfile:
##########
@@ -0,0 +1,60 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+FROM quay.io/centos/centos:stream9 as builder
+
+RUN dnf -y install epel-release 'dnf-command(config-manager)'
+RUN dnf config-manager --set-enabled crb
+
+# I am referring to the CentOS7 package (.spec file in the src.rpm) to look up
dependencies
+# https://koji.fedoraproject.org/koji/buildinfo?buildID=1180279
+# TODO seemingly unavailable packages:
+# xqilla-devel
+
+RUN dnf -y --setopt=install_weak_deps=0 --setopt=tsflags=nodocs install \
+ rpm-build \
+ gcc gcc-c++ make cmake \
+ boost-devel boost-filesystem boost-program-options \
+ xerces-c-devel \
+ rdma-core-devel \
+ libdb-devel libdb-cxx-devel libaio-devel \
+ qpid-proton-c-devel \
+ swig perl-devel python3-devel ruby-devel rubygem-rexml \
+ libuuid-devel nss-devel nspr-devel nss-tools cyrus-sasl cyrus-sasl-lib
cyrus-sasl-devel \
+ wget tar patch findutils git pkgconfig
+
+# Workaround for latest release of qpid-python being incompatible with python 3
+WORKDIR /build
+RUN git clone https://github.com/apache/qpid-python.git \
+ && cd qpid-python \
+ && python3 setup.py install
Review Comment:
True. Currently this is something that wants to be user-centric, but it
cannot be, for several reasons, this being one of them.
I'm going to leave the PR open until there is released qpid-python that I
can use here.
> [qpid-cpp] Create Containerfile
> -------------------------------
>
> Key: QPID-8637
> URL: https://issues.apache.org/jira/browse/QPID-8637
> Project: Qpid
> Issue Type: Improvement
> Reporter: Jiri Daněk
> Priority: Major
>
> Ideally, this should be multistage build
> (https://docs.docker.com/build/building/multi-stage/). Currently such build
> is hard to create because parts of the CMake build script don't respect the
> DESTDIR variable. Therefore single stage build is necessary for now.
> Second stage could look something like
> {code}
> # TODO: might make sense to use UBI 9 here
> FROM quay.io/centos/centos:stream9
> ARG datadir
> ENV QPID_DATA_DIR=${datadir:-/home/runner/qpid_data}
> RUN dnf -y install epel-release 'dnf-command(config-manager)' \
> && dnf config-manager --set-enabled crb \
> && dnf -y --setopt=install_weak_deps=0 --setopt=tsflags=nodocs install \
> glibc \
> boost boost-filesystem boost-program-options \
> xerces-c \
> rdma-core \
> libdb libdb-cxx libaio \
> qpid-proton-c \
> perl python3 ruby \
> libuuid nss nss-tools nspr cyrus-sasl cyrus-sasl-lib cyrus-sasl-plain
> cyrus-sasl-md5 cyrus-sasl-gssapi \
> gettext hostname iputils \
> shadow-utils \
> && dnf clean all
> RUN useradd --uid 10000 runner
> WORKDIR /
> COPY --from=builder /image /
> # RUN mkdir -p ${QPID_DATA_DIR}
> # RUN chown 10000 ${QPID_DATA_DIR}
> # VOLUME ${QPID_DATA_DIR}
> # USER 10000
> EXPOSE 5672
> CMD ["/usr/local/sbin/qpidd"]
> {code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]