Slackware14.1でソースからパッケージを自作する

こんにちは。今回のテーマは『Slackware14.1でソースからパッケージを自作する』です。公式リポジトリからバイナリで配布されているパッケージがとても少ないSlackwareは他のディストリビューションのパッケージをSlackware用に変換したりソースからビルドする機会が多いです。今回はソースからビルドしたソフトウェアをパッケージ化して管理していきます。
【関連記事】
Slackware 14.1を使ってみた
Slackwareに日本語デスクトップ環境を構築する



【目次】
ソフトはパッケージ化して管理しよう
Slackware用パッケージを作ろう
パッケージを作るメリット

ソフトはパッケージ化して管理しよう

ソースからビルドする場合、make installでインストールをしている方も多いかと思います。それはそれで良いのですが、やはり削除やその後のアップデート等を考えるとパッケージ化して管理しておいた方が何かと楽だと思います。(これはSlackwareに限りません)

Slackware用パッケージを作ろう

今回作るパッケージは自分が使うパッケージを想定しています。作成したパッケージは他の環境でも動く可能性はありますが、保証はできません。

geditをパッケージ化する

今回は比較的ソースからのビルドも時間がかからないGUIエディタのGeditをパッケージ化してインストールまでしてみます。ビルドの依存性解決以外の部分は基本的に他のパッケージでも同じ要領です。

準備

まずはソースファイルを準備します。今回はgeditからgedit-2.30.4.tar.gzを~/Downloadにインストールしました。

ビルド

ビルドは以下のように行いました。(scrollkeeperの不足でエラーが出たので事前にインストールしています)

$ tar -zxvf gedit-2.30.4.tar.gz
$ cd gedit-2.30.4
$ ./configure
$ make

パッケージ化

作業用ディレクトリへのインストール

パッケージを作成しない場合はこのままroot権限でmake installをすれば良いのですが、今回はパッケージ作成のために作業用ディレクトリにインストールを行います。

$ su -
root# make DESTDIR=/tmp/gedit-2.30.4 install
パッケージ作成

ではパッケージを作成します。今回はtxzファイルを作成しましたが、tgzファイルでも構いません。

root# cd /tmp/gedit-2.30.4
root# makepkg ../gedit-2.30.4.txz

パッケージ作成時に2回質問されますが、両方ともYesで回答しました。これで/tmp以下にgedit-2.30.4.txzパッケージが作成されました。

インストール

作成したパッケージは公式リポジトリからダウンロードしたパッケージと同様にpkgtoolを用いてインストールすることが出来ます。

root# cd /tmp
root# installpkg gedit-2.30.4.txz

Geditがインストールされました。
01

パッケージを作るメリット

パッケージを作成してインストールの利点はシステムに認識され、管理が容易になることです。例えば削除する際にはパッケージ管理ツールであるpkgtoolで削除可能です。
画面はokgtool
02

パッケージからインストールするとログが残ります。現在インストールされていパッケージ一覧を見ることが出来ます。

$ ls /var/log/package | less

最後に

Slackwareの魅力の一つとしてrpmやdebパッケージのように複雑なルールに従い依存関係を書き込まなくてもシンプルなパッケージを手軽に作れることが挙げられると思います。もちろん依存関係は自分で管理しなくてはなりませんが、こんな硬派なディストロも味があって良いと思います。

Sponsored Link


コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です