From 54df98c780eec454a4ac0a9357c7e7a8a837c0b9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Lo=C3=AFc=20Hoguin?= <essen@ninenines.eu>
Date: Mon, 26 Nov 2018 15:19:58 +0100
Subject: Add a guide section about dealing with duplicate modules

While the solution is not the best we could do it's better
than nothing.
---
 doc/src/guide/deps.asciidoc | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

(limited to 'doc/src/guide/deps.asciidoc')

diff --git a/doc/src/guide/deps.asciidoc b/doc/src/guide/deps.asciidoc
index 47e1bee..3ba7a39 100644
--- a/doc/src/guide/deps.asciidoc
+++ b/doc/src/guide/deps.asciidoc
@@ -515,6 +515,28 @@ projects using the `NO_AUTOPATCH` variable:
 [source,make]
 NO_AUTOPATCH = cowboy ranch cowlib
 
+=== Dealing with duplicate modules
+
+When there are duplicate modules found in both applications
+and their dependencies, some tasks may fail. Erlang expects
+modules to be unique in general.
+
+When the duplicates are found in dependencies, you will need
+to remove one of the duplicates at fetch time. To do so, you
+can add a rule similar to this to your Makefile before including
+'erlang.mk':
+
+[source,make]
+----
+DEPS_DIR = $(CURDIR)/deps
+
+deps:: $(DEPS_DIR)/cowlib
+	$(verbose) rm -f $(DEPS_DIR)/cowlib/src/cow_ws.erl
+----
+
+This must be done from the application that has this dependency.
+Only define the `DEPS_DIR` variable if necessary.
+
 === Skipping deps
 
 It is possible to temporarily skip all dependency operations.
-- 
cgit v1.2.3

