diff options
author | Tristan Schwieren <tristan.schwieren@tum.de> | 2022-11-03 17:10:40 +0100 |
---|---|---|
committer | Tristan Schwieren <tristan.schwieren@tum.de> | 2022-11-03 17:10:40 +0100 |
commit | 35a4a8be19615516ebf1b45837867cda1a90303f (patch) | |
tree | 15889dfdde3bbb34977247196fa7c400c6dce2ba /contrib | |
parent | d0bb2253612f7272bb3b430b070847bafca8c297 (diff) | |
download | gnunet-35a4a8be19615516ebf1b45837867cda1a90303f.tar.gz gnunet-35a4a8be19615516ebf1b45837867cda1a90303f.zip |
- fixing Dockerfile
Diffstat (limited to 'contrib')
-rw-r--r-- | contrib/docker/Dockerfile | 105 | ||||
-rw-r--r-- | contrib/docker/README.md | 5 |
2 files changed, 53 insertions, 57 deletions
diff --git a/contrib/docker/Dockerfile b/contrib/docker/Dockerfile index adcd7132c..55f86149a 100644 --- a/contrib/docker/Dockerfile +++ b/contrib/docker/Dockerfile | |||
@@ -1,16 +1,27 @@ | |||
1 | FROM ubuntu:18.04 | 1 | FROM ubuntu:20.04 |
2 | 2 | ||
3 | ENV DEBIAN_FRONTEND noninteractive | 3 | ENV DEBIAN_FRONTEND noninteractive |
4 | 4 | ||
5 | # Install tools and dependencies | 5 | # Install tools and dependencies |
6 | RUN apt-get update && \ | 6 | RUN apt-get update |
7 | apt-get -y install --no-install-recommends \ | 7 | RUN apt-get upgrade |
8 | RUN apt-get -y install --no-install-recommends \ | ||
8 | ca-certificates \ | 9 | ca-certificates \ |
9 | libsasl2-modules \ | 10 | libsasl2-modules \ |
10 | git \ | 11 | git \ |
11 | automake \ | 12 | automake \ |
12 | autopoint \ | 13 | autopoint \ |
13 | autoconf \ | 14 | autoconf \ |
15 | recutils \ | ||
16 | make \ | ||
17 | libssl-dev \ | ||
18 | ninja-build \ | ||
19 | meson \ | ||
20 | curl \ | ||
21 | libcurl4-gnutls-dev \ | ||
22 | libsodium-dev \ | ||
23 | libsodium23 \ | ||
24 | libjansson-dev \ | ||
14 | texinfo \ | 25 | texinfo \ |
15 | libtool \ | 26 | libtool \ |
16 | libltdl-dev \ | 27 | libltdl-dev \ |
@@ -25,70 +36,54 @@ RUN apt-get update && \ | |||
25 | libgcrypt20-dev \ | 36 | libgcrypt20-dev \ |
26 | libpq-dev \ | 37 | libpq-dev \ |
27 | libsqlite3-dev \ | 38 | libsqlite3-dev \ |
28 | wget && \ | 39 | wget |
29 | apt-get clean all && \ | 40 | RUN apt-get clean all && \ |
30 | apt-get -y autoremove && \ | 41 | apt-get -y autoremove && \ |
31 | rm -rf \ | 42 | rm -rf \ |
32 | /var/lib/apt/lists/* \ | 43 | /var/lib/apt/lists/* \ |
33 | /tmp/* | 44 | /tmp/* |
34 | 45 | ||
35 | # Install GNUrl | 46 | # Install jose |
36 | ENV GNURL_VERSION=7.57.0 | 47 | RUN wget -O /tmp/jose.tar.gz https://github.com/latchset/jose/archive/refs/tags/v11.tar.gz |
37 | |||
38 | RUN wget -O /tmp/gnurl.tar.xz https://ftpmirror.gnu.org/gnu/gnunet/gnurl-${GNURL_VERSION}.tar.xz | ||
39 | RUN cd /tmp && \ | 48 | RUN cd /tmp && \ |
40 | tar xvf gnurl.tar.xz && \ | 49 | tar xvf jose.tar.gz && \ |
41 | cd gnurl-${GNURL_VERSION} && \ | 50 | cd jose-11 && \ |
42 | autoreconf -i && \ | 51 | mkdir build && \ |
43 | ./configure \ | 52 | cd build && \ |
44 | --enable-ipv6 \ | 53 | meson .. --prefix=/usr && \ |
45 | --with-gnutls \ | 54 | ninja && \ |
46 | --without-libssh2 \ | 55 | ninja install && \ |
47 | --without-libmetalink \ | 56 | cd / && \ |
48 | --without-winidn \ | 57 | rm -rf /tmp/jose-11/* |
49 | --without-librtmp \ | ||
50 | --without-nghttp2 \ | ||
51 | --without-nss \ | ||
52 | --without-cyassl \ | ||
53 | --without-polarssl \ | ||
54 | --without-ssl \ | ||
55 | --without-winssl \ | ||
56 | --without-darwinssl \ | ||
57 | --disable-sspi \ | ||
58 | --disable-ntlm-wb \ | ||
59 | --disable-ldap \ | ||
60 | --disable-rtsp \ | ||
61 | --disable-dict \ | ||
62 | --disable-telnet \ | ||
63 | --disable-tftp \ | ||
64 | --disable-pop3 \ | ||
65 | --disable-imap \ | ||
66 | --disable-smtp \ | ||
67 | --disable-gopher \ | ||
68 | --disable-file \ | ||
69 | --disable-ftp \ | ||
70 | --disable-smb && \ | ||
71 | make install && \ | ||
72 | cd - && \ | ||
73 | rm -rf /tmp/gnurl* | ||
74 | 58 | ||
75 | # Install GNUnet | 59 | # Install GNUnet |
76 | ENV GNUNET_PREFIX /usr/local/gnunet | 60 | ENV GNUNET_PREFIX=/usr/local/lib |
77 | ENV CFLAGS '-g -Wall -O0' | 61 | ENV CFLAGS '-g -Wall -O0' |
78 | 62 | ||
79 | COPY . /gnunet | 63 | COPY . /gnunet |
64 | WORKDIR /gnunet | ||
65 | RUN ./bootstrap --no-doc | ||
66 | RUN ./configure \ | ||
67 | --with-nssdir=/lib \ | ||
68 | --prefix="$GNUNET_PREFIX/.." \ | ||
69 | --enable-logging=verbose | ||
70 | RUN make -j | ||
71 | RUN make install | ||
72 | RUN ldconfig | ||
73 | WORKDIR / | ||
74 | RUN rm -rf /gnunet | ||
80 | 75 | ||
81 | RUN cd /gnunet && \ | 76 | # RUN cd /gnunet && \ |
82 | ./bootstrap && \ | 77 | # ./bootstrap && \ |
83 | ./configure \ | 78 | # ./configure \ |
84 | --with-nssdir=/lib \ | 79 | # --with-nssdir=/lib \ |
85 | --prefix="$GNUNET_PREFIX" \ | 80 | # --prefix="$GNUNET_PREFIX" \ |
86 | --enable-logging=verbose && \ | 81 | # --enable-logging=verbose && \ |
87 | make -j3 && \ | 82 | # make -j && \ |
88 | make install && \ | 83 | # make install && \ |
89 | ldconfig && \ | 84 | # ldconfig && \ |
90 | cd - && \ | 85 | # cd - && \ |
91 | rm -fr /gnunet | 86 | # rm -fr /gnunet |
92 | 87 | ||
93 | # Configure GNUnet | 88 | # Configure GNUnet |
94 | COPY ./contrib/docker/gnunet.conf /etc/gnunet.conf | 89 | COPY ./contrib/docker/gnunet.conf /etc/gnunet.conf |
diff --git a/contrib/docker/README.md b/contrib/docker/README.md index ce05012fc..66ba45d26 100644 --- a/contrib/docker/README.md +++ b/contrib/docker/README.md | |||
@@ -10,13 +10,14 @@ This will take quite a while and will consume a bit of data. | |||
10 | First you need to go to the root of this repo. | 10 | First you need to go to the root of this repo. |
11 | 11 | ||
12 | ```bash | 12 | ```bash |
13 | cd .. | 13 | cd ../.. |
14 | ``` | 14 | ``` |
15 | 15 | ||
16 | Now you can build the image. | 16 | Now you can build the image. |
17 | 17 | ||
18 | ```bash | 18 | ```bash |
19 | docker build -t gnunet . | 19 | make clean |
20 | docker build -f contrib/docker/Dockerfile -t gnunet . | ||
20 | ``` | 21 | ``` |
21 | 22 | ||
22 | ## Start it from the newly created gnunet image | 23 | ## Start it from the newly created gnunet image |