Fossil SCM

Build "docker" images with --with-th1-docs --with-th1-hooks, but without fusefs support (not needed anyway in this environment). Optimize Dockerfile, using somewhat longer lines, so it needs less intermediate docker images during build. Build "release" version of fossil by default, not "trunk".

jan.nijtmans 2015-01-17 15:56 trunk
Commit 2621f8e530b4c8b0f7ba11e8c6213c8dd5658519
1 file changed +6 -15
+6 -15
--- Dockerfile
+++ Dockerfile
@@ -2,35 +2,26 @@
22
# Dockerfile for Fossil
33
###
44
FROM fedora:21
55
66
### Now install some additional parts we will need for the build
7
-# RUN yum update -y && yum clean all
8
-RUN yum install -y gcc make zlib-devel openssl-devel tcl-devel tar && yum clean all
9
-RUN groupadd -r fossil -g 433 && useradd -u 431 -r -g fossil -d /opt/fossil -s /sbin/nologin -c "Fossil user" fossil
7
+RUN yum update -y && yum install -y gcc make zlib-devel openssl-devel tcl-devel tar && yum clean all && groupadd -r fossil -g 433 && useradd -u 431 -r -g fossil -d /opt/fossil -s /sbin/nologin -c "Fossil user" fossil
108
11
-### If you want to build "release", change the next line accordingly.
12
-ENV FOSSIL_INSTALL_VERSION trunk
9
+### If you want to build "trunk", change the next line accordingly.
10
+ENV FOSSIL_INSTALL_VERSION release
1311
1412
RUN curl "http://www.fossil-scm.org/index.html/tarball/fossil-src.tar.gz?name=fossil-src&uuid=${FOSSIL_INSTALL_VERSION}" | tar zx
15
-RUN cd fossil-src && ./configure --lineedit=0 --json --with-tcl --with-tcl-stubs --with-tcl-private-stubs && make;
16
-RUN cp fossil-src/fossil /usr/bin
17
-RUN rm -rf fossil-src
18
-RUN chmod a+rx /usr/bin/fossil
19
-RUN mkdir -p /opt/fossil
20
-RUN chown fossil:fossil /opt/fossil
13
+RUN cd fossil-src && ./configure --disable-lineedit --disable-fusefs --json --with-th1-docs --with-th1-hooks --with-tcl --with-tcl-stubs --with-tcl-private-stubs && make;
14
+RUN cp fossil-src/fossil /usr/bin && rm -rf fossil-src && chmod a+rx /usr/bin/fossil && mkdir -p /opt/fossil && chown fossil:fossil /opt/fossil
2115
2216
### Build is done, remove modules no longer needed
2317
RUN yum remove -y gcc make zlib-devel openssl-devel tcl-devel tar && yum clean all
2418
2519
USER fossil
2620
2721
ENV HOME /opt/fossil
2822
29
-RUN fossil new --docker -A admin /opt/fossil/repository.fossil
30
-RUN fossil user password -R /opt/fossil/repository.fossil admin admin
31
-RUN fossil cache init -R /opt/fossil/repository.fossil
23
+RUN fossil new --docker -A admin /opt/fossil/repository.fossil && fossil user password -R /opt/fossil/repository.fossil admin admin && fossil cache init -R /opt/fossil/repository.fossil
3224
3325
EXPOSE 8080
3426
3527
CMD ["/usr/bin/fossil", "server", "/opt/fossil/repository.fossil"]
36
-
3728
--- Dockerfile
+++ Dockerfile
@@ -2,35 +2,26 @@
2 # Dockerfile for Fossil
3 ###
4 FROM fedora:21
5
6 ### Now install some additional parts we will need for the build
7 # RUN yum update -y && yum clean all
8 RUN yum install -y gcc make zlib-devel openssl-devel tcl-devel tar && yum clean all
9 RUN groupadd -r fossil -g 433 && useradd -u 431 -r -g fossil -d /opt/fossil -s /sbin/nologin -c "Fossil user" fossil
10
11 ### If you want to build "release", change the next line accordingly.
12 ENV FOSSIL_INSTALL_VERSION trunk
13
14 RUN curl "http://www.fossil-scm.org/index.html/tarball/fossil-src.tar.gz?name=fossil-src&uuid=${FOSSIL_INSTALL_VERSION}" | tar zx
15 RUN cd fossil-src && ./configure --lineedit=0 --json --with-tcl --with-tcl-stubs --with-tcl-private-stubs && make;
16 RUN cp fossil-src/fossil /usr/bin
17 RUN rm -rf fossil-src
18 RUN chmod a+rx /usr/bin/fossil
19 RUN mkdir -p /opt/fossil
20 RUN chown fossil:fossil /opt/fossil
21
22 ### Build is done, remove modules no longer needed
23 RUN yum remove -y gcc make zlib-devel openssl-devel tcl-devel tar && yum clean all
24
25 USER fossil
26
27 ENV HOME /opt/fossil
28
29 RUN fossil new --docker -A admin /opt/fossil/repository.fossil
30 RUN fossil user password -R /opt/fossil/repository.fossil admin admin
31 RUN fossil cache init -R /opt/fossil/repository.fossil
32
33 EXPOSE 8080
34
35 CMD ["/usr/bin/fossil", "server", "/opt/fossil/repository.fossil"]
36
37
--- Dockerfile
+++ Dockerfile
@@ -2,35 +2,26 @@
2 # Dockerfile for Fossil
3 ###
4 FROM fedora:21
5
6 ### Now install some additional parts we will need for the build
7 RUN yum update -y && yum install -y gcc make zlib-devel openssl-devel tcl-devel tar && yum clean all && groupadd -r fossil -g 433 && useradd -u 431 -r -g fossil -d /opt/fossil -s /sbin/nologin -c "Fossil user" fossil
 
 
8
9 ### If you want to build "trunk", change the next line accordingly.
10 ENV FOSSIL_INSTALL_VERSION release
11
12 RUN curl "http://www.fossil-scm.org/index.html/tarball/fossil-src.tar.gz?name=fossil-src&uuid=${FOSSIL_INSTALL_VERSION}" | tar zx
13 RUN cd fossil-src && ./configure --disable-lineedit --disable-fusefs --json --with-th1-docs --with-th1-hooks --with-tcl --with-tcl-stubs --with-tcl-private-stubs && make;
14 RUN cp fossil-src/fossil /usr/bin && rm -rf fossil-src && chmod a+rx /usr/bin/fossil && mkdir -p /opt/fossil && chown fossil:fossil /opt/fossil
 
 
 
 
15
16 ### Build is done, remove modules no longer needed
17 RUN yum remove -y gcc make zlib-devel openssl-devel tcl-devel tar && yum clean all
18
19 USER fossil
20
21 ENV HOME /opt/fossil
22
23 RUN fossil new --docker -A admin /opt/fossil/repository.fossil && fossil user password -R /opt/fossil/repository.fossil admin admin && fossil cache init -R /opt/fossil/repository.fossil
 
 
24
25 EXPOSE 8080
26
27 CMD ["/usr/bin/fossil", "server", "/opt/fossil/repository.fossil"]
 
28

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button