1*0e16a31dSJim Jagielski#!/bin/zsh 2*0e16a31dSJim Jagielski#************************************************************** 3*0e16a31dSJim Jagielski# 4*0e16a31dSJim Jagielski# Licensed to the Apache Software Foundation (ASF) under one 5*0e16a31dSJim Jagielski# or more contributor license agreements. See the NOTICE file 6*0e16a31dSJim Jagielski# distributed with this work for additional information 7*0e16a31dSJim Jagielski# regarding copyright ownership. The ASF licenses this file 8*0e16a31dSJim Jagielski# to you under the Apache License, Version 2.0 (the 9*0e16a31dSJim Jagielski# "License"); you may not use this file except in compliance 10*0e16a31dSJim Jagielski# with the License. You may obtain a copy of the License at 11*0e16a31dSJim Jagielski# 12*0e16a31dSJim Jagielski# http://www.apache.org/licenses/LICENSE-2.0 13*0e16a31dSJim Jagielski# 14*0e16a31dSJim Jagielski# Unless required by applicable law or agreed to in writing, 15*0e16a31dSJim Jagielski# software distributed under the License is distributed on an 16*0e16a31dSJim Jagielski# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 17*0e16a31dSJim Jagielski# KIND, either express or implied. See the License for the 18*0e16a31dSJim Jagielski# specific language governing permissions and limitations 19*0e16a31dSJim Jagielski# under the License. 20*0e16a31dSJim Jagielski# 21*0e16a31dSJim Jagielski#************************************************************** 22*0e16a31dSJim Jagielski# usage: refresh-app.sh <lib.dylib>... -- copy rebuilt libs from the solver into the app copy 23*0e16a31dSJim Jagielskisource ${0:A:h}/env.sh 24*0e16a31dSJim Jagielski: ${SOLVER:?} ${APP:?} 25*0e16a31dSJim Jagielski# overwriting a library an office has mapped makes macOS SIGKILL everything that later touches the file 26*0e16a31dSJim Jagielskipgrep -f "$APP/MacOS/soffice" > /dev/null && { echo "refresh-app.sh: an office from $APP is still running; stop it first" >&2; exit 3; } 27*0e16a31dSJim Jagielskirc=0 28*0e16a31dSJim Jagielskifor l in "$@"; do [[ -n $l && $l != */* ]] || { echo "bad lib name: $l"; exit 2; }; done 29*0e16a31dSJim Jagielskifor l in "$@"; do 30*0e16a31dSJim Jagielski /bin/cp -f $SOLVER/$l $APP/program/$l && cmp -s $SOLVER/$l $APP/program/$l && echo "updated $l ($(stat -f %Sm $SOLVER/$l))" || { echo "FAILED $l"; rc=1; } 31*0e16a31dSJim Jagielskidone 32*0e16a31dSJim Jagielskiexit $rc 33