rpms/kernel/devel/scripts sort-config,NONE,1.4.2.2
myoung
myoung at fedoraproject.org
Thu Aug 20 18:50:24 UTC 2009
- Previous message (by thread): rpms/php-channel-doctrine/F-11 channel.xml, NONE, 1.1 import.log, NONE, 1.1 php-channel-doctrine.spec, NONE, 1.1
- Next message (by thread): rpms/kernel/devel patch-2.6.31-rc6-git6.bz2.sign, NONE, 1.1.2.2 .cvsignore, 1.1014.2.25, 1.1014.2.26 drm-r600-kms.patch, 1.1.2.3, 1.1.2.4 kernel.spec, 1.1294.2.54, 1.1294.2.55 sources, 1.976.2.26, 1.976.2.27 upstream, 1.888.2.25, 1.888.2.26 xen.pvops.patch, 1.1.2.35, 1.1.2.36 xen.pvops.post.patch, 1.1.2.21, 1.1.2.22 fix-perf-make-man-failure.patch, 1.1.2.2, NONE patch-2.6.31-rc6-git5.bz2.sign, 1.1.2.2, NONE
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Author: myoung
Update of /cvs/pkgs/rpms/kernel/devel/scripts
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv29621/scripts
Added Files:
Tag: private-myoung-dom0-branch
sort-config
Log Message:
another pvops i686 stackprotector test
--- NEW FILE sort-config ---
#!/bin/bash
SRC=($(ls config-* 2>/dev/null))
TGT=($(ls kernel-*/linux-*.noarch/configs/kernel-2.6.*-*.config \
kernel-*/linux-*.noarch/configs/kernel-2.6.*-*-debug.config 2>/dev/null))
TGT1=(${TGT[*]#kernel-*/linux-*.noarch/configs/kernel-2.6.*-})
if [ $# -lt 2 ] ; then
echo -e "Usage:\n $(basename $0) [-dfcn] input target\n"
echo -e " Sort input config file into the same order as the target\n"
echo -e " -d: show raw unsorted output with extra debug text"
echo -e " -f: force output to match what is in the target config"
echo -e " -c: insert comments about non-matching items"
echo -e " -n: do not sort output\n"
echo -e " input: source config file" ' [' "${SRC[*]#config-}" ']\n'
echo -e " target: output arch name" ' [' "${TGT1[*]%.config}" ']\n'
exit 1
fi
while getopts "dfcn" OPTION ; do
case $OPTION in
d)
DEBUG=1
;;
f)
FORCE=1
;;
c)
ADDCOMMENT=1
;;
n)
NOSORT=1
;;
\?)
exit 2
;;
esac
done
if [ "$FORCE" -a "$ADDCOMMENT" ] ; then
echo "-f and -c options cannot be used together"
exit 2
fi
shift $((OPTIND-1))
if [ -f xx00 -o -f xx01 -o -f xx99 ] ; then
echo "WARNING! Output files named xx?? already exist." >&2
read -p "Press <Enter> to erase files, or Ctrl-C to exit..."
echo >&2
fi
rm -f xx00 xx01 xx99
SRCFILE=config-$1
[ ! -f $SRCFILE ] && echo "Input file" $SRCFILE "missing" && exit 2
TGTFILE=kernel-*/linux-*.noarch/configs/kernel-2.6.*-$2.config
[ ! -f $TGTFILE ] && echo "No target file matching" $TGTFILE "exists" && exit 2
IX=0
IN=0
declare -a SAVECOMMENT
cat ${SRCFILE} | while read TEXT ; do
LINE=
COMMENT=
[ -z "$TEXT" ] && TEXT='#'
if [ "${TEXT:0:7}" = "CONFIG_" -o "${TEXT:0:9}" = "# CONFIG_" ] ; then
LINE=$(grep -n "^$TEXT" $TGTFILE | head -1 | cut -f 1 -d ':')
if [ -z "$LINE" ] ; then
[ "$DEBUG" ] && echo "nofind ->" "$TEXT"
# see if option changed in output file
OPTNAME=
if [ "${TEXT:0:7}" = "CONFIG_" ] ; then
OPTNAME=${TEXT%%=*}
elif [ "${TEXT:0:9}" = "# CONFIG_" ] ; then
OPTNAME=${TEXT%" is not set"}
OPTNAME=${OPTNAME#\# }
fi
if [ "$OPTNAME" ] ; then
for FINDTEXT in "^${OPTNAME}=" "^# ${OPTNAME} is not set" ; do
if [ -z "$LINE" ] ; then
[ "$DEBUG" ] && echo "looking for ->" "$FINDTEXT"
LINE=$(grep -n "$FINDTEXT" $TGTFILE | head -1 | cut -f 1 -d ':')
if [ "$LINE" ] ; then
CHANGED=$(grep "$FINDTEXT" $TGTFILE | head -1)
if [ "$FORCE" ] ; then
TEXT="$CHANGED"
[ "$DEBUG" ] && echo 'forced ->' "$TEXT"
else
if [ "$ADDCOMMENT" ] ; then
if [ ${CHANGED:0:1} = '#' ] ; then
NEWOPT="not set"
else
NEWOPT=${CHANGED#$OPTNAME}
fi
COMMENT="# -- Next option changed to \"${NEWOPT}\" at target line $LINE --"
fi
fi
fi
fi
done
fi
fi
else
COMMENT="$TEXT"
TEXT=
fi
[ "$DEBUG" -a "$COMMENT" ] && echo "comment ->" "$LINE" "$COMMENT"
[ "$DEBUG" -a "$TEXT" ] && echo "text ->" "$LINE" "$TEXT"
if [ "$TEXT" ] ; then
# use input line numbers if not sorting
[ "$NOSORT" ] && LINE=$IN
# make sure it has a line number
[ -z "$LINE" ] && LINE=999999
# print saved comments first
if [ $IX -gt 0 ] ; then
[ "$DEBUG" ] && echo " ->" $IX "comments were saved"
(( IX-- ))
for IX in $(seq 0 $IX) ; do
echo "$LINE":"${SAVECOMMENT[$IX]}"
done
unset SAVECOMMENT
IX=0
fi
[ "$COMMENT" ] && echo "$LINE":"$COMMENT"
echo "$LINE":"$TEXT"
else
# no output yet, save the comment
SAVECOMMENT[$IX]="$COMMENT"
[ "$DEBUG" ] && echo "savecomment ->" "$LINE" "${SAVECOMMENT[$IX]}"
(( IX++ ))
fi
((IN++))
done > xx99
if [ "$DEBUG" ] ; then
cat xx99
else
cat xx99 | sort -s -t ":" -k 1g | csplit -k -s - /^999999/ 2>/dev/null
cat xx00 | cut -f 2- -d ':'
if [ -s xx01 ] ; then
echo
echo '# ------------ UNMATCHED OPTIONS ------------'
echo
cat xx01 | cut -f 2- -d ':'
fi
fi
rm -f xx00 xx01 xx99
- Previous message (by thread): rpms/php-channel-doctrine/F-11 channel.xml, NONE, 1.1 import.log, NONE, 1.1 php-channel-doctrine.spec, NONE, 1.1
- Next message (by thread): rpms/kernel/devel patch-2.6.31-rc6-git6.bz2.sign, NONE, 1.1.2.2 .cvsignore, 1.1014.2.25, 1.1014.2.26 drm-r600-kms.patch, 1.1.2.3, 1.1.2.4 kernel.spec, 1.1294.2.54, 1.1294.2.55 sources, 1.976.2.26, 1.976.2.27 upstream, 1.888.2.25, 1.888.2.26 xen.pvops.patch, 1.1.2.35, 1.1.2.36 xen.pvops.post.patch, 1.1.2.21, 1.1.2.22 fix-perf-make-man-failure.patch, 1.1.2.2, NONE patch-2.6.31-rc6-git5.bz2.sign, 1.1.2.2, NONE
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the fedora-extras-commits
mailing list