Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
André Lam
android_vendor_lineage
Commits
c4e288c4
Commit
c4e288c4
authored
Aug 19, 2019
by
Luca Stefani
Browse files
backuptool_ab: Make copy_file preserve file/directory attrs
Change-Id: I52c7b124ff8364464643c51b3f17dba4e4e49435
parent
276e7770
Changes
1
Show whitespace changes
Inline
Side-by-side
prebuilt/common/bin/backuptool_ab.functions
View file @
c4e288c4
...
...
@@ -9,40 +9,28 @@ export V=16.0
export
backuptool_ab
=
true
copy_file
()
{
# toybox's cp doesn't do directories correctly for whatever reason
mkdir
-p
`
dirname
$2
`
old
=
`
umask
`
umask
0322
mkdir
-m755
-p
`
dirname
$2
`
umask
"
$old
"
cp
-dp
"
$1
"
"
$2
"
# symlinks don't have a context
if
[
!
-L
"
$1
"
]
;
then
# it is assumed that every label starts with 'u:object_r' and has no white-spaces
local
context
=
`
ls
-Z
"
$1
"
|
grep
-o
'u:object_r:[^ ]*'
|
head
-1
`
chcon
"
$context
"
"
$2
"
fi
cp
-dp
--preserve
=
a
"
$1
"
"
$2
"
}
backup_file
()
{
if
[
-e
"
$1
"
-o
-L
"
$1
"
]
;
then
local
FILE
=
`
basename
"
$1
"
`
local
DIR
=
`
dirname
"
$1
"
`
# dont backup any apps that have odex files, they are useless
if
(
echo
"
$
FILE
"
|
grep
-q
"
\.
apk$"
)
&&
[
-e
`
echo
"
$1
"
|
sed
-e
's/\.apk$/\.odex/'
`
]
;
then
if
(
echo
"
$
1
"
|
grep
-q
"
\.
apk$"
)
&&
[
-e
`
echo
"
$1
"
|
sed
-e
's/\.apk$/\.odex/'
`
]
;
then
echo
"Skipping odexed apk
$1
"
;
else
mkdir
-p
"
$C
/
$DIR
"
copy_file
"
$1
"
"
$C
/
$DIR
/
$FILE
"
copy_file
"
$1
"
"
$C
/
$1
"
fi
fi
}
restore_file
()
{
local
FILE
=
`
basename
"
$1
"
`
local
DIR
=
`
dirname
"
$1
"
`
if
[
-e
"
$C
/
$DIR
/
$FILE
"
-o
-L
"
$C
/
$DIR
/
$FILE
"
]
;
then
if
[
!
-d
"/postinstall/
$DIR
"
]
;
then
mkdir
-p
"/postinstall/
$DIR
"
;
fi
copy_file
"
$C
/
$DIR
/
$FILE
"
"/postinstall/
$1
"
;
if
[
-e
"
$C
/
$1
"
-o
-L
"
$C
/
$1
"
]
;
then
copy_file
"
$C
/
$1
"
"/postinstall/
$1
"
;
if
[
-n
"
$2
"
]
;
then
echo
"Deleting obsolete file
$2
"
rm
"
$2
"
;
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment