summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Cady <d@jerkface.net>2020-06-19 20:23:29 -0400
committerAndrew Cady <d@jerkface.net>2020-06-19 20:23:29 -0400
commit2b33334cdd32305bb86ffbeddccc02be1366f9bb (patch)
treea3262867c3e944454867c5fe3a42ad7ce0b92481
parenteb3c5e878c4a7d3439501d939c3010324d59e08c (diff)
incorporate mozlz4
-rw-r--r--firefox-sideloader/functions.sh16
1 files changed, 11 insertions, 5 deletions
diff --git a/firefox-sideloader/functions.sh b/firefox-sideloader/functions.sh
index 7b144df..ace764a 100644
--- a/firefox-sideloader/functions.sh
+++ b/firefox-sideloader/functions.sh
@@ -58,12 +58,17 @@ illustrate_leak()
58 prof=$(get_default_firefox_profile_dir) && jq . < "$prof"/extensions.json | grep "$HOME" 58 prof=$(get_default_firefox_profile_dir) && jq . < "$prof"/extensions.json | grep "$HOME"
59} 59}
60 60
61copy_extensions_json() 61copy_file_with_filter()
62{ 62{
63 local new="$1" old="$2" f='extensions.json' filter_json 63 local new="$1" old="$2" f="$3" filter_json
64 filter_json="s/${old//\//\\/}/${new//\//\\/}/g" 64 filter_json="s/${old//\//\\/}/${new//\//\\/}/g"
65 [ -d "$old" -a -d "$new" ] || return 65 [ -d "$old" -a -d "$new" ] || return
66 sed -e "$filter_json" > "$new"/"$f" < "$old"/"$f" 66 touch --reference="$old"/"$f" "$new"/"$f" || return
67 chmod --reference="$old"/"$f" "$new"/"$f" || return
68 case "$f" in
69 *lz4) mozlz4 - < "$old"/"$f" | sed -e "$filter_json" | mozlz4 -z - > "$new"/"$f" ;;
70 *) sed -e "$filter_json" < "$old"/"$f" > "$new"/"$f" ;;
71 esac
67} 72}
68 73
69clone_profile_raw() 74clone_profile_raw()
@@ -77,9 +82,10 @@ clone_profile_raw()
77 [ "$new_profile_dir" ] || return 82 [ "$new_profile_dir" ] || return
78 [ "$new_profile_dir" != "$old_profile_dir" ] || return 83 [ "$new_profile_dir" != "$old_profile_dir" ] || return
79 84
80 cp -r --preserve=mode,timestamps -t "$new_profile_dir" -- "$old_profile_dir"/extensions/ || return 85 cp -r --preserve=mode,timestamps -t "$new_profile_dir" -- "$old_profile_dir"/{extensions/,extension-{setting,preference}s.json} || return
81 86
82 copy_extensions_json "$new_profile_dir" "$old_profile_dir" 87 copy_file_with_filter "$new_profile_dir" "$old_profile_dir" 'extensions.json'
88 copy_file_with_filter "$new_profile_dir" "$old_profile_dir" 'addonStartup.json.lz4'
83} 89}
84 90
85clone_profile() 91clone_profile()