summaryrefslogtreecommitdiffstats
path: root/debian/patches
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches')
-rw-r--r--debian/patches/debian/0001-use-system-python.patch131
-rw-r--r--debian/patches/debian/0002-use-system-exim4.patch12
-rw-r--r--debian/patches/debian/0003-use-python3.patch29
-rw-r--r--debian/patches/debian/0004-use-sh.patch12
-rw-r--r--debian/patches/debian/0005-use-bash.patch13
-rw-r--r--debian/patches/debian/0006-remove-infographic.patch14
-rw-r--r--debian/patches/debian/0007-remove-contrib-files.patch49
-rw-r--r--debian/patches/debian/0008-remove-update-button.patch14
-rw-r--r--debian/patches/debian/0009-remove-social-media-buttons.patch16
-rw-r--r--debian/patches/debian/0010-remove-googleanalytics.patch89
-rw-r--r--debian/patches/debian/0011-remove-signin.patch24
-rw-r--r--debian/patches/debian/0012-remove-googlefonts.patch14
-rw-r--r--debian/patches/debian/0013-remove-googletagmanager.patch38
-rw-r--r--debian/patches/series15
-rw-r--r--debian/patches/upstream/0001-allow-symlinks.patch15
-rw-r--r--debian/patches/upstream/0002-fix-FTCBFS.patch17
16 files changed, 502 insertions, 0 deletions
diff --git a/debian/patches/debian/0001-use-system-python.patch b/debian/patches/debian/0001-use-system-python.patch
new file mode 100644
index 0000000..5a14159
--- /dev/null
+++ b/debian/patches/debian/0001-use-system-python.patch
@@ -0,0 +1,131 @@
+Author: Lennart Weller <lhw@ring0.de>
+Description: Ignore embedded python modules.
+
+diff -Naurp netdata.orig/collectors/python.d.plugin/Makefile.am netdata/collectors/python.d.plugin/Makefile.am
+--- netdata.orig/collectors/python.d.plugin/Makefile.am
++++ netdata/collectors/python.d.plugin/Makefile.am
+@@ -145,109 +145,3 @@ dist_third_party_DATA = \
+ python_modules/third_party/monotonic.py \
+ python_modules/third_party/filelock.py \
+ $(NULL)
+-
+-pythonyaml2dir=$(pythonmodulesdir)/pyyaml2
+-dist_pythonyaml2_DATA = \
+- python_modules/pyyaml2/__init__.py \
+- python_modules/pyyaml2/composer.py \
+- python_modules/pyyaml2/constructor.py \
+- python_modules/pyyaml2/cyaml.py \
+- python_modules/pyyaml2/dumper.py \
+- python_modules/pyyaml2/emitter.py \
+- python_modules/pyyaml2/error.py \
+- python_modules/pyyaml2/events.py \
+- python_modules/pyyaml2/loader.py \
+- python_modules/pyyaml2/nodes.py \
+- python_modules/pyyaml2/parser.py \
+- python_modules/pyyaml2/reader.py \
+- python_modules/pyyaml2/representer.py \
+- python_modules/pyyaml2/resolver.py \
+- python_modules/pyyaml2/scanner.py \
+- python_modules/pyyaml2/serializer.py \
+- python_modules/pyyaml2/tokens.py \
+- $(NULL)
+-
+-pythonyaml3dir=$(pythonmodulesdir)/pyyaml3
+-dist_pythonyaml3_DATA = \
+- python_modules/pyyaml3/__init__.py \
+- python_modules/pyyaml3/composer.py \
+- python_modules/pyyaml3/constructor.py \
+- python_modules/pyyaml3/cyaml.py \
+- python_modules/pyyaml3/dumper.py \
+- python_modules/pyyaml3/emitter.py \
+- python_modules/pyyaml3/error.py \
+- python_modules/pyyaml3/events.py \
+- python_modules/pyyaml3/loader.py \
+- python_modules/pyyaml3/nodes.py \
+- python_modules/pyyaml3/parser.py \
+- python_modules/pyyaml3/reader.py \
+- python_modules/pyyaml3/representer.py \
+- python_modules/pyyaml3/resolver.py \
+- python_modules/pyyaml3/scanner.py \
+- python_modules/pyyaml3/serializer.py \
+- python_modules/pyyaml3/tokens.py \
+- $(NULL)
+-
+-python_urllib3dir=$(pythonmodulesdir)/urllib3
+-dist_python_urllib3_DATA = \
+- python_modules/urllib3/__init__.py \
+- python_modules/urllib3/_collections.py \
+- python_modules/urllib3/connection.py \
+- python_modules/urllib3/connectionpool.py \
+- python_modules/urllib3/exceptions.py \
+- python_modules/urllib3/fields.py \
+- python_modules/urllib3/filepost.py \
+- python_modules/urllib3/response.py \
+- python_modules/urllib3/poolmanager.py \
+- python_modules/urllib3/request.py \
+- $(NULL)
+-
+-python_urllib3_utildir=$(python_urllib3dir)/util
+-dist_python_urllib3_util_DATA = \
+- python_modules/urllib3/util/__init__.py \
+- python_modules/urllib3/util/connection.py \
+- python_modules/urllib3/util/request.py \
+- python_modules/urllib3/util/response.py \
+- python_modules/urllib3/util/retry.py \
+- python_modules/urllib3/util/selectors.py \
+- python_modules/urllib3/util/ssl_.py \
+- python_modules/urllib3/util/timeout.py \
+- python_modules/urllib3/util/url.py \
+- python_modules/urllib3/util/wait.py \
+- $(NULL)
+-
+-python_urllib3_packagesdir=$(python_urllib3dir)/packages
+-dist_python_urllib3_packages_DATA = \
+- python_modules/urllib3/packages/__init__.py \
+- python_modules/urllib3/packages/ordered_dict.py \
+- python_modules/urllib3/packages/six.py \
+- $(NULL)
+-
+-python_urllib3_backportsdir=$(python_urllib3_packagesdir)/backports
+-dist_python_urllib3_backports_DATA = \
+- python_modules/urllib3/packages/backports/__init__.py \
+- python_modules/urllib3/packages/backports/makefile.py \
+- $(NULL)
+-
+-python_urllib3_ssl_match_hostnamedir=$(python_urllib3_packagesdir)/ssl_match_hostname
+-dist_python_urllib3_ssl_match_hostname_DATA = \
+- python_modules/urllib3/packages/ssl_match_hostname/__init__.py \
+- python_modules/urllib3/packages/ssl_match_hostname/_implementation.py \
+- $(NULL)
+-
+-python_urllib3_contribdir=$(python_urllib3dir)/contrib
+-dist_python_urllib3_contrib_DATA = \
+- python_modules/urllib3/contrib/__init__.py \
+- python_modules/urllib3/contrib/appengine.py \
+- python_modules/urllib3/contrib/ntlmpool.py \
+- python_modules/urllib3/contrib/pyopenssl.py \
+- python_modules/urllib3/contrib/securetransport.py \
+- python_modules/urllib3/contrib/socks.py \
+- $(NULL)
+-
+-python_urllib3_securetransportdir=$(python_urllib3_contribdir)/_securetransport
+-dist_python_urllib3_securetransport_DATA = \
+- python_modules/urllib3/contrib/_securetransport/__init__.py \
+- python_modules/urllib3/contrib/_securetransport/bindings.py \
+- python_modules/urllib3/contrib/_securetransport/low_level.py \
+- $(NULL)
+diff -Naurp netdata.orig/collectors/python.d.plugin/python_modules/bases/loaders.py netdata/collectors/python.d.plugin/python_modules/bases/loaders.py
+--- netdata.orig/collectors/python.d.plugin/python_modules/bases/loaders.py
++++ netdata/collectors/python.d.plugin/python_modules/bases/loaders.py
+@@ -9,10 +9,7 @@ from sys import version_info
+ PY_VERSION = version_info[:2]
+
+ try:
+- if PY_VERSION > (3, 1):
+- from pyyaml3 import SafeLoader as YamlSafeLoader
+- else:
+- from pyyaml2 import SafeLoader as YamlSafeLoader
++ from yaml import SafeLoader as YamlSafeLoader
+ except ImportError:
+ from yaml import SafeLoader as YamlSafeLoader
+
diff --git a/debian/patches/debian/0002-use-system-exim4.patch b/debian/patches/debian/0002-use-system-exim4.patch
new file mode 100644
index 0000000..0e23618
--- /dev/null
+++ b/debian/patches/debian/0002-use-system-exim4.patch
@@ -0,0 +1,12 @@
+Author: Sven Hartge <sven@svenhartge.de>
+Description: Debian has exim in /usr/sbin which is not in the default path.
+
+diff -Naurp netdata.orig/collectors/python.d.plugin/exim/exim.conf netdata/collectors/python.d.plugin/exim/exim.conf
+--- netdata.orig/collectors/python.d.plugin/exim/exim.conf
++++ netdata/collectors/python.d.plugin/exim/exim.conf
+@@ -88,4 +88,4 @@ update_every: 10
+ # AUTO-DETECTION JOBS
+
+ local:
+- command: 'exim -bpc'
++ command: '/usr/sbin/exim -bpc'
diff --git a/debian/patches/debian/0003-use-python3.patch b/debian/patches/debian/0003-use-python3.patch
new file mode 100644
index 0000000..e550892
--- /dev/null
+++ b/debian/patches/debian/0003-use-python3.patch
@@ -0,0 +1,29 @@
+Author: Sander Klein <debian-bugs@roedie.nl>
+Description: Debian uses by default python 2 instead of python3.
+
+diff -Naurp netdata.orig/collectors/python.d.plugin/python.d.plugin.in netdata/collectors/python.d.plugin/python.d.plugin.in
+--- netdata.orig/collectors/python.d.plugin/python.d.plugin.in
++++ netdata/collectors/python.d.plugin/python.d.plugin.in
+@@ -1,21 +1,4 @@
+-#!/usr/bin/env bash
+-'''':;
+-pybinary=$(which python || which python3 || which python2)
+-filtered=()
+-for arg in "$@"
+-do
+- case $arg in
+- -p*) pybinary=${arg:2}
+- shift 1 ;;
+- *) filtered+=("$arg") ;;
+- esac
+-done
+-if [ "$pybinary" = "" ]
+-then
+- echo "ERROR python IS NOT AVAILABLE IN THIS SYSTEM"
+- exit 1
+-fi
+-exec "$pybinary" "$0" "${filtered[@]}" # '''
++#!/usr/bin/python3
+
+ # -*- coding: utf-8 -*-
+ # Description:
diff --git a/debian/patches/debian/0004-use-sh.patch b/debian/patches/debian/0004-use-sh.patch
new file mode 100644
index 0000000..6c8e93b
--- /dev/null
+++ b/debian/patches/debian/0004-use-sh.patch
@@ -0,0 +1,12 @@
+Author: Daniel Baumann <daniel.baumann@progress-linux.org>
+Description: Fix shebang hack to not depend on bash.
+
+diff -Naurp netdata.orig/collectors/node.d.plugin/node.d.plugin.in netdata/collectors/node.d.plugin/node.d.plugin.in
+--- netdata.orig/collectors/node.d.plugin/node.d.plugin.in
++++ netdata/collectors/node.d.plugin/node.d.plugin.in
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env bash
++#!/bin/sh
+ ':' //; exec "$(command -v nodejs || command -v node || echo "ERROR node IS NOT AVAILABLE IN THIS SYSTEM")" "$0" "$@"
+
+ // shebang hack from:
diff --git a/debian/patches/debian/0005-use-bash.patch b/debian/patches/debian/0005-use-bash.patch
new file mode 100644
index 0000000..53b7fc5
--- /dev/null
+++ b/debian/patches/debian/0005-use-bash.patch
@@ -0,0 +1,13 @@
+Author: Daniel Baumann <daniel.baumann@progress-linux.org>
+Description: Using bash instead of sh for edit-config.
+ It reads /etc/profile which often contains bash specific configuration.
+
+diff -Naurp netdata.orig/system/edit-config.in netdata/system/edit-config.in
+--- netdata.orig/system/edit-config.in
++++ netdata/system/edit-config.in
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env sh
++#!/bin/bash
+
+ [ -f /etc/profile ] && . /etc/profile
+
diff --git a/debian/patches/debian/0006-remove-infographic.patch b/debian/patches/debian/0006-remove-infographic.patch
new file mode 100644
index 0000000..5a8a8af
--- /dev/null
+++ b/debian/patches/debian/0006-remove-infographic.patch
@@ -0,0 +1,14 @@
+Author: Lennart Weller <lhw@ring0.de>
+Description: Remove infographic for privacy breach reasons.
+
+diff -Naurp netdata.orig/web/gui/Makefile.am netdata/web/gui/Makefile.am
+--- netdata.orig/web/gui/Makefile.am 2019-11-28 05:53:29.205928576 +0100
++++ netdata/web/gui/Makefile.am 2019-11-28 06:00:04.581935523 +0100
+@@ -62,7 +62,6 @@ dist_web_DATA = \
+ main.css \
+ main.js \
+ console.html \
+- infographic.html \
+ robots.txt \
+ refresh-badges.js \
+ sitemap.xml \
diff --git a/debian/patches/debian/0007-remove-contrib-files.patch b/debian/patches/debian/0007-remove-contrib-files.patch
new file mode 100644
index 0000000..9c5e99b
--- /dev/null
+++ b/debian/patches/debian/0007-remove-contrib-files.patch
@@ -0,0 +1,49 @@
+Author: Lennart Weller <lhw@ring0.de>
+Description: Remove unused contrib files.
+
+diff -Naurp netdata.orig/web/gui/Makefile.am netdata/web/gui/Makefile.am
+--- netdata.orig/web/gui/Makefile.am
++++ netdata/web/gui/Makefile.am
+@@ -46,10 +46,6 @@ dist_noinst_DATA = \
+ $(NULL)
+
+ dist_web_DATA = \
+- demo.html \
+- demo2.html \
+- demosites.html \
+- demosites2.html \
+ dashboard.html \
+ dashboard.js \
+ dashboard_info.js \
+@@ -110,15 +106,6 @@ dist_webcss_DATA = \
+ css/c3-0.4.18.min.css \
+ $(NULL)
+
+-webfontsdir=$(webdir)/fonts
+-dist_webfonts_DATA = \
+- fonts/glyphicons-halflings-regular.eot \
+- fonts/glyphicons-halflings-regular.svg \
+- fonts/glyphicons-halflings-regular.ttf \
+- fonts/glyphicons-halflings-regular.woff \
+- fonts/glyphicons-halflings-regular.woff2 \
+- $(NULL)
+-
+ webimagesdir=$(webdir)/images
+ dist_webimages_DATA = \
+ images/netdata-logomark.svg \
+@@ -163,15 +150,6 @@ dashboard.js: $(DASHBOARD_JS_FILES)
+ if test -f $@; then rm -f $@; fi
+ cat $(DASHBOARD_JS_FILES) > $@.tmp && mv $@.tmp $@
+
+-webwellknowndir=$(webdir)/.well-known
+-dist_webwellknown_DATA = \
+- $(NULL)
+-
+-webdntdir=$(webdir)/.well-known/dnt
+-dist_webdnt_DATA = \
+- .well-known/dnt/cookies \
+- $(NULL)
+-
+ version.txt:
+ if test -d "$(top_srcdir)/.git"; then \
+ git --git-dir="$(top_srcdir)/.git" log -n 1 --format=%H; \
diff --git a/debian/patches/debian/0008-remove-update-button.patch b/debian/patches/debian/0008-remove-update-button.patch
new file mode 100644
index 0000000..393f48a
--- /dev/null
+++ b/debian/patches/debian/0008-remove-update-button.patch
@@ -0,0 +1,14 @@
+Author: Federico Ceratto <federico.ceratto@gmail.com>
+Description: Remove update button in web gui.
+
+diff -Naurp netdata.orig/web/gui/index.html netdata/web/gui/index.html
+--- netdata.orig/web/gui/index.html
++++ netdata/web/gui/index.html
+@@ -93,7 +93,6 @@
+ <li title="Nodes view" data-toggle="tooltip" data-placement="bottom"><a onclick="openAuthenticatedUrl('console.html');" class="btn" target="_blank"><i class="fas fa-tv"></i>&nbsp;<span class="hidden-sm hidden-md">Nodes<sup class="beta"> beta</sup></span></a></li>
+ <li id="alarmsButton" title="check the health monitoring alarms and their log" data-toggle="tooltip" data-placement="bottom"><a href="#" class="btn" data-toggle="modal" data-target="#alarmsModal"><i class="fas fa-bell"></i>&nbsp;<span class="hidden-sm hidden-md">Alarms&nbsp;</span><span id="alarms_count_badge" class="badge"></span></a></li>
+ <li title="change dashboard settings" data-toggle="tooltip" data-placement="bottom"><a href="#" class="btn" data-toggle="modal" data-target="#optionsModal"><i class="fas fa-cog"></i>&nbsp;<span class="hidden-sm hidden-md">Settings</span></a></li>
+- <li title="check for netdata updates<br/>you should keep your netdata updated" data-toggle="tooltip" data-placement="bottom" class="hidden-sm" id="updateButton"><a href="#" class="btn" data-toggle="modal" data-target="#updateModal"><i class="fas fa-cloud-download-alt"></i> <span class="hidden-sm hidden-md">Update </span><span id="update_badge" class="badge"></span></a></li>
+ <li title="the netdata wiki home at github<br/>remember to <b>give netdata a <i class=&quot;fas fa-star&quot;></i></b> !" data-toggle="tooltip" data-placement="bottom" class="hidden-xs hidden-sm hidden-md"><a href="https://github.com/netdata/netdata" class="btn" target="_blank"><i class="fab fa-github"></i></a></li>
+ <li title="follow netdata on twitter" data-toggle="tooltip" data-placement="bottom" class="hidden-xs hidden-sm hidden-md"><a href="https://twitter.com/linuxnetdata" class="btn" target="_blank"><i class="fab fa-twitter"></i></a></li>
+ <li title="like netdata on facebook" data-toggle="tooltip" data-placement="bottom" class="hidden-xs hidden-sm hidden-md"><a href="https://www.facebook.com/linuxnetdata/" class="btn" target="_blank"><i class="fab fa-facebook"></i></a></li>
diff --git a/debian/patches/debian/0009-remove-social-media-buttons.patch b/debian/patches/debian/0009-remove-social-media-buttons.patch
new file mode 100644
index 0000000..49b5891
--- /dev/null
+++ b/debian/patches/debian/0009-remove-social-media-buttons.patch
@@ -0,0 +1,16 @@
+Author: Daniel Baumann <daniel.baumann@progress-linux.org>
+Description: Remove social media buttons in web gui.
+
+diff -Naurp netdata.orig/web/gui/index.html netdata/web/gui/index.html
+--- netdata.orig/web/gui/index.html
++++ netdata/web/gui/index.html
+@@ -93,9 +93,6 @@
+ <li title="Nodes view" data-toggle="tooltip" data-placement="bottom"><a onclick="openAuthenticatedUrl('console.html');" class="btn" target="_blank"><i class="fas fa-tv"></i>&nbsp;<span class="hidden-sm hidden-md">Nodes<sup class="beta"> beta</sup></span></a></li>
+ <li id="alarmsButton" title="check the health monitoring alarms and their log" data-toggle="tooltip" data-placement="bottom"><a href="#" class="btn" data-toggle="modal" data-target="#alarmsModal"><i class="fas fa-bell"></i>&nbsp;<span class="hidden-sm hidden-md">Alarms&nbsp;</span><span id="alarms_count_badge" class="badge"></span></a></li>
+ <li title="change dashboard settings" data-toggle="tooltip" data-placement="bottom"><a href="#" class="btn" data-toggle="modal" data-target="#optionsModal"><i class="fas fa-cog"></i>&nbsp;<span class="hidden-sm hidden-md">Settings</span></a></li>
+- <li title="the netdata wiki home at github<br/>remember to <b>give netdata a <i class=&quot;fas fa-star&quot;></i></b> !" data-toggle="tooltip" data-placement="bottom" class="hidden-xs hidden-sm hidden-md"><a href="https://github.com/netdata/netdata" class="btn" target="_blank"><i class="fab fa-github"></i></a></li>
+- <li title="follow netdata on twitter" data-toggle="tooltip" data-placement="bottom" class="hidden-xs hidden-sm hidden-md"><a href="https://twitter.com/linuxnetdata" class="btn" target="_blank"><i class="fab fa-twitter"></i></a></li>
+- <li title="like netdata on facebook" data-toggle="tooltip" data-placement="bottom" class="hidden-xs hidden-sm hidden-md"><a href="https://www.facebook.com/linuxnetdata/" class="btn" target="_blank"><i class="fab fa-facebook"></i></a></li>
+ <li title="import / load a netdata snapshot" data-toggle="tooltip" data-placement="bottom" id="loadButton"><a href="#" class="btn" data-toggle="modal" data-target="#loadSnapshotModal"><i class="fas fa-download"></i>&nbsp;<span class="hidden-sm hidden-md hidden-lg">Import</span></a></li>
+ <li title="export / save a netdata snapshot" data-toggle="tooltip" data-placement="bottom" id="saveButton"><a href="#" class="btn" data-toggle="modal" data-target="#saveSnapshotModal"><i class="fas fa-upload"></i>&nbsp;<span class="hidden-sm hidden-md hidden-lg">Export</span></a></li>
+ <li title="print this dashboard to PDF" data-toggle="tooltip" data-placement="bottom" id="printButton"><a href="#" class="btn" data-toggle="modal" data-target="#printPreflightModal"><i class="fas fa-print"></i>&nbsp;<span class="hidden-sm hidden-md hidden-lg">Print</span></a></li>
diff --git a/debian/patches/debian/0010-remove-googleanalytics.patch b/debian/patches/debian/0010-remove-googleanalytics.patch
new file mode 100644
index 0000000..3bc8a4a
--- /dev/null
+++ b/debian/patches/debian/0010-remove-googleanalytics.patch
@@ -0,0 +1,89 @@
+Author: Lennart Weller <lhw@ring0.de>
+Subject: Remove googleanalytics
+
+diff -Naurp netdata.orig/web/gui/demosites2.html netdata/web/gui/demosites2.html
+--- netdata.orig/web/gui/demosites2.html 2021-02-03 14:09:31.000000000 +0100
++++ netdata/web/gui/demosites2.html 2021-02-07 13:00:35.014255664 +0100
+@@ -1096,17 +1096,4 @@
+ </div>
+ </div>
+ </body>
+-<script>
+- // google analytics when this is used for the home page of the demo sites
+- // you don't need this if you customize this dashboard for your needs
+- setTimeout(function() {
+- (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+- (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+- m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+- })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
+-
+- ga('create', 'UA-64295674-3', 'auto');
+- ga('send', 'pageview');
+- }, 2000);
+-</script>
+ </html>
+diff -Naurp netdata.orig/web/gui/demosites.html netdata/web/gui/demosites.html
+--- netdata.orig/web/gui/demosites.html 2021-02-03 14:09:31.000000000 +0100
++++ netdata/web/gui/demosites.html 2021-02-07 12:59:33.954375891 +0100
+@@ -1385,14 +1385,6 @@ p {
+ }(c)))
+ }
+
+- function o() {
+- !function (t, e, a, n, o, i) {
+- t.GoogleAnalyticsObject = n, t[n] || (t[n] = function () {
+- (t[n].q = t[n].q || []).push(arguments)
+- }), t[n].l = +new Date, o = e.createElement(a), i = e.getElementsByTagName(a)[0], o.src = "//www.google-analytics.com/analytics.js", i.parentNode.insertBefore(o, i)
+- }(t, r, "script", "ga"), ga("create", "UA-64295674-3", "auto"), ga("send", "pageview", "/site"+window.location.pathname), t.document.addEventListener("click", n)
+- }
+-
+ function i() {
+ !function (t, e, a) {
+ var n, o = t.getElementsByTagName(e)[0];
+diff -Naurp netdata.orig/web/gui/infographic.html netdata/web/gui/infographic.html
+--- netdata.orig/web/gui/infographic.html 2021-02-03 14:09:31.000000000 +0100
++++ netdata/web/gui/infographic.html 2021-02-07 13:00:20.950283510 +0100
+@@ -126,14 +126,6 @@
+ }(c)))
+ }
+
+- function o() {
+- !function (t, e, a, n, o, i) {
+- t.GoogleAnalyticsObject = n, t[n] || (t[n] = function () {
+- (t[n].q = t[n].q || []).push(arguments)
+- }), t[n].l = +new Date, o = e.createElement(a), i = e.getElementsByTagName(a)[0], o.src = "//www.google-analytics.com/analytics.js", i.parentNode.insertBefore(o, i)
+- }(t, r, "script", "ga"), ga("create", "UA-64295674-3", "auto"), ga("send", "pageview"), t.document.addEventListener("click", n)
+- }
+-
+ function i() {
+ !function (t, e, a) {
+ var n, o = t.getElementsByTagName(e)[0];
+diff -Naurp netdata.orig/web/gui/main.js netdata/web/gui/main.js
+--- netdata.orig/web/gui/main.js 2021-02-07 12:48:55.307522425 +0100
++++ netdata/web/gui/main.js 2021-02-07 13:00:13.098299018 +0100
+@@ -4460,25 +4460,6 @@ function finalizePage() {
+ if (isdemo()) {
+ // do not to give errors on netdata demo servers for 60 seconds
+ NETDATA.options.current.retries_on_data_failures = 60;
+-
+- // google analytics when this is used for the home page of the demo sites
+- // this does not run on user's installations
+- setTimeout(function () {
+- (function (i, s, o, g, r, a, m) {
+- i['GoogleAnalyticsObject'] = r;
+- i[r] = i[r] || function () {
+- (i[r].q = i[r].q || []).push(arguments)
+- }, i[r].l = 1 * new Date();
+- a = s.createElement(o),
+- m = s.getElementsByTagName(o)[0];
+- a.async = 1;
+- a.src = g;
+- m.parentNode.insertBefore(a, m)
+- })(window, document, 'script', 'https://www.google-analytics.com/analytics.js', 'ga');
+-
+- ga('create', 'UA-64295674-3', 'auto');
+- ga('send', 'pageview', '/demosite/' + window.location.host);
+- }, 2000);
+ } else {
+ notifyForUpdate();
+ }
diff --git a/debian/patches/debian/0011-remove-signin.patch b/debian/patches/debian/0011-remove-signin.patch
new file mode 100644
index 0000000..a3c68ca
--- /dev/null
+++ b/debian/patches/debian/0011-remove-signin.patch
@@ -0,0 +1,24 @@
+Author: Daniel Baumann <daniel.baumann@progress-linux.org>
+Description: Removing 'Sign In' infobar on the bottom of the screen (Closes: #930504).
+
+diff -Naurp netdata.orig/web/gui/index.html netdata/web/gui/index.html
+--- netdata.orig/web/gui/index.html
++++ netdata/web/gui/index.html
+@@ -106,17 +106,6 @@
+ <div id="navbar-highlight-content" class="navbar-highlight-content"></div>
+ </div>
+
+- <div id="sign-in-banner" style="display: none">
+- <div class="container">
+- Like what you see?
+- <strong><a href="#" class="__link" onclick="signInDidClick(event); return false">Sign in</a>
+- to experience the full-range of netdata capabilities!</strong>
+- <div class="__close" onclick="closeSignInBannerDidClick(event)">
+- Close <i class="fas fa-times"></i>
+- </div>
+- </div>
+- </div>
+-
+ <div id="masthead" style="display: none;">
+ <div class="container">
+ <div class="row">
diff --git a/debian/patches/debian/0012-remove-googlefonts.patch b/debian/patches/debian/0012-remove-googlefonts.patch
new file mode 100644
index 0000000..c5ef60a
--- /dev/null
+++ b/debian/patches/debian/0012-remove-googlefonts.patch
@@ -0,0 +1,14 @@
+Author: Daniel Baumann <daniel.baumann@progress-linux.org>
+Subject: Remove Google Fonts for privacy reasons.
+
+diff -Naurp netdata.orig/web/gui/console.html netdata/web/gui/console.html
+--- netdata.orig/web/gui/console.html
++++ netdata/web/gui/console.html
+@@ -11,7 +11,6 @@
+ <meta name="apple-mobile-web-app-capable" content="yes" />
+ <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
+ <link rel="icon" href="data:image/x-icon;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAP9JREFUeNpiYBgFo+A/w34gpiZ8DzWzAYgNiHGAA5UdgA73g+2gcyhgg/0DGQoweB6IBQYyFCCOGOBQwBMd/xnW09ERDtgcoEBHB+zHFQrz6egIBUasocDAcJ9OxWAhE4YQI8MDILmATg7wZ8QRDfQKhQf4Cie6pAVGPA4AhQKo0BCgZRAw4ZSBpIWJNI6CD4wEKikBaFqgVSgcYMIrzcjwgcahcIGRiPYCLUPBkNhWUwP9akVcoQBpatG4MsLviAIqWj6f3Absfdq2igg7IIEKDVQKEzN5ofAenJCp1I8gJRTug5tfkGIdR1FDniMI+QZUjF8Amn5htOdHCAAEGACE6B0cS6mrEwAAAABJRU5ErkJggg==" />
+- <link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons" />
+ <!-- Google Tag Manager -->
+ <script>(function (w, d, s, l, i) {
+ w[l] = w[l] || []; w[l].push({
diff --git a/debian/patches/debian/0013-remove-googletagmanager.patch b/debian/patches/debian/0013-remove-googletagmanager.patch
new file mode 100644
index 0000000..2cface0
--- /dev/null
+++ b/debian/patches/debian/0013-remove-googletagmanager.patch
@@ -0,0 +1,38 @@
+Author: Daniel Baumann <daniel.baumann@progress-linux.org>
+Subject: Remove Google Tag Manager for privacy reasons.
+
+diff -Naurp netdata.orig/web/gui/console.html netdata/web/gui/console.html
+--- netdata.orig/web/gui/console.html
++++ netdata/web/gui/console.html
+@@ -11,18 +11,6 @@
+ <meta name="apple-mobile-web-app-capable" content="yes" />
+ <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
+ <link rel="icon" href="data:image/x-icon;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAP9JREFUeNpiYBgFo+A/w34gpiZ8DzWzAYgNiHGAA5UdgA73g+2gcyhgg/0DGQoweB6IBQYyFCCOGOBQwBMd/xnW09ERDtgcoEBHB+zHFQrz6egIBUasocDAcJ9OxWAhE4YQI8MDILmATg7wZ8QRDfQKhQf4Cie6pAVGPA4AhQKo0BCgZRAw4ZSBpIWJNI6CD4wEKikBaFqgVSgcYMIrzcjwgcahcIGRiPYCLUPBkNhWUwP9akVcoQBpatG4MsLviAIqWj6f3Absfdq2igg7IIEKDVQKEzN5ofAenJCp1I8gJRTug5tfkGIdR1FDniMI+QZUjF8Amn5htOdHCAAEGACE6B0cS6mrEwAAAABJRU5ErkJggg==" />
+- <!-- Google Tag Manager -->
+- <script>(function (w, d, s, l, i) {
+- w[l] = w[l] || []; w[l].push({
+- 'gtm.start':
+- new Date().getTime(), event: 'gtm.js'
+- }); var f = d.getElementsByTagName(s)[0],
+- j = d.createElement(s), dl = l != 'dataLayer' ? '&l=' + l : ''; j.async = true; j.src =
+- 'https://www.googletagmanager.com/gtm.js?id=' + i + dl; f.parentNode.insertBefore(j, f);
+- })(window, document, 'script', 'dataLayer', 'GTM-N6CBMJD');
+- window.dataLayer = window.dataLayer || [];
+- </script>
+- <!-- End Google Tag Manager -->
+ <script>
+ function loadJSFile(filename) {
+ const s = document.createElement("script")
+@@ -46,12 +34,6 @@
+ </head>
+
+ <body class="mdc-theme--background mdc-typography">
+- <!-- Google Tag Manager (noscript) -->
+- <noscript>
+- <iframe src="https://www.googletagmanager.com/ns.html?id=GTM-N6CBMJD" height="0" width="0"
+- style="display:none;visibility:hidden"></iframe>
+- </noscript>
+- <!-- End Google Tag Manager (noscript) -->
+ <main id="app" class="console-app" data-host="agent"></main>
+ <script>
+ const main = document.getElementById("app")
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..0be909b
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1,15 @@
+debian/0001-use-system-python.patch
+debian/0002-use-system-exim4.patch
+debian/0003-use-python3.patch
+debian/0004-use-sh.patch
+debian/0005-use-bash.patch
+debian/0006-remove-infographic.patch
+debian/0007-remove-contrib-files.patch
+debian/0008-remove-update-button.patch
+debian/0009-remove-social-media-buttons.patch
+debian/0010-remove-googleanalytics.patch
+debian/0011-remove-signin.patch
+debian/0012-remove-googlefonts.patch
+debian/0013-remove-googletagmanager.patch
+upstream/0001-allow-symlinks.patch
+upstream/0002-fix-FTCBFS.patch
diff --git a/debian/patches/upstream/0001-allow-symlinks.patch b/debian/patches/upstream/0001-allow-symlinks.patch
new file mode 100644
index 0000000..7df915f
--- /dev/null
+++ b/debian/patches/upstream/0001-allow-symlinks.patch
@@ -0,0 +1,15 @@
+Author: Lennart Weller <lhw@ring0.de>
+Description: Remove file serve restrictions for symlinks.
+
+diff -Naurp netdata.orig/web/server/web_client.c netdata/web/server/web_client.c
+--- netdata.orig/web/server/web_client.c
++++ netdata/web/server/web_client.c
+@@ -381,7 +381,7 @@ int mysendfile(struct web_client *w, cha
+ int done = 0;
+ while(!done) {
+ // check if the file exists
+- if (lstat(webfilename, &statbuf) != 0) {
++ if (stat(webfilename, &statbuf) != 0) {
+ debug(D_WEB_CLIENT_ACCESS, "%llu: File '%s' is not found.", w->id, webfilename);
+ w->response.data->contenttype = CT_TEXT_HTML;
+ buffer_strcat(w->response.data, "File does not exist, or is not accessible: ");
diff --git a/debian/patches/upstream/0002-fix-FTCBFS.patch b/debian/patches/upstream/0002-fix-FTCBFS.patch
new file mode 100644
index 0000000..10cf18f
--- /dev/null
+++ b/debian/patches/upstream/0002-fix-FTCBFS.patch
@@ -0,0 +1,17 @@
+Author: Helmut Grohne <helmut@subdivi.de>
+Description: Fixes FTCBFS by not abusing AC_CHECK_FILE (Closes: #982523).
+
+diff -Naurp netdata.orig/configure.ac netdata/configure.ac
+--- netdata.orig/configure.ac
++++ netdata/configure.ac
+@@ -1025,8 +1025,8 @@ if test "${build_target}" = "linux" -a "
+ [#include <linux/bpf.h>]
+ )
+
+- AC_CHECK_FILE(
+- externaldeps/libbpf/libbpf.a,
++ AS_IF(
++ [test -e externaldeps/libbpf/libbpf.a],
+ [have_libbpf=yes],
+ [have_libbpf=no]
+ )