aspera-cli 4.18.1 → 4.19.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data/CHANGELOG.md +13 -0
- data/CONTRIBUTING.md +5 -12
- data/README.md +60 -29
- data/examples/build_exec +85 -0
- data/lib/aspera/agent/base.rb +2 -0
- data/lib/aspera/agent/direct.rb +108 -104
- data/lib/aspera/api/aoc.rb +2 -2
- data/lib/aspera/api/httpgw.rb +91 -56
- data/lib/aspera/ascp/installation.rb +47 -32
- data/lib/aspera/ascp/management.rb +4 -1
- data/lib/aspera/ascp/products.rb +1 -7
- data/lib/aspera/cli/formatter.rb +24 -18
- data/lib/aspera/cli/manager.rb +10 -10
- data/lib/aspera/cli/plugin.rb +2 -2
- data/lib/aspera/cli/plugin_factory.rb +10 -1
- data/lib/aspera/cli/plugins/config.rb +15 -10
- data/lib/aspera/cli/plugins/node.rb +4 -3
- data/lib/aspera/cli/plugins/server.rb +1 -1
- data/lib/aspera/cli/plugins/shares.rb +11 -7
- data/lib/aspera/cli/sync_actions.rb +72 -31
- data/lib/aspera/cli/transfer_agent.rb +1 -0
- data/lib/aspera/cli/transfer_progress.rb +1 -1
- data/lib/aspera/cli/version.rb +1 -1
- data/lib/aspera/environment.rb +43 -10
- data/lib/aspera/faspex_gw.rb +1 -1
- data/lib/aspera/keychain/encrypted_hash.rb +2 -0
- data/lib/aspera/log.rb +1 -0
- data/lib/aspera/node_simulator.rb +1 -1
- data/lib/aspera/oauth/jwt.rb +1 -1
- data/lib/aspera/oauth/url_json.rb +2 -0
- data/lib/aspera/oauth/web.rb +5 -4
- data/lib/aspera/secret_hider.rb +3 -2
- data/lib/aspera/ssh.rb +1 -1
- data/lib/aspera/transfer/faux_file.rb +7 -5
- data/lib/aspera/transfer/parameters.rb +27 -19
- data/lib/aspera/transfer/spec.rb +8 -10
- data/lib/aspera/transfer/sync.rb +52 -47
- data/lib/aspera/web_auth.rb +0 -1
- data/lib/aspera/web_server_simple.rb +24 -13
- data.tar.gz.sig +0 -0
- metadata +3 -3
- metadata.gz.sig +0 -0
- data/examples/rubyc +0 -24
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 89df3ebc2bf7a146a16e59154a73efcfc2e11f7767aba28725f9443de04772b7
|
4
|
+
data.tar.gz: 33469a2bc4991b106ab3002927e823f280c016fc070a2bdcbb3edb286506041d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d57c69a340b866cfe5c3003c94ecb3ebc8c61aba7011ee4b8683da60d9615dd060fb94ac153e16eb98bd11f7dfa1deb117b1ca2ecd5bfe5d46e5a390ec290a01
|
7
|
+
data.tar.gz: fa364474177bc6d2f648474b1eed12b45733e84a5d4896d3075225ed1212aed27f64725ba38a400a3f9c5da2e7e2acf46d6a41164e5d92c1e2ce3a94498c5401
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,19 @@
|
|
1
1
|
# Changes (Release notes)
|
2
2
|
|
3
|
+
* 4.19.0
|
4
|
+
* New Features:
|
5
|
+
* `server`: add support for `async` (Aspera Sync) from Transfer SDK
|
6
|
+
* **global**: #156 support sending folders with httpgw
|
7
|
+
* **global**: new value for option `format`: `multi`
|
8
|
+
* Issues Fixed:
|
9
|
+
* `aoc`: #157 fix problem with `files browse` on a link
|
10
|
+
* `sync`: better documentation and handling of options.
|
11
|
+
* Breaking Changes:
|
12
|
+
* **global**: Default value for direct agent option `transfer_info.multi_incr_udp` is `true` on Windows, and now `false` on other platforms.
|
13
|
+
* **global**: Token based transfers now use the RSA key only. Direct agent option `transfer_info.client_ssh_key` allows changing this behavior.
|
14
|
+
|
3
15
|
* 4.18.1
|
16
|
+
|
4
17
|
* New Features:
|
5
18
|
* none
|
6
19
|
* Issues Fixed:
|
data/CONTRIBUTING.md
CHANGED
@@ -228,7 +228,7 @@ Then procedure is as follows:
|
|
228
228
|
|
229
229
|
## Docker image build
|
230
230
|
|
231
|
-
The Dockerfile template allows
|
231
|
+
The `Dockerfile.tmpl.erb` template allows customization of the optional copying of the `aspera-cli.gem` file, as opposed to installing from rubygems.org. It also supports customizing the retrieval of the SDK.
|
232
232
|
|
233
233
|
### Default image build
|
234
234
|
|
@@ -278,19 +278,11 @@ make docker_push_beta
|
|
278
278
|
|
279
279
|
## Single executable build
|
280
280
|
|
281
|
-
|
281
|
+
Initially, `rubyc` (gem [`ruby-packer`](https://github.com/pmq20/ruby-packer) and [here](https://github.com/you54f/ruby-packer)) was used to build a single executable.
|
282
282
|
|
283
|
-
|
284
|
-
make single
|
285
|
-
```
|
286
|
-
|
287
|
-
This is based on tool `rubyc` (gem `ruby-packer`): either place the executable in folder `tmp`, or the architecture-specific version will be automatically downloaded.
|
283
|
+
https://www.tebako.org/
|
288
284
|
|
289
|
-
|
290
|
-
|
291
|
-
```bash
|
292
|
-
sudo dnf install -y perl perl-FindBin perl-IPC-Cmd
|
293
|
-
```
|
285
|
+
A modern version of this is now used: [`tebako`](https://github.com/tamatebako/tebako) for which a container is provided.
|
294
286
|
|
295
287
|
## Long Term Implementation and delivery improvements
|
296
288
|
|
@@ -299,3 +291,4 @@ sudo dnf install -y perl perl-FindBin perl-IPC-Cmd
|
|
299
291
|
- <https://github.com/oauth-xx/oauth2>
|
300
292
|
- use gem Thor <http://whatisthor.com/> (or other standard Ruby CLI manager)
|
301
293
|
- Package a single-file executable for various architectures with <https://github.com/pmq20/ruby-packer> (`rubyc`)
|
294
|
+
- look at <https://github.com/phusion/traveling-ruby>
|
data/README.md
CHANGED
@@ -10,7 +10,7 @@
|
|
10
10
|
|
11
11
|
## Introduction
|
12
12
|
|
13
|
-
Version : 4.
|
13
|
+
Version : 4.19.0
|
14
14
|
|
15
15
|
Laurent/2016-2024
|
16
16
|
|
@@ -92,7 +92,7 @@ Once the gem is installed, `ascli` shall be accessible:
|
|
92
92
|
|
93
93
|
```console
|
94
94
|
$ ascli --version
|
95
|
-
4.
|
95
|
+
4.19.0
|
96
96
|
```
|
97
97
|
|
98
98
|
### First use
|
@@ -706,7 +706,7 @@ ascli -v
|
|
706
706
|
```
|
707
707
|
|
708
708
|
```text
|
709
|
-
4.
|
709
|
+
4.19.0
|
710
710
|
```
|
711
711
|
|
712
712
|
In order to keep persistency of configuration on the host, you should specify your user's configuration folder as a volume for the container.
|
@@ -1497,6 +1497,7 @@ If transposition of single object is not desired, use option: `transpose_single`
|
|
1497
1497
|
The style of output can be set using the `format` option, supporting:
|
1498
1498
|
|
1499
1499
|
- `table` : Text table (default)
|
1500
|
+
- `multi` : List of elements are displayed as a list of tables
|
1500
1501
|
- `text` : Value as String
|
1501
1502
|
- `ruby` : Ruby code
|
1502
1503
|
- `json` : JSON code
|
@@ -1924,7 +1925,8 @@ ascp use /usr/bin/ascp
|
|
1924
1925
|
check_update
|
1925
1926
|
coffee
|
1926
1927
|
coffee --ui=text
|
1927
|
-
coffee --ui=text --
|
1928
|
+
coffee --ui=text --image=@json:'{"text":true,"double":false}'
|
1929
|
+
coffee --ui=text --image=@json:'{"text":true}'
|
1928
1930
|
detect https://faspex4.example.com/path
|
1929
1931
|
detect https://faspex5.example.com/path
|
1930
1932
|
detect https://node.example.com/path
|
@@ -2745,19 +2747,21 @@ Refer to section [FASP](#fasp-configuration).
|
|
2745
2747
|
|
2746
2748
|
The `transfer_info` option accepts the following optional parameters to control multi-session, Web Socket Session, Resume policy and add any argument to `ascp`:
|
2747
2749
|
|
2748
|
-
| Name | Type
|
2749
|
-
|
2750
|
-
| `wss` | Bool
|
2751
|
-
| `
|
2752
|
-
| `
|
2753
|
-
| `
|
2754
|
-
| `
|
2755
|
-
| `
|
2756
|
-
| `
|
2757
|
-
| `
|
2758
|
-
| `resume
|
2759
|
-
| `resume.
|
2760
|
-
| `resume.
|
2750
|
+
| Name | Type | Description |
|
2751
|
+
|------------------------|---------|-------------|
|
2752
|
+
| `wss` | Bool | Web Socket Session<br/>Enable use of web socket session in case it is available<br/>Default: true |
|
2753
|
+
| `quiet` | Bool | If `true`, then `ascp` progress bar is not shown.<br/>Default: `false` |
|
2754
|
+
| `trusted_certs` | Array | List of repositories for trusted certificates. |
|
2755
|
+
| `client_ssh_key` | String | SSH Keys to use for token-based transfers. One of: `dsa_rsa`, `rsa`, `per_client`. Default: `rsa` |
|
2756
|
+
| `ascp_args` | Array | Array of strings with native `ascp` arguments.<br/>Default: `[]` |
|
2757
|
+
| `spawn_timeout_sec` | Float | Multi session<br/>Verification time that `ascp` is running<br/>Default: `3` |
|
2758
|
+
| `spawn_delay_sec` | Float | Multi session<br/>Delay between startup of sessions<br/>Default: `2` |
|
2759
|
+
| `multi_incr_udp` | Bool | Multi Session<br/>Increment UDP port on multi-session<br/>If `true`, each session will have a different UDP port starting at `fasp_port` (or default 33001)<br/>Else, each session will use `fasp_port` (or `ascp` default)<br/>Default: `true` on Windows, else `false` |
|
2760
|
+
| `resume` | Hash | Resume parameters. See below |
|
2761
|
+
| `resume.iter_max` | Integer | Max number of retry on error<br/>Default: `7` |
|
2762
|
+
| `resume.sleep_initial` | Integer | First Sleep before retry<br/>Default: `2` |
|
2763
|
+
| `resume.sleep_factor` | Integer | Multiplier of sleep period between attempts<br/>Default: `2` |
|
2764
|
+
| `resume.sleep_max` | Integer | Default: `60` |
|
2761
2765
|
|
2762
2766
|
In case of transfer interruption, the agent will **resume** a transfer up to `iter_max` time.
|
2763
2767
|
Sleep between iterations is given by the following formula where `iter_index` is the current iteration index, starting at 0:
|
@@ -2767,7 +2771,7 @@ max( sleep_max , sleep_initial * sleep_factor ^ iter_index )
|
|
2767
2771
|
```
|
2768
2772
|
|
2769
2773
|
By default, Ruby's root CA store is used to validate any HTTPS endpoint used by `ascp` (e.g. WSS).
|
2770
|
-
In order to use a custom certificate store, use the `trusted_certs` option
|
2774
|
+
In order to use a custom certificate store, use the `trusted_certs` option of direct agent's option `transfer_info`.
|
2771
2775
|
To use `ascp`'s default, use option: `--transfer-info=@json:'{"trusted_certs":null}'`.
|
2772
2776
|
|
2773
2777
|
Some transfer errors are considered **retry-able** (e.g. timeout) and some other not (e.g. wrong password).
|
@@ -3561,7 +3565,7 @@ ascli server upload "faux:///mydir?file=testfile&count=1m&size=0&inc=2&seq=seque
|
|
3561
3565
|
```text
|
3562
3566
|
ascli -h
|
3563
3567
|
NAME
|
3564
|
-
ascli -- a command line tool for Aspera Applications (v4.
|
3568
|
+
ascli -- a command line tool for Aspera Applications (v4.19.0)
|
3565
3569
|
|
3566
3570
|
SYNOPSIS
|
3567
3571
|
ascli COMMANDS [OPTIONS] [ARGS]
|
@@ -3593,7 +3597,7 @@ OPTIONS: global
|
|
3593
3597
|
--interactive=ENUM Use interactive input of missing params: [no], yes
|
3594
3598
|
--ask-options=ENUM Ask even optional options: [no], yes
|
3595
3599
|
--struct-parser=ENUM Default parser when expected value is a struct: json, ruby
|
3596
|
-
--format=ENUM Output format: text, nagios, ruby, json, jsonpp, yaml, [table], csv, image
|
3600
|
+
--format=ENUM Output format: text, nagios, ruby, json, jsonpp, yaml, [table], multi, csv, image
|
3597
3601
|
--output=VALUE Destination for results (String)
|
3598
3602
|
--display=ENUM Output only some information: [info], data, error
|
3599
3603
|
--fields=VALUE Comma separated list of: fields, or ALL, or DEF (String, Array, Regexp, Proc)
|
@@ -3617,7 +3621,7 @@ OPTIONS: global
|
|
3617
3621
|
--pid-file=VALUE Write process identifier to file, delete on exit (String)
|
3618
3622
|
|
3619
3623
|
COMMAND: config
|
3620
|
-
SUBCOMMANDS: ascp check_update coffee detect documentation echo email_test file flush_tokens folder gem genkey image initdemo open plugins preset proxy_check pubkey remote_certificate smtp_settings throw vault wizard
|
3624
|
+
SUBCOMMANDS: ascp check_update coffee detect documentation echo email_test file flush_tokens folder gem genkey image initdemo open platform plugins preset proxy_check pubkey remote_certificate smtp_settings throw vault wizard
|
3621
3625
|
OPTIONS:
|
3622
3626
|
--home=VALUE Home folder for tool (String)
|
3623
3627
|
--config-file=VALUE Path to YAML file with preset configuration
|
@@ -5061,8 +5065,11 @@ files show /
|
|
5061
5065
|
files show testdst/test_file.bin
|
5062
5066
|
files sync admin status --sync-info=@json:'{"name":"my_aoc_sync2","reset":true,"direction":"pull","local":{"path":"/data/local_sync"},"remote":{"path":"/testdst"}}'
|
5063
5067
|
files sync admin status --sync-info=@json:'{"sessions":[{"name":"my_aoc_sync1","direction":"pull","local_dir":"/data/local_sync","remote_dir":"/testdst","reset":true}]}'
|
5068
|
+
files sync start --sync-info=@json:'{"name":"my_aoc_sync1","reset":true,"direction":"pull","local":{"path":"/data/local_sync"},"remote":{"path":"/testdst"}}'
|
5064
5069
|
files sync start --sync-info=@json:'{"name":"my_aoc_sync2","reset":true,"direction":"pull","local":{"path":"/data/local_sync"},"remote":{"path":"/testdst"}}'
|
5065
5070
|
files sync start --sync-info=@json:'{"sessions":[{"name":"my_aoc_sync1","direction":"pull","local_dir":"/data/local_sync","remote_dir":"/testdst","reset":true}]}'
|
5071
|
+
files sync start pull /testdst /data/local_sync --sync-info=@json:'{"reset":true,"quiet":false}'
|
5072
|
+
files sync start pull /testdst /data/local_sync --sync-info=@json:'{"sessions":[{"reset":true}]}'
|
5066
5073
|
files thumbnail my_test_folder/video_file.mpg
|
5067
5074
|
files thumbnail my_test_folder/video_file.mpg --query=@json:'{"text":true,"double":true}'
|
5068
5075
|
files transfer push /testsrc --to-folder=/testdst test_file.bin
|
@@ -5830,8 +5837,8 @@ ssync summary %name:my_node_sync
|
|
5830
5837
|
stream list
|
5831
5838
|
sync admin status --sync-info=@json:'{"name":"my_node_sync2","reset":true,"direction":"pull","local":{"path":"/data/local_sync"},"remote":{"path":"/aspera-test-dir-tiny"}}'
|
5832
5839
|
sync admin status --sync-info=@json:'{"sessions":[{"name":"my_node_sync1","direction":"pull","local_dir":"/data/local_sync","remote_dir":"/aspera-test-dir-tiny","reset":true}]}'
|
5840
|
+
sync start --sync-info=@json:'{"name":"my_node_sync1","reset":true,"quiet":false,"direction":"pull","local":{"path":"/data/local_sync"},"remote":{"path":"/aspera-test-dir-tiny"}}'
|
5833
5841
|
sync start --sync-info=@json:'{"name":"my_node_sync2","reset":true,"direction":"pull","local":{"path":"/data/local_sync"},"remote":{"path":"/aspera-test-dir-tiny"}}'
|
5834
|
-
sync start --sync-info=@json:'{"sessions":[{"name":"my_node_sync1","direction":"pull","local_dir":"/data/local_sync","remote_dir":"/aspera-test-dir-tiny","reset":true}]}'
|
5835
5842
|
transfer list --query=@json:'{"active_only":true}'
|
5836
5843
|
transfer sessions
|
5837
5844
|
transport
|
@@ -7124,28 +7131,52 @@ An interface for the `async` utility is provided in the following plugins:
|
|
7124
7131
|
- `aoc files sync` (uses node)
|
7125
7132
|
- `shares files sync` (uses node)
|
7126
7133
|
|
7127
|
-
|
7134
|
+
One advantage over the `async` command line is the possibility to use a configuration file, using standard options of `ascli`.
|
7135
|
+
Moreover `ascli` supports sync with application requiring token-based authorization.
|
7128
7136
|
|
7129
|
-
|
7137
|
+
Some of the `sync` parameters are filled by the related plugin using transfer spec parameters (e.g. including token).
|
7130
7138
|
|
7131
|
-
> **Note:** All `sync` commands require an `async` enabled license and availability of the `async` executable (and `asyncadmin`).
|
7139
|
+
> **Note:** All `sync` commands require an `async` enabled license and availability of the `async` executable (and `asyncadmin`). The Transfer SDK 1.3 includes this.
|
7132
7140
|
|
7133
|
-
|
7141
|
+
`sync` supports 0 or 3 arguments:
|
7134
7142
|
|
7135
|
-
|
7143
|
+
- direction
|
7144
|
+
- local folder
|
7145
|
+
- remote folder
|
7146
|
+
|
7147
|
+
Additional options can be provided with option `sync_info`, for which two syntax are possible, as follows.
|
7148
|
+
|
7149
|
+
### `async` API and conf format
|
7136
7150
|
|
7137
7151
|
It is the same payload as specified on the option `--conf` of `async` or in node API `/asyncs`.
|
7138
7152
|
This is the preferred syntax and allows a single session definition.
|
7139
|
-
|
7153
|
+
|
7154
|
+
> **Note:** No progress, nor error messages is provided on terminal.
|
7140
7155
|
|
7141
7156
|
Documentation on Async node API can be found on [IBM Developer Portal](https://developer.ibm.com/apis/catalog?search=%22aspera%20sync%20api%22).
|
7142
7157
|
|
7143
|
-
|
7158
|
+
If 3 arguments are provided they are mapped to:
|
7159
|
+
|
7160
|
+
- `direction`
|
7161
|
+
- `local.path`
|
7162
|
+
- `remote.path`
|
7163
|
+
|
7164
|
+
### `async` options mapping
|
7144
7165
|
|
7145
7166
|
`ascli` defines a JSON equivalent to regular `async`options.
|
7146
7167
|
It is based on a JSON representation of `async` command line options.
|
7147
7168
|
It allows definition of multiple sync sessions in a single command, although usually only one sync session is defined.
|
7148
7169
|
|
7170
|
+
This is the mode selection if there is either keys `sessions` or `instance` in option `sync_info`.
|
7171
|
+
|
7172
|
+
> **Note:** Progress and error messages are provided on terminal like regular command line invocation of `async`.
|
7173
|
+
|
7174
|
+
If 3 arguments are provided, they are applied to the first (and only) session and mapped to:
|
7175
|
+
|
7176
|
+
- `direction`
|
7177
|
+
- `local_dir`
|
7178
|
+
- `remote_dir`
|
7179
|
+
|
7149
7180
|
## Hot folder
|
7150
7181
|
|
7151
7182
|
### Requirements
|
data/examples/build_exec
ADDED
@@ -0,0 +1,85 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
|
3
|
+
set -e
|
4
|
+
|
5
|
+
if test $# -ne 2; then
|
6
|
+
echo "Usage: $0 <CLI_TARGET_EXECUTABLE> <CLI_ENTRY_SCRIPT>" 1>&2
|
7
|
+
exit 1
|
8
|
+
fi
|
9
|
+
|
10
|
+
CLI_TARGET_EXECUTABLE=$1
|
11
|
+
CLI_ENTRY_SCRIPT=$(realpath $2)
|
12
|
+
CLI_EXEC_NAME=$(basename $CLI_TARGET_EXECUTABLE)
|
13
|
+
CLI_ROOT=$(dirname $(dirname $CLI_ENTRY_SCRIPT))
|
14
|
+
|
15
|
+
echo "Project folder: $CLI_ROOT"
|
16
|
+
echo "Executable: $CLI_TARGET_EXECUTABLE"
|
17
|
+
echo "Exec Name: $CLI_EXEC_NAME"
|
18
|
+
echo "Entry: $CLI_ENTRY_SCRIPT"
|
19
|
+
|
20
|
+
# tebako press --root=$(TB_WORK_DIR) --entry-point=ascli --output=$(TB_WORK_DIR)/$(CLI_TARGET_EXECUTABLE) --Ruby=3.2.4
|
21
|
+
|
22
|
+
if true;then
|
23
|
+
tebako_command=tebako
|
24
|
+
tebako_args="--root=$CLI_ROOT --entry-point=ascli --output=$CLI_TARGET_EXECUTABLE --Ruby=3.3.3"
|
25
|
+
case $(uname -s) in
|
26
|
+
Darwin)
|
27
|
+
brew update
|
28
|
+
brew install gnu-sed bash pkg-config bison flex binutils libffi gdbm zlib \
|
29
|
+
ncurses double-conversion boost jemalloc glog libevent libsodium lz4 xz \
|
30
|
+
libyaml openssl@3
|
31
|
+
# brew install m4
|
32
|
+
# boost fmt
|
33
|
+
#export PATH=$(dirname $(brew ls m4|grep '/m4$'|head -n 1)):$PATH
|
34
|
+
#export PATH=$(dirname $(brew ls binutils|grep '/ar$'|head -n 1)):$PATH
|
35
|
+
#tebako_bin=$CLI_ROOT/tmp/tbkbin
|
36
|
+
tebako_root=$CLI_ROOT/../tebako-tmp
|
37
|
+
#export PATH=$tebako_bin:$PATH
|
38
|
+
mkdir -p $tebako_root
|
39
|
+
#mkdir -p $tebako_bin
|
40
|
+
# need ar from apple
|
41
|
+
#rm -f $tebako_bin/ar
|
42
|
+
#ln -s /usr/bin/ar $tebako_bin
|
43
|
+
export PATH=$(echo $PATH|tr : \\n|grep -v /binutils/|tr \\n :)
|
44
|
+
#tebako setup --Ruby=3.3.4 --prefix=$tebako_root
|
45
|
+
tebako press --Ruby=3.3.4 --prefix=$tebako_root --root=$CLI_ROOT/examples/tebako --entry-point=ascli --output=$CLI_TARGET_EXECUTABLE
|
46
|
+
#tebako press --Ruby=3.3.4 --prefix=$tebako_root --root=$CLI_ROOT --entry-point=$CLI_ENTRY_SCRIPT --output=$CLI_TARGET_EXECUTABLE
|
47
|
+
exit 0
|
48
|
+
;;
|
49
|
+
Linux)
|
50
|
+
work_dir=/mnt/w
|
51
|
+
tebako press --root=$work_dir --entry-point=ascli --output=$work_dir/ascli.exe --Ruby=3.3.3
|
52
|
+
tebako_prefix="podman run -it --rm -v $PWD:$work_dir ghcr.io/tamatebako/tebako-ubuntu-20.04:0.8.6"
|
53
|
+
tebako_opts=--patchelf
|
54
|
+
;;
|
55
|
+
*)
|
56
|
+
echo "This OS is not supported." >&2
|
57
|
+
exit 1
|
58
|
+
;;
|
59
|
+
esac
|
60
|
+
command $tebako_command $tebako_args
|
61
|
+
else
|
62
|
+
# https://github.com/you54f/ruby-packer
|
63
|
+
# https://github.com/YOU54F/ruby-packer/releases
|
64
|
+
set -e
|
65
|
+
FOLDER="$(dirname $0)/../tmp"
|
66
|
+
RUBYC="$FOLDER/rubyc"
|
67
|
+
if test ! -e "$RUBYC"; then
|
68
|
+
mkdir -p "$FOLDER"
|
69
|
+
case $(uname -sm|tr ' ' -) in
|
70
|
+
Darwin-arm64)
|
71
|
+
curl -L https://github.com/YOU54F/ruby-packer/releases/download/rel-20230812/rubyc-Darwin-arm64.tar.gz | tar -xz -C "$FOLDER"
|
72
|
+
mv "$FOLDER/rubyc-Darwin-arm64" "$RUBYC"
|
73
|
+
;;
|
74
|
+
Linux-x86_64)
|
75
|
+
curl -L https://github.com/YOU54F/ruby-packer/releases/download/rel-20230812/rubyc-Linux-x86_64.tar.gz | tar -xz -C "$FOLDER"
|
76
|
+
mv "$FOLDER/rubyc-Linux-x86_64" "$RUBYC"
|
77
|
+
;;
|
78
|
+
*)
|
79
|
+
echo "This architecture is not supported." >&2
|
80
|
+
exit 1
|
81
|
+
;;
|
82
|
+
esac
|
83
|
+
fi
|
84
|
+
exec "$RUBYC" -o "$CLI_TARGET_EXECUTABLE" "$CLI_ENTRY_SCRIPT"
|
85
|
+
fi
|
data/lib/aspera/agent/base.rb
CHANGED
@@ -38,6 +38,8 @@ module Aspera
|
|
38
38
|
end.map{|file|file[0..(-1 - RUBY_EXT.length)].to_sym}
|
39
39
|
end
|
40
40
|
end
|
41
|
+
|
42
|
+
# Wait for all sessions to terminate and return the status of each session
|
41
43
|
def wait_for_completion
|
42
44
|
# list of: :success or "error message string"
|
43
45
|
statuses = wait_for_transfers_completion
|