From 551f585b3a9b253a0ad859e7e16165e8edb53f25 Mon Sep 17 00:00:00 2001
From: Gilles Filippini <pini@debian.org>
Date: Sun, 14 May 2023 16:20:45 +0200
Subject: [PATCH] docker: include .gitignore into .dockerignore

This is to prevent the result of previous in place builds to interfere with
the docker image build.
---
 .dockerignore     | 70 +++++++++++++++++++++++++++++++++++++++++++++++
 dockerignore.make | 44 +++++++++++++++++++++++++++++
 2 files changed, 114 insertions(+)
 create mode 100755 dockerignore.make

diff --git a/.dockerignore b/.dockerignore
index ab8aaa028..ff7192937 100644
--- a/.dockerignore
+++ b/.dockerignore
@@ -1,5 +1,75 @@
+# Do not edit this file. It is generated from this command:
+# ./dockerignore.make
+
 .cargo
 .git*
 doc
+dockerignore.make
 gui
 test
+
+# ------------------
+# .gitignore content
+# ------------------
+
+*.sublime*
+node_modules/
+*.html
+npm-debug.log
+bin/jpgp*.jar
+.idea/
+gui/nw
+
+# Vim swap files
+*~
+*.swp
+*.swo
+
+# Vagrant
+.vagrant/
+vagrant/*.log
+vagrant/duniter
+
+# Python compiled
+*.pyc
+
+# Releases
+/work
+*.deb
+*.tar.gz
+*.log
+*.exe
+
+# vscode
+.vscode
+
+# istanbul
+.nyc_output
+coverage/
+
+# typecode
+typedoc/
+
+# files generated by tsc
+/index.js*
+/index.d.ts
+/server.js*
+/server.d.ts
+*/**/*.js*
+app/**/*.d.ts
+neon/lib/*.d.ts
+test/**/*.d.ts
+
+# files generated by neon
+neon/native/artifacts.json
+
+# rust binaries
+bin/duniter
+neon/native/index.node
+target
+
+# files generated by rust tests
+neon/native/tests/*.txt
+neon/native/tests/wotb-*
+test2.bin.gz
+**/*.wot
diff --git a/dockerignore.make b/dockerignore.make
new file mode 100755
index 000000000..19c4721f5
--- /dev/null
+++ b/dockerignore.make
@@ -0,0 +1,44 @@
+#!/usr/bin/make -f
+
+define newline
+
+
+endef
+
+define echomultiline
+	/usr/bin/echo -e '$(subst $(newline),\n,$1)'
+endef
+
+define HEADER
+# Do not edit this file. It is generated from this command:
+# ./dockerignore.make
+
+endef
+
+define DOCKERIGNORE
+.cargo
+.git*
+doc
+dockerignore.make
+gui
+test
+endef
+
+define GITIGNORE_HEADER
+
+# ------------------
+# .gitignore content
+# ------------------
+
+endef
+
+all: .dockerignore
+
+.PHONY: .dockerignore
+
+.dockerignore: .gitignore
+	$(call echomultiline,$(HEADER)) >$@.tmp
+	$(call echomultiline,$(DOCKERIGNORE)) >>$@.tmp
+	$(call echomultiline,$(GITIGNORE_HEADER)) >>$@.tmp
+	cat .gitignore >>$@.tmp
+	mv $@.tmp $@
-- 
GitLab