summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2019-01-02 13:10:55 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2019-01-27 18:38:26 +0000
commit164f02b208b26232750eadbc6d64ceeeefa38b40 (patch)
tree7569d82114aa6321eaf895c87ef8e090e680eb0f
parentRenumbering patches. (diff)
downloadnetdata-164f02b208b26232750eadbc6d64ceeeefa38b40.tar.xz
netdata-164f02b208b26232750eadbc6d64ceeeefa38b40.zip
Adding netdata-core-no-sse on i386 with sse2 optimizations turned off.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
-rw-r--r--debian/TODO2
-rw-r--r--debian/control48
l---------debian/netdata-core-no-sse.dirs1
l---------debian/netdata-core-no-sse.docs1
l---------debian/netdata-core-no-sse.install1
-rw-r--r--debian/netdata-core-no-sse.lintian-overrides6
l---------debian/netdata-core-no-sse.maintscript1
l---------debian/netdata-core-no-sse.manpages1
l---------debian/netdata-core-no-sse.netdata.init1
l---------debian/netdata-core-no-sse.netdata.logrotate1
l---------debian/netdata-core-no-sse.netdata.service1
l---------debian/netdata-core-no-sse.postinst1
l---------debian/netdata-core-no-sse.postrm1
-rwxr-xr-xdebian/rules57
14 files changed, 111 insertions, 12 deletions
diff --git a/debian/TODO b/debian/TODO
index 27fd1b5d9..2c514d008 100644
--- a/debian/TODO
+++ b/debian/TODO
@@ -7,7 +7,7 @@
* rethink package splitting, i.e. something like...
- netdata: meta package, depending on netdata-daemon, netdata-web
- netdata-daemon: just the daemon and systemd/init integration, -O3 and sse2
- - netdata-daemon-legacy: daemon compiled with -O2 and without sse2 etc.
+ - netdata-daemon-no-sse: daemon compiled with -O2 and without sse2 etc.
- netdata-web: webfrontend, not needed on small devices
- netdata-common: plugins, checks, etc (everything arch all).
diff --git a/debian/control b/debian/control
index fa759f168..b2114272a 100644
--- a/debian/control
+++ b/debian/control
@@ -21,7 +21,7 @@ Package: netdata
Section: net
Architecture: all
Depends:
- netdata-core (=${source:Version}),
+ netdata-core (=${source:Version}) | netdata-core-no-sse (=${source:Version}),
netdata-plugins-bash (=${source:Version}),
netdata-web (=${source:Version}),
${misc:Depends},
@@ -47,8 +47,13 @@ Pre-Depends:
Depends:
libcap2-bin,
lsb-base,
+ sse2-support,
${misc:Depends},
${shlibs:Depends},
+Conflicts:
+ netdata-core-no-sse,
+Replaces:
+ netdata-core-no-sse,
Recommends:
curl,
Breaks:
@@ -58,7 +63,34 @@ Description: real-time performance monitoring (core)
systems and applications. It provides insights of everything happening on the
systems it runs using interactive web dashboards.
.
- This package contains the minimal core.
+ This package contains the minimal core build with SSE2 optimizations for
+ current systems.
+
+Package: netdata-core-no-sse
+Section: net
+Architecture: i386
+Pre-Depends:
+ ${misc:Pre-Depends},
+Depends:
+ libcap2-bin,
+ lsb-base,
+ ${misc:Depends},
+ ${shlibs:Depends},
+Conflicts:
+ netdata-core,
+Replaces:
+ netdata-core,
+Recommends:
+ curl,
+Breaks:
+ netdata (<< 1.11.1+dfsg-3~),
+Description: real-time performance monitoring (core, no-sse build)
+ Netdata is distributed, real-time, performance and health monitoring for
+ systems and applications. It provides insights of everything happening on the
+ systems it runs using interactive web dashboards.
+ .
+ This package contains the minimal core build without SSE2 optimizations for
+ old systems. If unsure, use netdata-core instead.
Package: netdata-plugins-bash
Section: net
@@ -66,12 +98,13 @@ Architecture: all
Multi-Arch: foreign
Depends:
bash,
- netdata-core (=${source:Version}),
+ netdata-core (=${source:Version}) | netdata-core-no-sse (=${source:Version}),
${misc:Depends},
Suggests:
fping,
Enhances:
netdata-core,
+ netdata-core-no-sse,
Description: real-time performance monitoring (bash plugins)
Netdata is distributed, real-time, performance and health monitoring for
systems and applications. It provides insights of everything happening on the
@@ -84,11 +117,12 @@ Section: net
Architecture: all
Multi-Arch: foreign
Depends:
- netdata-core (=${source:Version}),
+ netdata-core (=${source:Version}) | netdata-core-no-sse (=${source:Version}),
nodejs,
${misc:Depends},
Enhances:
netdata-core,
+ netdata-core-no-sse,
Description: real-time performance monitoring (nodejs plugins)
Netdata is distributed, real-time, performance and health monitoring for
systems and applications. It provides insights of everything happening on the
@@ -101,7 +135,7 @@ Section: net
Architecture: all
Multi-Arch: foreign
Depends:
- netdata-core (=${source:Version}),
+ netdata-core (=${source:Version}) | netdata-core-no-sse (=${source:Version}),
python3,
python3-six,
python3-urllib3 (>= 1.22),
@@ -109,6 +143,7 @@ Depends:
${misc:Depends},
Enhances:
netdata-core,
+ netdata-core-no-sse,
Description: real-time performance monitoring (python plugins)
Netdata is distributed, real-time, performance and health monitoring for
systems and applications. It provides insights of everything happening on the
@@ -122,7 +157,7 @@ Architecture: all
Depends:
fonts-font-awesome,
libjs-bootstrap,
- netdata-core (=${source:Version}),
+ netdata-core (=${source:Version}) | netdata-core-no-sse (=${source:Version}),
${misc:Depends},
Conflicts:
netdata-data,
@@ -130,6 +165,7 @@ Replaces:
netdata-data,
Enhances:
netdata-core,
+ netdata-core-no-sse,
Description: real-time performance monitoring (web)
Netdata is distributed, real-time, performance and health monitoring for
systems and applications. It provides insights of everything happening on the
diff --git a/debian/netdata-core-no-sse.dirs b/debian/netdata-core-no-sse.dirs
new file mode 120000
index 000000000..05b68142c
--- /dev/null
+++ b/debian/netdata-core-no-sse.dirs
@@ -0,0 +1 @@
+netdata-core.dirs \ No newline at end of file
diff --git a/debian/netdata-core-no-sse.docs b/debian/netdata-core-no-sse.docs
new file mode 120000
index 000000000..543b6cb1a
--- /dev/null
+++ b/debian/netdata-core-no-sse.docs
@@ -0,0 +1 @@
+netdata-core.docs \ No newline at end of file
diff --git a/debian/netdata-core-no-sse.install b/debian/netdata-core-no-sse.install
new file mode 120000
index 000000000..0392bb314
--- /dev/null
+++ b/debian/netdata-core-no-sse.install
@@ -0,0 +1 @@
+netdata-core.install \ No newline at end of file
diff --git a/debian/netdata-core-no-sse.lintian-overrides b/debian/netdata-core-no-sse.lintian-overrides
new file mode 100644
index 000000000..ee908859c
--- /dev/null
+++ b/debian/netdata-core-no-sse.lintian-overrides
@@ -0,0 +1,6 @@
+# See Debian policy 10.9. apps.plugin has extra capabilities, so don't let
+# normal users run it.
+netdata-core-no-sse: non-standard-executable-perm usr/lib/*/netdata/plugins.d/apps.plugin 0754 != 0755
+
+# freeipmi plugin
+netdata-core-no-sse: setuid-binary usr/lib/x86_64-linux-gnu/netdata/plugins.d/freeipmi.plugin 4754 root/root
diff --git a/debian/netdata-core-no-sse.maintscript b/debian/netdata-core-no-sse.maintscript
new file mode 120000
index 000000000..172440be6
--- /dev/null
+++ b/debian/netdata-core-no-sse.maintscript
@@ -0,0 +1 @@
+netdata-core.maintscript \ No newline at end of file
diff --git a/debian/netdata-core-no-sse.manpages b/debian/netdata-core-no-sse.manpages
new file mode 120000
index 000000000..a1bcd67c9
--- /dev/null
+++ b/debian/netdata-core-no-sse.manpages
@@ -0,0 +1 @@
+netdata-core.manpages \ No newline at end of file
diff --git a/debian/netdata-core-no-sse.netdata.init b/debian/netdata-core-no-sse.netdata.init
new file mode 120000
index 000000000..127fb0a0b
--- /dev/null
+++ b/debian/netdata-core-no-sse.netdata.init
@@ -0,0 +1 @@
+netdata-core.netdata.init \ No newline at end of file
diff --git a/debian/netdata-core-no-sse.netdata.logrotate b/debian/netdata-core-no-sse.netdata.logrotate
new file mode 120000
index 000000000..c3eda3bf7
--- /dev/null
+++ b/debian/netdata-core-no-sse.netdata.logrotate
@@ -0,0 +1 @@
+netdata-core.netdata.logrotate \ No newline at end of file
diff --git a/debian/netdata-core-no-sse.netdata.service b/debian/netdata-core-no-sse.netdata.service
new file mode 120000
index 000000000..d1c2116e0
--- /dev/null
+++ b/debian/netdata-core-no-sse.netdata.service
@@ -0,0 +1 @@
+netdata-core.netdata.service \ No newline at end of file
diff --git a/debian/netdata-core-no-sse.postinst b/debian/netdata-core-no-sse.postinst
new file mode 120000
index 000000000..1199fe923
--- /dev/null
+++ b/debian/netdata-core-no-sse.postinst
@@ -0,0 +1 @@
+netdata-core.postinst \ No newline at end of file
diff --git a/debian/netdata-core-no-sse.postrm b/debian/netdata-core-no-sse.postrm
new file mode 120000
index 000000000..6f58bdaff
--- /dev/null
+++ b/debian/netdata-core-no-sse.postrm
@@ -0,0 +1 @@
+netdata-core.postrm \ No newline at end of file
diff --git a/debian/rules b/debian/rules
index f30e70131..6ad8b2309 100755
--- a/debian/rules
+++ b/debian/rules
@@ -2,6 +2,8 @@
TOP = $(CURDIR)/debian/netdata
+PACKAGES := $(shell dh_listpackages -a)
+
VERSION := $(shell dpkg-parsechangelog -SVersion)
VERSION_MAJOR := $(word 1, $(subst ., ,$(VERSION)))
VERSION_MINOR := $(word 2, $(subst ., ,$(VERSION)))
@@ -38,14 +40,52 @@ override_dh_autoreconf_clean:
dh_autoreconf_clean
+override_dh_auto_clean:
+ dh_auto_clean
+
+ rm -rf build-optimized
+ rm -rf build-no-sse debian/tmp-no-sse
+
override_dh_auto_configure:
- dh_auto_configure -- --libdir=/usr/lib --libexecdir=/usr/lib --disable-x86-sse --enable-plugin-freeipmi --with-math
+ mkdir -p build-optimized
+ dh_auto_configure -B build-optimized -- --libdir=/usr/lib --libexecdir=/usr/lib --enable-x86-sse --enable-plugin-freeipmi --with-math
+ cp -a web/gui/src build-optimized/web/gui
+
+ifdef $(findstring no-sse,$(PACKAGES))
+ mkdir -p build-no-sse
+ dh_auto_configure -B build-no-sse -- --libdir=/usr/lib --libexecdir=/usr/lib --disable-x86-sse --disable-plugin-freeipmi --with-math
+ cp -a web/gui/src build-no-sse/web/gui
+endif
+
+override_dh_auto_build:
+ dh_auto_build -B build-optimized
+
+ifdef $(findstring no-sse,$(PACKAGES))
+ dh_auto_build -B build-no-sse
+endif
+
+override_dh_auto_install:
+ dh_auto_install -B build-optimized -- DESTDIR=$(CURDIR)/debian/tmp
+
+ifdef $(findstring no-sse,$(PACKAGES))
+ dh_auto_install -B build-no-sse -- DESTDIR=$(CURDIR)/debian/tmp-no-sse
+endif
override_dh_install:
- # Remove unneeded .keep files
- find debian/tmp -name .keep -delete
+ifdef $(findstring no-sse,$(PACKAGES))
+ find debian/tmp-no-sse -name .keep -delete
+ dh_install -p netdata-core-no-sse --sourcedir=debian/tmp-no-sse
- dh_install
+ mkdir -p $(TOP)-core-no-sse/usr/lib/netdata/plugins.d
+ for plugin in cgroup-network apps.plugin freeipmi.plugin; \
+ do \
+ cp debian/tmp-no-sse/usr/lib/netdata/plugins.d/$${plugin} \
+ $(TOP)-core-no-sse/usr/lib/netdata/plugins.d; \
+ done
+endif
+
+ find debian/tmp -name .keep -delete
+ dh_install --remaining-packages
# Move architecture dependent plugins
mkdir -p $(TOP)-core/usr/lib/netdata/plugins.d
@@ -76,14 +116,17 @@ override_dh_install-indep:
override_dh_installinit:
dh_installinit -p netdata-core --name=netdata
+ dh_installinit -p netdata-core-no-sse --name=netdata
dh_installinit --remaining-packages
override_dh_installsystemd:
dh_installsystemd -p netdata-core --name=netdata
- dh_installsystemd --remaining-packages
+ dh_installsystemd -p netdata-core-no-sse --name=netdata
+ dh_installinit --remaining-packages
override_dh_installlogrotate:
dh_installlogrotate -p netdata-core --name=netdata
+ dh_installlogrotate -p netdata-core-no-sse --name=netdata
dh_installlogrotate --remaining-packages
override_dh_missing:
@@ -96,6 +139,10 @@ override_dh_fixperms-arch:
# given extra capabilities in the postinst script.
chmod 0754 $(TOP)-core/usr/lib/netdata/plugins.d/apps.plugin
chmod 4754 $(TOP)-core/usr/lib/netdata/plugins.d/freeipmi.plugin
+ifdef $(findstring no-sse,$(PACKAGES))
+ chmod 0754 $(TOP)-core-no-sse/usr/lib/netdata/plugins.d/apps.plugin
+ chmod 4754 $(TOP)-core-no-sse/usr/lib/netdata/plugins.d/freeipmi.plugin
+endif
chmod 0644 $(TOP)-plugins-bash/usr/lib/netdata/charts.d/*.sh
chmod 0644 $(TOP)-plugins-bash/usr/lib/netdata/plugins.d/*.sh.inc
chmod 0644 $(TOP)-plugins-python/usr/lib/netdata/python.d/*.py