ksud: fix odm not magic-mounted
This commit is contained in:
@@ -303,12 +303,13 @@ is_legacy_script() {
|
|||||||
|
|
||||||
handle_partition() {
|
handle_partition() {
|
||||||
PARTITION="$1"
|
PARTITION="$1"
|
||||||
|
REQUIRE_SYMLINK="$2"
|
||||||
if [ ! -e "$MODPATH/system/$PARTITION" ]; then
|
if [ ! -e "$MODPATH/system/$PARTITION" ]; then
|
||||||
# no partition found
|
# no partition found
|
||||||
return;
|
return;
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -L "/system/$PARTITION" ] && [ "$(readlink -f "/system/$PARTITION")" = "/$PARTITION" ]; then
|
if [ "$REQUIRE_SYMLINK" = "false" ] || [ -L "/system/$PARTITION" ] && [ "$(readlink -f "/system/$PARTITION")" = "/$PARTITION" ]; then
|
||||||
ui_print "- Handle partition /$PARTITION"
|
ui_print "- Handle partition /$PARTITION"
|
||||||
ln -sf "$MODPATH/system/$PARTITION" "$MODPATH/$PARTITION"
|
ln -sf "$MODPATH/system/$PARTITION" "$MODPATH/$PARTITION"
|
||||||
fi
|
fi
|
||||||
@@ -388,9 +389,10 @@ install_module() {
|
|||||||
[ -f $MODPATH/customize.sh ] && . $MODPATH/customize.sh
|
[ -f $MODPATH/customize.sh ] && . $MODPATH/customize.sh
|
||||||
fi
|
fi
|
||||||
|
|
||||||
handle_partition vendor
|
handle_partition vendor true
|
||||||
handle_partition system_ext
|
handle_partition system_ext true
|
||||||
handle_partition product
|
handle_partition product true
|
||||||
|
handle_partition odm false
|
||||||
|
|
||||||
# Handle replace folders
|
# Handle replace folders
|
||||||
for TARGET in $REPLACE; do
|
for TARGET in $REPLACE; do
|
||||||
|
|||||||
@@ -148,10 +148,15 @@ fn collect_module_files() -> Result<Option<Node>> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if has_file {
|
if has_file {
|
||||||
for partition in ["vendor", "system_ext", "product", "odm"] {
|
for (partition, require_symlink) in [
|
||||||
|
("vendor", true),
|
||||||
|
("system_ext", true),
|
||||||
|
("product", true),
|
||||||
|
("odm", false),
|
||||||
|
] {
|
||||||
let path_of_root = Path::new("/").join(partition);
|
let path_of_root = Path::new("/").join(partition);
|
||||||
let path_of_system = Path::new("/system").join(partition);
|
let path_of_system = Path::new("/system").join(partition);
|
||||||
if path_of_root.is_dir() && path_of_system.is_symlink() {
|
if path_of_root.is_dir() && (!require_symlink || path_of_system.is_symlink()) {
|
||||||
let name = partition.to_string();
|
let name = partition.to_string();
|
||||||
if let Some(node) = system.children.remove(&name) {
|
if let Some(node) = system.children.remove(&name) {
|
||||||
root.children.insert(name, node);
|
root.children.insert(name, node);
|
||||||
|
|||||||
Reference in New Issue
Block a user