Add auto patch for /etc/banner
This commit is contained in:
@@ -39,7 +39,7 @@ die() {
|
||||
get_param_q() {
|
||||
local param=$1
|
||||
local filename="$2"
|
||||
echo $( grep -o -P "^$param='\K[^']+" "$filename" 2>/dev/null )
|
||||
echo $( grep -o -P "^$param='\K[^']+" "$filename" 2>/dev/null | tr -d '\n' )
|
||||
#echo $( grep -o -P "(?<=^$param=').*(')" "$filename" 2>/dev/null )
|
||||
}
|
||||
|
||||
@@ -67,17 +67,30 @@ if [ -z "$FULL_VERSION" ]; then
|
||||
die "Firmware version not found!"
|
||||
fi
|
||||
|
||||
FULL_VERSION=$( grep -oP "^DISTRIB_RELEASE='\K[^']+" "$FW_VER_FN" 2>/dev/null )
|
||||
DISTR_DESC=$( grep -oP "^DISTRIB_DESCRIPTION='\K[^']+" "$FW_VER_FN" 2>/dev/null )
|
||||
CURDATE=$( date --utc +%y%m%d | tr -d '\n' )
|
||||
|
||||
DISTR_REV=$( get_param_q DISTRIB_REVISION "$FW_VER_FN" )
|
||||
DISTR_DESC=$( get_param_q DISTRIB_RELEASE "$FW_VER_FN" )
|
||||
DISTR_DATE_LEN=$( echo -n "$DISTR_DESC" | awk '{print $NF}' | tr -d '\n' | wc -c )
|
||||
if [ "$DISTR_DATE_LEN" = 6 ]; then
|
||||
DISTR_DESC=$( del_last_word $DISTR_DESC )
|
||||
fi
|
||||
sed -i "/DISTRIB_DESCRIPTION=/d" "$FW_VER_FN"
|
||||
CURDATE=$( date --utc +%y%m%d | tr -d '\n' )
|
||||
echo "DISTRIB_DESCRIPTION='$DISTR_DESC $CURDATE'" >> "$FW_VER_FN"
|
||||
log_msg "Option DISTRIB_DESCRIPTION patched (DATE = $CURDATE)"
|
||||
|
||||
BANNER_FN="$ROOTFSDIR/etc/banner"
|
||||
BANNER_VER=$( grep -F "$DISTR_REV" "$BANNER_FN" 2>/dev/null )
|
||||
if [ -n "$BANNER_VER" ]; then
|
||||
BANNER_SUFFIX=$( echo -n "$BANNER_VER" | awk '{print $NF}' | tr -d '\n' )
|
||||
if [ $( echo -n "$BANNER_SUFFIX" | wc -c ) = 6 ]; then
|
||||
sed -i "s/, $BANNER_SUFFIX/, $CURDATE/g" "$BANNER_FN"
|
||||
else
|
||||
sed -i "s/$DISTR_REV/&, $CURDATE/" "$BANNER_FN"
|
||||
fi
|
||||
fi
|
||||
log_msg "Banner patched (DATE = $CURDATE)"
|
||||
|
||||
FW_ARCH=$( get_param_q DISTRIB_ARCH "$FW_VER_FN" )
|
||||
#log_msg "FW_ARCH: '$FW_ARCH'"
|
||||
if [ -z "$FW_ARCH" ]; then
|
||||
|
||||
Reference in New Issue
Block a user