mirror of
https://github.com/YunoHost/yunohost.git
synced 2024-09-03 20:06:10 +02:00
Merge 04fbff343e
into 6aa9d05372
This commit is contained in:
commit
c5adfbe826
3 changed files with 37 additions and 14 deletions
2
debian/control
vendored
2
debian/control
vendored
|
@ -27,7 +27,7 @@ Depends: ${python3:Depends}, ${misc:Depends}
|
||||||
, rspamd, opendkim-tools, postsrsd, procmail, mailutils
|
, rspamd, opendkim-tools, postsrsd, procmail, mailutils
|
||||||
, redis-server
|
, redis-server
|
||||||
, acl
|
, acl
|
||||||
, git, curl, wget, cron, unzip, jq, bc, at, procps
|
, git, curl, wget, cron, unzip, jq, bc, at, procps, tar, gzip, bzip2, xz-utils
|
||||||
, lsb-release, haveged, fake-hwclock, equivs, lsof, whois
|
, lsb-release, haveged, fake-hwclock, equivs, lsof, whois
|
||||||
Recommends: yunohost-admin
|
Recommends: yunohost-admin
|
||||||
, ntp, inetutils-ping | iputils-ping
|
, ntp, inetutils-ping | iputils-ping
|
||||||
|
|
|
@ -99,6 +99,9 @@ fi
|
||||||
# ```text
|
# ```text
|
||||||
# format = "tar.gz"/xz/bz2 # automatically guessed from the extension of the URL, but can be set explicitly. Will use `tar` to extract
|
# format = "tar.gz"/xz/bz2 # automatically guessed from the extension of the URL, but can be set explicitly. Will use `tar` to extract
|
||||||
# "zip" # automatically guessed from the extension of the URL, but can be set explicitly. Will use `unzip` to extract
|
# "zip" # automatically guessed from the extension of the URL, but can be set explicitly. Will use `unzip` to extract
|
||||||
|
# "gz" # automatically guessed from the extension of the URL, but can be set explicitly. Will use `gunzip` to extract
|
||||||
|
# "bz2" # automatically guessed from the extension of the URL, but can be set explicitly. Will use `bunzip2` to extract
|
||||||
|
# "xz" # automatically guessed from the extension of the URL, but can be set explicitly. Will use `xz -d` to extract
|
||||||
# "docker" # useful to extract files from an already-built docker image (instead of rebuilding them locally). Will use `docker-image-extract` to extract
|
# "docker" # useful to extract files from an already-built docker image (instead of rebuilding them locally). Will use `docker-image-extract` to extract
|
||||||
# "whatever" # an arbitrary value, not really meaningful except to imply that the file won't be extracted
|
# "whatever" # an arbitrary value, not really meaningful except to imply that the file won't be extracted
|
||||||
#
|
#
|
||||||
|
@ -106,11 +109,12 @@ fi
|
||||||
# false # sources are directly in the archive root
|
# false # sources are directly in the archive root
|
||||||
# n # (special cases) an integer representing a number of subdirs levels to get rid of
|
# n # (special cases) an integer representing a number of subdirs levels to get rid of
|
||||||
#
|
#
|
||||||
# extract = true # default if file is indeed an archive such as .zip, .tar.gz, .tar.bz2, ...
|
# extract = true # default if file is indeed an archive such as .zip, .tar.gz, .tar.bz2, gz, ...
|
||||||
# = false # default if file 'format' is not set and the file is not to be extracted because it is not an archive but a script or binary or whatever asset.
|
# = false # default if file 'format' is not set and the file is not to be extracted because it is not an archive but a script or binary or whatever asset.
|
||||||
# # in which case the file will only be `mv`ed to the location possibly renamed using the `rename` value
|
# # in which case the file will only be `mv`ed to the location possibly renamed using the `rename` value
|
||||||
#
|
#
|
||||||
# rename = "whatever_your_want" # to be used for convenience when `extract` is false and the default name of the file is not practical
|
# rename = "whatever_your_want" # to be used for convenience when `extract` is false and the default name of the file is not practical
|
||||||
|
# # also used for single file archives (gz, bz2, xz) to rename the extracted file (default : the source id, or the app name for main source)
|
||||||
# platform = "linux/amd64" # (defaults to "linux/$YNH_ARCH") to be used in conjonction with `format = "docker"` to specify which architecture to extract for
|
# platform = "linux/amd64" # (defaults to "linux/$YNH_ARCH") to be used in conjonction with `format = "docker"` to specify which architecture to extract for
|
||||||
# ```
|
# ```
|
||||||
#
|
#
|
||||||
|
@ -189,22 +193,22 @@ ynh_setup_source() {
|
||||||
[[ -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 ?"
|
||||||
|
|
||||||
if [[ -z "$src_format" ]]
|
if [[ -z "$src_format" ]]; then
|
||||||
then
|
if [[ "$src_url" =~ ^.*\.zip$ ]] || [[ "$src_url" =~ ^.*/zipball/.*$ ]]; then
|
||||||
if [[ "$src_url" =~ ^.*\.zip$ ]] || [[ "$src_url" =~ ^.*/zipball/.*$ ]]
|
|
||||||
then
|
|
||||||
src_format="zip"
|
src_format="zip"
|
||||||
elif [[ "$src_url" =~ ^.*\.tar\.gz$ ]] || [[ "$src_url" =~ ^.*\.tgz$ ]] || [[ "$src_url" =~ ^.*/tar\.gz/.*$ ]] || [[ "$src_url" =~ ^.*/tarball/.*$ ]]
|
elif [[ "$src_url" =~ ^.*\.tar\.gz$ ]] || [[ "$src_url" =~ ^.*\.tgz$ ]] || [[ "$src_url" =~ ^.*/tar\.gz/.*$ ]] || [[ "$src_url" =~ ^.*/tarball/.*$ ]]; then
|
||||||
then
|
|
||||||
src_format="tar.gz"
|
src_format="tar.gz"
|
||||||
elif [[ "$src_url" =~ ^.*\.tar\.xz$ ]]
|
elif [[ "$src_url" =~ ^.*\.tar\.xz$ ]]; then
|
||||||
then
|
|
||||||
src_format="tar.xz"
|
src_format="tar.xz"
|
||||||
elif [[ "$src_url" =~ ^.*\.tar\.bz2$ ]]
|
elif [[ "$src_url" =~ ^.*\.tar\.bz2$ ]]; then
|
||||||
then
|
|
||||||
src_format="tar.bz2"
|
src_format="tar.bz2"
|
||||||
elif [[ -z "$src_extract" ]]
|
elif [[ "$src_url" =~ ^.*\.gz$ ]]; then
|
||||||
then
|
src_format="gz"
|
||||||
|
elif [[ "$src_url" =~ ^.*\.xz$ ]]; then
|
||||||
|
src_format="xz"
|
||||||
|
elif [[ "$src_url" =~ ^.*\.bz2$ ]]; then
|
||||||
|
src_format="bz2"
|
||||||
|
elif [[ -z "$src_extract" ]]; then
|
||||||
src_extract="false"
|
src_extract="false"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
@ -331,6 +335,22 @@ ynh_setup_source() {
|
||||||
unzip -quo $src_filename -d "$dest_dir"
|
unzip -quo $src_filename -d "$dest_dir"
|
||||||
fi
|
fi
|
||||||
ynh_secure_remove --file="$src_filename"
|
ynh_secure_remove --file="$src_filename"
|
||||||
|
elif [[ "$src_format" =~ ^gz|xz|bz2$ ]]; then
|
||||||
|
if [[ -z "$src_rename" ]]; then
|
||||||
|
if [[ "$source_id" == "main" ]]; then
|
||||||
|
local src_rename=$app
|
||||||
|
else
|
||||||
|
local src_rename=$source_id
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
if [[ "$src_format" == "gz" ]]; then
|
||||||
|
gunzip --stdout $src_filename > "$dest_dir/$src_rename"
|
||||||
|
elif [[ "$src_format" == "xz" ]]; then
|
||||||
|
xz -d --stdout $src_filename > "$dest_dir/$src_rename"
|
||||||
|
elif [[ "$src_format" == "bz2" ]]; then
|
||||||
|
bunzip2 --stdout $src_filename > "$dest_dir/$src_rename"
|
||||||
|
fi
|
||||||
|
_ynh_apply_default_permissions "$dest_dir/$src_rename"
|
||||||
else
|
else
|
||||||
local strip=""
|
local strip=""
|
||||||
if [ "$src_in_subdir" != "false" ]; then
|
if [ "$src_in_subdir" != "false" ]; then
|
||||||
|
|
|
@ -347,6 +347,9 @@ class SourcesResource(AppResource):
|
||||||
- `format` : The "format" of the asset. It is typically automatically guessed from the extension of the URL (or the mention of "tarball", "zipball" in the URL), but can be set explicitly:
|
- `format` : The "format" of the asset. It is typically automatically guessed from the extension of the URL (or the mention of "tarball", "zipball" in the URL), but can be set explicitly:
|
||||||
- `tar.gz`, `tar.xz`, `tar.bz2` : will use `tar` to extract the archive
|
- `tar.gz`, `tar.xz`, `tar.bz2` : will use `tar` to extract the archive
|
||||||
- `zip` : will use `unzip` to extract the archive
|
- `zip` : will use `unzip` to extract the archive
|
||||||
|
- `gz` : will use `gunzip` to extract
|
||||||
|
- `bz2` : will use `bunzip2` to extract
|
||||||
|
- `xz` : will use `xz -d` to extract
|
||||||
- `docker` : useful to extract files from an already-built docker image (instead of rebuilding them locally). Will use `docker-image-extract`
|
- `docker` : useful to extract files from an already-built docker image (instead of rebuilding them locally). Will use `docker-image-extract`
|
||||||
- `whatever`: whatever arbitrary value, not really meaningful except to imply that the file won't be extracted (eg because it's a .deb to be manually installed with dpkg/apt, or a script, or ...)
|
- `whatever`: whatever arbitrary value, not really meaningful except to imply that the file won't be extracted (eg because it's a .deb to be manually installed with dpkg/apt, or a script, or ...)
|
||||||
- `in_subdir`: `true` (default) or `false`, depending on if there's an intermediate subdir in the archive before accessing the actual files. Can also be `N` (an integer) to handle special cases where there's `N` level of subdir to get rid of to actually access the files
|
- `in_subdir`: `true` (default) or `false`, depending on if there's an intermediate subdir in the archive before accessing the actual files. Can also be `N` (an integer) to handle special cases where there's `N` level of subdir to get rid of to actually access the files
|
||||||
|
|
Loading…
Add table
Reference in a new issue