diff options
author | Julian Brost | 2018-02-24 15:48:02 +0100 |
---|---|---|
committer | Julian Brost | 2018-02-24 15:48:02 +0100 |
commit | 1d5ae4d93f6bdc9a93584fd0ff6657eaf7f9e461 (patch) | |
tree | 8032266b40a618184a3264a1ab7ef4f670dea01c | |
parent | 3831f6100f7f96da6bcc98e3b9af9579eb72f5f5 (diff) | |
download | aur-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-- | PKGBUILD | 40 |
1 files changed, 35 insertions, 5 deletions
@@ -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 + } } |