#! /bin/bash ############################################################ # # # Copyright 2015 Big Switch Networks, Inc. # # Licensed under the Eclipse Public License, Version 1.0 (the # "License"); you may not use this file except in compliance # with the License. You may obtain a copy of the License at # # http://www.eclipse.org/legal/epl-v10.html # # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, # either express or implied. See the License for the specific # language governing permissions and limitations under the # License. # # ############################################################ # # # ############################################################ set -e KERNDIR=$1 PATCHDIR=$2 PATCH_SERIES=$3 if [ -f "${PATCH_SERIES}" ]; then # # The series file contains the patch order. # for p in `cat ${PATCH_SERIES}`; do if [[ $p = \#* ]]; then continue; fi if [ -f "${PATCHDIR}/${p}" ]; then echo "Applying: ${p}" if [ -x "${PATCHDIR}/${p}" ]; then "${PATCHDIR}/${p}" "${KERNDIR}" else patch --batch -p 1 -d ${KERNDIR} < "${PATCHDIR}/${p}" fi fi done else # # Patch order is implied by filenames. # for p in `ls ${PATCHDIR}/*.patch | sort`; do echo "Applying ${p}..." patch --batch -p 1 -d ${KERNDIR} < ${p} done fi