jailの作成から起動・終了まで19秒。
内訳は
base.txzを展開するだけのjailの作成に11秒。
perlと Plack を入れるのに5秒。
Catalyst を入れるのに2秒。(参考までに)
テストの200確認は一瞬。
base.txzとパッケージはダウンロード済みとしています。
--> tar xzf base.txz -C /usr/home/bokutin/code/try/jail_plack/jail/1563847834
ret:0 elapsed:10.945429s (00:00:10.945429)
--> mount_nullfs /var/cache/pkg /usr/home/bokutin/code/try/jail_plack/jail/1563847834/var/cache/pkg
ret:0 elapsed:10.947916s (00:00:10.947916)
--> jail -c name=1563847845 path=/usr/home/bokutin/code/try/jail_plack/jail/1563847834 ip4=inherit mount.devfs persist
ret:0 elapsed:10.949973s (00:00:10.949973)
--> cp -p /etc/pkg/MyPoudriere.conf /usr/home/bokutin/code/try/jail_plack/jail/1563847834/etc/pkg/FreeBSD.conf
ret:0 elapsed:10.951066s (00:00:10.951066)
--> pkg -j 1563847845 install -y p5-Plack
Updating MyPoudriere repository catalogue...
[] Fetching meta.txz: . done
[] Fetching packagesite.txz: .......... done
Processing entries: .......... done
MyPoudriere repository update completed. 2851 packages processed.
All repositories are up to date.
Checking integrity... done (0 conflicting)
The following 27 package(s) will be affected (of 0 checked):
New packages to be INSTALLED:
p5-Plack: 1.0047
p5-HTTP-Headers-Fast: 0.21
p5-HTTP-Date: 6.02_1
perl5: 5.28.2
p5-HTTP-Entity-Parser: 0.21
p5-WWW-Form-UrlEncoded: 0.26
p5-HTTP-MultiPartParser: 0.02
p5-Stream-Buffered: 0.03_1
p5-Hash-MultiValue: 0.16
p5-JSON-MaybeXS: 1.004000
p5-Cpanel-JSON-XS: 4.12
p5-HTTP-Body: 1.22
p5-HTTP-Message: 6.18
p5-LWP-MediaTypes: 6.04
p5-URI: 1.76
p5-IO-HTML: 1.001_1
p5-Encode-Locale: 1.05
p5-Cookie-Baker: 0.09
p5-Apache-LogFormat-Compiler: 0.35
p5-POSIX-strftime-Compiler: 0.41
p5-Try-Tiny: 0.30
p5-Path-Class: 0.37
p5-Filesys-Notify-Simple: 0.12_1
p5-File-ShareDir: 1.116
p5-Class-Inspector: 1.34
p5-Devel-StackTrace-AsHTML: 0.15
p5-Devel-StackTrace: 2.04
Number of packages to be installed: 27
The process will require 61 MiB more space.
[] [1/27] Installing perl5-5.28.2...
[] [1/27] Extracting perl5-5.28.2: .......... done
[] [2/27] Installing p5-HTTP-Date-6.02_1...
[] [2/27] Extracting p5-HTTP-Date-6.02_1: ....... done
[] [3/27] Installing p5-Cpanel-JSON-XS-4.12...
[] [3/27] Extracting p5-Cpanel-JSON-XS-4.12: .......... done
[] [4/27] Installing p5-LWP-MediaTypes-6.04...
[] [4/27] Extracting p5-LWP-MediaTypes-6.04: ........ done
[] [5/27] Installing p5-URI-1.76...
[] [5/27] Extracting p5-URI-1.76: .......... done
[] [6/27] Installing p5-IO-HTML-1.001_1...
[] [6/27] Extracting p5-IO-HTML-1.001_1: ....... done
[] [7/27] Installing p5-Encode-Locale-1.05...
[] [7/27] Extracting p5-Encode-Locale-1.05: ....... done
[] [8/27] Installing p5-WWW-Form-UrlEncoded-0.26...
[] [8/27] Extracting p5-WWW-Form-UrlEncoded-0.26: .......... done
[] [9/27] Installing p5-HTTP-MultiPartParser-0.02...
[] [9/27] Extracting p5-HTTP-MultiPartParser-0.02: ........ done
[] [10/27] Installing p5-Stream-Buffered-0.03_1...
[] [10/27] Extracting p5-Stream-Buffered-0.03_1: .......... done
[] [11/27] Installing p5-Hash-MultiValue-0.16...
[] [11/27] Extracting p5-Hash-MultiValue-0.16: ....... done
[] [12/27] Installing p5-JSON-MaybeXS-1.004000...
[] [12/27] Extracting p5-JSON-MaybeXS-1.004000: ....... done
[] [13/27] Installing p5-HTTP-Message-6.18...
[] [13/27] Extracting p5-HTTP-Message-6.18: .......... done
[] [14/27] Installing p5-POSIX-strftime-Compiler-0.41...
[] [14/27] Extracting p5-POSIX-strftime-Compiler-0.41: ....... done
[] [15/27] Installing p5-Class-Inspector-1.34...
[] [15/27] Extracting p5-Class-Inspector-1.34: ......... done
[] [16/27] Installing p5-Devel-StackTrace-2.04...
[] [16/27] Extracting p5-Devel-StackTrace-2.04: ........ done
[] [17/27] Installing p5-HTTP-Headers-Fast-0.21...
[] [17/27] Extracting p5-HTTP-Headers-Fast-0.21: ....... done
[] [18/27] Installing p5-HTTP-Entity-Parser-0.21...
[] [18/27] Extracting p5-HTTP-Entity-Parser-0.21: .......... done
[] [19/27] Installing p5-HTTP-Body-1.22...
[] [19/27] Extracting p5-HTTP-Body-1.22: .......... done
[] [20/27] Installing p5-Cookie-Baker-0.09...
[] [20/27] Extracting p5-Cookie-Baker-0.09: ....... done
[] [21/27] Installing p5-Apache-LogFormat-Compiler-0.35...
[] [21/27] Extracting p5-Apache-LogFormat-Compiler-0.35: ....... done
[] [22/27] Installing p5-Try-Tiny-0.30...
[] [22/27] Extracting p5-Try-Tiny-0.30: ...... done
[] [23/27] Installing p5-Path-Class-0.37...
[] [23/27] Extracting p5-Path-Class-0.37: .......... done
[] [24/27] Installing p5-Filesys-Notify-Simple-0.12_1...
[] [24/27] Extracting p5-Filesys-Notify-Simple-0.12_1: ....... done
[] [25/27] Installing p5-File-ShareDir-1.116...
[] [25/27] Extracting p5-File-ShareDir-1.116: .......... done
[] [26/27] Installing p5-Devel-StackTrace-AsHTML-0.15...
[] [26/27] Extracting p5-Devel-StackTrace-AsHTML-0.15: ....... done
[] [27/27] Installing p5-Plack-1.0047...
[] [27/27] Extracting p5-Plack-1.0047: .......... done
Message from perl5-5.28.2:
The /usr/bin/perl symlink has been removed starting with Perl 5.20.
For shebangs, you should either use:
#!/usr/local/bin/perl
or
#!/usr/bin/env perl
The first one will only work if you have a /usr/local/bin/perl,
the second will work as long as perl is in PATH.
ret:0 elapsed:16.399829s (00:00:16.399829)
--> pkg -j 1563847845 install -y p5-Catalyst-Runtime
Updating MyPoudriere repository catalogue...
MyPoudriere repository is up to date.
All repositories are up to date.
Checking integrity... done (0 conflicting)
The following 76 package(s) will be affected (of 0 checked):
New packages to be INSTALLED:
p5-Catalyst-Runtime: 5.90124
p5-libwww: 6.39
p5-WWW-RobotRules: 6.02_1
p5-HTTP-Negotiate: 6.01_1
p5-HTTP-Daemon: 6.04
p5-HTTP-Cookies: 6.04
p5-HTML-Parser: 3.72
p5-HTML-Tagset: 3.20_1
p5-File-Listing: 6.04_1
p5-Authen-NTLM: 1.09_1
p5-Digest-HMAC: 1.03_1
p5-Net-HTTP: 6.19
p5-IO-Socket-SSL: 2.066
p5-Mozilla-CA: 20180117
p5-Net-SSLeay: 1.85
p5-IO-Socket-INET6: 2.72_1
p5-Socket6: 0.29
p5-Plack-Test-ExternalServer: 0.02
p5-Plack-Middleware-ReverseProxy: 0.15_1
p5-Plack-Middleware-RemoveRedundantBody: 0.07_1
p5-Plack-Middleware-MethodOverride: 0.20
p5-Plack-Middleware-FixMissingBodyInRedirect: 0.12_1
p5-CGI-Struct: 1.21_1
p5-CGI-Simple: 1.210
p5-Text-SimpleTable: 2.07
p5-String-RewritePrefix: 0.007_1
p5-URI-ws: 0.03
p5-namespace-clean: 0.27
p5-Package-Stash: 0.38
p5-Package-Stash-XS: 0.29
p5-Module-Implementation: 0.09_1
p5-Module-Runtime: 0.016
p5-Dist-CheckConflicts: 0.11_1
p5-B-Hooks-EndOfScope: 0.24
p5-Variable-Magic: 0.62
p5-Sub-Exporter-Progressive: 0.001013
p5-Sub-Exporter: 0.987_1
p5-Sub-Install: 0.928_1
p5-Params-Util: 1.07_2
p5-Data-OptList: 0.110
p5-Tree-Simple-VisitorFactory: 0.15
p5-Tree-Simple: 1.33
p5-Task-Weaken: 1.06
p5-Safe-Isa: 1.000010
p5-PerlIO-utf8_strict: 0.007
p5-MooseX-MethodAttributes: 0.31
p5-namespace-autoclean: 0.28
p5-Sub-Identify: 0.14
p5-MooseX-Types: 0.50
p5-Sub-Name: 0.21,1
p5-Sub-Exporter-ForMethods: 0.100052
p5-Moose: 2.2011,1
p5-Scalar-List-Utils: 1.50,1
p5-Package-DeprecationManager: 0.17_1
p5-Module-Runtime-Conflicts: 0.003_1
p5-MRO-Compat: 0.13
p5-Class-C3: 0.34
p5-Algorithm-C3: 0.10_1
p5-Eval-Closure: 0.14
p5-Devel-OverloadInfo: 0.005
p5-Devel-GlobalDestruction: 0.14
p5-Class-Load-XS: 0.10
p5-Class-Load: 0.25
p5-Carp-Clan: 6.07
p5-MooseX-Getopt: 0.74
p5-MooseX-Role-Parameterized: 1.10
p5-MooseX-ConfigFromFile: 0.14
p5-MooseX-Types-Path-Tiny: 0.012
p5-Path-Tiny: 0.108
p5-MooseX-Types-Stringlike: 0.003_1
p5-Getopt-Long-Descriptive: 0.104
p5-Params-Validate: 1.29
p5-MooseX-Emulate-Class-Accessor-Fast: 0.009032
p5-Module-Pluggable: 5.2
p5-Data-Dump: 1.23_1
p5-Class-C3-Adopt-NEXT: 0.14
Number of packages to be installed: 76
The process will require 8 MiB more space.
[] [1/76] Installing p5-Sub-Install-0.928_1...
[] [1/76] Extracting p5-Sub-Install-0.928_1: ....... done
[] [2/76] Installing p5-Params-Util-1.07_2...
[] [2/76] Extracting p5-Params-Util-1.07_2: ........ done
[] [3/76] Installing p5-Module-Runtime-0.016...
[] [3/76] Extracting p5-Module-Runtime-0.016: ....... done
[] [4/76] Installing p5-Data-OptList-0.110...
[] [4/76] Extracting p5-Data-OptList-0.110: ....... done
[] [5/76] Installing p5-Package-Stash-XS-0.29...
[] [5/76] Extracting p5-Package-Stash-XS-0.29: ........ done
[] [6/76] Installing p5-Module-Implementation-0.09_1...
[] [6/76] Extracting p5-Module-Implementation-0.09_1: ...... done
[] [7/76] Installing p5-Dist-CheckConflicts-0.11_1...
[] [7/76] Extracting p5-Dist-CheckConflicts-0.11_1: ....... done
[] [8/76] Installing p5-Sub-Exporter-0.987_1...
[] [8/76] Extracting p5-Sub-Exporter-0.987_1: .......... done
[] [9/76] Installing p5-Algorithm-C3-0.10_1...
[] [9/76] Extracting p5-Algorithm-C3-0.10_1: ....... done
[] [10/76] Installing p5-Package-Stash-0.38...
[] [10/76] Extracting p5-Package-Stash-0.38: .......... done
[] [11/76] Installing p5-Variable-Magic-0.62...
[] [11/76] Extracting p5-Variable-Magic-0.62: ........ done
[] [12/76] Installing p5-Sub-Exporter-Progressive-0.001013...
[] [12/76] Extracting p5-Sub-Exporter-Progressive-0.001013: ....... done
[] [13/76] Installing p5-Class-C3-0.34...
[] [13/76] Extracting p5-Class-C3-0.34: ......... done
[] [14/76] Installing p5-B-Hooks-EndOfScope-0.24...
[] [14/76] Extracting p5-B-Hooks-EndOfScope-0.24: .......... done
[] [15/76] Installing p5-Sub-Identify-0.14...
[] [15/76] Extracting p5-Sub-Identify-0.14: ........ done
[] [16/76] Installing p5-Sub-Name-0.21,1...
[] [16/76] Extracting p5-Sub-Name-0.21,1: ........ done
[] [17/76] Installing p5-MRO-Compat-0.13...
[] [17/76] Extracting p5-MRO-Compat-0.13: ....... done
[] [18/76] Installing p5-Class-Load-0.25...
[] [18/76] Extracting p5-Class-Load-0.25: ........ done
[] [19/76] Installing p5-namespace-clean-0.27...
[] [19/76] Extracting p5-namespace-clean-0.27: ........ done
[] [20/76] Installing p5-Scalar-List-Utils-1.50,1...
[] [20/76] Extracting p5-Scalar-List-Utils-1.50,1: .......... done
[] [21/76] Installing p5-Package-DeprecationManager-0.17_1...
[] [21/76] Extracting p5-Package-DeprecationManager-0.17_1: ...... done
[] [22/76] Installing p5-Module-Runtime-Conflicts-0.003_1...
[] [22/76] Extracting p5-Module-Runtime-Conflicts-0.003_1: ....... done
[] [23/76] Installing p5-Eval-Closure-0.14...
[] [23/76] Extracting p5-Eval-Closure-0.14: ....... done
[] [24/76] Installing p5-Devel-OverloadInfo-0.005...
[] [24/76] Extracting p5-Devel-OverloadInfo-0.005: ....... done
[] [25/76] Installing p5-Devel-GlobalDestruction-0.14...
[] [25/76] Extracting p5-Devel-GlobalDestruction-0.14: ....... done
[] [26/76] Installing p5-Class-Load-XS-0.10...
[] [26/76] Extracting p5-Class-Load-XS-0.10: ....... done
[] [27/76] Installing p5-Socket6-0.29...
[] [27/76] Extracting p5-Socket6-0.29: ....... done
[] [28/76] Installing p5-namespace-autoclean-0.28...
[] [28/76] Extracting p5-namespace-autoclean-0.28: ....... done
[] [29/76] Installing p5-Sub-Exporter-ForMethods-0.100052...
[] [29/76] Extracting p5-Sub-Exporter-ForMethods-0.100052: ....... done
[] [30/76] Installing p5-Moose-2.2011,1...
[] [30/76] Extracting p5-Moose-2.2011,1: .......... done
[] [31/76] Installing p5-Carp-Clan-6.07...
[] [31/76] Extracting p5-Carp-Clan-6.07: ....... done
[] [32/76] Installing p5-Mozilla-CA-20180117...
[] [32/76] Extracting p5-Mozilla-CA-20180117: ........ done
[] [33/76] Installing p5-Net-SSLeay-1.85...
[] [33/76] Extracting p5-Net-SSLeay-1.85: .......... done
[] [34/76] Installing p5-IO-Socket-INET6-2.72_1...
[] [34/76] Extracting p5-IO-Socket-INET6-2.72_1: ....... done
[] [35/76] Installing p5-MooseX-Types-0.50...
[] [35/76] Extracting p5-MooseX-Types-0.50: .......... done
[] [36/76] Installing p5-HTML-Tagset-3.20_1...
[] [36/76] Extracting p5-HTML-Tagset-3.20_1: ....... done
[] [37/76] Installing p5-Digest-HMAC-1.03_1...
[] [37/76] Extracting p5-Digest-HMAC-1.03_1: .......... done
[] [38/76] Installing p5-IO-Socket-SSL-2.066...
[] [38/76] Extracting p5-IO-Socket-SSL-2.066: .......... done
[] [39/76] Installing p5-Path-Tiny-0.108...
[] [39/76] Extracting p5-Path-Tiny-0.108: ...... done
[] [40/76] Installing p5-MooseX-Types-Stringlike-0.003_1...
[] [40/76] Extracting p5-MooseX-Types-Stringlike-0.003_1: ...... done
[] [41/76] Installing p5-WWW-RobotRules-6.02_1...
[] [41/76] Extracting p5-WWW-RobotRules-6.02_1: ......... done
[] [42/76] Installing p5-HTTP-Negotiate-6.01_1...
[] [42/76] Extracting p5-HTTP-Negotiate-6.01_1: ....... done
[] [43/76] Installing p5-HTTP-Daemon-6.04...
[] [43/76] Extracting p5-HTTP-Daemon-6.04: ....... done
[] [44/76] Installing p5-HTTP-Cookies-6.04...
[] [44/76] Extracting p5-HTTP-Cookies-6.04: .......... done
[] [45/76] Installing p5-HTML-Parser-3.72...
[] [45/76] Extracting p5-HTML-Parser-3.72: .......... done
[] [46/76] Installing p5-File-Listing-6.04_1...
[] [46/76] Extracting p5-File-Listing-6.04_1: ....... done
[] [47/76] Installing p5-Authen-NTLM-1.09_1...
[] [47/76] Extracting p5-Authen-NTLM-1.09_1: ......... done
[] [48/76] Installing p5-Net-HTTP-6.19...
[] [48/76] Extracting p5-Net-HTTP-6.19: .......... done
[] [49/76] Installing p5-MooseX-Types-Path-Tiny-0.012...
[] [49/76] Extracting p5-MooseX-Types-Path-Tiny-0.012: ...... done
[] [50/76] Installing p5-Params-Validate-1.29...
[] [50/76] Extracting p5-Params-Validate-1.29: .......... done
[] [51/76] Installing p5-libwww-6.39...
[] [51/76] Extracting p5-libwww-6.39: .......... done
[] [52/76] Installing p5-Tree-Simple-1.33...
[] [52/76] Extracting p5-Tree-Simple-1.33: ......... done
[] [53/76] Installing p5-MooseX-Role-Parameterized-1.10...
[] [53/76] Extracting p5-MooseX-Role-Parameterized-1.10: .......... done
[] [54/76] Installing p5-MooseX-ConfigFromFile-0.14...
[] [54/76] Extracting p5-MooseX-ConfigFromFile-0.14: ....... done
[] [55/76] Installing p5-Getopt-Long-Descriptive-0.104...
[] [55/76] Extracting p5-Getopt-Long-Descriptive-0.104: .......... done
[] [56/76] Installing p5-Plack-Test-ExternalServer-0.02...
[] [56/76] Extracting p5-Plack-Test-ExternalServer-0.02: ....... done
[] [57/76] Installing p5-Plack-Middleware-ReverseProxy-0.15_1...
[] [57/76] Extracting p5-Plack-Middleware-ReverseProxy-0.15_1: ....... done
[] [58/76] Installing p5-Plack-Middleware-RemoveRedundantBody-0.07_1...
[] [58/76] Extracting p5-Plack-Middleware-RemoveRedundantBody-0.07_1: ....... done
[] [59/76] Installing p5-Plack-Middleware-MethodOverride-0.20...
[] [59/76] Extracting p5-Plack-Middleware-MethodOverride-0.20: ....... done
[] [60/76] Installing p5-Plack-Middleware-FixMissingBodyInRedirect-0.12_1...
[] [60/76] Extracting p5-Plack-Middleware-FixMissingBodyInRedirect-0.12_1: ....... done
[] [61/76] Installing p5-CGI-Struct-1.21_1...
[] [61/76] Extracting p5-CGI-Struct-1.21_1: ...... done
[] [62/76] Installing p5-CGI-Simple-1.210...
[] [62/76] Extracting p5-CGI-Simple-1.210: .......... done
[] [63/76] Installing p5-Text-SimpleTable-2.07...
[] [63/76] Extracting p5-Text-SimpleTable-2.07: ...... done
[] [64/76] Installing p5-String-RewritePrefix-0.007_1...
[] [64/76] Extracting p5-String-RewritePrefix-0.007_1: ....... done
[] [65/76] Installing p5-URI-ws-0.03...
[] [65/76] Extracting p5-URI-ws-0.03: ......... done
[] [66/76] Installing p5-Tree-Simple-VisitorFactory-0.15...
[] [66/76] Extracting p5-Tree-Simple-VisitorFactory-0.15: .......... done
[] [67/76] Installing p5-Task-Weaken-1.06...
[] [67/76] Extracting p5-Task-Weaken-1.06: ....... done
[] [68/76] Installing p5-Safe-Isa-1.000010...
[] [68/76] Extracting p5-Safe-Isa-1.000010: ....... done
[] [69/76] Installing p5-PerlIO-utf8_strict-0.007...
[] [69/76] Extracting p5-PerlIO-utf8_strict-0.007: ........ done
[] [70/76] Installing p5-MooseX-MethodAttributes-0.31...
[] [70/76] Extracting p5-MooseX-MethodAttributes-0.31: .......... done
[] [71/76] Installing p5-MooseX-Getopt-0.74...
[] [71/76] Extracting p5-MooseX-Getopt-0.74: .......... done
[] [72/76] Installing p5-MooseX-Emulate-Class-Accessor-Fast-0.009032...
[] [72/76] Extracting p5-MooseX-Emulate-Class-Accessor-Fast-0.009032: .......... done
[] [73/76] Installing p5-Module-Pluggable-5.2...
[] [73/76] Extracting p5-Module-Pluggable-5.2: .......... done
[] [74/76] Installing p5-Data-Dump-1.23_1...
[] [74/76] Extracting p5-Data-Dump-1.23_1: .......... done
[] [75/76] Installing p5-Class-C3-Adopt-NEXT-0.14...
[] [75/76] Extracting p5-Class-C3-Adopt-NEXT-0.14: ....... done
[] [76/76] Installing p5-Catalyst-Runtime-5.90124...
[] [76/76] Extracting p5-Catalyst-Runtime-5.90124: .......... done
Message from p5-Moose-2.2011,1:
Note that this release of p5-Moose is incompatible with
older versions of the following modules:
Catalyst <= 5.80017
Devel::REPL <= 1.003008
Fey::ORM <= 0.23
File::ChangeNotify <= 0.15
KiokuDB <= 0.41
MooseX::Aliases <= 0.07
MooseX::AttributeHelpers <= 0.22
MooseX::AttributeInflate <= 0.02
MooseX::Attribute::Prototype <= 0.10
MooseX::ClassAttribute <= 0.13
MooseX::FollowPBP <= 0.02
MooseX::HasDefaults <= 0.02
MooseX::InstanceTracking <= 0.04
MooseX::LazyRequire <= 0.05
MooseX::MethodAttributes <= 0.22
MooseX::NonMoose <= 0.13
MooseX::Params::Validate <= 0.05
MooseX::Role::Cmd <= 0.06
MooseX::Role::WithOverloading <= 0.07
MooseX::SemiAffordanceAccessor <= 0.05
MooseX::Singleton <= 0.22
MooseX::StrictConstructor <= 0.08
MooseX::Types <= 0.19
MooseX::UndefTolerant <= 0.04
namespace::autoclean <= 0.08
Pod::Elemental <= 0.093280
They will need to be updated.
Message from p5-Catalyst-Runtime-5.90124:
------------------------------------------------------------------------
NOTE!
The Apache engines have been moved to a separate package: Please install
www/p5-Catalyst-Engine-Apache if you need Apache/mod_perl support.
The parts necessary to do development with Catalyst have been moved to
a separate package: Please install www/p5-Catalyst-Devel, if you need
to develop Catalyst-apps, as opposed to simply running them.
The majority of the documentation has been moved to a separate package as
well: Install www/p5-Catalyst-Manual for the tutorially goodness.
------------------------------------------------------------------------
ret:0 elapsed:18.567568s (00:00:18.567568)
--> jexec 1563847845 daemon plackup -D -p 12869 -e 'sub { [200, [], ["200 ok\n"]] }'
ret:0 elapsed:18.570165s (00:00:18.570165)
--> lwp-request -E http://127.0.0.1:12869
HTTP::Server::PSGI: Accepting connections at http://0:12869/
127.0.0.1 - - [23/Jul/2019:02:10:53 +0000] "GET / HTTP/1.1" 200 7 "-" "lwp-request/6.39 libwww-perl/6.39"
GET http://127.0.0.1:12869
User-Agent: lwp-request/6.39 libwww-perl/6.39
200 OK
Date: Tue, 23 Jul 2019 02:10:53 GMT
Server: HTTP::Server::PSGI
Content-Length: 7
Client-Date: Tue, 23 Jul 2019 02:10:53 GMT
Client-Peer: 127.0.0.1:12869
Client-Response-Num: 1
200 ok
ret:0 elapsed:18.642556s (00:00:18.642556)
--> jail -r 1563847845
ret:0 elapsed:18.645106s (00:00:18.645106)
--> umount /usr/home/bokutin/code/try/jail_plack/jail/1563847834/var/cache/pkg
ret:0 elapsed:18.646434s (00:00:18.646434)
コード
#!/usr/local/bin/perl
use Modern::Perl;
use base qw(App::Cmd::Simple);
use Cwd qw(realpath);
use File::Basename qw(basename);
use File::Path qw(make_path);
use File::Spec::Functions;
use FindBin;
use IO::All;
use Net::EmptyPort qw(empty_port);
use String::ShellQuote;
use Term::ANSIColor;
use Timer::Simple;
sub opt_spec {
(
[ "reuse_jail", "" ],
);
}
sub execute {
my ($self, $opt, $args) = @_;
my $t = Timer::Simple->new;
my sub _cmd {
my @cmd = @_;
say colored "--> @{[ shell_quote @cmd ]}", "blue";
my $ret = system @cmd;
say colored "ret:$ret elapsed:$t", ($ret == 0 ? "green" : "magenta");
}
my $app_home = realpath catdir $FindBin::Bin, "..";
my $jail_base;
if ($opt->reuse_jail) {
$jail_base = (glob "$app_home/jail/*")[-1] or die;
}
else {
$jail_base = catdir $app_home, "jail", time;
-d or make_path($_) or die $! for $jail_base;
# https://download.freebsd.org/ftp/releases/amd64/12.0-RELEASE/base.txz
_cmd qw(tar xzf base.txz -C), $jail_base;
}
my $jail_name = time;
my $plack_port = empty_port;
-d or make_path($_) or die $! for "$jail_base/var/cache/pkg";
_cmd qw(mount_nullfs /var/cache/pkg), "$jail_base/var/cache/pkg";
_cmd qw(jail -c), "name=$jail_name", "path=$jail_base", "ip4=inherit", "mount.devfs", "persist";
_cmd qw(cp -p), "/etc/pkg/MyPoudriere.conf", "$jail_base/etc/pkg/FreeBSD.conf";
_cmd qw(pkg -j), $jail_name, qw(install -y p5-Plack);
_cmd qw(pkg -j), $jail_name, qw(install -y p5-Catalyst-Runtime);
_cmd qw(jexec), $jail_name, qw(daemon plackup -D -p), $plack_port, "-e", 'sub { [200, [], ["200 ok\n"]] }';
_cmd qw(lwp-request -E), "http://127.0.0.1:$plack_port";
_cmd qw(jail -r), $jail_name;
_cmd qw(umount), "$jail_base/var/cache/pkg";
}
__PACKAGE__->import->run;
追記 @2020-06-04T07:00:58+09
oka % time cpm install Catalyst
DONE install Data-Dump-1.23
DONE install Hash-MultiValue-0.16
DONE install URI-1.76
DONE install Safe-Isa-1.000010
DONE install Tree-Simple-1.33
DONE install Module-Pluggable-5.2
DONE install Task-Weaken-1.06
DONE install Text-SimpleTable-2.07
DONE install Try-Tiny-0.30
DONE install Stream-Buffered-0.03
DONE install PerlIO-utf8_strict-0.007
DONE install Tree-Simple-VisitorFactory-0.15
DONE install URI-ws-0.03
DONE install MRO-Compat-0.13
DONE install Module-Build-0.4231
DONE install File-ShareDir-Install-0.13
DONE install Net-HTTP-6.19
DONE install Sub-Install-0.928
DONE install Encode-Locale-1.05
DONE install Params-Util-1.07
DONE install IO-HTML-1.001
DONE install ExtUtils-Config-0.008
DONE install Clone-0.45
DONE install LWP-MediaTypes-6.04
DONE install Test-Deep-1.130
DONE install Module-Runtime-0.016
DONE install Path-Class-0.37
DONE install WWW-RobotRules-6.02
DONE install ExtUtils-Helpers-0.026
DONE install Test-NoWarnings-1.04
DONE install CGI-Struct-1.21
DONE install Cpanel-JSON-XS-4.19
DONE install Data-OptList-0.110
DONE install ExtUtils-InstallPaths-0.012
DONE install HTML-Tagset-3.20
DONE install Dist-CheckConflicts-0.11
DONE install Module-Implementation-0.09
DONE install IO-Stringy-2.113
DONE install TimeDate-2.33
DONE install Time-Local-1.30
DONE install JSON-MaybeXS-1.004002
DONE install Sub-Exporter-0.987
DONE install Carp-Clan-6.08
DONE install HTTP-Date-6.05
DONE install Variable-Magic-0.62
DONE install HTML-Parser-3.72
DONE install Sub-Name-0.26
DONE install Sub-Identify-0.14
DONE install Params-Validate-1.29
DONE install Module-Build-Tiny-0.039
DONE install Sub-Exporter-Progressive-0.001013
DONE install HTTP-Headers-Fast-0.22
DONE install Filesys-Notify-Simple-0.14
DONE install Cookie-Baker-0.11
DONE install WWW-Form-UrlEncoded-0.26
DONE install File-Listing-6.04
DONE install Sub-Uplevel-0.2800
DONE install Sub-Exporter-ForMethods-0.100052
DONE install String-RewritePrefix-0.008
DONE install Devel-StackTrace-2.04
DONE install Test-Exception-0.43
DONE install Getopt-Long-Descriptive-0.105
DONE install B-Hooks-EndOfScope-0.24
DONE install aliased-0.34
DONE install Devel-StackTrace-AsHTML-0.15
DONE install CGI-Simple-1.25
DONE install Module-Runtime-Conflicts-0.003
DONE install Class-C3-Adopt-NEXT-0.14
DONE install Devel-GlobalDestruction-0.14
DONE install Package-Stash-XS-0.29
DONE install Test-SharedFork-0.35
DONE install Class-Inspector-1.36
DONE install Eval-Closure-0.14
DONE install Test-TCP-2.22
DONE install Package-Stash-0.38
DONE install HTTP-MultiPartParser-0.02
DONE install File-ShareDir-1.116
DONE install POSIX-strftime-Compiler-0.42
DONE install namespace-clean-0.27
DONE install Apache-LogFormat-Compiler-0.36
DONE install Class-Load-0.25
DONE install Devel-OverloadInfo-0.005
DONE install Package-DeprecationManager-0.17
DONE install HTTP-Entity-Parser-0.22
DONE install namespace-autoclean-0.29
DONE install Class-Load-XS-0.10
DONE install Moose-2.2012
DONE install MooseX-Role-Parameterized-1.11
DONE install MooseX-Types-0.50
DONE install MooseX-Getopt-0.74
DONE install MooseX-Emulate-Class-Accessor-Fast-0.009032
DONE install MooseX-Role-WithOverloading-0.17
DONE install MooseX-MethodAttributes-0.31
DONE install HTTP-Message-6.24
DONE install Encode-3.06
DONE install HTTP-Daemon-6.10
DONE install HTTP-Negotiate-6.01
DONE install HTTP-Cookies-6.08
DONE install HTTP-Body-1.22
DONE install Plack-1.0047
DONE install libwww-perl-6.44
DONE install Plack-Middleware-FixMissingBodyInRedirect-0.12
DONE install Plack-Middleware-MethodOverride-0.20
DONE install Plack-Middleware-ReverseProxy-0.16
DONE install Plack-Middleware-RemoveRedundantBody-0.09
DONE install Plack-Test-ExternalServer-0.02
DONE install Catalyst-Runtime-5.90126
107 distributions installed.
cpm install Catalyst 64.44s user 40.35s system 384% cpu 27.273 total
oka % rm -Rf local
oka % time cpm install Catalyst
DONE install Stream-Buffered-0.03 (using prebuilt)
DONE install Safe-Isa-1.000010 (using prebuilt)
DONE install Tree-Simple-1.33 (using prebuilt)
DONE install MRO-Compat-0.13 (using prebuilt)
DONE install Module-Pluggable-5.2 (using prebuilt)
DONE install Data-Dump-1.23 (using prebuilt)
DONE install Try-Tiny-0.30 (using prebuilt)
DONE install Hash-MultiValue-0.16 (using prebuilt)
DONE install Text-SimpleTable-2.07 (using prebuilt)
DONE install Task-Weaken-1.06 (using prebuilt)
DONE install PerlIO-utf8_strict-0.007 (using prebuilt)
DONE install Tree-Simple-VisitorFactory-0.15 (using prebuilt)
DONE install URI-1.76 (using prebuilt)
DONE install HTML-Tagset-3.20 (using prebuilt)
DONE install Package-Stash-XS-0.29 (using prebuilt)
DONE install Sub-Identify-0.14 (using prebuilt)
DONE install Encode-Locale-1.05 (using prebuilt)
DONE install Sub-Name-0.26 (using prebuilt)
DONE install Params-Util-1.07 (using prebuilt)
DONE install IO-HTML-1.001 (using prebuilt)
DONE install Eval-Closure-0.14 (using prebuilt)
DONE install Sub-Install-0.928 (using prebuilt)
DONE install Module-Build-0.4231 (using prebuilt)
DONE install Filesys-Notify-Simple-0.14 (using prebuilt)
DONE install LWP-MediaTypes-6.04 (using prebuilt)
DONE install Devel-StackTrace-2.04 (using prebuilt)
DONE install Test-NoWarnings-1.04 (using prebuilt)
DONE install Encode-3.06 (using prebuilt)
DONE install Test-Deep-1.130 (using prebuilt)
DONE install Cpanel-JSON-XS-4.19 (using prebuilt)
DONE install Data-OptList-0.110 (using prebuilt)
DONE install Cookie-Baker-0.11 (using prebuilt)
DONE install Devel-StackTrace-AsHTML-0.15 (using prebuilt)
DONE install CGI-Struct-1.21 (using prebuilt)
DONE install WWW-RobotRules-6.02 (using prebuilt)
DONE install File-ShareDir-Install-0.13 (using prebuilt)
DONE install WWW-Form-UrlEncoded-0.26 (using prebuilt)
DONE install URI-ws-0.03 (using prebuilt)
DONE install JSON-MaybeXS-1.004002 (using prebuilt)
DONE install Module-Runtime-0.016 (using prebuilt)
DONE install HTML-Parser-3.72 (using prebuilt)
DONE install Clone-0.45 (using prebuilt)
DONE install Path-Class-0.37 (using prebuilt)
DONE install IO-Stringy-2.113 (using prebuilt)
DONE install Sub-Exporter-Progressive-0.001013 (using prebuilt)
DONE install HTTP-MultiPartParser-0.02 (using prebuilt)
DONE install ExtUtils-Helpers-0.026 (using prebuilt)
DONE install Net-HTTP-6.19 (using prebuilt)
DONE install POSIX-strftime-Compiler-0.42 (using prebuilt)
DONE install Time-Local-1.30 (using prebuilt)
DONE install Sub-Exporter-0.987 (using prebuilt)
DONE install Sub-Uplevel-0.2800 (using prebuilt)
DONE install Dist-CheckConflicts-0.11 (using prebuilt)
DONE install Test-SharedFork-0.35 (using prebuilt)
DONE install ExtUtils-Config-0.008 (using prebuilt)
DONE install Class-Inspector-1.36 (using prebuilt)
DONE install Module-Implementation-0.09 (using prebuilt)
DONE install Variable-Magic-0.62 (using prebuilt)
DONE install TimeDate-2.33 (using prebuilt)
DONE install String-RewritePrefix-0.008 (using prebuilt)
DONE install ExtUtils-InstallPaths-0.012 (using prebuilt)
DONE install Package-Stash-0.38 (using prebuilt)
DONE install Test-TCP-2.22 (using prebuilt)
DONE install File-ShareDir-1.116 (using prebuilt)
DONE install Test-Exception-0.43 (using prebuilt)
DONE install Module-Runtime-Conflicts-0.003 (using prebuilt)
DONE install B-Hooks-EndOfScope-0.24 (using prebuilt)
DONE install Apache-LogFormat-Compiler-0.36 (using prebuilt)
DONE install Devel-GlobalDestruction-0.14 (using prebuilt)
DONE install HTTP-Date-6.05 (using prebuilt)
DONE install Devel-OverloadInfo-0.005 (using prebuilt)
DONE install Module-Build-Tiny-0.039 (using prebuilt)
DONE install Class-Load-0.25 (using prebuilt)
DONE install Package-DeprecationManager-0.17 (using prebuilt)
DONE install Params-Validate-1.29 (using prebuilt)
DONE install namespace-clean-0.27 (using prebuilt)
DONE install Carp-Clan-6.08 (using prebuilt)
DONE install CGI-Simple-1.25 (using prebuilt)
DONE install Sub-Exporter-ForMethods-0.100052 (using prebuilt)
DONE install File-Listing-6.04 (using prebuilt)
DONE install namespace-autoclean-0.29 (using prebuilt)
DONE install Class-C3-Adopt-NEXT-0.14 (using prebuilt)
DONE install HTTP-Entity-Parser-0.22 (using prebuilt)
DONE install Class-Load-XS-0.10 (using prebuilt)
DONE install Getopt-Long-Descriptive-0.105 (using prebuilt)
DONE install HTTP-Headers-Fast-0.22 (using prebuilt)
DONE install aliased-0.34 (using prebuilt)
DONE install HTTP-Message-6.24 (using prebuilt)
DONE install HTTP-Negotiate-6.01 (using prebuilt)
DONE install HTTP-Cookies-6.08 (using prebuilt)
DONE install HTTP-Daemon-6.10 (using prebuilt)
DONE install HTTP-Body-1.22 (using prebuilt)
DONE install libwww-perl-6.44 (using prebuilt)
DONE install Plack-Test-ExternalServer-0.02 (using prebuilt)
DONE install Plack-1.0047 (using prebuilt)
DONE install Plack-Middleware-FixMissingBodyInRedirect-0.12 (using prebuilt)
DONE install Plack-Middleware-ReverseProxy-0.16 (using prebuilt)
DONE install Plack-Middleware-RemoveRedundantBody-0.09 (using prebuilt)
DONE install Plack-Middleware-MethodOverride-0.20 (using prebuilt)
DONE install Moose-2.2012 (using prebuilt)
DONE install MooseX-Emulate-Class-Accessor-Fast-0.009032 (using prebuilt)
DONE install MooseX-Role-Parameterized-1.11 (using prebuilt)
DONE install MooseX-Types-0.50 (using prebuilt)
DONE install MooseX-Role-WithOverloading-0.17 (using prebuilt)
DONE install MooseX-Getopt-0.74 (using prebuilt)
DONE install MooseX-MethodAttributes-0.31 (using prebuilt)
DONE install Catalyst-Runtime-5.90126 (using prebuilt)
107 distributions installed.
cpm install Catalyst 4.27s user 9.36s system 283% cpu 4.805 total