Ruby
Python
PHP
ShellScript
Bash

スクリプトを検索してインストールする「spitiko」

More than 1 year has passed since last update.

※当初はシェルスクリプト用でしたが、CLIで動作するスクリプトならなんでも使えるようにしました。

スクリプトをパッケージとして扱う

最近、シェルスクリプトをいくつか書いて、それを複数台のLinuxBox/Macで使っているが、ひとつひとつをgithubで管理して、それぞれのサーバーでpullして使っているのがめんどくさくなってきました。
なので、アルファ版的な完成度ではあるがパッケージ化したスクリプトを検索して、インストールする仕組みを自前のサーバーで構築してみました。
登録されているスクリプトは最下段に列挙してあります。
この仕組みを実現するのは、PHPスクリプトの「spitiko」です。
githubにあげてあるのですぐ使えます。

https://github.com/digitarhythm/spitiko.git

cloneするとspitikoスクリプトと設定ファイルがダウンロードされます。
Debian系Linuxの場合は下記のような感じで使えるようになると思います。

# apt-get install php5-dev
# apt-get install php5-sqlite
# apt-get install libgpgme11-dev
# pecl install gnupg
CLIのphp.iniに「extension=gnupg.so」を適切な場所に追記。
Ubuntuならば「/etc/php5/cli/php.ini」の950行目あたり。
$ gpg --keyserver pgp.nic.ad.jp --recv AF8C0606

以下、githubの「README.md」そのままです。

スクリプトをインストールするためのスクリプト

spitikoを使うためには、

  1. PHP5
  2. GnuPG
  3. SQLite3

が必要です。
GnuPGと、SQLite3をPHPから使えるようになっている必要があります。
事前準備として、私のGnuPG公開鍵「AF8C0606」をインストールする必要があります。

# gpg --keyserver pgp.nic.ad.jp --recv AF8C0606

で、インストール出来ます。
とりあえずは、GnuPGのセットアップが必要です。

今のところ、バージョンチェックなどはしていないので、すでにインストールしてあるスクリプトを再インストールすると、上書きされます。

「spitiko」コマンドのインストール

コマンドの初回実行時に、

~/.spitiko
~/.spitiko/script.d

のディレクトリと、

~/.spitiko/spitikopackage.db

が作成されます。 SQLite3を使って、このDBファイルにインストールすることが出来るスクリプトの情報を保存します。

~/.spitiko/script.d」にパスを通しておくと、インストールしたスクリプトをすぐに使うことが出来ます。

使い方

$ spitiko update
インストールする事が出来るスクリプトのデータベースを更新します。

$ spitiko search [string]
指定した文字列で、スクリプト名と説明を検索して、ヒットしたものを表示します。
環境変数「SPITIKO_SH」に、検索対象のシェルの名前を入れておくと、そのシェル用のスクリプトがフィルタリングされます。
例)export SPITIKO_SH="zsh"
なにも指定が無い場合は「bash」が使用されます。

$ spitiko install [script name]
指定したスクリプトをインストールします。

$ spitiko info [script name]
指定したスクリプトの情報を表示する。

現在登録されているスクリプト

  1. trash: ファイルを「~/.Trash」に移動するスクリプト
  2. apt-install: テキストファイルに列挙したパッケージを「apt-get」で一気にインストールするスクリプト
  3. gh: 「git add -A」→「git push」を連続して行うスクリプト
  4. git-sync: gitで作業をする時に便利なツール