12dad8905Sopenharmony_ci#!/bin/bash 22dad8905Sopenharmony_ci# Copyright (c) 2021-2022 Huawei Device Co., Ltd. 32dad8905Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License"); 42dad8905Sopenharmony_ci# you may not use this file except in compliance with the License. 52dad8905Sopenharmony_ci# You may obtain a copy of the License at 62dad8905Sopenharmony_ci# 72dad8905Sopenharmony_ci# http://www.apache.org/licenses/LICENSE-2.0 82dad8905Sopenharmony_ci# 92dad8905Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software 102dad8905Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS, 112dad8905Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 122dad8905Sopenharmony_ci# See the License for the specific language governing permissions and 132dad8905Sopenharmony_ci# limitations under the License. 142dad8905Sopenharmony_ci 152dad8905Sopenharmony_ciset -e 162dad8905Sopenharmony_ci 172dad8905Sopenharmony_ci<<COMMENT 182dad8905Sopenharmony_ci 192dad8905Sopenharmony_ci# -p NUM --strip=NUM Strip NUM leading components from file names. 202dad8905Sopenharmony_ci# -i PATCHFILE --input=PATCHFILE Read patch from PATCHFILE instead of stdin. 212dad8905Sopenharmony_ci# -d DIR --directory=DIR Change the working directory to DIR first. 222dad8905Sopenharmony_ci 232dad8905Sopenharmony_cibash -x ./apply_patch.sh \ 242dad8905Sopenharmony_ci ../../../../third_party/libinput/ \ 252dad8905Sopenharmony_ci ../../../../out/ohos-arm-release/libinput_mmi \ 262dad8905Sopenharmony_ci ./diff_libinput_mmi 272dad8905Sopenharmony_ci 282dad8905Sopenharmony_ciCOMMENT 292dad8905Sopenharmony_ci 302dad8905Sopenharmony_cicurdir=$(pwd) 312dad8905Sopenharmony_cisource_dir=$1 322dad8905Sopenharmony_ciout_dir=$2 332dad8905Sopenharmony_cipath_file_dir=$3 342dad8905Sopenharmony_ci 352dad8905Sopenharmony_ciecho "curdir: $curdir" 362dad8905Sopenharmony_ciecho "source_dir: $source_dir" 372dad8905Sopenharmony_ciecho "out_dir: $out_dir" 382dad8905Sopenharmony_ciecho "path_file_dir: $path_file_dir" 392dad8905Sopenharmony_ci 402dad8905Sopenharmony_ciif [ "$source_dir" == "" ] || [ "$out_dir" == "" ] || [ "$path_file_dir" == "" ]; then 412dad8905Sopenharmony_ci echo "param is invalid." 422dad8905Sopenharmony_ci exit 1 432dad8905Sopenharmony_cifi 442dad8905Sopenharmony_ci 452dad8905Sopenharmony_ciecho "check out_dir: $out_dir" 462dad8905Sopenharmony_ciif [ -d "$out_dir" ]; then 472dad8905Sopenharmony_ci echo "remove $out_dir begin" 482dad8905Sopenharmony_ci rm -rf "$out_dir" 492dad8905Sopenharmony_cifi 502dad8905Sopenharmony_ci 512dad8905Sopenharmony_ciecho "mkdir out_dir: $out_dir" 522dad8905Sopenharmony_cimkdir -p $out_dir 532dad8905Sopenharmony_ci 542dad8905Sopenharmony_ciecho "cp $source_dir/* to $out_dir/" 552dad8905Sopenharmony_cicp -fra $source_dir/* $out_dir 562dad8905Sopenharmony_ci 572dad8905Sopenharmony_ciif [ -e "$out_dir/install.sh" ]; then 582dad8905Sopenharmony_ci cd $out_dir 592dad8905Sopenharmony_ci tar xvf mtdev-1.1.6.tar.bz2 602dad8905Sopenharmony_ci cp -rf mtdev-1.1.6/* ./ 612dad8905Sopenharmony_ci ./configure 622dad8905Sopenharmony_ci cd - 632dad8905Sopenharmony_cifi 642dad8905Sopenharmony_ci 652dad8905Sopenharmony_cils -l $path_file_dir/*.diff 662dad8905Sopenharmony_ciif [ $? -ne 0 ]; then 672dad8905Sopenharmony_ci echo "WARNING: no patch." 682dad8905Sopenharmony_ci exit 0 692dad8905Sopenharmony_cifi 702dad8905Sopenharmony_ci 712dad8905Sopenharmony_ciPATCH_FILE=$(realpath $(ls $path_file_dir/*.diff | tail -n 1)) 722dad8905Sopenharmony_ci 732dad8905Sopenharmony_ciecho "PATCH_FILE: $PATCH_FILE" 742dad8905Sopenharmony_ci 752dad8905Sopenharmony_cicd $out_dir 762dad8905Sopenharmony_ciecho "pwd: $(pwd)" 772dad8905Sopenharmony_cipatch -p1 -i $PATCH_FILE 782dad8905Sopenharmony_ciif [ $? -ne 0 ]; then 792dad8905Sopenharmony_ci echo "patch fail. path_file_dir=$path_file_dir" 802dad8905Sopenharmony_ci exit 1 812dad8905Sopenharmony_cifi 822dad8905Sopenharmony_ci 832dad8905Sopenharmony_cicd $curdir 842dad8905Sopenharmony_ciexit 0 85