思うところがありHaconiwaの開発を再開し、一緒に大きめの変更を入れていこうかなという気持ちになった。
とりあえず、ずっとXenialを使っていたのだけど、Ubuntu 18.04 LTS (Bionic Beaver) を先んじて使って開発するようにした。もう直ぐ alpha 2 とのこと
Vagrantfileは以下のように適当に...
Vagrant.configure(2) do |config| config.vm.define :ubuntu_bionic do |ubuntu| ubuntu.vm.provider "virtualbox" do |vbox| vbox.cpus = 4 end ubuntu.vm.box = "ubuntu/bionic64" ubuntu.vm.network "private_network", ip: "192.168.98.209" end end
ifdownがない、というエラーが出ることがあるが、aptでifupdownを直接入れてvagrant reloadでよろしい。
sshできたら開発用パッケージを入れる。Haconiwaに必要なのは今の所こういう感じ。
sudo apt update sudo apt install \ build-essential util-linux rake \ psmisc bison git cgroup-bin \ libpam0g-dev autotools-dev \ autoconf libtool flex parallel
一通り入ったらチェックアウトして rake
一発でビルドできるようにはしている。いろいろとスタティックリンクするので、関連ライブラリをダウンロードしていて、そこは時間がかかる。
git clone https://github.com/haconiwa/haconiwa.git && cd haconiwa rake
テストは、mtest/bintestともにrootで実行してください(通らないものがあるかも、と思ったけどまだ通るので作業が減った)。
sudo rake test:mtest sudo rake test:bintest
バージョンなどは以下のように確認。なお、このバイナリを /usr/local/bin
などに転がしてパスを通しておけばあとはややこしいこともなく普通に使えます。
$ ./mruby/bin/haconiwa version haconiwa: v0.8.9 $ ./mruby/bin/haconiwa revisions mgem and mruby revisions: -------- MRUBY_CORE_REVISION d6e41c3e512673dac91906416a9c4543bbb2ab19 mruby-argtable 35693d4d220aa2a050a9ba95d4ac08bda9112cc0 mruby-capability 02ba73d48c448990a150462353a1cee2ec8d8ba3 mruby-cgroup 82da3507aa848c78198ab03efd68cc8a314d3c4f mruby-cgroupv2 e73faa0b126b5788bd6a4ffaa630c50550d143ff mruby-dir 14bc5c3e51eac16ebc9075b7b62132a0cf5ae724 mruby-env 57f0d737a4ece49dc5b6f1c7ee09b0bc8f8adf87 mruby-exec 6c204553d3e1e473ca85b0e10f37b7bd80f45394 mruby-forwardable f3728d96ef25bb038f113863cc30195d44a41d35 mruby-io 3c8e1f94c44252c836f79a48bb17726da28e2756 mruby-linux-namespace 353734cac319c1674becc308cec308685addcb7d mruby-localmemcache ae9e0f0816a7610a1237e86ad18db01d1459498b mruby-lockfile 37840c81bc0d404e06a9b731aa95dadc25caf45a mruby-mount 07054185c1f35ef7ec9c96aa54e6a295d51221c8 mruby-onig-regexp 170aecd88f6ee49ae9a5632735591ebd38993943 mruby-pack 383a9c79e191d524a9a2b4107cc5043ecbf6190b mruby-process 074a1e0bd93af38f33183351f171e2e4c1ec2e83 mruby-process-sys b8a16a55d4d7ff2bb08c9d2233a751aff9fd1cae mruby-procutil 71ef2b80fcb24738418b767200c3f6249323d21e mruby-resource 421fbbd5148cbcfe56ba3408165e1331791c5e05 mruby-seccomp 82d765628f62d24a774b86f8e59eb24f9258951f mruby-sha1 c33930cb783a63a115b95fbe2d0ce73c353d27c3 mruby-shellwords 2a284d99b2121615e43d6accdb0e4cde1868a0d8 mruby-signal-thread 154023c174dc2d1bc47880114feb577c8ad100a0 mruby-sleep 7a2a6a35cae42894e2ac1ef93548af83fec9b275 mruby-socket ab54185005ec87fe4f5b10df95ad29659884141b mruby-syslog 24f2b4dc0e0ed23c5524c542b89bbb4b8cb6d97d mruby-thread 52e889b3bfefcc74a223b7560143fe6591d7fa63 mruby-timer-thread 5675cd7257219bd0a6e1012b67b36b76316c01c4 mruby-uname 422f61705a1232f8d033ace3945826ea6b0421a8 $ uname -a Linux foo.jp 4.13.0-25-generic #29-Ubuntu SMP Mon Jan 8 21:14:41 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
というのを公式ドキュメントに入れたい...。そういうのもぼちぼち。