Script to highlight state of patches in tree
The intent for this script is to make easier patch management and documentation. [labbott: Tweak help text] Signed-off-by: Miguel Flores Silverio <floresmigu3l@gmail.com>
This commit is contained in:
parent
e305d0ddd7
commit
14ee8bf7eb
113
scripts/check-patchlist.sh
Executable file
113
scripts/check-patchlist.sh
Executable file
@ -0,0 +1,113 @@
|
|||||||
|
#! /bin/sh
|
||||||
|
# This script was created in a effort to make patch management a bit easier.
|
||||||
|
# It list all the patches in the current tree and identifies if they are
|
||||||
|
# present in the kernel.spec, PatchList.txt, both files or neither.
|
||||||
|
#
|
||||||
|
# eg. ./check-patchlist.sh [optional flag]
|
||||||
|
|
||||||
|
function usage(){
|
||||||
|
echo "List all the patches currently in the tree. It also helps identify"
|
||||||
|
echo "if the patch is present in kernel.spec or PatchList.txt. "
|
||||||
|
echo "-h, --help "
|
||||||
|
echo "-t, --tracked patches in both kernel.spec and PatchList.txt "
|
||||||
|
echo "-p, --patchlist patches added to PatchList.txt. "
|
||||||
|
echo "-s, --specfile patches added to kernel.spec. "
|
||||||
|
echo "-n, --not-tracked patches in the tree but not in PatchList.txt "
|
||||||
|
echo " or kernel.spec "
|
||||||
|
}
|
||||||
|
|
||||||
|
BASEDIR=$(dirname "$( cd $(dirname $BASH_SOURCE[0]) && pwd)")
|
||||||
|
pushd $BASEDIR > /dev/null
|
||||||
|
|
||||||
|
function list_all(){
|
||||||
|
echo "===========Legend==========================="
|
||||||
|
echo ". In kernel.spec "
|
||||||
|
echo "* In PatchList.txt "
|
||||||
|
echo "+ In PatchList.txt & Kernel.spec "
|
||||||
|
echo "- Neither in PatchList.txt nor kernel.spec"
|
||||||
|
echo "============================================"
|
||||||
|
for patch in $(ls *.patch); do
|
||||||
|
if [ ! -z "$(grep $patch PatchList.txt)" ] && [ ! -z "$(grep $patch kernel.spec)" ]
|
||||||
|
then
|
||||||
|
echo "+ ${patch}" # Patches in kernel.spec and PatchList.txt
|
||||||
|
|
||||||
|
elif [ ! -z "$(grep $patch PatchList.txt)" ] && [ -z "$(grep $patch kernel.spec)" ]
|
||||||
|
then
|
||||||
|
echo "* ${patch}" # Patches in PatchList.txt but not in kernel.spec
|
||||||
|
|
||||||
|
elif [ -z "$(grep $patch PatchList.txt)" ] && [ ! -z "$(grep $patch kernel.spec)" ]
|
||||||
|
then
|
||||||
|
echo ". ${patch}" # Patches in kernel.spec but not in PatchList.txt
|
||||||
|
|
||||||
|
else
|
||||||
|
echo "- ${patch}" # Neither in PatchList.txt nor kernel.spec
|
||||||
|
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
function list_present_not_added(){
|
||||||
|
for patch in $(ls *.patch); do
|
||||||
|
if [ -z "$(grep $patch PatchList.txt)" ] && [ -z "$(grep $patch kernel.spec)" ]
|
||||||
|
then
|
||||||
|
echo $patch
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
function list_present_added(){
|
||||||
|
for patch in $(ls *.patch); do
|
||||||
|
if [ ! -z "$(grep $patch PatchList.txt)" ] && [ ! -z "$(grep $patch kernel.spec)" ]
|
||||||
|
then
|
||||||
|
echo $patch
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
function list_patchList(){
|
||||||
|
for patch in $(ls *.patch); do
|
||||||
|
if [ ! -z "$(grep $patch PatchList.txt)" ] && [ -z "$(grep $patch kernel.spec)" ]
|
||||||
|
then
|
||||||
|
echo $patch
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
}
|
||||||
|
function list_specfile(){
|
||||||
|
for patch in $(ls *.patch); do
|
||||||
|
if [ -z "$(grep $patch PatchList.txt)" ] && [ ! -z "$(grep $patch kernel.spec)" ]
|
||||||
|
then
|
||||||
|
echo $patch
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
if [ -z "$@" ]; then
|
||||||
|
list_all
|
||||||
|
else
|
||||||
|
|
||||||
|
for opt in "$@"; do
|
||||||
|
case $opt in
|
||||||
|
-t|--tracked)
|
||||||
|
list_present_added
|
||||||
|
;;
|
||||||
|
-s|--specfile)
|
||||||
|
list_specfile
|
||||||
|
;;
|
||||||
|
-h|--help)
|
||||||
|
usage
|
||||||
|
;;
|
||||||
|
-n|--not-added)
|
||||||
|
list_present_not_added
|
||||||
|
;;
|
||||||
|
-p|--patchlist)
|
||||||
|
list_patchList
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
usage
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
popd > /dev/null
|
Loading…
Reference in New Issue
Block a user