忍者ブログ
Home > > [PR] Home > Manjaro Linux > Manjaro-tools を使用したソフトウェアパッケージのビルド

rago1975の部屋

このブログは管理人が個人的に興味がある事項を書き留めておくメモみたいなものです。当面は、Manjaro Linux関係の記事が中心になります。

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。


Manjaro-tools を使用したソフトウェアパッケージのビルド

普段、Manjaro Linuxで公式リポジトリにない、AURパッケージをインストールする場合、yaourtを使用します。実際にyaourt で行っている処理は、AURのサイトからPKGBUILDをダウンロードし、PKGBUILDに書かれたスクリプトを実行してパッケージをビルド(pkg.tar.xz形式)、ビルドしたパッケージをpacman -U コマンドでシステムにインストール、というものです。

パッケージのビルドについては、Manjaro-toolsでも実行することができます。例として、AURパッケージの日本語フォントKoruri(パッケージ名:ttf-koruri)をManjaro-toolsでビルドしてみます。

まず、yaourt コマンド等でttf-koruriのPKGBUIILDをダウンロードします。
yaourt -G ttf-koruri
Manjaro-toolsのコマンドである、buildpkg コマンドを使うとビルドが開始されます。
buildpkg -p koruri -a x86_64
buildpkg コマンドを実行する際、root権限が要求されます。また、-a オプションを使用すると、64bit (x86_64) または32bit (i686)を選択することができます。(注:ttf-koruriについては区別ありません。)
ビルドが終わると、デフォルトでは、/var/cache/manjaro-tools/stable/ 以下のディレクトリに ttf-koruri-20141224-1-any.pkg.tar.xz というファイルが作成されていると思います。
例えば、公式リポジトリ上に無いパッケージを集めて、リポジトリを作りたい場合は、このようにpkg.tar.xz形式のファイルをビルドして、repo-addコマンドでリポジトリのデーターベースをビルドすることができます(参照:Manjaro wiki)。Manjaro-toolsの利点は、現在動かしているシステムに関係なく、64bit、32bitのパッケージを作成できることにあります。

次にmikutterをビルドしてみましょう。先ほどと同様にPKGBUILDをダウンロードして、buildpkgコマンドを実行します。すると、以下のエラーメッセージが出て、ビルドが中断します。
==> ERROR: 'pacman' failed to install missing dependencies.
これは、mikutterの依存パッケージが見つからない、という意味です。mikutter のPKGBUILDを見てみると、いくつかの依存パッケージがありますが、ruby-httpclient、ruby-moneta などはそれ自体がAURパッケージです。したがって、それらの一つ一つをビルドする必要があります。例えばruby-monetaをビルドする場合、以下のコマンドを実行します。
buildpkg -n -p ruby-moneta -a x86_64
ここで、-nオプションは後で依存されるパッケージ(ここではmikuter)をビルドする際に必要なものです。
全ての依存パッケージをビルドした後で、mikutter がビルドできるようになります。
buildpkg -p mikutter -a x86_64
PR

コメント
お名前
タイトル
メールアドレス
URL
コメント
パスワード

プロフィール

HN:
rago1975 (Takefumi Nagata)
HP:
性別:
男性
自己紹介:
熊本在住の一般人です。Manjaro Linux関係の翻訳などを少々やっています。
twitter: https://twitter.com/rago1975

カレンダー

08 2018/09 10
S M T W T F S
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30

P R