X-Git-Url: https://code.citadel.org/?p=citadel-docker.git;a=blobdiff_plain;f=Dockerfile;h=38711f29ad96a0dfc17e8e79f7c9641af124a295;hp=a6f8dccd1c76284d688c17504817b53e14ddf5bd;hb=HEAD;hpb=2ec65c68857a6e14690994e6ecedb59e8ea345d0 diff --git a/Dockerfile b/Dockerfile index a6f8dcc..a726bcb 100644 --- a/Dockerfile +++ b/Dockerfile @@ -16,9 +16,6 @@ # The first stage build will bring in all of our development tools. FROM debian:bullseye-slim AS build-stage -# The "branch" argument specifies the branch or tag from which we will build. -ARG branch=master - # All long term persistent data goes here. Any volume driver may be used. VOLUME /citadel-data @@ -28,15 +25,23 @@ RUN apt -y install gcc bison make zlib1g-dev libldap2-dev libssl-dev gettext lib # Build our own local copy of Berkeley DB, because the one included with the system libs is too old. # We will install it to /usr/local and carry it over to the second stage build. -RUN sh -c 'mkdir /tmp/db_build && \ - cd /tmp/db_build && \ - curl -k https://easyinstall.citadel.org/db-6.2.32.NC.tar.gz | tar xvzf - && \ - cd db-6.2.32.NC/build_unix && \ - ../dist/configure --prefix=/usr/local --disable-static --disable-compat185 --disable-cxx --disable-debug --disable-dump185 --disable-java --disable-tcl --disable-test --without-rpm && \ - make && \ - make install && \ - cd /tmp && \ - rm -fr /tmp/db_build' +# build and install Berkeley DB +RUN sh -c 'mkdir /tmp/db_build' +RUN sh -c 'cd /tmp/db_build && curl -k https://easyinstall.citadel.org/db-18.1.40.tar.gz | tar xvzf -' +RUN sh -c '\ + cd /tmp/db_build/db-18.1.40/build_unix && \ + ../dist/configure --prefix=/usr/local \ + --with-cryptography=no --disable-hash --disable-heap --disable-queue \ + --disable-replication --disable-statistics \ + --with-uniquename=_ctdl \ + --enable-static --disable-shared \ + --disable-compat185 --disable-cxx --disable-debug \ + --disable-dump185 --disable-java --disable-tcl --disable-test --without-rpm' +RUN sh -c 'cd /tmp/db_build/db-18.1.40/build_unix && make -j`cat /proc/cpuinfo | grep processor | wc -l`' +RUN sh -c 'cd /tmp/db_build/db-18.1.40/build_unix && make install_lib' +RUN sh -c 'cd /tmp/db_build/db-18.1.40/build_unix && make install_include' +RUN sh -c 'cd /tmp/db_build/db-18.1.40/build_unix && make install_utilities' +RUN sh -c 'rm -fr /tmp/db_build' # Create our build directory RUN mkdir /tmp/ctdl_build @@ -48,15 +53,15 @@ RUN sh -c '\ cc ctdlvisor.c -o /usr/local/bin/ctdlvisor && \ rm -vf /tmp/ctdlvisor.c' -# Grab the repository at the specified branch or tag. If there wasn't any change we should enjoy the cache. -RUN sh -c '\ - cd /tmp/ctdl_build && \ - git clone -b $branch --single-branch git://git.citadel.org/citadel' +# Download the latest Citadel code +RUN curl https://easyinstall.citadel.org/libcitadel-easyinstall.tar.gz | tar xvzf - +RUN curl https://easyinstall.citadel.org/citadel-easyinstall.tar.gz | tar xvzf - +RUN curl https://easyinstall.citadel.org/webcit-easyinstall.tar.gz | tar xvzf - +RUN curl https://easyinstall.citadel.org/textclient-easyinstall.tar.gz | tar xvzf - # Build libcitadel RUN sh -c '\ - cd /tmp/ctdl_build/citadel/libcitadel && \ - ./bootstrap && \ + cd libcitadel && \ ./configure --prefix=/usr/local && \ make && \ make install' @@ -65,8 +70,7 @@ RUN sh -c '\ RUN sh -c '\ export CFLAGS=-I/usr/local/include && \ export LDFLAGS=-L/usr/local/lib && \ - cd /tmp/ctdl_build/citadel/citadel && \ - ./bootstrap && \ + cd citadel && \ ./configure && \ make && \ make install' @@ -75,8 +79,7 @@ RUN sh -c '\ RUN sh -c '\ export CFLAGS=-I/usr/local/include && \ export LDFLAGS=-L/usr/local/lib && \ - cd /tmp/ctdl_build/citadel/webcit && \ - ./bootstrap && \ + cd webcit && \ ./configure && \ make && \ make install' @@ -85,11 +88,11 @@ RUN sh -c '\ RUN sh -c '\ export CFLAGS=-I/usr/local/include && \ export LDFLAGS=-L/usr/local/lib && \ - cd /tmp/ctdl_build/citadel/textclient && \ + cd textclient && \ ./configure --prefix=/usr/local --ctdldir=/citadel_data && \ - make && make install && \ - cd /tmp && \ - rm -vfr /tmp/ctdl_build && \ + make && \ + cp citadel /usr/local/bin && \ + cp citadel.rc /usr/local/etc && \ rm -vrf /usr/local/citadel/data /usr/local/citadel/files /usr/local/citadel/keys /usr/local/webcit/keys' ####################################################################################################