summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorJulian Brost2018-02-24 15:48:02 +0100
committerJulian Brost2018-02-24 15:48:02 +0100
commit1d5ae4d93f6bdc9a93584fd0ff6657eaf7f9e461 (patch)
tree8032266b40a618184a3264a1ab7ef4f670dea01c
parent3831f6100f7f96da6bcc98e3b9af9579eb72f5f5 (diff)
downloadaur-1d5ae4d93f6bdc9a93584fd0ff6657eaf7f9e461.tar.gz
update backup array and check it for consistency in the build process
The list is quite long for the icinga2 package and was incomplete at the moment. Update it and add a sanity check to the package() function to prevent this in the future.
-rw-r--r--PKGBUILD40
1 files changed, 35 insertions, 5 deletions
diff --git a/PKGBUILD b/PKGBUILD
index 425a4b3743cd..f6b4c8c0613e 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -59,11 +59,29 @@ package_icinga2-git() {
provides=('icinga2')
conflicts=('icinga2')
backup=(etc/default/icinga2
- etc/icinga2/features-available/{api,checker,command,compatlog}.conf
- etc/icinga2/features-available/{debuglog,gelf,graphite}.conf
- etc/icinga2/features-available/{ido-mysql,ido-pgsql,livestatus,mainlog}.conf
- etc/icinga2/features-available/{notification,perfdata,statusdata,syslog}.conf
- etc/icinga2/{constants,icinga2,init,zones}.conf
+ etc/icinga2/features-available/api.conf
+ etc/icinga2/features-available/checker.conf
+ etc/icinga2/features-available/command.conf
+ etc/icinga2/features-available/compatlog.conf
+ etc/icinga2/features-available/debuglog.conf
+ etc/icinga2/features-available/elasticsearch.conf
+ etc/icinga2/features-available/gelf.conf
+ etc/icinga2/features-available/graphite.conf
+ etc/icinga2/features-available/ido-mysql.conf
+ etc/icinga2/features-available/ido-pgsql.conf
+ etc/icinga2/features-available/influxdb.conf
+ etc/icinga2/features-available/livestatus.conf
+ etc/icinga2/features-available/mainlog.conf
+ etc/icinga2/features-available/notification.conf
+ etc/icinga2/features-available/opentsdb.conf
+ etc/icinga2/features-available/perfdata.conf
+ etc/icinga2/features-available/statusdata.conf
+ etc/icinga2/features-available/syslog.conf
+ etc/icinga2/constants.conf
+ etc/icinga2/icinga2.conf
+ etc/icinga2/scripts/mail-host-notification.sh
+ etc/icinga2/scripts/mail-service-notification.sh
+ etc/icinga2/zones.conf
etc/logrotate.d/icinga2)
install='icinga2-git.install'
@@ -97,4 +115,16 @@ package_icinga2-git() {
"$pkgdir/var/log/icinga2"
rm -r $pkgdir/usr/lib/icinga2/lib*
+
+ # check that the backup array contains all files in /etc except those explicitly excluded in the command below.
+ diff -u \
+ <(printf '%s\n' "${backup[@]}" | sort) \
+ <(find "$pkgdir/etc" '(' \
+ -path "$pkgdir/etc/bash_completion.d" -o \
+ -path "$pkgdir/etc/icinga2/conf.d.example" -o \
+ -path "$pkgdir/etc/icinga2/zones.d/README" \
+ ')' -prune -o -type f -printf 'etc/%P\n' | sort) || {
+ error 'Backup array and file installed to /etc are inconsistent.'
+ return 1
+ }
}