lv_api_do now contained within qq2clone as a base64 encoded tgz archive
This commit is contained in:
parent
28333b7e30
commit
d73f28ee4b
17
gen_all.bash
17
gen_all.bash
|
@ -2,8 +2,7 @@
|
|||
|
||||
# Generate all files that need to be generated
|
||||
|
||||
declare -a arc_files=( qq2clone lv_api_do qq2clone.1
|
||||
qq2clone_completion.bash )
|
||||
declare -a inst_arc_files=( qq2clone qq2clone.1 qq2clone_completion.bash )
|
||||
declare -a req_files=( "${arc_files[@]}" inst_fragment.bash "lv_api_do.c"
|
||||
man.pandoc )
|
||||
|
||||
|
@ -24,6 +23,18 @@ done
|
|||
echo "Compiling lv_api_do"
|
||||
gcc lv_api_do.c -o lv_api_do -lvirt
|
||||
|
||||
# Generate qq2clone
|
||||
echo "Generating qq2clone"
|
||||
while IFS= read -r line; do
|
||||
if [[ "$line" == "#REPLACE WITH ARCHIVE#" ]]; then
|
||||
echo "archive='"
|
||||
tar -cz lv_api_do | base64
|
||||
echo "'"
|
||||
else
|
||||
echo "$line"
|
||||
fi
|
||||
done < qq2clone_noarchive > qq2clone
|
||||
|
||||
# Generate installer
|
||||
|
||||
echo "Generating installer script"
|
||||
|
@ -33,7 +44,7 @@ echo "Generating installer script"
|
|||
echo "# This script generated automatically by gen_installer.bash"
|
||||
echo
|
||||
echo "archive='"
|
||||
tar -cz "${arc_files[@]}" | base64
|
||||
tar -cz "${inst_arc_files[@]}" | base64
|
||||
echo "'"
|
||||
echo
|
||||
cat inst_fragment.bash
|
||||
|
|
129
qq2clone
129
qq2clone
|
@ -137,6 +137,20 @@ return 0
|
|||
# closing lv_api_do into something that must be managed manually by the
|
||||
# coder
|
||||
|
||||
#=========================================================================#
|
||||
lv_api_do_check ()
|
||||
# DESCRIPTION: See if lv_api_do is present in the expected location. If
|
||||
# not, put it there
|
||||
# INPUT: None
|
||||
# OUTPUT: None
|
||||
# PARAMETERS: None
|
||||
#=========================================================================#
|
||||
{
|
||||
local loc="/run/user/${UID}"
|
||||
[[ -e "${loc}/lv_api_do" ]] && return
|
||||
cd "$loc"
|
||||
echo "$archive" | base64 -d | tar -zx
|
||||
}
|
||||
#=========================================================================#
|
||||
lv_api_do_close ()
|
||||
# DESCRIPTION: Tell lv_api_do to exit and close the extra pipe
|
||||
|
@ -195,7 +209,7 @@ declare -g lv_api_temp;
|
|||
lv_api_temp="$(mktemp -d )" || temp_error
|
||||
mkfifo "${lv_api_temp}/lv_api_do_fifo" || fifo_error
|
||||
exec 4<>"${lv_api_temp}/lv_api_do_fifo"
|
||||
"${QQ2_DIR}/lv_api_do" <&4 >&3 2>/dev/null &
|
||||
"/run/user/${UID}/lv_api_do" <&4 >&3 2>/dev/null &
|
||||
|
||||
local check
|
||||
read -r check <&3
|
||||
|
@ -438,10 +452,6 @@ read -r check \
|
|||
{ echo "Is the database corrupt? No CONFIG table!";
|
||||
exit "$E_unexpected"; } >&2
|
||||
|
||||
chmod +x "${QQ2_DIR}/lv_api_do" &>/dev/null ||
|
||||
{ echo "lv_api_do is missing from $QQ2_DIR, or has bad permissions";
|
||||
exit "$E_permission"; } >&2
|
||||
|
||||
declare -gA OPT
|
||||
declare -a opts
|
||||
local elem
|
||||
|
@ -3137,6 +3147,114 @@ echo "$str"
|
|||
return 0
|
||||
}
|
||||
|
||||
#-------------#
|
||||
#@@@@@@@@@@@@@#
|
||||
#---ARCHIVE---#
|
||||
#@@@@@@@@@@@@@#
|
||||
#-------------#
|
||||
|
||||
# This section contains a base64 encoded archive added in with
|
||||
# gen_all.bash. The last remaining section containing Bash scripting is
|
||||
# ENTRY POINT, at the bottom of this file
|
||||
|
||||
archive='
|
||||
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
|
||||
J/030Ir0wABQAAA=
|
||||
'
|
||||
|
||||
#-----------------#
|
||||
#@@@@@@@@@@@@@@@@@#
|
||||
#---ENTRY POINT---#
|
||||
|
@ -3148,6 +3266,7 @@ if ! ((QQ2_NOEXECUTE)); then
|
|||
#Ensure needed fds are not in use
|
||||
exec 3>&- 3<&- 4>&- 4<&-;
|
||||
|
||||
lv_api_do_check
|
||||
open_pipe
|
||||
if [[ -n "$QQ2_DIR" ]]; then
|
||||
: # If already set, use existing value
|
||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue