mirror of
https://github.com/YunoHost-Apps/photoview_ynh.git
synced 2024-09-03 20:05:55 +02:00
Fix build
This commit is contained in:
parent
1ba884530a
commit
447e4f432f
2 changed files with 152 additions and 157 deletions
8
.vscode/settings.json
vendored
8
.vscode/settings.json
vendored
|
@ -1,8 +0,0 @@
|
||||||
{
|
|
||||||
"markdownlint.config": {
|
|
||||||
"MD028": false,
|
|
||||||
"MD025": {
|
|
||||||
"front_matter_title": ""
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -56,10 +56,12 @@ function build_api {
|
||||||
|
|
||||||
pushd "$final_path/api" || ynh_die
|
pushd "$final_path/api" || ynh_die
|
||||||
chown -R $app:$app "$final_path"
|
chown -R $app:$app "$final_path"
|
||||||
set +e ; for i in {1..5}; do
|
set +e
|
||||||
|
for i in {1..5}; do
|
||||||
sudo -u $app env "PATH=$go_path_full" "LIBRARY_PATH=$heif_lib_path" "LD_LIBRARY_PATH=$heif_ld_lib_path" "CGO_CFLAGS=$heif_cgo_cflags" GOENV_VERSION=$go_version CGO_ENABLED=1 go mod download 2>&1 && break
|
sudo -u $app env "PATH=$go_path_full" "LIBRARY_PATH=$heif_lib_path" "LD_LIBRARY_PATH=$heif_ld_lib_path" "CGO_CFLAGS=$heif_cgo_cflags" GOENV_VERSION=$go_version CGO_ENABLED=1 go mod download 2>&1 && break
|
||||||
sleep 5
|
sleep 5
|
||||||
done; set -e
|
done
|
||||||
|
set -e
|
||||||
sudo -u $app env "PATH=$go_path_full" "LIBRARY_PATH=$heif_lib_path" "LD_LIBRARY_PATH=$heif_ld_lib_path" "CGO_CFLAGS=$heif_cgo_cflags" GOENV_VERSION=$go_version CGO_ENABLED=1 go install github.com/mattn/go-sqlite3 github.com/Kagami/go-face 2>&1
|
sudo -u $app env "PATH=$go_path_full" "LIBRARY_PATH=$heif_lib_path" "LD_LIBRARY_PATH=$heif_ld_lib_path" "CGO_CFLAGS=$heif_cgo_cflags" GOENV_VERSION=$go_version CGO_ENABLED=1 go install github.com/mattn/go-sqlite3 github.com/Kagami/go-face 2>&1
|
||||||
sudo -u $app env "PATH=$go_path_full" "LIBRARY_PATH=$heif_lib_path" "LD_LIBRARY_PATH=$heif_ld_lib_path" "CGO_CFLAGS=$heif_cgo_cflags" GOENV_VERSION=$go_version go build -o photoview "$final_path/api" 2>&1
|
sudo -u $app env "PATH=$go_path_full" "LIBRARY_PATH=$heif_lib_path" "LD_LIBRARY_PATH=$heif_ld_lib_path" "CGO_CFLAGS=$heif_cgo_cflags" GOENV_VERSION=$go_version go build -o photoview "$final_path/api" 2>&1
|
||||||
popd || ynh_die
|
popd || ynh_die
|
||||||
|
@ -81,17 +83,23 @@ function build_ui {
|
||||||
pushd "$ui_path" || ynh_die
|
pushd "$ui_path" || ynh_die
|
||||||
chown -R $app:$app $final_path
|
chown -R $app:$app $final_path
|
||||||
sudo -u $app touch $ui_path/.yarnrc
|
sudo -u $app touch $ui_path/.yarnrc
|
||||||
|
sudo -u $app env "PATH=$node_path" yarn --cache-folder "$ui_path/yarn-cache" --use-yarnrc "$ui_path/.yarnrc" import 2>&1
|
||||||
|
sudo -u $app env "PATH=$node_path" yarn --cache-folder "$ui_path/yarn-cache" --use-yarnrc "$ui_path/.yarnrc" add husky 2>&1
|
||||||
sudo -u $app env "PATH=$node_path" yarn --cache-folder "$ui_path/yarn-cache" --use-yarnrc "$ui_path/.yarnrc" install 2>&1
|
sudo -u $app env "PATH=$node_path" yarn --cache-folder "$ui_path/yarn-cache" --use-yarnrc "$ui_path/.yarnrc" install 2>&1
|
||||||
sudo -u $app env "PATH=$node_path" yarn --cache-folder "$ui_path/yarn-cache" --use-yarnrc "$ui_path/.yarnrc" add graphql --ignore-engines 2>&1
|
sudo -u $app env "PATH=$node_path" yarn --cache-folder "$ui_path/yarn-cache" --use-yarnrc "$ui_path/.yarnrc" add graphql --ignore-engines 2>&1
|
||||||
grep -q "build complete" <((sudo -u $app env "PATH=$node_path" yarn --cache-folder "$ui_path/yarn-cache" --use-yarnrc "$ui_path/.yarnrc" run build -- --public-url "$path_url" 2>&1 & echo $! >&3 ) 3>pid) ; kill "$(<pid)"
|
sudo -u $app env "PATH=$node_path" yarn --cache-folder "$ui_path/yarn-cache" --use-yarnrc "$ui_path/.yarnrc" run build --public-url "$path_url" 2>&1
|
||||||
popd || ynh_die
|
popd || ynh_die
|
||||||
|
|
||||||
cp -rT "$final_path/ui/dist" "$final_path/output/ui"
|
cp -rT "$final_path/ui/build" "$final_path/output/ui"
|
||||||
|
|
||||||
set_permissions
|
set_permissions
|
||||||
}
|
}
|
||||||
|
|
||||||
function set_node_vars {
|
function set_node_vars {
|
||||||
|
nodejs_version=$(ynh_app_setting_get --app=$app --key=nodejs_version)
|
||||||
|
if [ $nodejs_version -ne 16 ]; then
|
||||||
|
ynh_exec_warn_less ynh_remove_nodejs
|
||||||
|
fi
|
||||||
ynh_exec_warn_less ynh_install_nodejs --nodejs_version=16
|
ynh_exec_warn_less ynh_install_nodejs --nodejs_version=16
|
||||||
ynh_use_nodejs
|
ynh_use_nodejs
|
||||||
node_path=$nodejs_path:$(sudo -u $app sh -c 'echo $PATH')
|
node_path=$nodejs_path:$(sudo -u $app sh -c 'echo $PATH')
|
||||||
|
@ -166,7 +174,7 @@ export GOENV_ROOT="$goenv_install_dir"
|
||||||
# usage: ynh_use_go
|
# usage: ynh_use_go
|
||||||
#
|
#
|
||||||
# Requires YunoHost version 3.2.2 or higher.
|
# Requires YunoHost version 3.2.2 or higher.
|
||||||
ynh_use_go () {
|
ynh_use_go() {
|
||||||
go_version=$(ynh_app_setting_get --app=$app --key=go_version)
|
go_version=$(ynh_app_setting_get --app=$app --key=go_version)
|
||||||
|
|
||||||
# Get the absolute path of this version of Go
|
# Get the absolute path of this version of Go
|
||||||
|
@ -208,10 +216,10 @@ ynh_use_go () {
|
||||||
# | arg: -v, --go_version= - Version of go to install.
|
# | arg: -v, --go_version= - Version of go to install.
|
||||||
#
|
#
|
||||||
# Requires YunoHost version 3.2.2 or higher.
|
# Requires YunoHost version 3.2.2 or higher.
|
||||||
ynh_install_go () {
|
ynh_install_go() {
|
||||||
# Declare an array to define the options of this helper.
|
# Declare an array to define the options of this helper.
|
||||||
local legacy_args=v
|
local legacy_args=v
|
||||||
local -A args_array=( [v]=go_version= )
|
local -A args_array=([v]=go_version=)
|
||||||
local go_version
|
local go_version
|
||||||
# Manage arguments with getopts
|
# Manage arguments with getopts
|
||||||
ynh_handle_getopts_args "$@"
|
ynh_handle_getopts_args "$@"
|
||||||
|
@ -242,7 +250,7 @@ ynh_install_go () {
|
||||||
mkdir -p $goenv_install_dir
|
mkdir -p $goenv_install_dir
|
||||||
pushd $goenv_install_dir
|
pushd $goenv_install_dir
|
||||||
git init -q
|
git init -q
|
||||||
git remote add -f -t master origin https://github.com/syndbg/goenv.git > /dev/null 2>&1
|
git remote add -f -t master origin https://github.com/syndbg/goenv.git >/dev/null 2>&1
|
||||||
git checkout -q -b master origin/master
|
git checkout -q -b master origin/master
|
||||||
ynh_go_try_bash_extension
|
ynh_go_try_bash_extension
|
||||||
goenv=$goenv_install_dir/bin/goenv
|
goenv=$goenv_install_dir/bin/goenv
|
||||||
|
@ -292,7 +300,7 @@ ynh_install_go () {
|
||||||
export GOENV_ROOT=$goenv_install_dir
|
export GOENV_ROOT=$goenv_install_dir
|
||||||
export PATH=\"$goenv_install_dir/bin:$PATH\"
|
export PATH=\"$goenv_install_dir/bin:$PATH\"
|
||||||
eval \"\$(goenv init -)\"
|
eval \"\$(goenv init -)\"
|
||||||
#goenv" > /etc/profile.d/goenv.sh
|
#goenv" >/etc/profile.d/goenv.sh
|
||||||
|
|
||||||
# Load the environment
|
# Load the environment
|
||||||
eval "$(goenv init -)"
|
eval "$(goenv init -)"
|
||||||
|
@ -303,7 +311,7 @@ eval \"\$(goenv init -)\"
|
||||||
# This helper will also cleanup Go versions
|
# This helper will also cleanup Go versions
|
||||||
#
|
#
|
||||||
# usage: ynh_remove_go
|
# usage: ynh_remove_go
|
||||||
ynh_remove_go () {
|
ynh_remove_go() {
|
||||||
local go_version=$(ynh_app_setting_get --app=$YNH_APP_INSTANCE_NAME --key=go_version)
|
local go_version=$(ynh_app_setting_get --app=$YNH_APP_INSTANCE_NAME --key=go_version)
|
||||||
|
|
||||||
# Load goenv path in PATH
|
# Load goenv path in PATH
|
||||||
|
@ -326,34 +334,29 @@ ynh_remove_go () {
|
||||||
# If no app uses Go, goenv will be also removed.
|
# If no app uses Go, goenv will be also removed.
|
||||||
#
|
#
|
||||||
# usage: ynh_cleanup_go
|
# usage: ynh_cleanup_go
|
||||||
ynh_cleanup_go () {
|
ynh_cleanup_go() {
|
||||||
|
|
||||||
# List required Go versions
|
# List required Go versions
|
||||||
local installed_apps=$(yunohost app list | grep -oP 'id: \K.*$')
|
local installed_apps=$(yunohost app list | grep -oP 'id: \K.*$')
|
||||||
local required_go_versions=""
|
local required_go_versions=""
|
||||||
for installed_app in $installed_apps
|
for installed_app in $installed_apps; do
|
||||||
do
|
|
||||||
local installed_app_go_version=$(ynh_app_setting_get --app=$installed_app --key="go_version")
|
local installed_app_go_version=$(ynh_app_setting_get --app=$installed_app --key="go_version")
|
||||||
if [[ $installed_app_go_version ]]
|
if [[ $installed_app_go_version ]]; then
|
||||||
then
|
|
||||||
required_go_versions="${installed_app_go_version}\n${required_go_versions}"
|
required_go_versions="${installed_app_go_version}\n${required_go_versions}"
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
# Remove no more needed Go versions
|
# Remove no more needed Go versions
|
||||||
local installed_go_versions=$(goenv versions --bare --skip-aliases | grep -Ev '/')
|
local installed_go_versions=$(goenv versions --bare --skip-aliases | grep -Ev '/')
|
||||||
for installed_go_version in $installed_go_versions
|
for installed_go_version in $installed_go_versions; do
|
||||||
do
|
if ! $(echo ${required_go_versions} | grep "${installed_go_version}" 1>/dev/null 2>&1); then
|
||||||
if ! `echo ${required_go_versions} | grep "${installed_go_version}" 1>/dev/null 2>&1`
|
|
||||||
then
|
|
||||||
ynh_print_info --message="Removing of Go-$installed_go_version"
|
ynh_print_info --message="Removing of Go-$installed_go_version"
|
||||||
$goenv_install_dir/bin/goenv uninstall --force $installed_go_version
|
$goenv_install_dir/bin/goenv uninstall --force $installed_go_version
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
# If none Go version is required
|
# If none Go version is required
|
||||||
if [[ ! $required_go_versions ]]
|
if [[ ! $required_go_versions ]]; then
|
||||||
then
|
|
||||||
# Remove goenv environment configuration
|
# Remove goenv environment configuration
|
||||||
ynh_print_info --message="Removing of goenv"
|
ynh_print_info --message="Removing of goenv"
|
||||||
ynh_secure_remove --file="$goenv_install_dir"
|
ynh_secure_remove --file="$goenv_install_dir"
|
||||||
|
|
Loading…
Add table
Reference in a new issue