xref: /trunk/test/odf-validate/refresh-app.sh (revision 0e16a31d78a652c56c5c0fc79c752f48b9048df9)
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