こんにちは、山田ハヤオです。2020年1月から1年以上もAlter Linuxを開発しています。
これだけ開発してると他の部分にも応用できそうなライブラリみたいなものができてきます。
今回はそういったものをいくつか紹介できたらなと思います。
ソースコードは今これを書いてるなかで最新のものを使おうと思います。
Alter Linux
まずはAlter Linux本体のソースコードからいくつか
package.py
package.pyはPythonで書かれたpyalpmを使ったシンプルなスクリプトです。
パッケージがインストールされているかどうか(インストールされているものが最新かどうか)を判断してくれます。結果は終了コードで帰ってくるので他のプログラムの一部として使えます。
依存関係はPython3とpyalpmです。
# ターミナル上で実行する(メッセージが表示されます)
./package.py <パッケージ名>
# 終了コードのみ出力する
./package.py -s <パッケージ名>
msg.sh
msg.shはシェルスクリプトで書かれたメッセージを表示するためのツールです。
これはAlter Linuxのビルドログの一部ですが、こんな感じでアプリ名+ラベル+内容で表示できます。
コマンドラインオプションを使うことで細かい調整もできますが、とりあえず最低限の使い方だけ紹介します。(詳細な使い方は./msg.sh --help
を実行してください。)
./msg.sh -a "アプリ名" [メッセージタイプ] "メッセージ"
./msg.sh -a "MyApp" info "It is information"
./msg.sh -a "MyApp" warn "It is warning"
メッセージタイプは「Info」「Error」「Warn」「Debug」の4種類があります。
ラベルの色や空白の大きさ、文字列などはすべてオプションで変更可能です。
umount.sh
指定したディレクトリ以下にマウントされているデバイスをすべてアンマウントします。
ちょっと危険なスクリプトですが、arch-chrootなどを使った後のクリーニングで使われています。
デバイスをすべてアンマウントしたいときなど、いろいろ使いみちがあります。
ここの[umount.sh]という部分が動いている部分です。
AURヘルパー
Arch Linuxを使ってる人は必ずと言ってもいいほど使っているAURヘルパー
Alter Linuxを開発する上で完成したコードいくつか組み合わせたら簡易的なAURヘルパーができました。
それをまとめていろいろ追記したのがシェルスクリプトのお手製ヘルパーの「wfa」です・
(Fascodeと直接関係ないのでGitリポジトリははやお個人で所有してます)
pacmanの主要な機能をサポートしており最低限なら使えます(未実装の機能もありますが)
最後に
Alter Linuxの開発にはいろんなコードが使われてて、その一部は結構いろいろ応用できるよ。というお話でした。
コメント