Dfinity SDKのインストールスクリプトを読んでみたメモ
Internet Computerを使うためのSDKはDfinityからインストールスクリプトが公開されていますが、 インターネットに転がっているスクリプトを何も考えずに実行してはいけない のでとりあえず読んでみたメモです。
一応書いておくと、別にDfinityが何か悪事をしているとかそういうことではなく、 単純にネットに置いてあるものは自己責任で使用するものなので確認しているだけです。
又、コード自体は転記するとTerm of Useに引っかかるかもわからなかったので載せていません。 (日本の法律上は引用なら大丈夫だと思うけどそもそも日本の会社ではないので...)
全体の所感
特に変な部分はなく安全そうだなと個人的には判断しました。 あとスクリプトの書き方的な意味で「こういう方法があるのか...」となっています。
流石きちんと書かれている...(尚rustupのスクリプトを借りてきていることが明記されています)
main
関数にメインの処理を入れ、あとはユーティリティ関数が定義されている作りになっています。
コメントのつけ方的に元は別ファイルで管理してそう。
プログラムの流れ
main関数内部での流れについて
ANSIエスケープが可能かどうかの判定
フラグの読み込み
必要なコマンドの有無を確認
LICENSEの同意確認
同意しないならば終了
アーキテクチャの確認
非対応アーキテクチャなら終了
アンインストールスクリプトのインストール
SDKのダウンロード、展開、権限設定
インストール(mv)
インストール先ディレクトリの選定
インストール先は以下の順番で選ばれます。
DFX_INSTALL_ROOT
の値/usr/local/bin
(macの場合)
/usr/local/bin
/usr/bin
$HOME/bin
3番、普通2番と同じなのでちょっとよくわかんないですね...
カスタマイズに使える環境変数
SDK installerの中では、いくつかの環境変数が使われています。
変数名 | 利用方法 |
---|---|
DFX_VERSION | DFX のバージョンを指定する |
DFX_INSTALL_ROOT | インストール先のディレクトリ |
ちなみにアンインストーラーは $HOME/.cache/dfinity/uninstall.sh
で固定らしいです。
(ハードコードされているのでスクリプトを弄らない限り変えることができない。)