xref: /aosp_15_r20/system/extras/cppreopts/preloads_copy.sh (revision 288bf5226967eb3dac5cce6c939ccc2a7f2b4fe5)
1*288bf522SAndroid Build Coastguard Worker#!/system/bin/sh
2*288bf522SAndroid Build Coastguard Worker#
3*288bf522SAndroid Build Coastguard Worker# Copyright (C) 2016 The Android Open Source Project
4*288bf522SAndroid Build Coastguard Worker#
5*288bf522SAndroid Build Coastguard Worker# Licensed under the Apache License, Version 2.0 (the "License");
6*288bf522SAndroid Build Coastguard Worker# you may not use this file except in compliance with the License.
7*288bf522SAndroid Build Coastguard Worker# You may obtain a copy of the License at
8*288bf522SAndroid Build Coastguard Worker#
9*288bf522SAndroid Build Coastguard Worker#      http://www.apache.org/licenses/LICENSE-2.0
10*288bf522SAndroid Build Coastguard Worker#
11*288bf522SAndroid Build Coastguard Worker# Unless required by applicable law or agreed to in writing, software
12*288bf522SAndroid Build Coastguard Worker# distributed under the License is distributed on an "AS IS" BASIS,
13*288bf522SAndroid Build Coastguard Worker# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14*288bf522SAndroid Build Coastguard Worker# See the License for the specific language governing permissions and
15*288bf522SAndroid Build Coastguard Worker# limitations under the License.
16*288bf522SAndroid Build Coastguard Worker
17*288bf522SAndroid Build Coastguard Worker# This script copies preloaded content from system_other to data partition
18*288bf522SAndroid Build Coastguard Worker
19*288bf522SAndroid Build Coastguard Worker# create files with 644 (global read) permissions.
20*288bf522SAndroid Build Coastguard Workerumask 022
21*288bf522SAndroid Build Coastguard Worker
22*288bf522SAndroid Build Coastguard Workerif [ $# -eq 1 ]; then
23*288bf522SAndroid Build Coastguard Worker  # Where system_other is mounted that contains the preloads dir
24*288bf522SAndroid Build Coastguard Worker  mountpoint=$1
25*288bf522SAndroid Build Coastguard Worker  dest_dir=/data/preloads
26*288bf522SAndroid Build Coastguard Worker  log -p i -t preloads_copy "Copying from $mountpoint/preloads"
27*288bf522SAndroid Build Coastguard Worker  # Parallelize by copying subfolders and files in the background
28*288bf522SAndroid Build Coastguard Worker  for file in $(find ${mountpoint}/preloads -mindepth 1 -maxdepth 1); do
29*288bf522SAndroid Build Coastguard Worker      cp -rn $file $dest_dir &
30*288bf522SAndroid Build Coastguard Worker  done
31*288bf522SAndroid Build Coastguard Worker  # Wait for jobs to finish
32*288bf522SAndroid Build Coastguard Worker  wait
33*288bf522SAndroid Build Coastguard Worker  log -p i -t preloads_copy "Copying complete"
34*288bf522SAndroid Build Coastguard Worker  exit 0
35*288bf522SAndroid Build Coastguard Workerelse
36*288bf522SAndroid Build Coastguard Worker  log -p e -t preloads_copy "Usage: preloads_copy.sh <system_other-mount-point>"
37*288bf522SAndroid Build Coastguard Worker  exit 1
38*288bf522SAndroid Build Coastguard Workerfi
39