Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 14 additions & 9 deletions chkboot
Original file line number Diff line number Diff line change
Expand Up @@ -34,20 +34,20 @@ DISKHEAD="${CHKBOOT_DATA}/DISKHEAD-$CURRTIME"
DISKHEAD_LAST="${CHKBOOT_DATA}/DISKHEAD-last"
CHANGES_ALERT="${CHKBOOT_DATA}/${CHANGES_ALERT}"
CHANGES_LOG="${CHKBOOT_DATA}/${CHANGES_LOG}"
CHANGED="0"
UPDATE_ONLY="0"

if [ ! -z "$1" ]; then
if [ "$1" = "-u" -o "$1" = "--update" ]; then
CHANGED="-1"
UPDATE_ONLY="1"
elif [ "$1" = "-h" -o "$1" = "--help" ]; then
help
exit 0
else
echo -e "Invalid argument: ${1}"
help
exit 1
fi
else
CHANGED="0"
fi
fi

install -d "$CHKBOOT_DATA"
Expand Down Expand Up @@ -82,10 +82,8 @@ pushd "$BOOTDIR" > /dev/null 2>&1
if [ ! -s "$DISKHEAD_LAST" ]; then ln -s -f $DISKHEAD $DISKHEAD_LAST; fi
if [ ! -s "$BOOTFILES_LAST" ]; then ln -s -f $BOOTFILES $BOOTFILES_LAST; exit 0; fi

if [ ! "$CHANGED" = "-1" ]; then
( diff $BOOTFILES_LAST $BOOTFILES >> "${CHANGES_ALERT}-now" ) || CHANGED="1"
( diff $DISKHEAD_LAST $DISKHEAD >> "${CHANGES_ALERT}-now" ) || CHANGED="1"
fi
( diff $BOOTFILES_LAST $BOOTFILES >> "${CHANGES_ALERT}-now" ) || CHANGED="1"
( diff $DISKHEAD_LAST $DISKHEAD >> "${CHANGES_ALERT}-now" ) || CHANGED="1"

# changes detected, create the changes alert file
if [ ! $CHANGED = "1" ] ; then
Expand All @@ -99,9 +97,16 @@ pushd "$BOOTDIR" > /dev/null 2>&1
cat "$CHANGES_ALERT" >> "$CHANGES_LOG"
echo >> "$CHANGES_LOG"

if [ $UPDATE_ONLY = "1" ]; then
rm -f "${CHANGES_ALERT}-now" "$CHANGES_ALERT"
fi

# set the latest hashes to the old ones for next time then exit
ln -s -f $BOOTFILES $BOOTFILES_LAST
ln -s -f $DISKHEAD $DISKHEAD_LAST
exit 1

if [ $UPDATE_ONLY = "0" ]; then
exit 1
fi
fi
popd > /dev/null 2>&1