titsuki / raku-Chart-Gnuplot

A Raku naive Gnuplot bindings
Other
11 stars 1 forks source link

Installation fails on debian #40

Closed melezhik closed 4 years ago

melezhik commented 4 years ago

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 commented 4 years ago

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

titsuki commented 4 years ago

@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 commented 4 years ago

@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 commented 4 years ago

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 commented 4 years ago

@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 commented 4 years ago

Looks like installation process tries to create a file in

/data/test/chart-gnupplot.lock which is not writeable for $user.

Zef installs dependencies as zed /data/test/chart-gnupplot/ ... Looks like lock file is being attempted for creation in upper dir /data/test

On Jan 12, 2020 4:29 AM, "Itsuki Toyota" notifications@github.com wrote:

@melezhik https://github.com/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: 06:48:08 01/12/2020 [create directory /data/test/chart-gnupplot] directory group: 06:48:08 01/12/2020 [create directory /data/test/chart-gnupplot] directory access rights: drwxr-xr-x [task check] stdout match <owner: > True [task check] stdout match <group: > 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 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 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 at -e line 1 06:49:13 01/12/2020 [bash: Install module dependencies] ===> Building [FAIL]: Chart::Gnuplot:ver<0.0.17>:auth 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?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/titsuki/raku-Chart-Gnuplot/issues/40?email_source=notifications&email_token=AAHRHSKWE2BNIEATMMDX5R3Q5LWI3A5CNFSM4KDMZINKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEIWWSEY#issuecomment-573401363, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAHRHSMMXF3R5PHDK4R6DD3Q5LWI3ANCNFSM4KDMZINA .

titsuki commented 4 years ago

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

titsuki commented 4 years ago

@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 commented 4 years ago

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 commented 4 years ago

@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 commented 4 years ago

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 commented 4 years ago

@melezhik Thanks! I'll close this issue.