From 26edc0e62dfadfb032306458300fb5437aca42e7 Mon Sep 17 00:00:00 2001 From: Bjoern Tropf Date: Sat, 19 Dec 2009 12:53:55 +0100 Subject: Rename findcommit.sh to fcommit Fix some bugs --- bin/fcommit | 64 ++++++++++++++++++++++++++++++++++++++++++ pym/kernelcheck/kernelcheck.py | 4 +-- tools/findcommit.sh | 62 ---------------------------------------- 3 files changed, 66 insertions(+), 64 deletions(-) create mode 100755 bin/fcommit delete mode 100755 tools/findcommit.sh diff --git a/bin/fcommit b/bin/fcommit new file mode 100755 index 0000000..68835a9 --- /dev/null +++ b/bin/fcommit @@ -0,0 +1,64 @@ +#!/bin/sh +# kernel-check -- Gentoo Kernel Security +# Copyright 2009-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +TEXT=".*$@.*" +KNOWNCOMMITS="" +LASTFIXEDBRANCH="" +WHITEBOARD="" + +GOOD=$'\e[32;01m' +BAD=$'\e[31;01m' +BRACKET=$'\e[34;01m' +NORMAL=$'\e[0m' + +BRANCHES="`git branch -a | grep linux` origin/master" +for B in $BRANCHES ; do + COMMITS="`git rev-list --pretty=oneline "$B" | + grep "$TEXT" | cut -d " " -f 1`" + for C in $COMMITS ; do + if [ "${KNOWNCOMMITS/$C/}" == "$KNOWNCOMMITS" ] ; then + TAG="`git describe --contains --all "$C"`" + LABEL="${TAG/remotes\/origin\/linux-/v}" + LABEL="${LABEL/tags\//}" + + DESC="`git --no-pager log -1 --pretty=short "$C"`" + DESC="`echo "$DESC" | tr -s "\n" `" + DESC="${GOOD}label${NORMAL} ${LABEL}\n${DESC}" + + DESC="${DESC/commit/${GOOD}commit${NORMAL}}" + DESC="${DESC/Author:/${GOOD}author${NORMAL}}" + DESC="${DESC/ /${GOOD}title${NORMAL} ${BRACKET}}${NORMAL}\n" + echo -e "$DESC" + + VERSION="${TAG/tags\/v/}" + VERSION="${VERSION/~*/}" + VERSION="${VERSION/^*/}" + + if [ "$B" != "origin/master" ] ; then + THISBRANCH="${B/remotes\/origin\/linux-/}" + THISBRANCH="${THISBRANCH/.y/}" + REVISION="${THISBRANCH/*./}" + MAJORMINOR="${THISBRANCH/.${REVISION}/}" + let REVISION=REVISION+1 + NEXTBRANCH="${MAJORMINOR}.${REVISION}" + fi + if [ -z "$LASTFIXEDBRANCH" ] ; then + WHITEBOARD="$WHITEBOARD [linux <${VERSION}]" + else + if [ "${LASTFIXEDBRANCH}" == "${VERSION/-rc*/}" ] ; then + WHITEBOARD="${WHITEBOARD} ${BAD}[linux >= \ + ${LASTFIXEDBRANCH} <${VERSION}]${NORMAL}" + else + WHITEBOARD="${WHITEBOARD} [linux >= \ + ${LASTFIXEDBRANCH} <${VERSION}]" + fi + fi + LASTFIXEDBRANCH=$NEXTBRANCH + KNOWNCOMMITS="$KNOWNCOMMITS $C" + fi + done +done +echo -e "${GOOD}Whiteboard${NORMAL}\n${WHITEBOARD:1}\n" + diff --git a/pym/kernelcheck/kernelcheck.py b/pym/kernelcheck/kernelcheck.py index ce9d112..f097a39 100755 --- a/pym/kernelcheck/kernelcheck.py +++ b/pym/kernelcheck/kernelcheck.py @@ -104,13 +104,13 @@ def main(argv): evaluation = lib.eval_cve_files(lib.KERNELDIR, kernel, spinner()) if not evaluation: - print("\b\b done!\n") + print("\b\b done!") EOutput().eerror('No kernel vulnerability files found!') return kernel_updates = lib.eval_kernel_updates(kernel, evaluation, spinner()) - print("\b\b done!\n") + print("\b\b done!") if len(evaluation.affected) is not 0: print_summary(evaluation.affected, kernel_updates) diff --git a/tools/findcommit.sh b/tools/findcommit.sh deleted file mode 100755 index be1814f..0000000 --- a/tools/findcommit.sh +++ /dev/null @@ -1,62 +0,0 @@ -#!/bin/sh -# kernel-check -- Gentoo Kernel Security -# Copyright 2009-2010 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -TEXT=".*$@.*" -GITPATH="./" - -KNOWNCOMMITS="" -LASTFIXEDBRANCH="" -WHITEBOARD="" - -GOOD=$'\e[32;01m' -BAD=$'\e[31;01m' -BRACKET=$'\e[34;01m' -NORMAL=$'\e[0m' - -GITPATH="--git-dir=$GITPATH.git --work-tree=$GITPATH" -BRANCHES="`git $GITPATH branch -a | grep linux` origin/master" -for B in $BRANCHES ; do - COMMITS="`git $GITPATH rev-list --pretty=oneline "$B" | - grep "$TEXT" | cut -d " " -f 1`" - for C in $COMMITS ; do - if [ "${KNOWNCOMMITS/$C/}" == "$KNOWNCOMMITS" ] ; then - TAG="`git $GITPATH describe --contains --all "$C"`" - DESC="`git $GITPATH --no-pager log -1 --pretty=short "$C"`" - DESC="`echo "$DESC" | tr -s "\n" `" - DESC="${TAG/tags\//\n${GOOD}label${NORMAL} }\n${DESC}" - DESC="${DESC/commit/${GOOD}commit${NORMAL}}" - DESC="${DESC/Author:/${GOOD}author${NORMAL}}" - DESC="${DESC/ /${GOOD}title${NORMAL} ${BRACKET}}${NORMAL}\n" - echo -e "$DESC" - - VERSION="${TAG/tags\/v/}" - VERSION="${VERSION/~*/}" - VERSION="${VERSION/^*/}" - - if [ "$B" != "origin/master" ] ; then - THISBRANCH="${B/remotes\/origin\/linux-/}" - THISBRANCH="${THISBRANCH/.y/}" - REVISION="${THISBRANCH/*./}" - MAJORMINOR="${THISBRANCH/.${REVISION}/}" - let REVISION=REVISION+1 - NEXTBRANCH="${MAJORMINOR}.${REVISION}" - fi - if [ -z "$LASTFIXEDBRANCH" ] ; then - WHITEBOARD="$WHITEBOARD [linux <${VERSION}]" - else - if [ "${LASTFIXEDBRANCH}" == "${VERSION/-rc*/}" ] ; then - WHITEBOARD="${WHITEBOARD} ${BAD}[linux >=" \ - "${LASTFIXEDBRANCH} <${VERSION}]${NORMAL}" - else - WHITEBOARD="${WHITEBOARD} [linux >=" \ - "${LASTFIXEDBRANCH} <${VERSION}]" - fi - fi - LASTFIXEDBRANCH=$NEXTBRANCH - KNOWNCOMMITS="$KNOWNCOMMITS $C" - fi - done -done -echo -e "${GOOD}Whiteboard${NORMAL}\n${WHITEBOARD:1}\n" -- cgit v1.2.3-65-gdbad