Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Installation fails on debian #40

Closed
melezhik opened this issue Jan 6, 2020 · 12 comments
Closed

Installation fails on debian #40

melezhik opened this issue Jan 6, 2020 · 12 comments

Comments

@melezhik
Copy link

melezhik commented Jan 6, 2020

Hi! The module installation Debian fails.

You can replay the test using RakuDist.

docker pull debian
container_name='debian-rakudist' && docker run -d -t --rm --name $container_name debian
git clone https://github.com/melezhik/RakuDist.git
cd RakuDist.git/modules/chart-gnuplot
sparrowdo --bootstrap --no_sudo --docker=$container_name --repo=http://repo.westus.cloudapp.azure.com
23:00:49 01/06/2020 [repository] index updated from http://repo.westus.cloudapp.azure.com/api/v1/index
23:00:56 01/06/2020 [create user chart-gnupplot] Don't change user home as managehome set to 'no' OR homedir not set
23:00:56 01/06/2020 [create user chart-gnupplot] user chart-gnupplot - nothing changed
23:00:56 01/06/2020 [create user chart-gnupplot] uid=1003(chart-gnupplot) gid=1003(chart-gnupplot) groups=1003(chart-gnupplot)
23:01:02 01/06/2020 [create directory /data/test/chart-gnupplot] directory path: /data/test/chart-gnupplot
23:01:02 01/06/2020 [create directory /data/test/chart-gnupplot] directory owner: <chart-gnupplot>
23:01:02 01/06/2020 [create directory /data/test/chart-gnupplot] directory group: <chart-gnupplot>
23:01:02 01/06/2020 [create directory /data/test/chart-gnupplot] directory access rights: drwxr-xr-x
[task check] stdout match <owner: <chart-gnupplot>> True
[task check] stdout match <group: <chart-gnupplot>> True
23:01:07 01/06/2020 [bash: git checkout https://github.com/titsuki/raku-Chart ...] /data/test/chart-gnupplot
23:01:08 01/06/2020 [bash: git checkout https://github.com/titsuki/raku-Chart ...] Already up to date.
23:01:11 01/06/2020 [bash: last commit] commit 280ba29eb10e2a0b9445d1d110725f3e31e9bcf7
23:01:11 01/06/2020 [bash: last commit] Author: titsuki <titsuki@cpan.org>
23:01:11 01/06/2020 [bash: last commit] Date:   Fri Jan 3 01:56:28 2020 +0900
23:01:11 01/06/2020 [bash: last commit]
23:01:11 01/06/2020 [bash: last commit]     Delete superfluous .say
23:01:11 01/06/2020 [bash: last commit]
23:01:11 01/06/2020 [bash: last commit] M       t/02-terminal.t
23:01:14 01/06/2020 [bash: cd /data/test/chart-gnupplot && ls -l] total 124
23:01:14 01/06/2020 [bash: cd /data/test/chart-gnupplot && ls -l] -rw-r--r--. 1 chart-gnupplot chart-gnupplot  2603 Jan  6 22:54 Changes
23:01:14 01/06/2020 [bash: cd /data/test/chart-gnupplot && ls -l] -rw-r--r--. 1 chart-gnupplot chart-gnupplot   686 Jan  6 22:54 LICENSE
23:01:14 01/06/2020 [bash: cd /data/test/chart-gnupplot && ls -l] -rw-r--r--. 1 chart-gnupplot chart-gnupplot  1548 Jan  6 22:54 META6.json
23:01:14 01/06/2020 [bash: cd /data/test/chart-gnupplot && ls -l] -rw-r--r--. 1 chart-gnupplot chart-gnupplot 20714 Jan  6 22:54 README.md
23:01:14 01/06/2020 [bash: cd /data/test/chart-gnupplot && ls -l] -rw-r--r--. 1 chart-gnupplot chart-gnupplot   120 Jan  6 22:54 dist.ini
23:01:14 01/06/2020 [bash: cd /data/test/chart-gnupplot && ls -l] -rw-r--r--. 1 chart-gnupplot chart-gnupplot  4122 Jan  6 22:54 histogram.png
23:01:14 01/06/2020 [bash: cd /data/test/chart-gnupplot && ls -l] drwxr-xr-x. 3 chart-gnupplot chart-gnupplot    19 Jan  6 22:54 lib
23:01:14 01/06/2020 [bash: cd /data/test/chart-gnupplot && ls -l] -rw-r--r--. 1 chart-gnupplot chart-gnupplot 29506 Jan  6 22:54 sinx.png
23:01:14 01/06/2020 [bash: cd /data/test/chart-gnupplot && ls -l] -rw-r--r--. 1 chart-gnupplot chart-gnupplot 37944 Jan  6 22:54 surface.dem.00.png
23:01:14 01/06/2020 [bash: cd /data/test/chart-gnupplot && ls -l] drwxr-xr-x. 2 chart-gnupplot chart-gnupplot  4096 Jan  6 22:54 t
23:01:19 01/06/2020 [bash: zef install Test::META] stderr: All candidates are currently installed
23:01:19 01/06/2020 [bash: zef install Test::META] No reason to proceed. Use --force-install to continue anyway
23:01:23 01/06/2020 [install package(s): gnuplot.perl] trying to install gnuplot ...
23:01:23 01/06/2020 [install package(s): gnuplot.perl] installer - apt-get
23:01:23 01/06/2020 [install package(s): gnuplot.perl] Package: gnuplot
23:01:23 01/06/2020 [install package(s): gnuplot.perl] Version: 5.2.6+dfsg1-1+deb10u1
23:01:23 01/06/2020 [install package(s): gnuplot.perl] Status: install ok installed
[task check] stdout match <Status: install ok installed> True
23:01:28 01/06/2020 [bash: zef install /data/test/chart-gnupplot] stderr: All candidates are currently installed
23:01:28 01/06/2020 [bash: zef install /data/test/chart-gnupplot] <empty stdout>
23:01:33 01/06/2020 [bash: zef test] ===> Testing: Chart::Gnuplot:ver<0.0.17>:auth<cpan:TITSUKI>
23:01:52 01/06/2020 [bash: zef test] stderr: Aborting due to test failure: Chart::Gnuplot:ver<0.0.17>:auth<cpan:TITSUKI> (use --force-test to override)
23:01:52 01/06/2020 [bash: zef test] [Chart::Gnuplot] Unhandled exception in code scheduled on thread 4
23:01:52 01/06/2020 [bash: zef test] [Chart::Gnuplot] Failed to spawn process /home/chart-gnupplot/.p6chart-gnuplot/bin/gnuplot: no such file or directory (error code -2)
23:01:52 01/06/2020 [bash: zef test] [Chart::Gnuplot] Unhandled exception in code scheduled on thread 4
23:01:52 01/06/2020 [bash: zef test] [Chart::Gnuplot] Failed to spawn process /home/chart-gnupplot/.p6chart-gnuplot/bin/gnuplot: no such file or directory (error code -2)
23:01:52 01/06/2020 [bash: zef test] [Chart::Gnuplot] Unhandled exception in code scheduled on thread 4
23:01:52 01/06/2020 [bash: zef test] [Chart::Gnuplot] Failed to spawn process /home/chart-gnupplot/.p6chart-gnuplot/bin/gnuplot: no such file or directory (error code -2)
23:01:52 01/06/2020 [bash: zef test] [Chart::Gnuplot] Unhandled exception in code scheduled on thread 4
23:01:52 01/06/2020 [bash: zef test] [Chart::Gnuplot] Failed to spawn process /home/chart-gnupplot/.p6chart-gnuplot/bin/gnuplot: no such file or directory (error code -2)
23:01:52 01/06/2020 [bash: zef test] [Chart::Gnuplot] Unhandled exception in code scheduled on thread 4
23:01:52 01/06/2020 [bash: zef test] [Chart::Gnuplot] Failed to spawn process /home/chart-gnupplot/.p6chart-gnuplot/bin/gnuplot: no such file or directory (error code -2)
23:01:52 01/06/2020 [bash: zef test] [Chart::Gnuplot] Unhandled exception in code scheduled on thread 4
23:01:52 01/06/2020 [bash: zef test] [Chart::Gnuplot] Failed to spawn process /home/chart-gnupplot/.p6chart-gnuplot/bin/gnuplot: no such file or directory (error code -2)
23:01:52 01/06/2020 [bash: zef test] [Chart::Gnuplot] Unhandled exception in code scheduled on thread 4
23:01:52 01/06/2020 [bash: zef test] [Chart::Gnuplot] Failed to spawn process /home/chart-gnupplot/.p6chart-gnuplot/bin/gnuplot: no such file or directory (error code -2)
23:01:52 01/06/2020 [bash: zef test] [Chart::Gnuplot] Unhandled exception in code scheduled on thread 4
23:01:52 01/06/2020 [bash: zef test] [Chart::Gnuplot] Failed to spawn process /home/chart-gnupplot/.p6chart-gnuplot/bin/gnuplot: no such file or directory (error code -2)
23:01:52 01/06/2020 [bash: zef test] [Chart::Gnuplot] Unhandled exception in code scheduled on thread 4
23:01:52 01/06/2020 [bash: zef test] [Chart::Gnuplot] Failed to spawn process /home/chart-gnupplot/.p6chart-gnuplot/bin/gnuplot: no such file or directory (error code -2)
23:01:52 01/06/2020 [bash: zef test] [Chart::Gnuplot] Unhandled exception in code scheduled on thread 4
23:01:52 01/06/2020 [bash: zef test] [Chart::Gnuplot] Failed to spawn process /home/chart-gnupplot/.p6chart-gnuplot/bin/gnuplot: no such file or directory (error code -2)
23:01:52 01/06/2020 [bash: zef test] [Chart::Gnuplot] Unhandled exception in code scheduled on thread 4
23:01:52 01/06/2020 [bash: zef test] [Chart::Gnuplot] Failed to spawn process /home/chart-gnupplot/.p6chart-gnuplot/bin/gnuplot: no such file or directory (error code -2)
23:01:52 01/06/2020 [bash: zef test] [Chart::Gnuplot] Unhandled exception in code scheduled on thread 4
23:01:53 01/06/2020 [bash: zef test] [Chart::Gnuplot] Failed to spawn process /home/chart-gnupplot/.p6chart-gnuplot/bin/gnuplot: no such file or directory (error code -2)
23:01:53 01/06/2020 [bash: zef test] [Chart::Gnuplot] Unhandled exception in code scheduled on thread 4
23:01:53 01/06/2020 [bash: zef test] [Chart::Gnuplot] Failed to spawn process /home/chart-gnupplot/.p6chart-gnuplot/bin/gnuplot: no such file or directory (error code -2)
23:01:53 01/06/2020 [bash: zef test] [Chart::Gnuplot] Unhandled exception in code scheduled on thread 4
23:01:53 01/06/2020 [bash: zef test] [Chart::Gnuplot] Failed to spawn process /home/chart-gnupplot/.p6chart-gnuplot/bin/gnuplot: no such file or directory (error code -2)
23:01:53 01/06/2020 [bash: zef test] [Chart::Gnuplot] Unhandled exception in code scheduled on thread 4
23:01:53 01/06/2020 [bash: zef test] [Chart::Gnuplot] Failed to spawn process /home/chart-gnupplot/.p6chart-gnuplot/bin/gnuplot: no such file or directory (error code -2)
23:01:53 01/06/2020 [bash: zef test] [Chart::Gnuplot] Unhandled exception in code scheduled on thread 4
23:01:53 01/06/2020 [bash: zef test] [Chart::Gnuplot] Failed to spawn process /home/chart-gnupplot/.p6chart-gnuplot/bin/gnuplot: no such file or directory (error code -2)
23:01:53 01/06/2020 [bash: zef test] [Chart::Gnuplot] Unhandled exception in code scheduled on thread 4
23:01:53 01/06/2020 [bash: zef test] [Chart::Gnuplot] Failed to spawn process /home/chart-gnupplot/.p6chart-gnuplot/bin/gnuplot: no such file or directory (error code -2)
23:01:53 01/06/2020 [bash: zef test] ===> Testing [FAIL]: Chart::Gnuplot:ver<0.0.17>:auth<cpan:TITSUKI>
23:01:53 01/06/2020 [bash: zef test] task exit status: 1
23:01:53 01/06/2020 [bash: zef test] task bash: zef test FAILED
The spawned command 'docker exec -i debian-rakudist sh /root/.sparrowdo/sparrowrun.sh' exited unsuccessfully (exit code: 1)
  in block <unit> at /opt/rakudo-pkg/share/perl6/site/resources/375DCCC7CEEDC0A696B38FBD13B6A1EBB162B393 line 17
  in sub MAIN at /home/scheck/.perl6/bin/sparrowdo line 3
  in block <unit> at /home/scheck/.perl6/bin/sparrowdo line 1
@titsuki
Copy link
Owner

titsuki commented Jan 8, 2020

@melezhik Thanks for your report. I'll dig into this problem sometime soon.

@titsuki
Copy link
Owner

titsuki commented Jan 11, 2020

@melezhik This install process seems to skip gnuplot downloading (not system one but user-specified one via CustomBuilder.pm6 since raku-Chart-Gnuplot doesn't use system gnuplot).

I don't come up with the reason why CustomBuilder.pm6 wasn't invoked by zef install command.
Maybe, this zef was outdated version and couldn't read the "builder" section in META6.json.
Could you tell me the zef version you used?

@melezhik
Copy link
Author

@titsuki

16:20:37 01/11/2020 [bash: perl6 version] This is Rakudo version 2019.11 built on MoarVM version 2019.11
16:20:37 01/11/2020 [bash: perl6 version] implementing Perl 6.d.
16:20:41 01/11/2020 [bash: zef version] v0.8.2

@melezhik
Copy link
Author

This is Sparrow6 command invoked:

zef $directory, %( 
  force => False,
  depsonly => True, 
  user => $user,
  description => "Install module dependencies"
);

I don't know , does zef install --deps-only trigger a builder section?

@titsuki
Copy link
Owner

titsuki commented Jan 12, 2020

@melezhik I observed that when depsonly option is False, zef invokes CustomBuilder.pm6.
But an unintended lock file prevents zef from extracting file:

$ sparrowdo --bootstrap --no_sudo --docker=$container_name --repo=http://repo.westus.cloudapp.azure.com
debianHit:1 http://deb.debian.org/debian buster InRelease
Hit:2 http://deb.debian.org/debian buster-updates InRelease
Hit:3 http://security.debian.org/debian-security buster/updates InRelease
Ign:4 https://dl.bintray.com/nxadm/rakudo-pkg-debs buster InRelease
Get:5 https://dl.bintray.com/nxadm/rakudo-pkg-debs buster Release [1840 B]
Fetched 1840 B in 1s (2060 B/s)
Reading package lists...
Reading package lists...
Building dependency tree...
Reading state information...
apt-transport-https is already the newest version (1.8.2).
bash is already the newest version (5.0-4).
build-essential is already the newest version (12.6).
ca-certificates is already the newest version (20190110).
curl is already the newest version (7.64.0-4).
lsb-release is already the newest version (10.2019051400).
perl is already the newest version (5.28.1-6).
git is already the newest version (1:2.20.1-2+deb10u1).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Warning: apt-key output should not be parsed (stdout is not a terminal)
Executing: /tmp/apt-key-gpghome.Z0oRxHeRkG/gpg.1.sh --keyserver hkp://keyserver.ubuntu.com:80 --recv 379CE192D401AB61
gpg: key 379CE192D401AB61: "Bintray (by JFrog) <bintray@bintray.com>" not changed
gpg: Total number processed: 1
gpg:              unchanged: 1
deb https://dl.bintray.com/nxadm/rakudo-pkg-debs buster main
Reading package lists...
Building dependency tree...
Reading state information...
rakudo-pkg is already the newest version (2019.11-01).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
===> Installing: Sparrow6:ver<0.0.11>

1 bin/ script [s6] installed to:
/opt/rakudo-pkg/share/perl6/site/bin
06:48:02 01/12/2020 [repository] index updated from http://repo.westus.cloudapp.azure.com/api/v1/index
06:48:06 01/12/2020 [create user chart-gnupplot] Don't change user home as managehome set to 'no' OR homedir not set
06:48:06 01/12/2020 [create user chart-gnupplot] user chart-gnupplot - nothing changed
06:48:06 01/12/2020 [create user chart-gnupplot] uid=1000(chart-gnupplot) gid=1000(chart-gnupplot) groups=1000(chart-gnupplot)
06:48:08 01/12/2020 [create directory /data/test/chart-gnupplot] directory path: /data/test/chart-gnupplot
06:48:08 01/12/2020 [create directory /data/test/chart-gnupplot] directory owner: <chart-gnupplot>
06:48:08 01/12/2020 [create directory /data/test/chart-gnupplot] directory group: <chart-gnupplot>
06:48:08 01/12/2020 [create directory /data/test/chart-gnupplot] directory access rights: drwxr-xr-x
[task check] stdout match <owner: <chart-gnupplot>> True
[task check] stdout match <group: <chart-gnupplot>> True
06:48:11 01/12/2020 [bash: git checkout https://github.com/titsuki/raku-Chart ...] /data/test/chart-gnupplot
06:48:12 01/12/2020 [bash: git checkout https://github.com/titsuki/raku-Chart ...] Already up to date.
06:48:13 01/12/2020 [bash: last commit] commit 280ba29eb10e2a0b9445d1d110725f3e31e9bcf7
06:48:13 01/12/2020 [bash: last commit] Author: titsuki <titsuki@cpan.org>
06:48:13 01/12/2020 [bash: last commit] Date:   Fri Jan 3 01:56:28 2020 +0900
06:48:13 01/12/2020 [bash: last commit] 
06:48:13 01/12/2020 [bash: last commit]     Delete superfluous .say
06:48:13 01/12/2020 [bash: last commit] 
06:48:13 01/12/2020 [bash: last commit] M	t/02-terminal.t
06:48:15 01/12/2020 [bash: cd /data/test/chart-gnupplot && ls -l] total 5328
06:48:15 01/12/2020 [bash: cd /data/test/chart-gnupplot && ls -l] -rw-r--r-- 1 chart-gnupplot chart-gnupplot    2603 Jan 12 06:44 Changes
06:48:15 01/12/2020 [bash: cd /data/test/chart-gnupplot && ls -l] -rw-r--r-- 1 chart-gnupplot chart-gnupplot     686 Jan 12 06:44 LICENSE
06:48:15 01/12/2020 [bash: cd /data/test/chart-gnupplot && ls -l] -rw-r--r-- 1 chart-gnupplot chart-gnupplot    1548 Jan 12 06:44 META6.json
06:48:15 01/12/2020 [bash: cd /data/test/chart-gnupplot && ls -l] -rw-r--r-- 1 chart-gnupplot chart-gnupplot   20714 Jan 12 06:44 README.md
06:48:15 01/12/2020 [bash: cd /data/test/chart-gnupplot && ls -l] -rw-r--r-- 1 chart-gnupplot chart-gnupplot     120 Jan 12 06:44 dist.ini
06:48:15 01/12/2020 [bash: cd /data/test/chart-gnupplot && ls -l] -rw-r--r-- 1 chart-gnupplot chart-gnupplot 5321601 Jan 12 06:45 gnuplot-5.2.6.tar.gz
06:48:15 01/12/2020 [bash: cd /data/test/chart-gnupplot && ls -l] -rw-r--r-- 1 chart-gnupplot chart-gnupplot    4122 Jan 12 06:44 histogram.png
06:48:15 01/12/2020 [bash: cd /data/test/chart-gnupplot && ls -l] drwxr-xr-x 3 chart-gnupplot chart-gnupplot    4096 Jan 12 06:44 lib
06:48:15 01/12/2020 [bash: cd /data/test/chart-gnupplot && ls -l] -rw-r--r-- 1 chart-gnupplot chart-gnupplot   29506 Jan 12 06:44 sinx.png
06:48:15 01/12/2020 [bash: cd /data/test/chart-gnupplot && ls -l] -rw-r--r-- 1 chart-gnupplot chart-gnupplot   37944 Jan 12 06:44 surface.dem.00.png
06:48:15 01/12/2020 [bash: cd /data/test/chart-gnupplot && ls -l] drwxr-xr-x 2 chart-gnupplot chart-gnupplot    4096 Jan 12 06:44 t
06:48:17 01/12/2020 [bash: Install module dependencies] ===> Searching for missing dependencies: Distribution::Builder::MakeFromJSON
06:49:13 01/12/2020 [bash: Install module dependencies] ===> Searching for missing dependencies: System::Query
06:49:13 01/12/2020 [bash: Install module dependencies] ===> Searching for missing dependencies: JSON::Fast
06:49:13 01/12/2020 [bash: Install module dependencies] ===> Building: Chart::Gnuplot:ver<0.0.17>:auth<cpan:TITSUKI>
06:49:13 01/12/2020 [bash: Install module dependencies] [Chart::Gnuplot] Failed to open file /data/test/chart-gnupplot.lock: Permission denied
06:49:13 01/12/2020 [bash: Install module dependencies] [Chart::Gnuplot]   in sub lock-file-protect at /opt/rakudo-pkg/share/perl6/core/sources/92CDF3D3156B26D20F11A28F5C825AC151781CD6 (Zef::Utils::FileSystem) line 50
06:49:13 01/12/2020 [bash: Install module dependencies] [Chart::Gnuplot]   in method extract at /opt/rakudo-pkg/share/perl6/core/sources/D11924A78722910B5AFD9E158A77A64A9C7299A8 (Zef::Extract) line 23
06:49:13 01/12/2020 [bash: Install module dependencies] [Chart::Gnuplot]   in method install-gnuplot at /data/test/chart-gnupplot/lib/Chart/Gnuplot/CustomBuilder.pm6 (Chart::Gnuplot::CustomBuilder) line 42
06:49:13 01/12/2020 [bash: Install module dependencies] [Chart::Gnuplot]   in method build at /data/test/chart-gnupplot/lib/Chart/Gnuplot/CustomBuilder.pm6 (Chart::Gnuplot::CustomBuilder) line 20
06:49:13 01/12/2020 [bash: Install module dependencies] [Chart::Gnuplot]   in block <unit> at -e line 1
06:49:13 01/12/2020 [bash: Install module dependencies] [Chart::Gnuplot] Actually thrown at:
06:49:13 01/12/2020 [bash: Install module dependencies] [Chart::Gnuplot]   in code  at /opt/rakudo-pkg/share/perl6/core/sources/92CDF3D3156B26D20F11A28F5C825AC151781CD6 (Zef::Utils::FileSystem) line 53
06:49:13 01/12/2020 [bash: Install module dependencies] [Chart::Gnuplot]   in sub lock-file-protect at /opt/rakudo-pkg/share/perl6/core/sources/92CDF3D3156B26D20F11A28F5C825AC151781CD6 (Zef::Utils::FileSystem) line 50
06:49:13 01/12/2020 [bash: Install module dependencies] [Chart::Gnuplot]   in method extract at /opt/rakudo-pkg/share/perl6/core/sources/D11924A78722910B5AFD9E158A77A64A9C7299A8 (Zef::Extract) line 23
06:49:13 01/12/2020 [bash: Install module dependencies] [Chart::Gnuplot]   in method install-gnuplot at /data/test/chart-gnupplot/lib/Chart/Gnuplot/CustomBuilder.pm6 (Chart::Gnuplot::CustomBuilder) line 42
06:49:13 01/12/2020 [bash: Install module dependencies] [Chart::Gnuplot]   in method build at /data/test/chart-gnupplot/lib/Chart/Gnuplot/CustomBuilder.pm6 (Chart::Gnuplot::CustomBuilder) line 20
06:49:13 01/12/2020 [bash: Install module dependencies] [Chart::Gnuplot]   in block <unit> at -e line 1
06:49:13 01/12/2020 [bash: Install module dependencies] ===> Building [FAIL]: Chart::Gnuplot:ver<0.0.17>:auth<cpan:TITSUKI>
06:49:13 01/12/2020 [bash: Install module dependencies] [Chart::Gnuplot] Failed to build, but continuing with --force-build
...

I haven't ever faced such an error. Do you have any ideas to solve this lock file?

@melezhik
Copy link
Author

melezhik commented Jan 12, 2020 via email

@titsuki
Copy link
Owner

titsuki commented Jan 12, 2020

@melezhik Thanks, I'll consider how to cope with this discrepancy between system linux and docker-powered linux on a system linux.

@titsuki
Copy link
Owner

titsuki commented Jan 19, 2020

@melezhik
I changed to use zef install . instead of zef install $directory with the intent to create a lockfile under the user space but this modification itself doesn't make sparrow work:

bash "cd {$directory} && zef install .", %( 
  force => True,
  depsonly => False, 
  user => $user,
  description => "Install module dependencies"
);

bash "cd {$directory} && zef test .", %(
  description => "zef test",
  user => $user
);

After that, I also changed the owner of /data/test/. As you know, it works good to me:

# ls -la /data/    
total 12
drwxr-xr-x 3 root root 4096 Jan 18 15:16 .
drwxr-xr-x 1 root root 4096 Jan 18 15:16 ..
drwxr-xr-x 3 root root 4096 Jan 18 15:16 test
root@4577eaf46fd9:/# chown chart-gnupplot:chart-gnupplot /data/test
$ sparrowdo --bootstrap --no_sudo --docker=$container_name --repo=http://repo.westus.cloudapp.azure.com
...
15:22:51 01/18/2020 [bash: zef test] ===> Testing: Chart::Gnuplot:ver<0.0.17>:auth<cpan:TITSUKI>
15:23:02 01/18/2020 [bash: zef test] ===> Testing [OK] for Chart::Gnuplot:ver<0.0.17>:auth<cpan:TITSUKI>

So, Is there any other good solution without changing the owner of /data/test?

@melezhik
Copy link
Author

That's a little bit strange, I thought cd {$directory} && zef ... would fix the issue. Let me modify my test to that and see a result.

@melezhik
Copy link
Author

@titsuki, yeah look like is a docker quirk, directory is owned by user and group, but still not writable:

$ docker exec -i -t debian-rakudist /bin/bash
root@449e86151623:/# su - chart-gnupplot
$ bash
chart-gnupplot@449e86151623:~$ stat /data/test/gh-raku-chart-gnuplot-debian
  File: /data/test/gh-raku-chart-gnuplot-debian
  Size: 235             Blocks: 0          IO Block: 4096   directory
Device: 26h/38d Inode: 17653368    Links: 6
Access: (0755/drwxr-xr-x)  Uid: ( 1002/gh-raku-chart-gnuplot-debian)   Gid: ( 1002/gh-raku-chart-gnuplot-debian)
Access: 2020-01-20 21:04:17.182315030 +0000
Modify: 2020-01-20 21:04:40.850469727 +0000
Change: 2020-01-20 21:04:40.850469727 +0000
 Birth: -
chart-gnupplot@449e86151623:~$ touch  /data/test/gh-raku-chart-gnuplot-debian/test
touch: cannot touch '/data/test/gh-raku-chart-gnuplot-debian/test': Permission denied

@melezhik
Copy link
Author

To long story short I guess it's better handle inside Sparrow scenario rather then trying to do anything on chart-gnupplot side, it's definitely not a module's error. I'd suggest to close the issue.

@titsuki
Copy link
Owner

titsuki commented Jan 21, 2020

@melezhik Thanks! I'll close this issue.

@titsuki titsuki closed this as completed Jan 21, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants