+#!/bin/bash
+
+recipe=$1
+ceph_dir=$PWD/src/ceph
+
+if [ -n "$1" ]; then
+ echo "recipe file: $1"
+else
+ echo "must supply one recipe file"
+ exit
+fi
+
+if [ ! -f "$recipe" ]; then
+ echo "recipe file $recipe doesn't exist"
+ exit
+fi
+
+source $recipe
+
+echo $PROJECT
+echo $SUMMARY
+echo $BRANCH
+echo $REPO
+echo $OPTION
+
+do_patch() {
+ echo ""
+ echo "$PROJECT do_patch"
+ cd $ceph_dir
+ if [ -d "$PROJECT" ]; then
+ rm -rf $PROJECT
+ fi
+ git clone -b $BRANCH $REPO $PROJECT
+ cd $PROJECT
+ for patch in ${SOURCES[@]}
+ do
+ echo ""
+ echo $patch
+ if [ ! -f "$ceph_dir/$patch" ]; then
+ echo "$patch doesn't exit"
+ fi
+ check_results=`patch -p1 < $ceph_dir/$patch | grep FAILED`
+ echo "command (patch -p1 < $ceph_dir/$patch) results are:"
+ echo "$check_results"
+ if [[ $check_results =~ "FAILED" ]]; then
+ echo "$patch could not be applied successfully"
+ exit
+ fi
+ done
+}
+
+do_patch