Browse Source

update all icinga components

Signed-off-by: monitorbuilder_pel7ppc64lebuilder0 <monitorbuilder@powerel.org>
master
monitorbuilder_pel7ppc64lebuilder0 10 months ago
parent
commit
f7699e01f4
  1. 652
      SOURCES/0001-1st-man-pageis-for-redis-cli-redis-benchmark-redis-c.patch
  2. 180
      SOURCES/icinga-conf.patch
  3. 196
      SOURCES/icinga-deps.patch
  4. 95
      SOURCES/icinga-src.patch
  5. 73
      SOURCES/icinga-utils.patch
  6. 11
      SOURCES/icinga-x509.service
  7. 14
      SOURCES/icingadb-redis-limit-systemd
  8. 18
      SOURCES/icingadb-redis-sentinel.service
  9. 40
      SOURCES/icingadb-redis-shutdown
  10. 9
      SOURCES/icingadb-redis.logrotate
  11. 18
      SOURCES/icingadb-redis.service
  12. 12
      SOURCES/icingadb.service
  13. 2
      SOURCES/macros.icingadb-redis
  14. 45
      SPECS/icinga-l10n.spec
  15. 32
      SPECS/icinga-php-common.spec
  16. 50
      SPECS/icinga-php-library.spec
  17. 51
      SPECS/icinga-php-thirdparty.spec
  18. 5
      SPECS/icinga2.spec
  19. 297
      SPECS/icingadb-redis.spec
  20. 62
      SPECS/icingadb-web.spec
  21. 77
      SPECS/icingadb.spec
  22. 54
      SPECS/icingaweb2-module-audit.spec
  23. 58
      SPECS/icingaweb2-module-businessprocess.spec
  24. 47
      SPECS/icingaweb2-module-cube.spec
  25. 54
      SPECS/icingaweb2-module-generictts.spec
  26. 54
      SPECS/icingaweb2-module-grafana.spec
  27. 54
      SPECS/icingaweb2-module-graphite.spec
  28. 71
      SPECS/icingaweb2-module-ipl.spec
  29. 75
      SPECS/icingaweb2-module-reactbundle.spec
  30. 47
      SPECS/icingaweb2-module-toplevelview.spec
  31. 48
      SPECS/icingaweb2-module-treeview.spec
  32. 71
      SPECS/icingaweb2-module-x509.spec
  33. 13
      SPECS/icingaweb2.spec
  34. 4
      SPECS/prometheus.spec

652
SOURCES/0001-1st-man-pageis-for-redis-cli-redis-benchmark-redis-c.patch

@ -0,0 +1,652 @@ @@ -0,0 +1,652 @@
From d68953c34d4d6987883ddf6158c3c69e7500667f Mon Sep 17 00:00:00 2001
From: Remi Collet <fedora@famillecollet.com>
Date: Thu, 8 Sep 2016 14:51:15 +0200
Subject: [PATCH 1/3] 1st man pageis for - redis-cli - redis-benchmark -
redis-check-aof - redis-check-rdb - redis-server - redis.conf

as redis-sentinel is a symlink to redis-server, same page can be used (also symlinked)
redis.conf can also be used for sentinel.conf
---
man/man1/redis-benchmark.1 | 132 ++++++++++++++++++++++++++++
man/man1/redis-check-aof.1 | 60 +++++++++++++
man/man1/redis-check-rdb.1 | 53 ++++++++++++
man/man1/redis-cli.1 | 171 +++++++++++++++++++++++++++++++++++++
man/man1/redis-server.1 | 117 +++++++++++++++++++++++++
man/man5/redis.conf.5 | 57 +++++++++++++
6 files changed, 590 insertions(+)
create mode 100644 man/man1/redis-benchmark.1
create mode 100644 man/man1/redis-check-aof.1
create mode 100644 man/man1/redis-check-rdb.1
create mode 100644 man/man1/redis-cli.1
create mode 100644 man/man1/redis-server.1
create mode 100644 man/man5/redis.conf.5

diff --git a/man/man1/redis-benchmark.1 b/man/man1/redis-benchmark.1
new file mode 100644
index 0000000..a3e4c62
--- /dev/null
+++ b/man/man1/redis-benchmark.1
@@ -0,0 +1,132 @@
+.TH REDIS-BENCHMARK 1 "2016" "Redis" "User commands"
+.SH NAME
+redis\-benchmark \- Redis benchmark
+
+.SH SYNOPSIS
+.B redis\-benchmark
+[ options ]
+.LP
+
+.SH DESCRIPTION
+\fBRedis\fP is an open source (BSD licensed), in-memory data structure store,
+used as database, cache and message broker, found at
+.B http://redis.io/
+
+The \fBredis\-benchmark\fP command is a command to benchmark redis-server.
+
+.SH OPTIONS
+.TP 15
+.B \-h \fIhostname\fP
+Server hostname (default: 127.0.0.1).
+.TP
+.B \-p \fIport\fP
+Server port (default: 6379).
+.TP
+.B \-s \fIsocket\fP
+Server socket (overrides hostname and port).
+.TP
+.B \-a \fIpassword\fP
+Password to use when connecting to the server.
+.TP
+.B \-c \fIclients\fP
+Number of parallel connections (default 50)
+.TP
+.B \-dnnum \fIdb\fP
+SELECT the specified db number (default 0)
+.TP
+.B \-k \fIboolean\fP
+1=keep alive 0=reconnect (default 1)
+.TP
+.B \-r \fIkeyspacelen\fP
+Use random keys for SET/GET/INCR, random values for SADD
+Using this option the benchmark will expand the string __rand_int__
+inside an argument with a 12 digits number in the specified range
+from 0 to keyspacelen-1. The substitution changes every time a command
+is executed. Default tests use this to hit random keys in the
+specified range.
+.TP
+.B \-P \fInumreq\fP
+Pipeline <numreq> requests. Default 1 (no pipeline).
+.TP
+.B \-e
+If server replies with errors, show them on stdout.
+(no more than 1 error per second is displayed)
+.TP
+.B \-q
+Quiet. Just show query/sec values
+.TP
+.B \-\-csv
+Output in CSV format
+.TP
+.B \-l
+Loop. Run the tests forever
+.TP
+.B \-t \fItests\fP
+Only run the comma separated list of tests. The test
+names are the same as the ones produced as output.
+.TP
+.B \-I
+Idle mode. Just open N idle connections and wait.
+
+.SH EXAMPLES
+.TP 5
+Run the benchmark with the default configuration against 127.0.0.1:6379:
+$ redis\-benchmark
+.TP
+Use 20 parallel clients, for a total of 100k requests, against 192.168.1.1:
+$ redis-benchmark \-h 192.168.1.1 \-p 6379 \-n 100000 \-c 20
+.TP
+Fill 127.0.0.1:6379 with about 1 million keys only using the SET test:
+$ redis\-benchmark \-t set \-n 1000000 \-r 100000000
+.TP
+Benchmark 127.0.0.1:6379 for a few commands producing CSV output:
+$ redis\-benchmark \-t ping,set,get \-n 100000 \-\-csv
+.TP
+Benchmark a specific command line:
+$ redis\-benchmark \-r 10000 \-n 10000 eval 'return redis.call("ping")' 0
+.TP
+Fill a list with 10000 random elements:
+$ redis\-benchmark \-r 10000 \-n 10000 lpush mylist __rand_int__
+.TP
+On user specified command lines __rand_int__ is replaced with a random integer
+with a range of values selected by the -r option.
+
+
+.SH BUGS
+See:
+.PD 0
+.B http://redis.io/support
+and
+.B https://github.com/antirez/redis/issues
+
+.SH COPYRIGHT
+Copyright \(co 2006\-2016
+Salvatore Sanfilippo
+.P
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+.TP 2
+*
+Redistributions of source code must retain the above copyright notice,
+this list of conditions and the following disclaimer.
+.TP
+*
+Redistributions in binary form must reproduce the above copyright
+notice, this list of conditions and the following disclaimer in the
+documentation and/or other materials provided with the distribution.
+.TP
+*
+Neither the name of Redis nor the names of its contributors may be used
+to endorse or promote products derived from this software without specific
+prior written permission.
+.P
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/man/man1/redis-check-aof.1 b/man/man1/redis-check-aof.1
new file mode 100644
index 0000000..1569fd9
--- /dev/null
+++ b/man/man1/redis-check-aof.1
@@ -0,0 +1,60 @@
+.TH REDIS-CHECK-AOF 1 "2016" "Redis" "User commands"
+.SH NAME
+redis\-check\-aof \- Redis AOF file checker and repairer
+
+.SH SYNOPSIS
+.B redis\-check\-aof
+[\-\-fix]
+.IR file.aof
+
+.SH DESCRIPTION
+\fBRedis\fP is an open source (BSD licensed), in-memory data structure store,
+used as database, cache and message broker, found at
+.B http://redis.io/
+
+The \fBredis\-check\-aof\fP command to check or repair redis-server AOF files.
+
+.SH OPTIONS
+.TP 15
+.B \-\-fix
+Fix the file
+
+
+.SH BUGS
+See:
+.PD 0
+.B http://redis.io/support
+and
+.B https://github.com/antirez/redis/issues
+
+.SH COPYRIGHT
+Copyright \(co 2006\-2016
+Salvatore Sanfilippo
+.P
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+.TP 2
+*
+Redistributions of source code must retain the above copyright notice,
+this list of conditions and the following disclaimer.
+.TP
+*
+Redistributions in binary form must reproduce the above copyright
+notice, this list of conditions and the following disclaimer in the
+documentation and/or other materials provided with the distribution.
+.TP
+*
+Neither the name of Redis nor the names of its contributors may be used
+to endorse or promote products derived from this software without specific
+prior written permission.
+.P
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/man/man1/redis-check-rdb.1 b/man/man1/redis-check-rdb.1
new file mode 100644
index 0000000..0e798ab
--- /dev/null
+++ b/man/man1/redis-check-rdb.1
@@ -0,0 +1,53 @@
+.TH REDIS-CHECK-RDB 1 "2016" "Redis" "User commands"
+.SH NAME
+redis\-check\-aof \- Redis RDB file checker
+
+.SH SYNOPSIS
+.B redis\-check\-aof
+.IR file.rdb
+
+.SH DESCRIPTION
+\fBRedis\fP is an open source (BSD licensed), in-memory data structure store,
+used as database, cache and message broker, found at
+.B http://redis.io/
+
+The \fBredis\-check\-rdb\fP command to check redis-server RDB files.
+
+.SH BUGS
+See:
+.PD 0
+.B http://redis.io/support
+and
+.B https://github.com/antirez/redis/issues
+
+.SH COPYRIGHT
+Copyright \(co 2006\-2016
+Salvatore Sanfilippo
+.P
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+.TP 2
+*
+Redistributions of source code must retain the above copyright notice,
+this list of conditions and the following disclaimer.
+.TP
+*
+Redistributions in binary form must reproduce the above copyright
+notice, this list of conditions and the following disclaimer in the
+documentation and/or other materials provided with the distribution.
+.TP
+*
+Neither the name of Redis nor the names of its contributors may be used
+to endorse or promote products derived from this software without specific
+prior written permission.
+.P
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/man/man1/redis-cli.1 b/man/man1/redis-cli.1
new file mode 100644
index 0000000..14f84df
--- /dev/null
+++ b/man/man1/redis-cli.1
@@ -0,0 +1,171 @@
+.TH REDIS-CLI 1 "2016" "Redis" "User commands"
+.SH NAME
+redis\-cli \- Redis client
+
+.SH SYNOPSIS
+.B redis\-cli
+[ options ] [cmd [arg [arg ...]]]
+.LP
+
+.SH DESCRIPTION
+\fBRedis\fP is an open source (BSD licensed), in-memory data structure store,
+used as database, cache and message broker, found at
+.B http://redis.io/
+
+The \fBredis-cli\fP command is a command line client to redis-server.
+
+.SH OPTIONS
+.TP 15
+.B \-h \fIhostname\fP
+Server hostname (default: 127.0.0.1).
+.TP
+.B \-p \fIport\fP
+Server port (default: 6379).
+.TP
+.B \-s \fIsocket\fP
+Server socket (overrides hostname and port).
+.TP
+.B \-a \fIpassword\fP
+Password to use when connecting to the server.
+.TP
+.B \-r \fIrepeat\fP
+Execute specified command N times.
+.TP
+.B \-i \fIinterval\fP
+When -r is used, waits \fIinterval\fP seconds per command.
+It is possible to specify sub-second times like -i 0.1.
+.TP
+.B \-n \fIdb\fP
+Database number.
+.TP
+.B \-x
+Read last argument from STDIN.
+.TP
+.B \-d \fIdelimiter\fP
+Multi-bulk delimiter in for raw formatting (default: \n).
+.TP
+.B \-c
+Enable cluster mode (follow -ASK and -MOVED redirections).
+.TP
+.B \-\-raw
+Use raw formatting for replies (default when STDOUT is not a tty).
+.TP
+.B \-\-no\-raw
+Force formatted output even when STDOUT is not a tty.
+.TP
+.B \-\-csv
+Output in CSV format.
+.TP
+.B \-\-stat
+Print rolling stats about server: mem, clients, ...
+.TP
+.B \-\-latency
+Enter a special mode continuously sampling latency.
+.TP
+.B \-\-latency\-history
+Like \-\-latency but tracking latency changes over time.
+Default time interval is 15 sec. Change it using -i.
+.TP
+.B \-\-latency\-dist
+Shows latency as a spectrum, requires xterm 256 colors.
+Default time interval is 1 sec. Change it using -i.
+.TP
+.B \-\-lru\-test
+Simulate a cache workload with an 80-20 distribution.
+.TP
+.B \-\-slave
+Simulate a slave showing commands received from the master.
+.TP
+.B \-\-rdb \fIfilename\fP
+Transfer an RDB dump from remote server to local file.
+.TP
+.B \-\-pipe
+Transfer raw Redis protocol from stdin to server.
+.TP
+.B \-\-pipe-timeout \fIn\fP
+In --pipe mode, abort with error if after sending all data.
+no reply is received within \fIn\fP seconds.
+Default timeout: 30. Use 0 to wait forever.
+.TP
+.B \-\-bigkeys
+Sample Redis keys looking for big keys.
+.TP
+.B \-\-scan
+List all keys using the SCAN command.
+.TP
+.B \-\-pattern \fIpat\fP
+Useful with --scan to specify a SCAN pattern.
+.TP
+.B \-\-intrinsic-latency \fIsec\fP
+Run a test to measure intrinsic system latency.
+The test will run for the specified amount of seconds.
+.TP
+.B \-\-eval \fIfile\fP
+Send an EVAL command using the Lua script at \fIfile\fP.
+.TP
+.B \-\-ldb
+Used with --eval enable the Redis Lua debugger.
+.TP
+.B \-\-ldb-sync-mode
+Like --ldb but uses the synchronous Lua debugger, in
+this mode the server is blocked and script changes are
+are not rolled back from the server memory.
+.TP
+.B \-\-help
+Output this help and exit.
+.TP
+.B \-\-version
+Output version and exit.
+
+.SH EXAMPLES
+.TP
+cat /etc/passwd | redis-cli -x set mypasswd
+.TP
+redis-cli get mypasswd
+.TP
+redis-cli \-r 100 lpush mylist x
+.TP
+redis-cli \-r 100 \-i 1 info | grep used_memory_human:
+.TP
+redis-cli \-\-eval myscript.lua key1 key2 , arg1 arg2 arg3
+.TP
+redis-cli \-\-scan \-\-pattern '*:12345*'
+
+.SH BUGS
+See:
+.PD 0
+.B http://redis.io/support
+and
+.B https://github.com/antirez/redis/issues
+
+.SH COPYRIGHT
+Copyright \(co 2006\-2016
+Salvatore Sanfilippo
+.P
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+.TP 2
+*
+Redistributions of source code must retain the above copyright notice,
+this list of conditions and the following disclaimer.
+.TP
+*
+Redistributions in binary form must reproduce the above copyright
+notice, this list of conditions and the following disclaimer in the
+documentation and/or other materials provided with the distribution.
+.TP
+*
+Neither the name of Redis nor the names of its contributors may be used
+to endorse or promote products derived from this software without specific
+prior written permission.
+.P
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/man/man1/redis-server.1 b/man/man1/redis-server.1
new file mode 100644
index 0000000..d6edd25
--- /dev/null
+++ b/man/man1/redis-server.1
@@ -0,0 +1,117 @@
+.TH REDIS-SERVER 1 "2016" "Redis" "User commands"
+.SH NAME
+redis\-server, redis\-sentinel \- Redis server
+
+.SH SYNOPSIS
+.B redis\-server
+[
+.IR configuration_file
+] [ options ] [ \-\-sentinel ]
+.LP
+.B redis\-sentinel
+[
+.IR configuration_file
+] [ options ]
+
+
+.SH DESCRIPTION
+\fBRedis\fP is an open source (BSD licensed), in-memory data structure store,
+used as database, cache and message broker, found at
+.B http://redis.io/
+.LP
+The \fBredis\-server\fP command is a command line to launch a Redis server.
+.LP
+The \fBredis\-sentinel\fP command is a symbolic link to the \fBredis\-server\fP
+command which imply the \fB\-\-sentionel\fP option.
+
+.SH OPTIONS
+.TP 15
+.B \-
+Read configuration from stdin.
+.TP
+.TP 15
+.B \-\-sentinel
+Run in sentinel mode
+.TP
+.B \-\-test-memory \fImegabytes\fP
+Run a memory check and exit.
+.TP
+.PD 0
+.B \-\-help
+.TP
+.PD 1
+.B \-h
+Output this help and exit.
+.TP
+.PD 0
+.B \-\-version
+.TP
+.PD 1
+.B \-v
+Output version and exit.
+.P
+All parameters described in \fBredis.conf\fR file can be passed as
+command line option, e.g.
+.B \-\-port
+.IR port
+.
+
+.SH EXAMPLES
+.TP 5
+Run the server with default conf
+redis-server
+.TP
+Run the server with a configuration file
+redis-server /etc/redis/6379.conf
+.TP
+Run the server changing some default options
+redis-server --port 7777 --slaveof 127.0.0.1 8888
+.TP
+Run the server with a configuration file and changing some options
+redis-server /etc/myredis.conf --loglevel verbose
+.TP
+Run in sentinel mode
+redis-server /etc/sentinel.conf --sentinel
+
+.SH "SEE ALSO"
+.PP
+\fBredis.conf\fR(5)
+
+.SH BUGS
+See:
+.PD 0
+.B http://redis.io/support
+and
+.B https://github.com/antirez/redis/issues
+
+.SH COPYRIGHT
+Copyright \(co 2006\-2016
+Salvatore Sanfilippo
+.P
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+.TP 2
+*
+Redistributions of source code must retain the above copyright notice,
+this list of conditions and the following disclaimer.
+.TP
+*
+Redistributions in binary form must reproduce the above copyright
+notice, this list of conditions and the following disclaimer in the
+documentation and/or other materials provided with the distribution.
+.TP
+*
+Neither the name of Redis nor the names of its contributors may be used
+to endorse or promote products derived from this software without specific
+prior written permission.
+.P
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/man/man5/redis.conf.5 b/man/man5/redis.conf.5
new file mode 100644
index 0000000..1e0c9c9
--- /dev/null
+++ b/man/man5/redis.conf.5
@@ -0,0 +1,57 @@
+.TH REDIS.CONF 5 "2016" "Redis" "Configuration files"
+.SH NAME
+redis.conf, sentinel.conf - redis server configuration files.
+
+.SH PARAMETERS
+.TP
+All empty lines or lines beginning with '#' are ignored.
+.TP
+See inline comments for parameters description.
+
+.SH DESCRIPTION
+.TP
+\fBredis-server\fP read the configuration file passed as first argument.
+
+.SH "SEE ALSO"
+.PP
+\fBredis\-server\fR(1)
+
+
+.SH BUGS
+See:
+.PD 0
+.B http://redis.io/support
+and
+.B https://github.com/antirez/redis/issues
+
+.SH COPYRIGHT
+Copyright \(co 2006\-2016
+Salvatore Sanfilippo
+.P
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+.TP 2
+*
+Redistributions of source code must retain the above copyright notice,
+this list of conditions and the following disclaimer.
+.TP
+*
+Redistributions in binary form must reproduce the above copyright
+notice, this list of conditions and the following disclaimer in the
+documentation and/or other materials provided with the distribution.
+.TP
+*
+Neither the name of Redis nor the names of its contributors may be used
+to endorse or promote products derived from this software without specific
+prior written permission.
+.P
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
--
2.24.1

180
SOURCES/icinga-conf.patch

@ -0,0 +1,180 @@ @@ -0,0 +1,180 @@
Author: Henrik Triem <henrik.triem@icinga.com>
Date: Mon Jun 27 18:00:00 2022 +0100

Re-arrange patches

diff --git a/redis.conf b/redis.conf
--- a/redis.conf
+++ b/redis.conf
@@ -135,7 +135,7 @@

# Accept connections on the specified port, default is 6379 (IANA #815344).
# If port 0 is specified Redis will not listen on a TCP socket.
-port 6379
+port 6380

# TCP listen() backlog.
#
@@ -152,7 +152,7 @@
# incoming connections. There is no default, so Redis will not listen
# on a unix socket when not specified.
#
-# unixsocket /run/redis.sock
+# unixsocket /run/icingadb-redis/icingadb-redis-server.sock
# unixsocketperm 700

# Close the connection after a client is idle for N seconds (0 to disable)
@@ -192,7 +192,7 @@
# default port, use:
#
# port 0
-# tls-port 6379
+# tls-port 6380

# Configure a X.509 certificate and private key to use for authenticating the
# server to connected clients, masters or cluster peers. These files should be
@@ -306,7 +306,7 @@
# By default Redis does not run as a daemon. Use 'yes' if you need it.
# Note that Redis will write a pid file in /var/run/redis.pid when daemonized.
# When Redis is supervised by upstart or systemd, this parameter has no impact.
-daemonize no
+daemonize yes

# If you run Redis from upstart or systemd, Redis can interact with your
# supervision tree. Options:
@@ -338,7 +338,7 @@
#
# Note that on modern Linux systems "/run/redis.pid" is more conforming
# and should be used instead.
-pidfile /var/run/redis_6379.pid
+pidfile /run/icingadb-redis/icingadb-redis-server.pid

# Specify the server verbosity level.
# This can be one of:
@@ -351,7 +351,7 @@
# Specify the log file name. Also the empty string can be used to force
# Redis to log on the standard output. Note that if you use standard
# output for logging but daemonize, logs will be sent to /dev/null
-logfile ""
+logfile /var/log/icingadb-redis/icingadb-redis-server.log

# To enable logging to the system logger, just set 'syslog-enabled' to yes,
# and optionally update the other syslog parameters to suit your needs.
@@ -501,7 +501,7 @@
# The Append Only File will also be created inside this directory.
#
# Note that you must specify a directory here, not a file name.
-dir ./
+dir /var/lib/icingadb-redis

################################# REPLICATION #################################

@@ -1022,7 +1022,7 @@
# The format of the external ACL user file is exactly the same as the
# format that is used inside redis.conf to describe users.
#
-# aclfile /etc/redis/users.acl
+# aclfile /etc/icingadb-redis/users.acl

# IMPORTANT NOTE: starting with Redis 6 "requirepass" is just a compatibility
# layer on top of the new ACL system. The option effect will be just setting
@@ -1581,7 +1581,7 @@
# Make sure that instances running in the same system do not have
# overlapping cluster configuration file names.
#
-# cluster-config-file nodes-6379.conf
+# cluster-config-file nodes-6380.conf

# Cluster node timeout is the amount of milliseconds a node must be unreachable
# for it to be considered in failure state.
@@ -1790,9 +1790,9 @@
# Example:
#
# cluster-announce-ip 10.1.1.5
-# cluster-announce-tls-port 6379
+# cluster-announce-tls-port 6380
# cluster-announce-port 0
-# cluster-announce-bus-port 6380
+# cluster-announce-bus-port 6381

################################## SLOW LOG ###################################

diff --git a/sentinel.conf b/sentinel.conf
--- a/sentinel.conf
+++ b/sentinel.conf
@@ -7,22 +7,22 @@

# port <sentinel-port>
# The port that this sentinel instance will run on
-port 26379
+port 26380

# By default Redis Sentinel does not run as a daemon. Use 'yes' if you need it.
-# Note that Redis will write a pid file in /var/run/redis-sentinel.pid when
-# daemonized.
-daemonize no
+# Note that Redis will write a pid file in /var/run/icingadb-redis-sentinel.pid
+# when daemonized.
+daemonize yes

# When running daemonized, Redis Sentinel writes a pid file in
-# /var/run/redis-sentinel.pid by default. You can specify a custom pid file
-# location here.
-pidfile /var/run/redis-sentinel.pid
+# /var/run/icingadb-redis-sentinel.pid by default. You can specify a custom
+# pid file location here.
+pidfile /run/icingadb-sentinel/icingadb-redis-sentinel.pid

# Specify the log file name. Also the empty string can be used to force
# Sentinel to log on the standard output. Note that if you use standard
# output for logging but daemonize, logs will be sent to /dev/null
-logfile ""
+logfile /var/log/icingadb-redis/icingadb-redis-sentinel.log

# sentinel announce-ip <ip>
# sentinel announce-port <port>
@@ -51,7 +51,7 @@
# For Redis Sentinel to chdir to /tmp at startup is the simplest thing
# for the process to don't interfere with administrative tasks such as
# unmounting filesystems.
-dir /tmp
+dir /var/lib/icingadb-redis

# sentinel monitor <master-name> <ip> <redis-port> <quorum>
#
@@ -70,7 +70,7 @@
#
# Note: master name should not include special characters or spaces.
# The valid charset is A-z 0-9 and the three characters ".-_".
-sentinel monitor mymaster 127.0.0.1 6379 2
+sentinel monitor mymaster 127.0.0.1 6380 2

# sentinel auth-pass <master-name> <password>
#
@@ -147,7 +147,7 @@
# The format of the external ACL user file is exactly the same as the
# format that is used inside redis.conf to describe users.
#
-# aclfile /etc/redis/sentinel-users.acl
+# aclfile /etc/icingadb-redis/icingadb-sentinel-users.acl

# requirepass <password>
#
@@ -250,7 +250,7 @@
#
# Example:
#
-# sentinel notification-script mymaster /var/redis/notify.sh
+# sentinel notification-script mymaster /var/icingadb-redis/notify.sh

# CLIENTS RECONFIGURATION SCRIPT
#
@@ -275,7 +275,7 @@
#
# Example:
#
-# sentinel client-reconfig-script mymaster /var/redis/reconfig.sh
+# sentinel client-reconfig-script mymaster /var/icingadb-redis/reconfig.sh

# SECURITY
#

196
SOURCES/icinga-deps.patch

@ -0,0 +1,196 @@ @@ -0,0 +1,196 @@
Author: Henrik Triem <henrik.triem@icinga.com>
Date: Mon Jun 27 18:00:00 2022 +0100

Re-arrange patches

diff --git a/deps/hiredis/Makefile b/deps/hiredis/Makefile
--- a/deps/hiredis/Makefile
+++ b/deps/hiredis/Makefile
@@ -24,7 +24,7 @@ INSTALL_LIBRARY_PATH= $(DESTDIR)$(PREFIX
INSTALL_PKGCONF_PATH= $(INSTALL_LIBRARY_PATH)/$(PKGCONF_PATH)

# redis-server configuration used for testing
-REDIS_PORT=56379
+REDIS_PORT=56380
REDIS_SERVER=redis-server
define REDIS_TEST_CONFIG
daemonize yes

diff --git a/deps/hiredis/test.c b/deps/hiredis/test.c
--- a/deps/hiredis/test.c
+++ b/deps/hiredis/test.c
@@ -799,7 +799,7 @@ static void test_allocator_injection(voi
hiredisSetAllocators(&ha);

test("redisContext uses injected allocators: ");
- redisContext *c = redisConnect("localhost", 6379);
+ redisContext *c = redisConnect("localhost", 6380);
test_cond(c == NULL);

test("redisReader uses injected allocators: ");
@@ -823,12 +823,12 @@ static void test_blocking_connection_err
struct addrinfo hints = {.ai_family = AF_INET};
struct addrinfo *ai_tmp = NULL;

- int rv = getaddrinfo(HIREDIS_BAD_DOMAIN, "6379", &hints, &ai_tmp);
+ int rv = getaddrinfo(HIREDIS_BAD_DOMAIN, "6380", &hints, &ai_tmp);
if (rv != 0) {
// Address does *not* exist
test("Returns error when host cannot be resolved: ");
// First see if this domain name *actually* resolves to NXDOMAIN
- c = redisConnect(HIREDIS_BAD_DOMAIN, 6379);
+ c = redisConnect(HIREDIS_BAD_DOMAIN, 6380);
test_cond(
c->err == REDIS_ERR_OTHER &&
(strcmp(c->errstr, "Name or service not known") == 0 ||
@@ -1885,7 +1885,7 @@ int main(int argc, char **argv) {
struct config cfg = {
.tcp = {
.host = "127.0.0.1",
- .port = 6379
+ .port = 6380
},
.unix_sock = {
.path = "/tmp/redis.sock"
diff --git a/deps/hiredis/test.sh b/deps/hiredis/test.sh
--- a/deps/hiredis/test.sh
+++ b/deps/hiredis/test.sh
@@ -1,7 +1,7 @@
#!/bin/sh -ue

REDIS_SERVER=${REDIS_SERVER:-redis-server}
-REDIS_PORT=${REDIS_PORT:-56379}
+REDIS_PORT=${REDIS_PORT:-56380}
REDIS_SSL_PORT=${REDIS_SSL_PORT:-56443}
TEST_SSL=${TEST_SSL:-0}
SKIPS_AS_FAILS=${SKIPS_AS_FAILS-:0}

diff --git a/deps/hiredis/examples/example-ae.c b/deps/hiredis/examples/example-ae.c
--- a/deps/hiredis/examples/example-ae.c
+++ b/deps/hiredis/examples/example-ae.c
@@ -43,7 +43,7 @@ void disconnectCallback(const redisAsync
int main (int argc, char **argv) {
signal(SIGPIPE, SIG_IGN);

- redisAsyncContext *c = redisAsyncConnect("127.0.0.1", 6379);
+ redisAsyncContext *c = redisAsyncConnect("127.0.0.1", 6380);
if (c->err) {
/* Let *c leak for now... */
printf("Error: %s\n", c->errstr);

diff --git a/deps/hiredis/examples/example-glib.c b/deps/hiredis/examples/example-glib.c
--- a/deps/hiredis/examples/example-glib.c
+++ b/deps/hiredis/examples/example-glib.c
@@ -52,7 +52,7 @@ main (gint argc G_GNUC_UNUSED,
GMainContext *context = NULL;
GSource *source;

- ac = redisAsyncConnect("127.0.0.1", 6379);
+ ac = redisAsyncConnect("127.0.0.1", 6380);
if (ac->err) {
g_printerr("%s\n", ac->errstr);
exit(EXIT_FAILURE);

diff --git a/deps/hiredis/examples/example-ivykis.c b/deps/hiredis/examples/example-ivykis.c
--- a/deps/hiredis/examples/example-ivykis.c
+++ b/deps/hiredis/examples/example-ivykis.c
@@ -39,7 +39,7 @@ int main (int argc, char **argv) {

iv_init();

- redisAsyncContext *c = redisAsyncConnect("127.0.0.1", 6379);
+ redisAsyncContext *c = redisAsyncConnect("127.0.0.1", 6380);
if (c->err) {
/* Let *c leak for now... */
printf("Error: %s\n", c->errstr);

diff --git a/deps/hiredis/examples/example-libev.c b/deps/hiredis/examples/example-libev.c
--- a/deps/hiredis/examples/example-libev.c
+++ b/deps/hiredis/examples/example-libev.c
@@ -37,7 +37,7 @@ int main (int argc, char **argv) {
signal(SIGPIPE, SIG_IGN);
#endif

- redisAsyncContext *c = redisAsyncConnect("127.0.0.1", 6379);
+ redisAsyncContext *c = redisAsyncConnect("127.0.0.1", 6380);
if (c->err) {
/* Let *c leak for now... */
printf("Error: %s\n", c->errstr);

diff --git a/deps/hiredis/examples/example-libevent.c b/deps/hiredis/examples/example-libevent.c
--- a/deps/hiredis/examples/example-libevent.c
+++ b/deps/hiredis/examples/example-libevent.c
@@ -44,7 +44,7 @@ int main (int argc, char **argv) {

struct event_base *base = event_base_new();
redisOptions options = {0};
- REDIS_OPTIONS_SET_TCP(&options, "127.0.0.1", 6379);
+ REDIS_OPTIONS_SET_TCP(&options, "127.0.0.1", 6380);
struct timeval tv = {0};
tv.tv_sec = 1;
options.connect_timeout = &tv;

diff --git a/deps/hiredis/examples/example-libuv.c b/deps/hiredis/examples/example-libuv.c
--- a/deps/hiredis/examples/example-libuv.c
+++ b/deps/hiredis/examples/example-libuv.c
@@ -54,7 +54,7 @@ int main (int argc, char **argv) {

uv_loop_t* loop = uv_default_loop();

- redisAsyncContext *c = redisAsyncConnect("127.0.0.1", 6379);
+ redisAsyncContext *c = redisAsyncConnect("127.0.0.1", 6380);
if (c->err) {
/* Let *c leak for now... */
printf("Error: %s\n", c->errstr);

diff --git a/deps/hiredis/examples/example-macosx.c b/deps/hiredis/examples/example-macosx.c
--- a/deps/hiredis/examples/example-macosx.c
+++ b/deps/hiredis/examples/example-macosx.c
@@ -44,7 +44,7 @@ int main (int argc, char **argv) {
return 1;
}

- redisAsyncContext *c = redisAsyncConnect("127.0.0.1", 6379);
+ redisAsyncContext *c = redisAsyncConnect("127.0.0.1", 6380);
if (c->err) {
/* Let *c leak for now... */
printf("Error: %s\n", c->errstr);

diff --git a/deps/hiredis/examples/example-push.c b/deps/hiredis/examples/example-push.c
--- a/deps/hiredis/examples/example-push.c
+++ b/deps/hiredis/examples/example-push.c
@@ -109,7 +109,7 @@ int main(int argc, char **argv) {
redisReply *reply;

const char *hostname = (argc > 1) ? argv[1] : "127.0.0.1";
- int port = (argc > 2) ? atoi(argv[2]) : 6379;
+ int port = (argc > 2) ? atoi(argv[2]) : 6380;

redisOptions o = {0};
REDIS_OPTIONS_SET_TCP(&o, hostname, port);

diff --git a/deps/hiredis/examples/example-qt.cpp b/deps/hiredis/examples/example-qt.cpp
--- a/deps/hiredis/examples/example-qt.cpp
+++ b/deps/hiredis/examples/example-qt.cpp
@@ -19,7 +19,7 @@ void getCallback(redisAsyncContext *, vo

void ExampleQt::run() {

- m_ctx = redisAsyncConnect("localhost", 6379);
+ m_ctx = redisAsyncConnect("localhost", 6380);

if (m_ctx->err) {
cerr << "Error: " << m_ctx->errstr << endl;

diff --git a/deps/hiredis/examples/example.c b/deps/hiredis/examples/example.c
--- a/deps/hiredis/examples/example.c
+++ b/deps/hiredis/examples/example.c
@@ -21,7 +21,7 @@ int main(int argc, char **argv) {
}
}

- int port = (argc > 2) ? atoi(argv[2]) : 6379;
+ int port = (argc > 2) ? atoi(argv[2]) : 6380;

struct timeval timeout = { 1, 500000 }; // 1.5 seconds
if (isunix) {

95
SOURCES/icinga-src.patch

@ -0,0 +1,95 @@ @@ -0,0 +1,95 @@
Author: Henrik Triem <henrik.triem@icinga.com>
Date: Mon Jun 27 18:00:00 2022 +0100

Re-arrange patches

diff --git a/src/config.c b/src/config.c
--- a/src/config.c
+++ b/src/config.c
@@ -3016,7 +3016,7 @@ standardConfig static_configs[] = {

/* Integer configs */
createIntConfig("databases", NULL, IMMUTABLE_CONFIG, 1, INT_MAX, server.dbnum, 16, INTEGER_CONFIG, NULL, NULL),
- createIntConfig("port", NULL, MODIFIABLE_CONFIG, 0, 65535, server.port, 6379, INTEGER_CONFIG, NULL, updatePort), /* TCP port. */
+ createIntConfig("port", NULL, MODIFIABLE_CONFIG, 0, 65535, server.port, 6380, INTEGER_CONFIG, NULL, updatePort), /* TCP port. */
createIntConfig("io-threads", NULL, DEBUG_CONFIG | IMMUTABLE_CONFIG, 1, 128, server.io_threads_num, 1, INTEGER_CONFIG, NULL, NULL), /* Single threaded by default */
createIntConfig("auto-aof-rewrite-percentage", NULL, MODIFIABLE_CONFIG, 0, INT_MAX, server.aof_rewrite_perc, 100, INTEGER_CONFIG, NULL, NULL),
createIntConfig("cluster-replica-validity-factor", "cluster-slave-validity-factor", MODIFIABLE_CONFIG, 0, INT_MAX, server.cluster_slave_validity_factor, 10, INTEGER_CONFIG, NULL, NULL), /* Slave max data age factor. */

diff --git a/src/redis-benchmark.c b/src/redis-benchmark.c
--- a/src/redis-benchmark.c
+++ b/src/redis-benchmark.c
@@ -1741,7 +1741,7 @@ int main(int argc, char **argv) {
config.idlemode = 0;
config.clients = listCreate();
config.conn_info.hostip = sdsnew("127.0.0.1");
- config.conn_info.hostport = 6379;
+ config.conn_info.hostport = 6380;
config.hostsocket = NULL;
config.tests = NULL;
config.conn_info.input_dbnum = 0;

diff --git a/src/redis-cli.c b/src/redis-cli.c
--- a/src/redis-cli.c
+++ b/src/redis-cli.c
@@ -8858,7 +8858,7 @@ int main(int argc, char **argv) {

memset(&config.sslconfig, 0, sizeof(config.sslconfig));
config.conn_info.hostip = sdsnew("127.0.0.1");
- config.conn_info.hostport = 6379;
+ config.conn_info.hostport = 6380;
config.hostsocket = NULL;
config.repeat = 1;
config.interval = 0;

diff --git a/src/sentinel.c b/src/sentinel.c
--- a/src/sentinel.c
+++ b/src/sentinel.c
@@ -49,7 +49,7 @@ extern SSL_CTX *redis_tls_ctx;
extern SSL_CTX *redis_tls_client_ctx;
#endif

-#define REDIS_SENTINEL_PORT 26379
+#define REDIS_SENTINEL_PORT 26380

/* ======================== Sentinel global state =========================== */


diff --git a/src/server.c b/src/server.c
--- a/src/server.c
+++ b/src/server.c
@@ -1915,7 +1915,7 @@ void initServerConfig(void) {

/* Replication related */
server.masterhost = NULL;
- server.masterport = 6379;
+ server.masterport = 6380;
server.master = NULL;
server.cached_master = NULL;
server.master_initial_offset = -1;

diff --git a/src/Makefile b/src/Makefile
--- a/src/Makefile
+++ b/src/Makefile
@@ -319,15 +319,15 @@ QUIET_LINK = @printf ' %b %b\n' $(LIN
QUIET_INSTALL = @printf ' %b %b\n' $(LINKCOLOR)INSTALL$(ENDCOLOR) $(BINCOLOR)$@$(ENDCOLOR) 1>&2;
endif

-REDIS_SERVER_NAME=redis-server$(PROG_SUFFIX)
-REDIS_SENTINEL_NAME=redis-sentinel$(PROG_SUFFIX)
+REDIS_SERVER_NAME=icingadb-redis-server$(PROG_SUFFIX)
+REDIS_SENTINEL_NAME=icingadb-redis-sentinel$(PROG_SUFFIX)
REDIS_SERVER_OBJ=adlist.o quicklist.o ae.o anet.o dict.o server.o sds.o zmalloc.o lzf_c.o lzf_d.o pqsort.o zipmap.o sha1.o ziplist.o release.o networking.o util.o object.o db.o replication.o rdb.o t_string.o t_list.o t_set.o t_zset.o t_hash.o config.o aof.o pubsub.o multi.o debug.o sort.o intset.o syncio.o cluster.o crc16.o endianconv.o slowlog.o eval.o bio.o rio.o rand.o memtest.o syscheck.o crcspeed.o crc64.o bitops.o sentinel.o notify.o setproctitle.o blocked.o hyperloglog.o latency.o sparkline.o redis-check-rdb.o redis-check-aof.o geo.o lazyfree.o module.o evict.o expire.o geohash.o geohash_helper.o childinfo.o defrag.o siphash.o rax.o t_stream.o listpack.o localtime.o lolwut.o lolwut5.o lolwut6.o acl.o tracking.o connection.o tls.o sha256.o timeout.o setcpuaffinity.o monotonic.o mt19937-64.o resp_parser.o call_reply.o script_lua.o script.o functions.o function_lua.o commands.o
-REDIS_CLI_NAME=redis-cli$(PROG_SUFFIX)
+REDIS_CLI_NAME=icingadb-redis-cli$(PROG_SUFFIX)
REDIS_CLI_OBJ=anet.o adlist.o dict.o redis-cli.o zmalloc.o release.o ae.o redisassert.o crcspeed.o crc64.o siphash.o crc16.o monotonic.o cli_common.o mt19937-64.o
-REDIS_BENCHMARK_NAME=redis-benchmark$(PROG_SUFFIX)
+REDIS_BENCHMARK_NAME=icingadb-redis-benchmark$(PROG_SUFFIX)
REDIS_BENCHMARK_OBJ=ae.o anet.o redis-benchmark.o adlist.o dict.o zmalloc.o redisassert.o release.o crcspeed.o crc64.o siphash.o crc16.o monotonic.o cli_common.o mt19937-64.o
-REDIS_CHECK_RDB_NAME=redis-check-rdb$(PROG_SUFFIX)
-REDIS_CHECK_AOF_NAME=redis-check-aof$(PROG_SUFFIX)
+REDIS_CHECK_RDB_NAME=icingadb-redis-check-rdb$(PROG_SUFFIX)
+REDIS_CHECK_AOF_NAME=icingadb-redis-check-aof$(PROG_SUFFIX)
ALL_SOURCES=$(sort $(patsubst %.o,%.c,$(REDIS_SERVER_OBJ) $(REDIS_CLI_OBJ) $(REDIS_BENCHMARK_OBJ)))

all: $(REDIS_SERVER_NAME) $(REDIS_SENTINEL_NAME) $(REDIS_CLI_NAME) $(REDIS_BENCHMARK_NAME) $(REDIS_CHECK_RDB_NAME) $(REDIS_CHECK_AOF_NAME)

73
SOURCES/icinga-utils.patch

@ -0,0 +1,73 @@ @@ -0,0 +1,73 @@
diff --git a/utils/generate-commands-json.py b/utils/generate-commands-json.py
--- a/utils/generate-commands-json.py
+++ b/utils/generate-commands-json.py
@@ -103,11 +103,11 @@ srcdir = os.path.abspath(os.path.dirname
if __name__ == '__main__':
opts = {
'description': 'Transform the output from `redis-cli --json` using COMMAND and COMMAND DOCS to a single commands.json format.',
- 'epilog': f'Usage example: {argv[0]} --cli src/redis-cli --port 6379 > commands.json'
+ 'epilog': f'Usage example: {argv[0]} --cli src/redis-cli --port 6380 > commands.json'
}
parser = argparse.ArgumentParser(**opts)
parser.add_argument('--host', type=str, default='localhost')
- parser.add_argument('--port', type=int, default=6379)
+ parser.add_argument('--port', type=int, default=6380)
parser.add_argument('--cli', type=str, default='%s/redis-cli' % srcdir)
args = parser.parse_args()


diff --git a/utils/install_server.sh b/utils/install_server.sh
--- a/utils/install_server.sh
+++ b/utils/install_server.sh
@@ -60,7 +60,7 @@ SCRIPT=$(readlink -f $0)
SCRIPTPATH=$(dirname $SCRIPT)

#Initial defaults
-_REDIS_PORT=6379
+_REDIS_PORT=6380
_MANUAL_EXECUTION=false

echo "Welcome to the redis service installer"
@@ -212,7 +212,7 @@ REDIS_CHKCONFIG_INFO=\
# chkconfig: - 58 74\n
# description: redis_${REDIS_PORT} is the redis daemon.\n
### BEGIN INIT INFO\n
-# Provides: redis_6379\n
+# Provides: redis_6380\n
# Required-Start: \$network \$local_fs \$remote_fs\n
# Required-Stop: \$network \$local_fs \$remote_fs\n
# Default-Start: 2 3 4 5\n

diff --git a/utils/redis-sha1.rb b/utils/redis-sha1.rb
--- a/utils/redis-sha1.rb
+++ b/utils/redis-sha1.rb
@@ -46,7 +46,7 @@ def redisSha1(opts={})
end

host = ARGV[0] || "127.0.0.1"
-port = ARGV[1] || "6379"
+port = ARGV[1] || "6380"
db = ARGV[2] || "0"
puts "Performing SHA1 of Redis server #{host} #{port} DB: #{db}"
p "Dataset SHA1: #{redisSha1(:host => host, :port => port.to_i, :db => db)}"

diff --git a/utils/redis_init_script b/utils/redis_init_script
--- a/utils/redis_init_script
+++ b/utils/redis_init_script
@@ -4,14 +4,14 @@
# as it does use of the /proc filesystem.

### BEGIN INIT INFO
-# Provides: redis_6379
+# Provides: redis_6380
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Redis data structure server
# Description: Redis data structure server. See https://redis.io
### END INIT INFO

-REDISPORT=6379
+REDISPORT=6380
EXEC=/usr/local/bin/redis-server
CLIEXEC=/usr/local/bin/redis-cli

11
SOURCES/icinga-x509.service

@ -0,0 +1,11 @@ @@ -0,0 +1,11 @@
[Unit]
Description=Icinga Certificate Monitoring Module Jobs Runner

[Service]
Type=simple
User=apache
ExecStart=/usr/bin/icingacli x509 jobs run
Restart=on-success

[Install]
WantedBy=multi-user.target

14
SOURCES/icingadb-redis-limit-systemd

@ -0,0 +1,14 @@ @@ -0,0 +1,14 @@
# If you need to change max open file limit
# for example, when you change maxclient in configuration
# you can change the LimitNOFILE value below.
# See "man systemd.exec" for more information.

# Slave nodes on large system may take lot of time to start.
# You may need to uncomment TimeoutStartSec and TimeoutStopSec
# directives below and raise their value.
# See "man systemd.service" for more information.

[Service]
LimitNOFILE=10240
#TimeoutStartSec=90s
#TimeoutStopSec=90s

18
SOURCES/icingadb-redis-sentinel.service

@ -0,0 +1,18 @@ @@ -0,0 +1,18 @@
[Unit]
Description=IcingaDB Redis Sentinel
After=network.target
After=network-online.target
Wants=network-online.target

[Service]
ExecStart=/usr/bin/icingadb-redis-sentinel /etc/icingadb-redis/icingadb-sentinel.conf --daemonize no --supervised systemd
ExecStop=/usr/libexec/icingadb-redis-shutdown icingadb-sentinel
Type=notify
User=icingadb-redis
Group=icingadb-redis
RuntimeDirectory=icingadb-redis
RuntimeDirectoryMode=0755

[Install]
WantedBy=multi-user.target

40
SOURCES/icingadb-redis-shutdown

@ -0,0 +1,40 @@ @@ -0,0 +1,40 @@
#!/bin/bash
#
# Wrapper to close properly redis and sentinel
test x"$REDIS_DEBUG" != x && set -x

REDIS_CLI=/usr/bin/icingadb-redis-cli

# Retrieve service name
SERVICE_NAME="$1"
if [ -z "$SERVICE_NAME" ]; then
SERVICE_NAME=icingadb-redis
fi

# Get the proper config file based on service name
CONFIG_FILE="/etc/icingadb-redis/$SERVICE_NAME.conf"

# Use awk to retrieve host, port from config file
HOST=`awk '/^[[:blank:]]*bind/ { print $2 }' $CONFIG_FILE | tail -n1`
PORT=`awk '/^[[:blank:]]*port/ { print $2 }' $CONFIG_FILE | tail -n1`
PASS=`awk '/^[[:blank:]]*requirepass/ { print $2 }' $CONFIG_FILE | tail -n1`
SOCK=`awk '/^[[:blank:]]*unixsocket\s/ { print $2 }' $CONFIG_FILE | tail -n1`

# Just in case, use default host, port
HOST=${HOST:-127.0.0.1}
if [ "$SERVICE_NAME" = icingadb-redis ]; then
PORT=${PORT:-6380}
else
PORT=${PORT:-26739}
fi

# Setup additional parameters
# e.g password-protected redis instances
[ -z "$PASS" ] || ADDITIONAL_PARAMS="-a $PASS"

# shutdown the service properly
if [ -e "$SOCK" ] ; then
$REDIS_CLI -s $SOCK $ADDITIONAL_PARAMS shutdown
else
$REDIS_CLI -h $HOST -p $PORT $ADDITIONAL_PARAMS shutdown
fi

9
SOURCES/icingadb-redis.logrotate

@ -0,0 +1,9 @@ @@ -0,0 +1,9 @@
/var/log/icingadb-redis/*.log {
weekly
rotate 10
copytruncate
delaycompress
compress
notifempty
missingok
}

18
SOURCES/icingadb-redis.service

@ -0,0 +1,18 @@ @@ -0,0 +1,18 @@
[Unit]
Description=IcingaDB Redis persistent key-value database
After=network.target
After=network-online.target
Wants=network-online.target

[Service]
ExecStart=/usr/bin/icingadb-redis-server /etc/icingadb-redis/icingadb-redis.conf --daemonize no --supervised systemd
ExecStop=/usr/libexec/icingadb-redis-shutdown
Type=notify
User=icingadb-redis
Group=icingadb-redis
RuntimeDirectory=icingadb-redis
RuntimeDirectoryMode=0755

[Install]
WantedBy=multi-user.target

12
SOURCES/icingadb.service

@ -0,0 +1,12 @@ @@ -0,0 +1,12 @@
[Unit]
Description=Icinga DB
After=syslog.target network-online.target icingadb-redis.service mariadb.service

[Service]
Type=notify
ExecStart=/usr/sbin/icingadb --config /etc/icingadb/config.yml
User=icingadb
Group=icingadb

[Install]
WantedBy=multi-user.target

2
SOURCES/macros.icingadb-redis

@ -0,0 +1,2 @@ @@ -0,0 +1,2 @@
%redis_modules_abi 1
%redis_modules_dir %{_libdir}/icingadb-redis/modules

45
SPECS/icinga-l10n.spec

@ -0,0 +1,45 @@ @@ -0,0 +1,45 @@
%define basedir %{_datadir}/icinga-L10n

Name: icinga-l10n
Version: 1.0.0
Release: 1%{?dist}
Summary: Icinga L10n
License: GPLv2+
URL: https://icinga.com
Source0: https://github.com/Icinga/L10n/archive/v%{version}.tar.gz
BuildArch: noarch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}


%description
L10n (short for Localization) provides all translations available for Icinga.



%prep
%setup -q -n L10n-1.0.0


%build


%install
mkdir -p %{buildroot}/%{basedir}
cp *.md %{buildroot}/%{basedir}
cp COPYING %{buildroot}/%{basedir}
cp -prv locale %{buildroot}/%{basedir}
find %{buildroot}/%{basedir}/locale -name *.po -delete


%clean
rm -rf %{buildroot}


%files
%defattr(-,root,root)
%{basedir}
%doc README.md
%doc CONTRIBUTING.md


%changelog

32
SPECS/icinga-php-common.spec

@ -0,0 +1,32 @@ @@ -0,0 +1,32 @@
%global basedir %{_datadir}/icinga-php

Name: icinga-php-common
Version: 1.0.0
Release: 1%{?dist}
Summary: Icinga PHP Common for Icinga Web 2
Group: Applications/System
License: Public Domain
URL: https://icinga.com
BuildArch: noarch


%description
This package manages the directory /usr/share/icinga-php.


%prep


%build


%install
mkdir -vp %{buildroot}%{basedir}


%files
%defattr(-,root,root)
%{basedir}


%changelog

50
SPECS/icinga-php-library.spec

@ -0,0 +1,50 @@ @@ -0,0 +1,50 @@
%global basedir %{_datadir}/icinga-php/ipl

Name: icinga-php-library
Version: 0.12.0
Release: 1%{?dist}
Summary: Icinga PHP Library for Icinga Web 2
Group: Applications/System
License: MIT
URL: https://icinga.com
Source0: https://github.com/Icinga/%{name}/archive/v%{version}.tar.gz
BuildArch: noarch
Requires: icinga-php-common
Requires: icinga-php-thirdparty
Requires: php-intl
Requires: php-pdo
Requires: php-json


%description
This project bundles all Icinga PHP libraries into one
piece and can be integrated as library into Icinga Web 2.


%prep
%setup -q


%build


%install
mkdir -vp %{buildroot}%{basedir}
cp -vr asset %{buildroot}%{basedir}
cp -vr vendor %{buildroot}%{basedir}
cp -vr composer.* %{buildroot}%{basedir}
cp -vr VERSION %{buildroot}%{basedir}


%clean
rm -rf %{buildroot}


%files
%doc README.md
%license LICENSE
%defattr(-,root,root)
%{basedir}


%changelog

51
SPECS/icinga-php-thirdparty.spec

@ -0,0 +1,51 @@ @@ -0,0 +1,51 @@
%global basedir %{_datadir}/icinga-php/vendor

Name: icinga-php-thirdparty
Version: 0.11.0
Release: 1%{?dist}
Summary: Icinga PHP Thirdparty for Icinga Web 2
Group: Applications/System
License: MIT
URL: https://icinga.com
Source0: https://github.com/Icinga/%{name}/archive/v%{version}.tar.gz
BuildArch: noarch
Requires: icinga-php-common
Requires: php-soap
Requires: php-sockets
Requires: php-curl
Requires: php-json


%description
This package bundles all 3rd party PHP libraries
used by Icinga Web products into one piece,
which can be integrated as library into Icinga Web 2.


%prep
%setup -q


%build


%install
mkdir -vp %{buildroot}%{basedir}
cp -vr asset %{buildroot}%{basedir}
cp -vr vendor %{buildroot}%{basedir}
cp -vr composer.* %{buildroot}%{basedir}
cp -vr VERSION %{buildroot}%{basedir}


%clean
rm -rf %{buildroot}


%files
%doc README.md
%license LICENSE
%defattr(-,root,root)
%{basedir}


%changelog

5
SPECS/icinga2.spec

@ -40,7 +40,7 @@ Summary: Network monitoring application @@ -40,7 +40,7 @@ Summary: Network monitoring application
License: GPLv2+
Group: System/Monitoring
Name: icinga2
Version: 2.12.4
Version: 2.13.7
Release: %{revision}%{?dist}
Url: https://www.icinga.com/
Source: https://github.com/Icinga/%{name}/archive/v%{version}%{?src_version_suffix}.tar.gz
@ -179,6 +179,9 @@ Provides Nano syntax highlighting for icinga2. @@ -179,6 +179,9 @@ Provides Nano syntax highlighting for icinga2.


%build
source /opt/rh/devtoolset-10/enable
%global optflags %(echo %{optflags} | sed 's/-mdirect-move/ /')

# set basedir to allow cache to hit between different builds
# this will make all paths below BUILD/icinga2-x.x.x relative for cache
export CCACHE_BASEDIR="${CCACHE_BASEDIR:-$(pwd)}"

297
SPECS/icingadb-redis.spec

@ -0,0 +1,297 @@ @@ -0,0 +1,297 @@
%undefine _package_note_file
%global doc_commit e50ea1872e4efaf2a7174700050b7ce1c47dc2a8
%global short_doc_commit %(c=%{doc_commit}; echo ${c:0:7})
%global macrosdir %(d=%{_rpmconfigdir}/macros.d; [ -d $d ] || d=%{_sysconfdir}/rpm; echo $d)
%global redis_port 6380

Name: icingadb-redis
Version: 7.0.5
Release: 1%{?dist}
Summary: A persistent key-value database
License: BSD and MIT
URL: https://redis.io
Source0: https://download.redis.io/releases/redis-%{version}.tar.gz
Source1: icingadb-redis.logrotate
Source2: icingadb-redis-sentinel.service
Source3: icingadb-redis.service
Source6: icingadb-redis-shutdown
Source7: icingadb-redis-limit-systemd
Source9: macros.icingadb-redis
Source10: https://github.com/redis/redis-doc/archive/%{doc_commit}/redis-doc-%{short_doc_commit}.tar.gz
# To refresh patches:
# tar xf redis-xxx.tar.gz && cd redis-xxx && git init && git add . && git commit -m "%%{version} baseline"
# git am %%{patches}
# Then refresh your patches
# git format-patch HEAD~<number of expected patches>
# Update configuration for Fedora
# https://github.com/redis/redis/pull/3491 - man pages
Patch0001: 0001-1st-man-pageis-for-redis-cli-redis-benchmark-redis-c.patch
# Update default port from 6370 to 6380
Patch0901: icinga-conf.patch
Patch0902: icinga-deps.patch
Patch0903: icinga-src.patch
Patch0904: icinga-utils.patch
BuildRequires: make
BuildRequires: gcc
%if %{with tests}
BuildRequires: procps-ng
BuildRequires: tcl
%endif
BuildRequires: pkgconfig(libsystemd)
BuildRequires: systemd-devel
#BuildRequires: systemd-rpm-macros
BuildRequires: openssl-devel
Obsoletes: redis-trib < 5
Requires: /bin/awk
Requires: logrotate
Requires(pre): shadow-utils
Requires(post): systemd
Requires(preun): systemd
Requires(postun): systemd
# from deps/hiredis/hiredis.h
Provides: bundled(hiredis) = 0.14.0
# from deps/jemalloc/VERSION
Provides: bundled(jemalloc) = 5.2.1
# from deps/lua/src/lua.h
Provides: bundled(lua-libs) = 5.1.5
# from deps/linenoise/linenoise.h
Provides: bundled(linenoise) = 1.0
Provides: bundled(lzf)
# from deps/hdr_histogram/README.md
Provides: bundled(hdr_histogram) = 0.11.0
%global redis_modules_abi 1
%global redis_modules_dir %{_libdir}/%{name}/modules
Provides: redis(modules_abi)%{?_isa} = %{redis_modules_abi}
Conflicts: icinga-redis


%description
Redis is an advanced key-value store. It is often referred to as a data
structure server since keys can contain strings, hashes, lists, sets and
sorted sets.
You can run atomic operations on these types, like appending to a string;
incrementing the value in a hash; pushing to a list; computing set
intersection, union and difference; or getting the member with highest
ranking in a sorted set.
In order to achieve its outstanding performance, Redis works with an
in-memory dataset. Depending on your use case, you can persist it either
by dumping the dataset to disk every once in a while, or by appending
each command to a log.
Redis also supports trivial-to-setup master-slave replication, with very
fast non-blocking first synchronization, auto-reconnection on net split
and so forth.
Other features include Transactions, Pub/Sub, Lua scripting, Keys with a
limited time-to-live, and configuration settings to make Redis behave like
a cache.
You can use Redis from most programming languages also.


%package devel
Summary: Development header for Redis module development
Provides: icingadb-redis-static = %{version}-%{release}
%description devel
Header file required for building loadable Redis modules. Detailed
API documentation is available in the redis-doc package.

%package doc
Summary: Documentation for Redis including man pages
License: CC-BY-SA
BuildArch: noarch
Conflicts: redis < 4.0
%description doc
Manual pages and detailed documentation for many aspects of Redis use,
administration and development.


%prep
%setup -q -b 10 -n redis-%{version}
%setup -q -n redis-%{version}
mv ../redis-doc-%{doc_commit} doc
%patch0001 -p1
%patch0901 -p1
%patch0902 -p1
%patch0903 -p1
%patch0904 -p1
mv deps/lua/COPYRIGHT COPYRIGHT-lua
mv deps/jemalloc/COPYING COPYING-jemalloc
mv deps/hiredis/COPYING COPYING-hiredis
mv deps/hdr_histogram/LICENSE.txt LICENSE-hdrhistogram
mv deps/hdr_histogram/COPYING.txt COPYING-hdrhistogram
# Configuration file changes
sed -i -e 's|^logfile .*$|logfile /var/log/%{name}/redis.log|g' redis.conf
sed -i -e 's|^logfile .*$|logfile /var/log/%{name}/sentinel.log|g' sentinel.conf
sed -i -e 's|^dir .*$|dir /var/lib/%{name}|g' redis.conf
# Update redis port in config
sed -i -e 's|^port .*$|port %{redis_port}|'g redis.conf
sed -i -e 's|^port .*$|port 2%{redis_port}|'g sentinel.conf
# Update PID file in config
sed -i -e 's|^pidfile .*$|pidfile /var/run/%{name}/redis.pid|g' redis.conf
sed -i -e 's|^pidfile .*$|pidfile /var/run/%{name}/redis-sentinel.pid|g' sentinel.conf
# Module API version safety check
api=`sed -n -e 's/#define REDISMODULE_APIVER_[0-9][0-9]* //p' src/redismodule.h`
if test "$api" != "%{redis_modules_abi}"; then
: Error: Upstream API version is now ${api}, expecting %%{redis_modules_abi}.
: Update the redis_modules_abi macro, the rpmmacros file, and rebuild.
exit 1
fi
%global make_flags DEBUG="" V="echo" LDFLAGS="%{?__global_ldflags}" CFLAGS+="%{optflags} -fPIC" INSTALL="install -p" PREFIX=%{buildroot}%{_prefix} BUILD_WITH_SYSTEMD=yes BUILD_TLS=yes


%build
%make_build %{make_flags} all


%install
make %{make_flags} install
# Filesystem.
install -d %{buildroot}%{_sharedstatedir}/%{name}
install -d %{buildroot}%{_localstatedir}/log/%{name}
install -d %{buildroot}%{_localstatedir}/run/%{name}
install -d %{buildroot}%{redis_modules_dir}
# Install logrotate file.
install -pDm644 %{S:1} %{buildroot}%{_sysconfdir}/logrotate.d/%{name}
# Install configuration files.
#newicingaline1
install -pd %{buildroot}%{_sysconfdir}/%{name}
install -pDm640 redis.conf %{buildroot}%{_sysconfdir}/%{name}/%{name}.conf
install -pDm640 sentinel.conf %{buildroot}%{_sysconfdir}/%{name}/%{?pkg_prefix}sentinel.conf
# Install systemd unit files.
mkdir -p %{buildroot}%{_unitdir}
install -pm644 %{S:3} %{buildroot}%{_unitdir}/%{name}.service
install -pm644 %{S:2} %{buildroot}%{_unitdir}/%{name}-sentinel.service
# Install systemd limit files (requires systemd >= 204)
install -p -D -m 644 %{S:7} %{buildroot}%{_sysconfdir}/systemd/system/%{name}.service.d/limit.conf
install -p -D -m 644 %{S:7} %{buildroot}%{_sysconfdir}/systemd/system/%{name}-sentinel.service.d/limit.conf
# Fix non-standard-executable-perm error.
#newicingaline5
for bin in $(cd %{buildroot}%{_bindir}; ls redis*); do
# Rename bin file and add prefix if set
[ -z %{?pkg_prefix} ] || mv %{buildroot}%{_bindir}/${bin} %{buildroot}%{_bindir}/%{?pkg_prefix}${bin}
chmod 755 %{buildroot}%{_bindir}/%{?pkg_prefix}${bin}
done
# Fix symlinks for checks
#newicingaline4
if [ -n %{?pkg_prefix} ]; then
ln -svf %{name}-server %{buildroot}%{_bindir}/%{name}-check-aof
ln -svf %{name}-server %{buildroot}%{_bindir}/%{name}-check-rdb
fi
# Install redis-shutdown
install -pDm755 %{S:6} %{buildroot}%{_libexecdir}/%{name}-shutdown
# Install redis module header
install -pDm644 src/redismodule.h %{buildroot}%{_includedir}/%{name}module.h
# Install man pages
man=$(dirname %{buildroot}%{_mandir})
for page in man/man?/*; do
#newicingaline3
dir=$(dirname $page)
file=$(basename $page)
install -Dpm644 $page $man/$dir/icingadb-$file
done
ln -s redis-server.1 %{buildroot}%{_mandir}/man1/icingadb-redis-sentinel.1
ln -s redis.conf.5 %{buildroot}%{_mandir}/man5/icingadb-redis-sentinel.conf.5
# Install documentation and html pages
doc=$(echo %{buildroot}/%{_docdir}/%{name})
for page in 00-RELEASENOTES BUGS MANIFESTO *.md; do
install -Dpm644 $page $doc/$page
done
for page in $(find doc -name \*.md | sed -e 's|.md$||g'); do
base=$(echo $page | sed -e 's|doc/||g')
install -Dpm644 $page.md $doc/$base.md
done
# Install rpm macros for redis modules
mkdir -p %{buildroot}%{macrosdir}
install -pDm644 %{S:9} %{buildroot}%{macrosdir}/macros.%{name}


%check
%if %{with tests}
# https://github.com/redis/redis/issues/1417 (for "taskset -c 1")
taskset -c 1 make %{make_flags} test
make %{make_flags} test-sentinel
%endif


%pre
getent group %{name} &> /dev/null || \
groupadd -r %{name} &> /dev/null
getent passwd %{name} &> /dev/null || \
useradd -r -g %{name} -d %{_sharedstatedir}/%{name} -s /sbin/nologin \
-c 'Redis Database Server' %{name} &> /dev/null
exit 0
%post
if [ -f %{_sysconfdir}/%{name}.conf -a ! -L %{_sysconfdir}/%{name}.conf ]; then
if [ -f %{_sysconfdir}/%{name}/%{name}.conf.rpmnew ]; then
rm %{_sysconfdir}/%{name}/%{name}.conf.rpmnew
fi
if [ -f %{_sysconfdir}/%{name}/%{name}.conf ]; then
mv %{_sysconfdir}/%{name}/%{name}.conf %{_sysconfdir}/%{name}/%{name}.conf.rpmnew
fi
mv %{_sysconfdir}/%{name}.conf %{_sysconfdir}/%{name}/%{name}.conf
echo -e "\nWarning: %{name} configuration is now in %{_sysconfdir}/%{name} directory\n"
fi
if [ -f %{_sysconfdir}/%{name}-sentinel.conf -a ! -L %{_sysconfdir}/%{name}-sentinel.conf ]; then
if [ -f %{_sysconfdir}/%{name}/%{?pkg_prefix}sentinel.conf.rpmnew ]; then
rm %{_sysconfdir}/%{name}/%{?pkg_prefix}sentinel.conf.rpmnew
fi
if [ -f %{_sysconfdir}/%{name}/%{?pkg_prefix}sentinel.conf ]; then
mv %{_sysconfdir}/%{name}/%{?pkg_prefix}sentinel.conf %{_sysconfdir}/%{name}/%{?pkg_prefix}sentinel.conf.rpmnew
fi
mv %{_sysconfdir}/%{name}-sentinel.conf %{_sysconfdir}/%{name}/%{?pkg_prefix}sentinel.conf
fi
%systemd_post %{name}.service
%systemd_post %{name}-sentinel.service
%preun
%systemd_preun %{name}.service
%systemd_preun %{name}-sentinel.service
%postun
%systemd_postun_with_restart %{name}.service
%systemd_postun_with_restart %{name}-sentinel.service


%files
%{!?_licensedir:%global license %%doc}
%license COPYING
%license COPYRIGHT-lua
%license COPYING-jemalloc
%license COPYING-hiredis
%license LICENSE-hdrhistogram
%license COPYING-hdrhistogram
%config(noreplace) %{_sysconfdir}/logrotate.d/%{name}
%attr(0750, %{name}, root) %dir %{_sysconfdir}/%{name}
%attr(0640, %{name}, root) %config(noreplace) %{_sysconfdir}/%{name}/%{name}.conf
%attr(0640, %{name}, root) %config(noreplace) %{_sysconfdir}/%{name}/%{?pkg_prefix}sentinel.conf
%dir %attr(0750, %{name}, %{name}) %{_libdir}/%{name}
%dir %attr(0750, %{name}, %{name}) %{redis_modules_dir}
%dir %attr(0750, %{name}, %{name}) %{_sharedstatedir}/%{name}
%dir %attr(0750, %{name}, %{name}) %{_localstatedir}/log/%{name}
%exclude %{macrosdir}
%exclude %{_includedir}
%exclude %{_docdir}/%{name}/*
%{_bindir}/%{name}-*
%{_libexecdir}/%{name}-*
%{_mandir}/man1/%{name}*
%{_mandir}/man5/%{name}*
%{_unitdir}/%{name}.service
%{_unitdir}/%{name}-sentinel.service
%dir %{_sysconfdir}/systemd/system/%{name}.service.d
%config(noreplace) %{_sysconfdir}/systemd/system/%{name}.service.d/limit.conf
%dir %{_sysconfdir}/systemd/system/%{name}-sentinel.service.d
%config(noreplace) %{_sysconfdir}/systemd/system/%{name}-sentinel.service.d/limit.conf
%dir %attr(0755, %{name}, %{name}) %ghost %{_localstatedir}/run/%{name}


%files devel
# main package is not required
%license COPYING
%{_includedir}/%{name}module.h
%{macrosdir}/*


%files doc
# specific for documentation (CC-BY-SA)
%license doc/LICENSE
%docdir %{_docdir}/%{name}
%{_docdir}/%{name}


%changelog

62
SPECS/icingadb-web.spec

@ -0,0 +1,62 @@ @@ -0,0 +1,62 @@
%global module_name icingadb
%global basedir %{_datadir}/icingaweb2/modules/icingadb
%global docdir %{_datadir}/doc/icingadb-web

Name: icingadb-web
Version: 1.0.2
Release: 1%{?dist}
Summary: Icinga DB Web for Icinga Web 2
Group: Applications/System
License: GPLv2+
URL: https://icinga.com
Source0: https://github.com/Icinga/icingadb-web/archive/v%{version}.tar.gz
BuildArch: noarch
Requires: icingaweb2 >= 2.9
Requires: icinga-php-library
Requires: icinga-php-thirdparty


%description
Icinga DB Web offers a modern and streamlined design to provide a clear
and concise overview of your monitoring environment.


%prep
%setup -q


%install
mkdir -vp %{buildroot}%{basedir}
mkdir -vp %{buildroot}%{docdir}
cp -vr application %{buildroot}%{basedir}
cp -vr library %{buildroot}%{basedir}
cp -vr public %{buildroot}%{basedir}
cp -vr configuration.php %{buildroot}%{basedir}
cp -vr module.info %{buildroot}%{basedir}
cp -vr run.php %{buildroot}%{basedir}
cp -vr doc %{buildroot}%{docdir}


%clean
rm -rf %{buildroot}


%preun
set -e
# Only for removal
if [ $1 == 0 ]; then
echo "Disabling icingaweb2 module '%{module_name}'"
rm -f /etc/icingaweb2/enabledModules/%{module_name}
fi
exit 0


%files
%doc README.md
%license LICENSE
%defattr(-,root,root)
%{basedir}
%{docdir}


%changelog

77
SPECS/icingadb.spec

@ -0,0 +1,77 @@ @@ -0,0 +1,77 @@
%global provider github
%global provider_tld com
%global project Icinga
%global repo icingadb
%global provider_prefix %{provider}.%{provider_tld}/%{project}/%{repo}
%global import_path %{provider_prefix}
%define debug_package %nil
%define configdir %{_sysconfdir}/%{name}
%define service %{name}.service

Name: icingadb
Version: 1.1.1
Release: 1%{?dist}
Summary: Icinga DB
Group: System Environment/Daemons
License: GPLv2+
URL: https://%{provider_prefix}
#Source0: https://%{import_path}/archive/v%{version}.tar.gz
Source1: icingadb.service
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}
BuildRequires: gcc
BuildRequires: git
BuildRequires: systemd
Requires(pre): shadow-utils


%description
Icinga DB


%prep
%setup -q -T -c %{name}-%{version}
git clone https://%{provider_prefix} .

%build
go build -v -ldflags "-extldflags -s -w -B 0x$(head -c20 /dev/urandom|od -An -tx1|tr -d ' \n') -buildid "%{version}"" -buildvcs=false -trimpath ./cmd/icingadb


%install
install -d -m 0755 %{buildroot}%{_sbindir}
install -d -m 0755 %{buildroot}%{configdir}
install -d -m 0755 %{buildroot}%{_unitdir}
install -m 0755 icingadb %{buildroot}%{_sbindir}/
install -m 0644 config.example.yml %{buildroot}%{configdir}/config.yml
install -m 0644 %{S:1} %{buildroot}%{_unitdir}/
install -d -m 0755 %{buildroot}%{_datadir}/%{name}
(umask 0022 && cp -rv schema %{buildroot}%{_datadir}/%{name}/)


%pre
getent group icingadb >/dev/null || groupadd -r icingadb
getent passwd icingadb >/dev/null || useradd -r -g icingadb -d /etc/icingadb -s /sbin/nologin -c 'Icinga DB' icingadb
%post
%systemd_post %{service}
%preun
%systemd_preun %{service}
%postun
%systemd_postun %{service}


%clean
rm -rf %{buildroot}


%files
%defattr(-,root,root)
%doc LICENSE AUTHORS README.md CHANGELOG.md
%{_sbindir}/icingadb
%{_unitdir}/%{service}
%dir %{_datadir}/%{name}
%{_datadir}/%{name}/schema
%defattr(0644,icingadb,icingadb,0755)
%dir %{configdir}
%config(noreplace) %{configdir}/config.yml


%changelog

54
SPECS/icingaweb2-module-audit.spec

@ -0,0 +1,54 @@ @@ -0,0 +1,54 @@
%global module_name audit
%global icingaweb_min_version 2.6.0
%global basedir %{_datadir}/icingaweb2/modules/%{module_name}

Name: icingaweb2-module-%{module_name}
Version: 1.0.2
Release: 1%{?dist}
Summary: Audit - Icinga Web 2 module
Group: Applications/System
License: GPLv2+
URL: https://icinga.com
Source0: https://github.com/Icinga/icingaweb2-module-%{module_name}/archive/v%{version}.tar.gz
BuildArch: noarch
Requires: icingaweb2 >= %{icingaweb_min_version}
Requires: php-Icinga >= %{icingaweb_min_version}


%description
Audit logging module for Icinga Web 2.


%prep
%setup -q


%build


%install
rm -rf %{buildroot}
mkdir -p %{buildroot}%{basedir}
cp -r * %{buildroot}%{basedir}


%clean
rm -rf %{buildroot}


%preun
set -e
if [ $1 == 0 ]; then
echo "Disabling icingaweb2 module '%{module_name}'"
rm -f /etc/icingaweb2/enabledModules/%{module_name}
fi
exit 0


%files
%doc README.md LICENSE
%defattr(-,root,root)
%{basedir}


%changelog

58
SPECS/icingaweb2-module-businessprocess.spec

@ -0,0 +1,58 @@ @@ -0,0 +1,58 @@
%global module_name businessprocess
%global icingaweb_min_version 2.6.0
%global basedir %{_datadir}/icingaweb2/modules/%{module_name}

Name: icingaweb2-module-%{module_name}
Version: 2.4.0
Release: 1%{?dist}
Summary: Business Processes - Icinga Web 2 module
Group: Applications/System
License: GPLv2+
URL: https://icinga.com
Source0: https://github.com/Icinga/icingaweb2-module-%{module_name}/archive/v%{version}.tar.gz
BuildArch: noarch
Requires: icingaweb2 >= %{icingaweb_min_version}
Requires: php-Icinga >= %{icingaweb_min_version}
Requires: icingaweb2-module-ipl >= 0.2


%description
Create a combined view of your existing data and build your very own top level
view. In the end, what matters is the availability of your whole application
or service. The Business Process Module makes it possible to set single hosts
and services into context, by combining the states with logical functions.


%prep
%setup -q


%build


%install
rm -rf %{buildroot}
mkdir -p %{buildroot}%{basedir}
cp -r * %{buildroot}%{basedir}


%clean
rm -rf %{buildroot}


%preun
set -e
if [ $1 == 0 ]; then
echo "Disabling icingaweb2 module '%{module_name}'"
rm -f /etc/icingaweb2/enabledModules/%{module_name}
fi
exit 0


%files
%doc README.md LICENSE
%defattr(-,root,root)
%{basedir}


%changelog

47
SPECS/icingaweb2-module-cube.spec

@ -0,0 +1,47 @@ @@ -0,0 +1,47 @@
%global module_name cube
%global icingaweb_min_version 2.6.0
%global basedir %{_datadir}/icingaweb2/modules/%{module_name}
Name: icingaweb2-module-%{module_name}
Version: 1.3.0
Release: 1%{?dist}
Summary: Certificate Monitoring (x509) - Icinga Web 2 module
Group: Applications/System
License: GPLv2+
URL: https://icinga.com
Source0: https://github.com/Icinga/icingaweb2-module-%{module_name}/archive/v%{version}.tar.gz
BuildArch: noarch
Requires: icingaweb2 >= %{icingaweb_min_version}
Requires: php-Icinga >= %{icingaweb_min_version}
Requires: openssl


%description
The Cube is a tiny but useful Icinga Web 2 module. It currently shows host
statistics (total count, health) grouped by various custom variables
in multiple dimensions.


%prep
%setup -q


%build


%install
rm -rf %{buildroot}
mkdir -p %{buildroot}%{basedir}
cp -r * %{buildroot}%{basedir}


%clean
rm -rf %{buildroot}


%files
%doc README.md LICENSE
%defattr(-,root,root)
%{basedir}


%changelog

54
SPECS/icingaweb2-module-generictts.spec

@ -0,0 +1,54 @@ @@ -0,0 +1,54 @@
%global module_name generictts
%global icingaweb_min_version 2.6.0
%global basedir %{_datadir}/icingaweb2/modules/%{module_name}

Name: icingaweb2-module-%{module_name}
Version: 2.1.0
Release: 1%{?dist}
Summary: Audit - Icinga Web 2 module
Group: Applications/System
License: GPLv2+
URL: https://icinga.com
Source0: https://github.com/Icinga/icingaweb2-module-%{module_name}/archive/v%{version}.tar.gz
BuildArch: noarch
Requires: icingaweb2 >= %{icingaweb_min_version}
Requires: php-Icinga >= %{icingaweb_min_version}


%description
Generic TTS module for Icinga Web 2.


%prep
%setup -q


%build


%install
rm -rf %{buildroot}
mkdir -p %{buildroot}%{basedir}
cp -r * %{buildroot}%{basedir}


%clean
rm -rf %{buildroot}


%preun
set -e
if [ $1 == 0 ]; then
echo "Disabling icingaweb2 module '%{module_name}'"
rm -f /etc/icingaweb2/enabledModules/%{module_name}
fi
exit 0


%files
%doc README.md LICENSE
%defattr(-,root,root)
%{basedir}


%changelog

54
SPECS/icingaweb2-module-grafana.spec

@ -0,0 +1,54 @@ @@ -0,0 +1,54 @@
%global module_name grafana
%global icingaweb_min_version 2.6.0
%global basedir %{_datadir}/icingaweb2/modules/%{module_name}

Name: icingaweb2-module-%{module_name}
Version: 2.0.3
Release: 1%{?dist}
Summary: Grafana - Icinga Web 2 module
Group: Applications/System
License: GPLv2+
URL: https://icinga.com
Source0: https://github.com/Mikesch-mp/icingaweb2-module-%{module_name}/archive/v%{version}.tar.gz
BuildArch: noarch
Requires: icingaweb2 >= %{icingaweb_min_version}
Requires: php-Icinga >= %{icingaweb_min_version}


%description
Grafana module for Icinga Web 2.


%prep
%setup -q


%build


%install
rm -rf %{buildroot}
mkdir -p %{buildroot}%{basedir}
cp -r * %{buildroot}%{basedir}


%clean
rm -rf %{buildroot}


%preun
set -e
if [ $1 == 0 ]; then
echo "Disabling icingaweb2 module '%{module_name}'"
rm -f /etc/icingaweb2/enabledModules/%{module_name}
fi
exit 0


%files
%doc README.md LICENSE
%defattr(-,root,root)
%{basedir}


%changelog

54
SPECS/icingaweb2-module-graphite.spec

@ -0,0 +1,54 @@ @@ -0,0 +1,54 @@
%global module_name graphite
%global icingaweb_min_version 2.6.0
%global basedir %{_datadir}/icingaweb2/modules/%{module_name}

Name: icingaweb2-module-%{module_name}
Version: 1.2.2
Release: 1%{?dist}
Summary: Audit - Icinga Web 2 module
Group: Applications/System
License: GPLv2+
URL: https://icinga.com
Source0: https://github.com/Icinga/icingaweb2-module-%{module_name}/archive/v%{version}.tar.gz
BuildArch: noarch
Requires: icingaweb2 >= %{icingaweb_min_version}
Requires: php-Icinga >= %{icingaweb_min_version}


%description
Graphite module for Icinga Web 2.


%prep
%setup -q


%build


%install
rm -rf %{buildroot}
mkdir -p %{buildroot}%{basedir}
cp -r * %{buildroot}%{basedir}


%clean
rm -rf %{buildroot}


%preun
set -e
if [ $1 == 0 ]; then
echo "Disabling icingaweb2 module '%{module_name}'"
rm -f /etc/icingaweb2/enabledModules/%{module_name}
fi
exit 0


%files
%doc README.md LICENSE
%defattr(-,root,root)
%{basedir}


%changelog

71
SPECS/icingaweb2-module-ipl.spec

@ -0,0 +1,71 @@ @@ -0,0 +1,71 @@
%global module_name ipl
%global icingaweb_min_version 2.6.0
%global basedir %{_datadir}/icingaweb2/modules/%{module_name}

Name: icingaweb2-module-%{module_name}
Version: 0.5.0
Release: 1%{?dist}
Summary: Icinga PHP library module for Icinga Web 2
Group: Applications/System
License: GPLv2+
URL: https://icinga.com
Source0: https://github.com/Icinga/icingaweb2-module-%{module_name}/archive/v%{version}.tar.gz
BuildArch: noarch
Requires: icingaweb2 >= %{icingaweb_min_version}
Requires: php-Icinga >= %{icingaweb_min_version}


%description
This module collects several IPL library and ships them as a simple module
for Icinga Web 2.


%prep
%setup -q


%build


%install
rm -rf %{buildroot}
mkdir -p %{buildroot}%{basedir}
cp -r * %{buildroot}%{basedir}


%clean
rm -rf %{buildroot}


%post
set -e
# Only for fresh installations
if [ $1 == 1 ]; then
if [ ! -d /etc/icingaweb2/enabledModules ]; then
mkdir /etc/icingaweb2/enabledModules
chmod g=rwx,o= /etc/icingaweb2/enabledModules
fi

echo "Enabling icingaweb2 module '%{module_name}'"
ln -svf /usr/share/icingaweb2/modules/%{module_name} /etc/icingaweb2/enabledModules/%{module_name}
fi
exit 0


%preun
set -e
# Only for removal
if [ $1 == 0 ]; then
echo "Disabling icingaweb2 module '%{module_name}'"
rm -f /etc/icingaweb2/enabledModules/%{module_name}
fi
exit 0


%files
%doc README.md
%defattr(-,root,root)
%{basedir}


%changelog

75
SPECS/icingaweb2-module-reactbundle.spec

@ -0,0 +1,75 @@ @@ -0,0 +1,75 @@
%global module_name reactbundle
%global icingaweb_min_version 2.6.0
%global basedir %{_datadir}/icingaweb2/modules/%{module_name}

Name: icingaweb2-module-%{module_name}
Version: 0.6.0
Release: 1%{?dist}
Summary: Icinga PHP library module for Icinga Web 2
Group: Applications/System
License: GPLv2+
URL: https://icinga.com
Source0: https://github.com/Icinga/icingaweb2-module-%{module_name}/archive/v%{version}.tar.gz
#/icingaweb2-module-%{module_name}-%{version}.tar.gz
BuildArch: noarch
Requires: icingaweb2 >= %{icingaweb_min_version}
Requires: icingacli >= %{icingaweb_min_version}
Requires: php-Icinga >= %{icingaweb_min_version}
Requires: php-cli
Requires: php-process
Requires: php-pcntl
Requires: php-soap


%description
This module provides React as a third-party library for other Icinga Web
modules.


%prep
%setup -q


%build


%install
rm -rf %{buildroot}
mkdir -p %{buildroot}%{basedir}
cp -r * %{buildroot}%{basedir}


%clean
rm -rf %{buildroot}


%post
set -e
# Only for fresh installations
if [ $1 == 1 ]; then
if [ ! -d /etc/icingaweb2/enabledModules ]; then
mkdir /etc/icingaweb2/enabledModules
chmod g=rwx,o= /etc/icingaweb2/enabledModules
fi
echo "Enabling icingaweb2 module '%{module_name}'"
ln -svf /usr/share/icingaweb2/modules/%{module_name} /etc/icingaweb2/enabledModules/%{module_name}
fi
exit 0
%preun
set -e
# Only for removal
if [ $1 == 0 ]; then
echo "Disabling icingaweb2 module '%{module_name}'"
rm -f /etc/icingaweb2/enabledModules/%{module_name}
fi
exit 0


%files
%doc README.md
#LICENSE
%defattr(-,root,root)
%{basedir}


%changelog

47
SPECS/icingaweb2-module-toplevelview.spec

@ -0,0 +1,47 @@ @@ -0,0 +1,47 @@
%global module_name toplevelview
%global icingaweb_min_version 2.6.0
%global basedir %{_datadir}/icingaweb2/modules/%{module_name}
Name: icingaweb2-module-%{module_name}
Version: 0.3.2
Release: 1%{?dist}
Summary: TopLevelView is a drill down view into your Icinga environment
Group: Applications/System
License: GPLv2+
URL: https://icinga.com
Source0: https://github.com/Icinga/icingaweb2-module-%{module_name}/archive/v%{version}.tar.gz
BuildArch: noarch
Requires: icingaweb2 >= %{icingaweb_min_version}
Requires: php-Icinga >= %{icingaweb_min_version}
Requires: openssl


%description
The Cube is a tiny but useful Icinga Web 2 module. It currently shows host
statistics (total count, health) grouped by various custom variables
in multiple dimensions.


%prep
%setup -q -n %{name}-%{version}


%build


%install
rm -rf %{buildroot}
mkdir -p %{buildroot}%{basedir}
cp -r * %{buildroot}%{basedir}


%clean
rm -rf %{buildroot}


%files
%doc README.md
%defattr(-,root,root)
%{basedir}


%changelog

48
SPECS/icingaweb2-module-treeview.spec

@ -0,0 +1,48 @@ @@ -0,0 +1,48 @@
%global module_name treeview
%global icingaweb_min_version 2.6.0
%global basedir %{_datadir}/icingaweb2/modules/%{module_name}
Name: icingaweb2-module-%{module_name}
Version: 1.0.0
Release: 1%{?dist}
Summary: Certificate Monitoring (x509) - Icinga Web 2 module
Group: Applications/System
License: GPLv2+
URL: https://icinga.com
#Source0: https://github.com/Icinga/icingaweb2-module-%{module_name}/archive/v%{version}.tar.gz
BuildArch: noarch
Requires: icingaweb2 >= %{icingaweb_min_version}
Requires: php-Icinga >= %{icingaweb_min_version}
Requires: openssl


%description
The Cube is a tiny but useful Icinga Web 2 module. It currently shows host
statistics (total count, health) grouped by various custom variables
in multiple dimensions.


%prep
%setup -q -T -c %{name}-%{version}
git clone https://github.com/ecm75/icingaweb2-module-treeview .


%build


%install
rm -rf %{buildroot}
mkdir -p %{buildroot}%{basedir}
cp -r * %{buildroot}%{basedir}


%clean
rm -rf %{buildroot}


%files
%doc README.md LICENSE
%defattr(-,root,root)
%{basedir}


%changelog

71
SPECS/icingaweb2-module-x509.spec

@ -0,0 +1,71 @@ @@ -0,0 +1,71 @@
%global module_name x509
%global icingaweb_min_version 2.6.0
%global basedir %{_datadir}/icingaweb2/modules/%{module_name}
%global service_name icinga-%{module_name}
%global service_user apache
Name: icingaweb2-module-%{module_name}
Version: 1.1.2
Release: 1%{?dist}
Summary: Certificate Monitoring (x509) - Icinga Web 2 module
Group: Applications/System
License: GPLv2+
URL: https://icinga.com
Source0: https://github.com/Icinga/icingaweb2-module-%{module_name}/archive/v%{version}.tar.gz
Source1: %{service_name}.service
BuildArch: noarch
BuildRequires: systemd-devel
Requires: systemd
Requires: icingaweb2 >= %{icingaweb_min_version}
Requires: php-Icinga >= %{icingaweb_min_version}
Requires: openssl
Requires: icingaweb2-module-ipl >= 0.1
Requires: icingaweb2-module-reactbundle >= 0.4


%description
The certificate monitoring module for Icinga keeps track of certificates as
they are deployed in a network environment. It does this by scanning networks
for TLS services and collects whatever certificates it finds along the way.
The certificates are verified using its own trust store.
The module’s web frontend can be used to view scan results, allowing you to
drill down into detailed information about any discovered certificate of your
landscape.


%prep
%setup -q


%build


%install
rm -rf %{buildroot}
mkdir -p %{buildroot}%{basedir}
cp -r * %{buildroot}%{basedir}
install -d %{buildroot}%{_unitdir}
install -m 0644 %{SOURCE1} %{buildroot}%{_unitdir}/%{service_name}.service
# Replace user in service unit
sed -i -e 's~^User=.*~User=%{service_user}~' %{buildroot}%{_unitdir}/%{service_name}.service


%clean
rm -rf %{buildroot}


%post
%systemd_post %{service_name}.service
%preun
%systemd_preun %{service_name}.service
%postun
%systemd_postun_with_restart %{service_name}.service


%files
%doc README.md LICENSE
%defattr(-,root,root)
%{basedir}
%{_unitdir}/%{service_name}.service


%changelog

13
SPECS/icingaweb2.spec

@ -14,16 +14,15 @@ @@ -14,16 +14,15 @@
%define docsdir %{_datadir}/doc/%{name}

Name: icingaweb2
Version: 2.8.2
Version: 2.11.4
Release: 1%{?dist}
Summary: Icinga Web 2
Group: Applications/System
License: GPLv2+ and MIT and BSD
URL: https://icinga.com
Source0: icingaweb2-2.8.2.orig.tar.gz
Source0: https://github.com/Icinga/icingaweb2/archive/refs/tags/v%{version}.tar.gz
BuildArch: noarch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}
Packager: Icinga Team <info@icinga.com>
Requires: %{php}-mysqlnd
Requires: %{php}-pgsql
Requires: %{php}-ldap
@ -60,8 +59,8 @@ Requires: php-common >= %{php_version} @@ -60,8 +59,8 @@ Requires: php-common >= %{php_version}
Requires: php-gd
Requires: php-intl
Requires: php-mbstring
Requires: %{php}-json
#Requires: %{name}-vendor-zf1 = %{version}-%{release}
Requires: php-json
Requires: %{name}-vendor-zf1 = %{version}-%{release}
#Requires: php-pecl-imagick
%description -n php-Icinga
Icinga Web 2 PHP library
@ -74,7 +73,7 @@ Requires: icinga-l10n @@ -74,7 +73,7 @@ Requires: icinga-l10n
Requires: %{name}-common = %{version}-%{release}
Requires: php-Icinga = %{version}-%{release}
Requires: bash-completion
Requires: phpi-cli >= %{php_version}
Requires: php-cli >= %{php_version}
%description -n icingacli
Icinga CLI

@ -244,7 +243,7 @@ exit 0 @@ -244,7 +243,7 @@ exit 0
%dir %{basedir}/library
%dir %{basedir}/library/vendor
%dir %{basedir}/modules
%{basedir}/application/locale
#%{basedir}/application/locale
%attr(2770,root,%{icingawebgroup}) %config(noreplace) %dir %{configdir}
%attr(2770,root,%{icingawebgroup}) %config(noreplace) %dir %{configdir}/modules


4
SPECS/prometheus.spec

@ -6,7 +6,7 @@ @@ -6,7 +6,7 @@
#%define debug_package %{nil}

Name : prometheus
Version : 2.24.0
Version : 2.37.0
Release : 1%{dist}
License : MIT
URL : https://prometheus.io
@ -35,7 +35,7 @@ export GOPATH=`pwd` @@ -35,7 +35,7 @@ export GOPATH=`pwd`
cd src/github.com/prometheus/prometheus/
git checkout tags/v%{version}
sed 's/\&\& yarn/\&\& yarnpkg/' -i Makefile
sed 's/yarn/yarnpkg/g' -i scripts/build_react_app.sh
#sed 's/yarn/yarnpkg/g' -i scripts/build_react_app.sh
make build



Loading…
Cancel
Save