衝撃のわからなさ

わかってません

2024/02/01日報

mimic-cross実装

mimic-deployがhost側へ破壊的な変更を加えるようにする

一部のコマンドが相対パスを仕様して動く都合上、
target側はhostへのシンボリックリンクで運用すると実装が楽なことに気づいた。 この変更はDocker imageのサイズ削減も見込めるので採用することにした。

cのmimic-libをzigで書き直す

mimic-libでファイルを読み書きする必要がでた。
なんでC言語でファイルを読み書きしないといけないんだ2024年だぞという気持ちになったのでzigで各方法勉強した。
どちらかというとzig.buildのほうがいろいろ調べる必要がある。

とりあえず、決め打ちの値への偽装がこんな感じ。
CImportとか必要なくzigの機能で足りてる。たのしい。

const std = @import("std");
const linux = @import("std").os.linux;

export fn uname(buf: *linux.utsname) usize {
    const ret = linux.uname(buf);
    if (ret < 0) {
        return ret;
    }
    std.mem.copy(u8, &buf.machine, "mimic!!");
    return ret;
}