procd: check output of "uci show" instead of raw config files in order to track uncommitted changes

Signed-off-by: Felix Fietkau <nbd@openwrt.org>

Backport of r41865

git-svn-id: svn://svn.openwrt.org/openwrt/branches/barrier_breaker@41866 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
nbd 2014-07-29 02:20:19 +00:00
parent e345c9a277
commit ef4f31c01a
1 changed files with 8 additions and 1 deletions

View File

@ -1,8 +1,15 @@
#!/bin/sh
rm -rf /var/run/config.check
mkdir -p /var/run/config.check
for config in /etc/config/*; do
file=${config##*/}
uci show "${file##*/}" > /var/run/config.check/$file
done
MD5FILE=/var/run/config.md5
[ -f $MD5FILE ] && {
for c in `md5sum -c $MD5FILE 2>/dev/null| grep FAILED | cut -d: -f1`; do
ubus call service event "{ \"type\": \"config.change\", \"data\": { \"package\": \"$(basename $c)\" }}"
done
}
md5sum /etc/config/* > $MD5FILE
md5sum /var/run/config.check/* > $MD5FILE
rm -rf /var/run/config.check