CONTRIB: move src/da.c and contrib/deviceatlas to addons/deviceatlas

Both the source file and the dummy library are now at the same place.
Maybe the build howto could be moved there as well to make things even
cleaner.

The Makefile, MAINTAINERS, doc, github build matrix, coverity checks
and travis CI's build were updated.
diff --git a/.github/matrix.py b/.github/matrix.py
index 9f4e1f6..4db8767 100644
--- a/.github/matrix.py
+++ b/.github/matrix.py
@@ -80,7 +80,7 @@
                 "WURFL_INC=contrib/wurfl",
                 "WURFL_LIB=contrib/wurfl",
                 "USE_DEVICEATLAS=1",
-                "DEVICEATLAS_SRC=contrib/deviceatlas",
+                "DEVICEATLAS_SRC=addons/deviceatlas/dummy",
                 "USE_PROMEX=1",
                 "USE_51DEGREES=1",
                 "51DEGREES_SRC=addons/51degrees/dummy/pattern",
@@ -146,7 +146,7 @@
             "WURFL_INC=contrib/wurfl",
             "WURFL_LIB=contrib/wurfl",
             "USE_DEVICEATLAS=1",
-            "DEVICEATLAS_SRC=contrib/deviceatlas",
+            "DEVICEATLAS_SRC=addons/deviceatlas/dummy",
             "USE_PROMEX=1",
             "USE_51DEGREES=1",
             "51DEGREES_SRC=addons/51degrees/dummy/pattern",
diff --git a/.github/workflows/coverity.yml b/.github/workflows/coverity.yml
index 7537ba3..12d08e6 100644
--- a/.github/workflows/coverity.yml
+++ b/.github/workflows/coverity.yml
@@ -17,7 +17,7 @@
       COVERITY_SCAN_PROJECT_NAME: 'Haproxy'
       COVERITY_SCAN_BRANCH_PATTERN: '*'
       COVERITY_SCAN_NOTIFICATION_EMAIL: 'chipitsine@gmail.com'
-      COVERITY_SCAN_BUILD_COMMAND: "make CC=clang TARGET=linux-glibc USE_ZLIB=1 USE_PCRE=1 USE_PCRE_JIT=1 USE_LUA=1 USE_OPENSSL=1 USE_SYSTEMD=1 USE_WURFL=1 WURFL_INC=contrib/wurfl WURFL_LIB=contrib/wurfl USE_DEVICEATLAS=1 DEVICEATLAS_SRC=contrib/deviceatlas USE_51DEGREES=1 51DEGREES_SRC=addons/51degrees/dummy/pattern"
+      COVERITY_SCAN_BUILD_COMMAND: "make CC=clang TARGET=linux-glibc USE_ZLIB=1 USE_PCRE=1 USE_PCRE_JIT=1 USE_LUA=1 USE_OPENSSL=1 USE_SYSTEMD=1 USE_WURFL=1 WURFL_INC=contrib/wurfl WURFL_LIB=contrib/wurfl USE_DEVICEATLAS=1 DEVICEATLAS_SRC=addons/deviceatlas/dummy USE_51DEGREES=1 51DEGREES_SRC=addons/51degrees/dummy/pattern"
     steps:
     - uses: actions/checkout@v2
     - name: Install apt dependencies
diff --git a/.travis.yml b/.travis.yml
index 3d2f280..645f7e6 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -11,7 +11,7 @@
 
 env:
   global:
-    - FLAGS="USE_ZLIB=1 USE_PCRE=1 USE_PCRE_JIT=1 USE_LUA=1 USE_OPENSSL=1 USE_SYSTEMD=1 USE_WURFL=1 WURFL_INC=contrib/wurfl WURFL_LIB=contrib/wurfl USE_DEVICEATLAS=1 DEVICEATLAS_SRC=contrib/deviceatlas USE_51DEGREES=1"
+    - FLAGS="USE_ZLIB=1 USE_PCRE=1 USE_PCRE_JIT=1 USE_LUA=1 USE_OPENSSL=1 USE_SYSTEMD=1 USE_WURFL=1 WURFL_INC=contrib/wurfl WURFL_LIB=contrib/wurfl USE_DEVICEATLAS=1 DEVICEATLAS_SRC=addons/deviceatlas/dummy USE_51DEGREES=1"
     - TMPDIR=/tmp
     - FIFTYONEDEGREES_SRC="addons/51degrees/dummy/pattern"
     - DEBUG_OPTIONS="DEBUG_STRICT=1"
diff --git a/MAINTAINERS b/MAINTAINERS
index 144cc42..ff09b08 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -28,7 +28,7 @@
 
 DeviceAtlas device identification
 Maintainer: David Carlier <dcarlier@deviceatlas.com>
-Files: src/da.c, contrib/deviceatlas, doc/DeviceAtlas-device-detection.txt
+Files: addons/deviceatlas, doc/DeviceAtlas-device-detection.txt
 
 DNS and Resolvers
 Maintainer: Emeric Brun <ebrun@haproxy.com>
diff --git a/Makefile b/Makefile
index a9e8b49..b0cfe23 100644
--- a/Makefile
+++ b/Makefile
@@ -640,7 +640,7 @@
 OPTIONS_OBJS	+= $(DEVICEATLAS_LIB)/json.o
 OPTIONS_OBJS	+= $(DEVICEATLAS_LIB)/dac.o
 endif
-OPTIONS_OBJS	+= src/da.o
+OPTIONS_OBJS	+= addons/deviceatlas/da.o
 OPTIONS_CFLAGS += $(if $(DEVICEATLAS_INC),-I$(DEVICEATLAS_INC))
 endif
 
@@ -1005,6 +1005,7 @@
 	$(Q)rm -f {admin,dev,contrib}/*/*.[oas] {admin,dev,contrib}/*/*/*.[oas] {admin,dev,contrib}/*/*/*/*.[oas]
 	$(Q)rm -f addons/promex/*.[oas]
 	$(Q)rm -f addons/51degrees/*.[oas] addons/51degrees/dummy/*.[oas] addons/51degrees/dummy/*/*.[oas]
+	$(Q)rm -f addons/deviceatlas/*.[oas] addons/deviceatlas/dummy/*.[oas]
 	$(Q)rm -f admin/iprange/iprange admin/iprange/ip6range admin/halog/halog
 	$(Q)rm -f dev/flags/flags dev/poll/poll dev/tcploop/tcploop
 	$(Q)rm -f dev/hpack/decode dev/hpack/gen-enc dev/hpack/gen-rht
diff --git a/src/da.c b/addons/deviceatlas/da.c
similarity index 100%
rename from src/da.c
rename to addons/deviceatlas/da.c
diff --git a/contrib/deviceatlas/Makefile b/addons/deviceatlas/dummy/Makefile
similarity index 65%
rename from contrib/deviceatlas/Makefile
rename to addons/deviceatlas/dummy/Makefile
index 8214b9b..8bba840 100644
--- a/contrib/deviceatlas/Makefile
+++ b/addons/deviceatlas/dummy/Makefile
@@ -1,7 +1,7 @@
 # makefile for dummy DeviceAtlas library
 #
 # To enable the DeviceAtlas module support, the following are needed
-# make TARGET=<target> DEVICEATLAS_SRC=./contrib/deviceatlas USE_PCRE=1 USE_DEVICEATLAS=1
+# make TARGET=<target> DEVICEATLAS_SRC=addons/deviceatlas/dummy USE_PCRE=1 USE_DEVICEATLAS=1
 
 build: libda.a
 
diff --git a/contrib/deviceatlas/dac.c b/addons/deviceatlas/dummy/dac.c
similarity index 100%
rename from contrib/deviceatlas/dac.c
rename to addons/deviceatlas/dummy/dac.c
diff --git a/contrib/deviceatlas/dac.h b/addons/deviceatlas/dummy/dac.h
similarity index 100%
rename from contrib/deviceatlas/dac.h
rename to addons/deviceatlas/dummy/dac.h
diff --git a/contrib/deviceatlas/json.c b/addons/deviceatlas/dummy/json.c
similarity index 100%
rename from contrib/deviceatlas/json.c
rename to addons/deviceatlas/dummy/json.c
diff --git a/doc/DeviceAtlas-device-detection.txt b/doc/DeviceAtlas-device-detection.txt
index bb4e369..9a1c9b5 100644
--- a/doc/DeviceAtlas-device-detection.txt
+++ b/doc/DeviceAtlas-device-detection.txt
@@ -13,12 +13,12 @@
 
 For HAProxy developers who need to verify that their changes didn't accidentally
 break the DeviceAtlas code, it is possible to build a dummy library provided in
-the contrib/deviceatlas directory and to use it as an alternative for the full
-library. This will not provide the full functionalities, it will just allow
+the addons/deviceatlas/dummy directory and to use it as an alternative for the
+full library. This will not provide the full functionalities, it will just allow
 haproxy to start with a deviceatlas configuration, which generally is enough to
 validate API changes :
 
-    $ make TARGET=<target> USE_PCRE=1 USE_DEVICEATLAS=1 DEVICEATLAS_SRC=$PWD/contrib/deviceatlas
+    $ make TARGET=<target> USE_PCRE=1 USE_DEVICEATLAS=1 DEVICEATLAS_SRC=$PWD/addons/deviceatlas/dummy
 
 These are supported DeviceAtlas directives (see doc/configuration.txt) :
   - deviceatlas-json-file <path to the DeviceAtlas JSON data file>.