Alter Linuxの副産物と使いみち

Shell Script

こんにちは、山田ハヤオです。2020年1月から1年以上もAlter Linuxを開発しています。

これだけ開発してると他の部分にも応用できそうなライブラリみたいなものができてきます。

今回はそういったものをいくつか紹介できたらなと思います。

ソースコードは今これを書いてるなかで最新のものを使おうと思います。

スポンサーリンク

Alter Linux

まずはAlter Linux本体のソースコードからいくつか

package.py

package.pyはPythonで書かれたpyalpmを使ったシンプルなスクリプトです。

パッケージがインストールされているかどうか(インストールされているものが最新かどうか)を判断してくれます。結果は終了コードで帰ってくるので他のプログラムの一部として使えます。

依存関係はPython3とpyalpmです。

# ターミナル上で実行する(メッセージが表示されます)
./package.py <パッケージ名>

# 終了コードのみ出力する
./package.py -s <パッケージ名>
alterlinux/tools/package.py at 2c3f6d4e6327c7b770891dd958d73cffef58493e · FascodeNet/alterlinux
Alter Linux - ArchLinux-derived OS made in Japan aimed at being usable by anyone - FascodeNet/alterlinux

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種類があります。

ラベルの色や空白の大きさ、文字列などはすべてオプションで変更可能です。

alterlinux/tools/msg.sh at 2c3f6d4e6327c7b770891dd958d73cffef58493e · FascodeNet/alterlinux
Alter Linux - ArchLinux-derived OS made in Japan aimed at being usable by anyone - FascodeNet/alterlinux

umount.sh

指定したディレクトリ以下にマウントされているデバイスをすべてアンマウントします。

ちょっと危険なスクリプトですが、arch-chrootなどを使った後のクリーニングで使われています。

デバイスをすべてアンマウントしたいときなど、いろいろ使いみちがあります。

ここの[umount.sh]という部分が動いている部分です。

AURヘルパー

Arch Linuxを使ってる人は必ずと言ってもいいほど使っているAURヘルパー

Alter Linuxを開発する上で完成したコードいくつか組み合わせたら簡易的なAURヘルパーができました。

それをまとめていろいろ追記したのがシェルスクリプトのお手製ヘルパーの「wfa」です・

(Fascodeと直接関係ないのでGitリポジトリははやお個人で所有してます)

pacmanの主要な機能をサポートしており最低限なら使えます(未実装の機能もありますが)

GitHub - Fascode-Archive/wfa: A simple AUR helper written in a shell script
A simple AUR helper written in a shell script. Contribute to Fascode-Archive/wfa development by creating an account on GitHub.

最後に

Alter Linuxの開発にはいろんなコードが使われてて、その一部は結構いろいろ応用できるよ。というお話でした。

コメント

タイトルとURLをコピーしました