From e4531a8290a9a38c6e615f0d0392b86cd53d2a25 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Wed, 28 Jul 2010 19:35:59 +0200 Subject: check for uncommitted changes in /etc When using reboot, halt or poweroff check for uncommittet changes in /etc on a cfgfs enabled system. When installing packages via ipkg, check afterwards if any uncommittet changes left. --- package/cfgfs/Makefile | 5 ++++- package/cfgfs/src/fwcf.sh | 16 ++++++++-------- 2 files changed, 12 insertions(+), 9 deletions(-) (limited to 'package/cfgfs') diff --git a/package/cfgfs/Makefile b/package/cfgfs/Makefile index 96e297cfb..a67ad4329 100644 --- a/package/cfgfs/Makefile +++ b/package/cfgfs/Makefile @@ -5,7 +5,7 @@ include ${TOPDIR}/rules.mk PKG_NAME:= cfgfs PKG_VERSION:= 1.0.7 -PKG_RELEASE:= 2 +PKG_RELEASE:= 3 PKG_DESCR:= compressed config filesystem PKG_SECTION:= base @@ -30,5 +30,8 @@ do-install: ${INSTALL_BIN} ${WRKBUILD}/fwcf.sh ${IDIR_CFGFS}/sbin/cfgfs ${INSTALL_BIN} ${WRKBUILD}/fwcf.helper.out \ ${IDIR_CFGFS}/sbin/cfgfs.helper + cd ${IDIR_CFGFS}/sbin; for tgt in halt reboot poweroff; do \ + ln cfgfs $$tgt; \ + done include ${TOPDIR}/mk/pkg-bottom.mk diff --git a/package/cfgfs/src/fwcf.sh b/package/cfgfs/src/fwcf.sh index ea07ff247..6c1cce7ec 100644 --- a/package/cfgfs/src/fwcf.sh +++ b/package/cfgfs/src/fwcf.sh @@ -69,11 +69,11 @@ case $0 in esac if [[ $me != cfgfs ]]; then - integer dflag=0 dval= - integer fflag=0 - integer nocfgfs=0 - integer nflag=0 + dflag=0 + fflag=0 + nocfgfs=0 + nflag=0 while getopts ":d:Ffn" ch; do case $ch in (d) dflag=1; dval=$OPTARG ;; @@ -85,7 +85,7 @@ if [[ $me != cfgfs ]]; then done shift $((OPTIND - 1)) - (( nocfgfs == 0 && fflag == 0 )) && if ! cfgfs status -q; then + [[ $nocfgfs -eq 0 ]] && [[ $fflag -eq 0 ]] && if ! cfgfs status -q; then echo "error: will not $me: unsaved changes in /etc found!" echo "Either run 'cfgfs commit' before trying to $me" echo "or retry with '$me -F${*+ }$*' to force a ${me}." @@ -93,9 +93,9 @@ if [[ $me != cfgfs ]]; then exit 2 fi - (( fflag )) && me="$me -f" - (( nflag )) && me="$me -n" - (( dflag )) && me="$me -d '$dval'" + [[ $fflag -eq 1 ]] && me="$me -f" + [[ $nflag -eq 1 ]] && me="$me -n" + [[ $dflag -eq 1 ]] && me="$me -d '$dval'" eval exec busybox $me fi -- cgit v1.2.3