1#! /bin/sh 2 3# BSD LICENSE 4# 5# Copyright 2015 EZchip Semiconductor Ltd. 6# 7# Redistribution and use in source and binary forms, with or without 8# modification, are permitted provided that the following conditions 9# are met: 10# 11# * Redistributions of source code must retain the above copyright 12# notice, this list of conditions and the following disclaimer. 13# * Redistributions in binary form must reproduce the above copyright 14# notice, this list of conditions and the following disclaimer in 15# the documentation and/or other materials provided with the 16# distribution. 17# * Neither the name of EZchip Semiconductor nor the names of its 18# contributors may be used to endorse or promote products derived 19# from this software without specific prior written permission. 20# 21# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 22# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 23# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 24# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 25# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 26# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 27# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 28# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 29# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 30# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 31# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 33# Apply coccinelle transforms. 34 35SRCTREE=$(readlink -f $(dirname $0)/..) 36COCCI=$SRCTREE/devtools/cocci 37[ -n "$SPATCH" ] || SPATCH=$(which spatch) 38 39PATCH_LIST="$@" 40[ -n "$PATCH_LIST" ] || PATCH_LIST=$(echo $COCCI/*.cocci) 41 42[ -x "$SPATCH" ] || ( 43 echo "Coccinelle tools not installed." 44 exit 1 45) 46 47tmp=$(mktemp -t dpdk.cocci.XXX) 48 49for c in $PATCH_LIST; do 50 while true; do 51 echo -n "Applying $c..." 52 $SPATCH --sp-file $c -c --linux-spacing --very-quiet \ 53 --include-headers --preprocess \ 54 --in-place --dir $SRCTREE > $tmp 55 if [ -s $tmp ]; then 56 echo " changes applied, retrying." 57 else 58 echo " no change." 59 break; 60 fi 61 done 62done 63 64rm -f $tmp 65