]> granicus.if.org Git - jq/commitdiff
Dockerfile: Fetch dependency as git submodule
authorMattias Hansson <hansson.mattias@gmail.com>
Thu, 28 Mar 2019 20:45:29 +0000 (21:45 +0100)
committerNico Williams <nico@cryptonector.com>
Fri, 29 Mar 2019 13:19:41 +0000 (08:19 -0500)
Fetch oniguruma using git submodule instead of a release tarball. It
will fix a build problem, caused by jq's autotools configuration, trying
to run `make distclean` recursively in an empty modules directory. This
will also improve the maintainability of the Dockerfile.

Dockerfile

index ef737a657282f6ab46674d8bd1b0d5ae1d65c1bf..e6ce6daae4f35c271a9f637ca7ba3fa45b3eed25 100644 (file)
@@ -21,25 +21,18 @@ RUN apt-get update && \
         python3 \
         python3-pip \
         wget && \
-    wget https://github.com/kkos/oniguruma/archive/v5.9.6.tar.gz -O onig-5.9.6.tar.gz && \
-    sha512sum onig-5.9.6.tar.gz | grep 6b048d345e148c9da38af7a8df76d4a358eb3d4db91fa7834076e511f526a63544284f212b0d56badbbd33112c8b458a5fff02bfbbda012ecfe478bc436ea679 && \
-    tar zxvf onig-5.9.6.tar.gz && \
-    (cd oniguruma-5.9.6 && \
-        touch NEWS ChangeLog && \
-        autoreconf -i && \
-        ./configure --prefix=/usr/local && \
-        make && \
-        make install ) && \
     pip3 install pipenv && \
     (cd /app/docs && pipenv sync) && \
     (cd /app && \
+        git submodule init && \
+        git submodule update && \
         autoreconf -i && \
         ./configure --disable-valgrind --enable-all-static --prefix=/usr/local && \
         make -j8 && \
         make check && \
         make install && \
         make distclean ) && \
-    (cd oniguruma-5.9.6 && \
+    (cd /app/modules/oniguruma && \
         make uninstall ) && \
     apt-get purge -y \
         build-essential \
@@ -51,7 +44,9 @@ RUN apt-get update && \
         python3 \
         python3-pip && \
     apt-get autoremove -y && \
-    rm -rf oniguruma-5.9.6 && \
+    rm -rf /app/modules/oniguruma/* && \
+    rm -rf /app/modules/oniguruma/.git && \
+    rm -rf /app/modules/oniguruma/.gitignore && \
     rm -rf /var/lib/apt/lists/* /var/lib/gems
 
 ENTRYPOINT ["/usr/local/bin/jq"]