cmake: make WEB_DIR configurable (#16638)
Ilya Mashchenko committed
Dec 20, 2023 at 22:27 UTC
54169feabd246fdd03f365212572e3b567e33fba
6 files changed
+54
-44
CMakeLists.txt
+19
-10
@@ -1744,9 +1744,18 @@ set(CONFIG_DIR "${CMAKE_INSTALL_PREFIX}/etc/netdata")
1744
set(LIBCONFIG_DIR "${CMAKE_INSTALL_PREFIX}/usr/lib/netdata/conf.d")
1745
set(LOG_DIR "${CMAKE_INSTALL_PREFIX}/var/log/netdata")
1746
set(PLUGINS_DIR "${CMAKE_INSTALL_PREFIX}/usr/libexec/netdata/plugins.d")
1747
-set(WEB_DIR "${CMAKE_INSTALL_PREFIX}/usr/share/netdata/web")
1747
set(VARLIB_DIR "${CMAKE_INSTALL_PREFIX}/var/lib/netdata")
1748
1749
+# A non-default value is only used when building Debian packages (/var/lib/netdata/www)
1750
+if(NOT DEFINED WEB_DIR)
1751
+ set(WEB_DIR "usr/share/netdata/web")
1752
+else()
1753
+ string(REGEX REPLACE "^/" "" WEB_DIR "${WEB_DIR}")
1754
+endif()
1755
+set(WEB_DEST "${WEB_DIR}")
1756
+set(WEB_DIR "${CMAKE_INSTALL_PREFIX}/${WEB_DEST}")
1757
+
1758
+
1759
set(CONFIGURE_COMMAND "dummy-configure-command")
1760
if (NOT NETDATA_USER)
1761
set(NETDATA_USER "netdata")
@@ -1777,7 +1786,7 @@ install(DIRECTORY DESTINATION etc/netdata/ssl)
1786
install(DIRECTORY DESTINATION etc/netdata/statsd.d)
1787
install(DIRECTORY DESTINATION usr/lib/netdata/conf.d)
1788
install(DIRECTORY DESTINATION usr/libexec/netdata/plugins.d)
1780
-install(DIRECTORY DESTINATION usr/share/netdata/web)
1789
+install(DIRECTORY DESTINATION ${WEB_DEST})
1790
1791
set(libsysdir_POST "${CMAKE_INSTALL_PREFIX}/usr/lib/netdata/system")
1792
set(pkglibexecdir_POST "${CMAKE_INSTALL_PREFIX}/usr/libexec/netdata")
@@ -1852,7 +1861,7 @@ install(FILES streaming/stream.conf
1861
#
1862
install(FILES web/api/netdata-swagger.json
1863
web/api/netdata-swagger.yaml
1855
- DESTINATION usr/share/netdata/web)
1864
+ DESTINATION ${WEB_DEST})
1865
1866
#
1867
# service files
@@ -2175,7 +2184,7 @@ endforeach()
2184
configure_file(${CMAKE_BINARY_DIR}/dashboard.js.in
2185
${CMAKE_BINARY_DIR}/dashboard.js COPYONLY)
2186
2178
-install(FILES ${CMAKE_BINARY_DIR}/dashboard.js DESTINATION usr/share/netdata/web)
2187
+install(FILES ${CMAKE_BINARY_DIR}/dashboard.js DESTINATION ${WEB_DEST})
2188
2189
install(FILES web/gui/dashboard_info_custom_example.js
2190
web/gui/dashboard_info.js
@@ -2187,19 +2196,19 @@ install(FILES web/gui/dashboard_info_custom_example.js
2196
web/gui/registry-hello.html
2197
web/gui/switch.html
2198
web/gui/ilove.html
2190
- DESTINATION usr/share/netdata/web)
2199
+ DESTINATION ${WEB_DEST})
2200
2192
-install(FILES web/gui/old/index.html DESTINATION usr/share/netdata/web/old)
2201
+install(FILES web/gui/old/index.html DESTINATION ${WEB_DEST}/old)
2202
2194
-install(FILES web/gui/static/img/netdata-logomark.svg DESTINATION usr/share/netdata/web/static/img)
2203
+install(FILES web/gui/static/img/netdata-logomark.svg DESTINATION ${WEB_DEST}/static/img)
2204
2205
install(FILES web/gui/css/morris-0.5.1.css
2206
web/gui/css/c3-0.4.18.min.css
2198
- DESTINATION usr/share/netdata/web/css)
2207
+ DESTINATION ${WEB_DEST}/css)
2208
2209
install(FILES web/gui/.well-known/dnt/cookies
2201
- DESTINATION usr/share/netdata/web/.well-known/dnt)
2210
+ DESTINATION ${WEB_DEST}/.well-known/dnt)
2211
2212
# v0 dashboard
2213
install(FILES web/gui/v0/index.html
2205
- DESTINATION usr/share/netdata/web/v0)
2214
+ DESTINATION ${WEB_DEST}/v0)
contrib/debian/rules
+1
@@ -55,6 +55,7 @@ override_dh_auto_configure:
55
fi
56
dh_auto_configure -- -G Ninja \
57
-DCMAKE_INSTALL_PREFIX=/ \
58
+ -DWEB_DIR=/var/lib/netdata/www \
59
-DENABLE_ACLK=On \
60
-DENABLE_CLOUD=On \
61
-DENABLE_DBENGINE=On \
web/gui/cmake_dashboard_v1.py
+9
-9
@@ -17,15 +17,15 @@ BASEPATH = Path('v1')
17
URLTEMPLATE = 'https://github.com/netdata/dashboard/releases/download/{0}/dashboard.tar.gz'
18
19
CMAKETEMPLATE = '''
20
- install(FILES {0} DESTINATION usr/share/netdata/web)
21
- install(FILES {1} DESTINATION usr/share/netdata/web/css)
22
- install(FILES {2} DESTINATION usr/share/netdata/web/fonts)
23
- install(FILES {3} DESTINATION usr/share/netdata/web/images)
24
- install(FILES {4} DESTINATION usr/share/netdata/web/lib)
25
- install(FILES {5} DESTINATION usr/share/netdata/web/static/css)
26
- install(FILES {6} DESTINATION usr/share/netdata/web/static/js)
27
- install(FILES {7} DESTINATION usr/share/netdata/web/static/media)
28
- install(FILES web/gui/v1/index.html DESTINATION usr/share/netdata/web/v1)
20
+ install(FILES {0} DESTINATION ${WEB_DEST})
21
+ install(FILES {1} DESTINATION ${WEB_DEST}/css)
22
+ install(FILES {2} DESTINATION ${WEB_DEST}/fonts)
23
+ install(FILES {3} DESTINATION ${WEB_DEST}/images)
24
+ install(FILES {4} DESTINATION ${WEB_DEST}/lib)
25
+ install(FILES {5} DESTINATION ${WEB_DEST}/static/css)
26
+ install(FILES {6} DESTINATION ${WEB_DEST}/static/js)
27
+ install(FILES {7} DESTINATION ${WEB_DEST}/static/media)
28
+ install(FILES web/gui/v1/index.html DESTINATION ${WEB_DEST}/v1)
29
'''
30
31
def copy_dashboard(tag):
web/gui/cmake_dashboard_v2.py
+8
-8
@@ -23,14 +23,14 @@ TMPPATH = Path('tmp')
23
URLSRC = 'https://app.netdata.cloud/agent.tar.gz'
24
25
CMAKETEMPLATE = '''
26
- install(FILES {0} DESTINATION usr/share/netdata/web/v2)
27
- install(FILES {1} DESTINATION usr/share/netdata/web/v2/static)
28
- install(FILES {2} DESTINATION usr/share/netdata/web/v2/static/email/img)
29
- install(FILES {3} DESTINATION usr/share/netdata/web/v2/static/img)
30
- install(FILES {4} DESTINATION usr/share/netdata/web/v2/static/img/logos/os)
31
- install(FILES {5} DESTINATION usr/share/netdata/web/v2/static/img/logos/services)
32
- install(FILES {6} DESTINATION usr/share/netdata/web/v2/static/img/mail)
33
- install(FILES {7} DESTINATION usr/share/netdata/web/v2/static/site/pages/holding-page-503)
26
+ install(FILES {0} DESTINATION ${WEB_DEST}/v2)
27
+ install(FILES {1} DESTINATION ${WEB_DEST}/v2/static)
28
+ install(FILES {2} DESTINATION ${WEB_DEST}/v2/static/email/img)
29
+ install(FILES {3} DESTINATION ${WEB_DEST}/v2/static/img)
30
+ install(FILES {4} DESTINATION ${WEB_DEST}/v2/static/img/logos/os)
31
+ install(FILES {5} DESTINATION ${WEB_DEST}/v2/static/img/logos/services)
32
+ install(FILES {6} DESTINATION ${WEB_DEST}/v2/static/img/mail)
33
+ install(FILES {7} DESTINATION ${WEB_DEST}/v2/static/site/pages/holding-page-503)
34
'''
35
36
def copy_dashboard():
web/gui/v1/dashboard_v1.cmake
+9
-9
@@ -22,19 +22,19 @@ web/gui/v1/robots.txt
22
web/gui/v1/service-worker.js
23
web/gui/v1/sitemap.xml
24
web/gui/v1/tv-react.html
25
-web/gui/v1/tv.html DESTINATION usr/share/netdata/web)
25
+web/gui/v1/tv.html DESTINATION ${WEB_DEST})
26
install(FILES web/gui/v1/css/bootstrap-3.3.7.css
27
web/gui/v1/css/bootstrap-slate-flat-3.3.7.css
28
web/gui/v1/css/bootstrap-slider-10.0.0.min.css
29
web/gui/v1/css/bootstrap-theme-3.3.7.min.css
30
web/gui/v1/css/bootstrap-toggle-2.2.2.min.css
31
web/gui/v1/css/dashboard.css
32
-web/gui/v1/css/dashboard.slate.css DESTINATION usr/share/netdata/web/css)
32
+web/gui/v1/css/dashboard.slate.css DESTINATION ${WEB_DEST}/css)
33
install(FILES web/gui/v1/fonts/glyphicons-halflings-regular.eot
34
web/gui/v1/fonts/glyphicons-halflings-regular.svg
35
web/gui/v1/fonts/glyphicons-halflings-regular.ttf
36
web/gui/v1/fonts/glyphicons-halflings-regular.woff
37
-web/gui/v1/fonts/glyphicons-halflings-regular.woff2 DESTINATION usr/share/netdata/web/fonts)
37
+web/gui/v1/fonts/glyphicons-halflings-regular.woff2 DESTINATION ${WEB_DEST}/fonts)
38
install(FILES web/gui/v1/images/alert-128-orange.png
39
web/gui/v1/images/alert-128-red.png
40
web/gui/v1/images/alert-multi-size-orange.ico
@@ -84,7 +84,7 @@ web/gui/v1/images/overview.png
84
web/gui/v1/images/packaging-beta-tag.svg
85
web/gui/v1/images/post.png
86
web/gui/v1/images/pricing.png
87
-web/gui/v1/images/seo-performance-128.png DESTINATION usr/share/netdata/web/images)
87
+web/gui/v1/images/seo-performance-128.png DESTINATION ${WEB_DEST}/images)
88
install(FILES web/gui/v1/lib/bootstrap-3.3.7.min.js
89
web/gui/v1/lib/bootstrap-slider-10.0.0.min.js
90
web/gui/v1/lib/bootstrap-table-1.11.0.min.js
@@ -104,13 +104,13 @@ web/gui/v1/lib/jquery.sparkline-2.1.2.min.js
104
web/gui/v1/lib/lz-string-1.4.4.min.js
105
web/gui/v1/lib/pako-1.0.6.min.js
106
web/gui/v1/lib/perfect-scrollbar-0.6.15.min.js
107
-web/gui/v1/lib/tableExport-1.6.0.min.js DESTINATION usr/share/netdata/web/lib)
107
+web/gui/v1/lib/tableExport-1.6.0.min.js DESTINATION ${WEB_DEST}/lib)
108
install(FILES web/gui/v1/static/css/2.c454aab8.chunk.css
109
web/gui/v1/static/css/2.c454aab8.chunk.css.map
110
web/gui/v1/static/css/4.a36e3b73.chunk.css
111
web/gui/v1/static/css/4.a36e3b73.chunk.css.map
112
web/gui/v1/static/css/main.53ba10f1.chunk.css
113
-web/gui/v1/static/css/main.53ba10f1.chunk.css.map DESTINATION usr/share/netdata/web/static/css)
113
+web/gui/v1/static/css/main.53ba10f1.chunk.css.map DESTINATION ${WEB_DEST}/static/css)
114
install(FILES web/gui/v1/static/js/10.a5cd7d0e.chunk.js
115
web/gui/v1/static/js/10.a5cd7d0e.chunk.js.map
116
web/gui/v1/static/js/2.62d105c5.chunk.js
@@ -135,7 +135,7 @@ web/gui/v1/static/js/main.e248095a.chunk.js
135
web/gui/v1/static/js/main.e248095a.chunk.js.LICENSE
136
web/gui/v1/static/js/main.e248095a.chunk.js.map
137
web/gui/v1/static/js/runtime-main.08abed8f.js
138
-web/gui/v1/static/js/runtime-main.08abed8f.js.map DESTINATION usr/share/netdata/web/static/js)
138
+web/gui/v1/static/js/runtime-main.08abed8f.js.map DESTINATION ${WEB_DEST}/static/js)
139
install(FILES web/gui/v1/static/media/ibm-plex-sans-latin-100.245539db.woff2
140
web/gui/v1/static/media/ibm-plex-sans-latin-100.9a582f3a.woff
141
web/gui/v1/static/media/ibm-plex-sans-latin-100italic.1ea7c5d2.woff
@@ -164,5 +164,5 @@ web/gui/v1/static/media/ibm-plex-sans-latin-700.b8809d61.woff
164
web/gui/v1/static/media/ibm-plex-sans-latin-700.c9983d3d.woff2
165
web/gui/v1/static/media/ibm-plex-sans-latin-700italic.02954bee.woff2
166
web/gui/v1/static/media/ibm-plex-sans-latin-700italic.72e9af40.woff
167
-web/gui/v1/static/media/material-icons.0509ab09.woff2 DESTINATION usr/share/netdata/web/static/media)
168
- install(FILES web/gui/v1/index.html DESTINATION usr/share/netdata/web/v1)
167
+web/gui/v1/static/media/material-icons.0509ab09.woff2 DESTINATION ${WEB_DEST}/static/media)
168
+ install(FILES web/gui/v1/index.html DESTINATION ${WEB_DEST}/v1)
web/gui/v2/dashboard_v2.cmake
+8
-8
@@ -106,9 +106,9 @@ web/gui/v2/registry-access.html
106
web/gui/v2/registry-alert-redirect.html
107
web/gui/v2/registry-hello.html
108
web/gui/v2/runtime.74551d83062ac1b566cc.js
109
-web/gui/v2/sw.js DESTINATION usr/share/netdata/web/v2)
109
+web/gui/v2/sw.js DESTINATION ${WEB_DEST}/v2)
110
install(FILES web/gui/v2/static/apple-app-site-association
111
-web/gui/v2/static/splash.css DESTINATION usr/share/netdata/web/v2/static)
111
+web/gui/v2/static/splash.css DESTINATION ${WEB_DEST}/v2/static)
112
install(FILES web/gui/v2/static/email/img/clea_badge.png
113
web/gui/v2/static/email/img/clea_siren.png
114
web/gui/v2/static/email/img/community_icon.png
@@ -124,12 +124,12 @@ web/gui/v2/static/email/img/label_recovered.png
124
web/gui/v2/static/email/img/label_warning.png
125
web/gui/v2/static/email/img/reachability_siren.png
126
web/gui/v2/static/email/img/warn_badge.png
127
-web/gui/v2/static/email/img/warn_siren.png DESTINATION usr/share/netdata/web/v2/static/email/img)
127
+web/gui/v2/static/email/img/warn_siren.png DESTINATION ${WEB_DEST}/v2/static/email/img)
128
install(FILES web/gui/v2/static/img/list-style-image.svg
129
web/gui/v2/static/img/new-dashboard.svg
130
web/gui/v2/static/img/no-filter-results.png
131
web/gui/v2/static/img/no-nodes-room.svg
132
-web/gui/v2/static/img/rack.png DESTINATION usr/share/netdata/web/v2/static/img)
132
+web/gui/v2/static/img/rack.png DESTINATION ${WEB_DEST}/v2/static/img)
133
install(FILES web/gui/v2/static/img/logos/os/alpine.svg
134
web/gui/v2/static/img/logos/os/arch.svg
135
web/gui/v2/static/img/logos/os/centos.svg
@@ -155,7 +155,7 @@ web/gui/v2/static/img/logos/os/raspberry-pi.svg
155
web/gui/v2/static/img/logos/os/redhat.svg
156
web/gui/v2/static/img/logos/os/rocky.svg
157
web/gui/v2/static/img/logos/os/suse.svg
158
-web/gui/v2/static/img/logos/os/ubuntu.svg DESTINATION usr/share/netdata/web/v2/static/img/logos/os)
158
+web/gui/v2/static/img/logos/os/ubuntu.svg DESTINATION ${WEB_DEST}/v2/static/img/logos/os)
159
install(FILES web/gui/v2/static/img/logos/services/access-point.svg
160
web/gui/v2/static/img/logos/services/activemq.svg
161
web/gui/v2/static/img/logos/services/adaptec.svg
@@ -282,14 +282,14 @@ web/gui/v2/static/img/logos/services/unbound.svg
282
web/gui/v2/static/img/logos/services/uwsgi.svg
283
web/gui/v2/static/img/logos/services/varnish.svg
284
web/gui/v2/static/img/logos/services/veritas.svg
285
-web/gui/v2/static/img/logos/services/xen.svg DESTINATION usr/share/netdata/web/v2/static/img/logos/services)
285
+web/gui/v2/static/img/logos/services/xen.svg DESTINATION ${WEB_DEST}/v2/static/img/logos/services)
286
install(FILES web/gui/v2/static/img/mail/isotype.png
287
web/gui/v2/static/img/mail/isotype.svg
288
web/gui/v2/static/img/mail/logotype.png
289
-web/gui/v2/static/img/mail/logotype.svg DESTINATION usr/share/netdata/web/v2/static/img/mail)
289
+web/gui/v2/static/img/mail/logotype.svg DESTINATION ${WEB_DEST}/v2/static/img/mail)
290
install(FILES web/gui/v2/static/site/pages/holding-page-503/holding-page-503.css
291
web/gui/v2/static/site/pages/holding-page-503/holding-page-503.svg
292
web/gui/v2/static/site/pages/holding-page-503/index.html
293
web/gui/v2/static/site/pages/holding-page-503/multiple-logos-group.svg
294
web/gui/v2/static/site/pages/holding-page-503/netdata-logo-white.svg
295
-web/gui/v2/static/site/pages/holding-page-503/reset.svg DESTINATION usr/share/netdata/web/v2/static/site/pages/holding-page-503)
295
+web/gui/v2/static/site/pages/holding-page-503/reset.svg DESTINATION ${WEB_DEST}/v2/static/site/pages/holding-page-503)