mirror of
https://github.com/YunoHost/yunohost.git
synced 2024-09-03 20:06:10 +02:00
appsv2: various fixes regarding sources toml parsing/caching
This commit is contained in:
parent
821aedefa7
commit
14bf2ee48b
1 changed files with 17 additions and 14 deletions
|
@ -22,7 +22,10 @@ YNH_APP_BASEDIR=${YNH_APP_BASEDIR:-$(realpath ..)}
|
||||||
ynh_exit_properly() {
|
ynh_exit_properly() {
|
||||||
local exit_code=$?
|
local exit_code=$?
|
||||||
|
|
||||||
rm -rf "/var/cache/yunohost/download/"
|
if [[ "${YNH_APP_ACTION}" =~ ^install$|^upgrade$|^restore$ ]]
|
||||||
|
then
|
||||||
|
rm -rf "/var/cache/yunohost/download/"
|
||||||
|
fi
|
||||||
|
|
||||||
if [ "$exit_code" -eq 0 ]; then
|
if [ "$exit_code" -eq 0 ]; then
|
||||||
exit 0 # Exit without error if the script ended correctly
|
exit 0 # Exit without error if the script ended correctly
|
||||||
|
@ -164,22 +167,22 @@ ynh_setup_source() {
|
||||||
if test -e $YNH_APP_BASEDIR/manifest.toml && cat $YNH_APP_BASEDIR/manifest.toml | toml_to_json | jq -e '.resources.sources' >/dev/null
|
if test -e $YNH_APP_BASEDIR/manifest.toml && cat $YNH_APP_BASEDIR/manifest.toml | toml_to_json | jq -e '.resources.sources' >/dev/null
|
||||||
then
|
then
|
||||||
source_id="${source_id:-main}"
|
source_id="${source_id:-main}"
|
||||||
local sources_json=$(cat $YNH_APP_BASEDIR/manifest.toml | toml_to_json | jq '.resources.sources')
|
local sources_json=$(cat $YNH_APP_BASEDIR/manifest.toml | toml_to_json | jq ".resources.sources[\"$source_id\"]")
|
||||||
if ! echo "$sources_json" | jq -re ".$source_id.url"
|
if jq -re ".url" <<< "$sources_json"
|
||||||
then
|
then
|
||||||
local arch_prefix=".$YNH_ARCH"
|
|
||||||
else
|
|
||||||
local arch_prefix=""
|
local arch_prefix=""
|
||||||
|
else
|
||||||
|
local arch_prefix=".$YNH_ARCH"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
local src_url="$(echo "$sources_json" | jq -r ".$source_id$arch_prefix.url" | sed 's/^null$//')"
|
local src_url="$(jq -r "$arch_prefix.url" <<< "$sources_json" | sed 's/^null$//')"
|
||||||
local src_sum="$(echo "$sources_json" | jq -r ".$source_id$arch_prefix.sha256" | sed 's/^null$//')"
|
local src_sum="$(jq -r "$arch_prefix.sha256" <<< "$sources_json" | sed 's/^null$//')"
|
||||||
local src_sumprg="sha256sum"
|
local src_sumprg="sha256sum"
|
||||||
local src_format="$(echo "$sources_json" | jq -r ".$source_id.format" | sed 's/^null$//')"
|
local src_format="$(jq -r ".format" <<< "$sources_json" | sed 's/^null$//')"
|
||||||
local src_in_subdir="$(echo "$sources_json" | jq -r ".$source_id.in_subdir" | sed 's/^null$//')"
|
local src_in_subdir="$(jq -r ".in_subdir" <<< "$sources_json" | sed 's/^null$//')"
|
||||||
local src_extract="$(echo "$sources_json" | jq -r ".$source_id.extract" | sed 's/^null$//')"
|
local src_extract="$(jq -r ".extract" <<< "$sources_json" | sed 's/^null$//')"
|
||||||
local src_platform="$(echo "$sources_json" | jq -r ".$source_id.platform" | sed 's/^null$//')"
|
local src_platform="$(jq -r ".platform" <<< "$sources_json" | sed 's/^null$//')"
|
||||||
local src_rename="$(echo "$sources_json" | jq -r ".$source_id.rename" | sed 's/^null$//')"
|
local src_rename="$(jq -r ".rename" <<< "$sources_json" | sed 's/^null$//')"
|
||||||
|
|
||||||
[[ -n "$src_url" ]] || ynh_die "No URL defined for source $source_id$arch_prefix ?"
|
[[ -n "$src_url" ]] || ynh_die "No URL defined for source $source_id$arch_prefix ?"
|
||||||
[[ -n "$src_sum" ]] || ynh_die "No sha256 sum defined for source $source_id$arch_prefix ?"
|
[[ -n "$src_sum" ]] || ynh_die "No sha256 sum defined for source $source_id$arch_prefix ?"
|
||||||
|
@ -236,8 +239,8 @@ ynh_setup_source() {
|
||||||
local local_src="/opt/yunohost-apps-src/${YNH_APP_ID}/${source_id}"
|
local local_src="/opt/yunohost-apps-src/${YNH_APP_ID}/${source_id}"
|
||||||
|
|
||||||
# Gotta use this trick with 'dirname' because source_id may contain slashes x_x
|
# Gotta use this trick with 'dirname' because source_id may contain slashes x_x
|
||||||
mkdir -p $(dirname /var/cache/yunohost/download/${YNH_APP_ID}/${source_id})
|
mkdir -p $(dirname /var/cache/yunohost/download/${YNH_APP_INSTANCE_NAME}/${source_id})
|
||||||
src_filename="/var/cache/yunohost/download/${YNH_APP_ID}/${source_id}"
|
src_filename="/var/cache/yunohost/download/${YNH_APP_INSTANCE_NAME}/${source_id}"
|
||||||
|
|
||||||
if [ "$src_format" = "docker" ]; then
|
if [ "$src_format" = "docker" ]; then
|
||||||
src_platform="${src_platform:-"linux/$YNH_ARCH"}"
|
src_platform="${src_platform:-"linux/$YNH_ARCH"}"
|
||||||
|
|
Loading…
Add table
Reference in a new issue