ページへ戻る

− Links

 印刷 

Gentoo Linuxな生活​/Portageアンオフィシャルツリー管理で悩む のソース :: Nest Of Hawk

xpwiki:Gentoo Linuxな生活/Portageアンオフィシャルツリー管理で悩むのソース

« Prev[3]  
*Portageにも限界はある [#k8e8526a]
Gentooにいろいろ便利そうなツールをインストールしたり、紹介記事等を見てみると、『お、これ入れてみよう』と思い立った場合、Portageにない場合があったりします。私がぶち当たった壁はdavical等。

パッケージマネージャにパッケージが含まれていないなんてのはよくある話なんですが、なるべくならパッケージ管理システムに統合化しておきたいというのは人情。でもさすがにebuildまで書く技量はないぜ!って方に朗報なのが、laymanです。overLay Managerかな?
例えばdavical等をインスコしたい場合は、sunriseという正規外のportageツリーがありまして、これをOverlayしてあげればパッケージ管理できるようになります。それではやってってみましょう。

*インストール [#m32b1e1b]
 # emerge layman
以上です。

*設定 [#a5ff17a8]
 # layman -L
と打つと、現在追加可能なOverlayPortageの一覧が表示されます。どれが有用かってのはよくわかりません。なもので、各OverlayPortageで管理可能になるツール群は、[[Portage Overlay:http://gpo.zugaina.org/]]自分で調べてみてね。
**OverlayPortageの追加 [#y7e3a51e]
さて、今回はdavicalやsmbldap-tools等を追加しようと考えています。このツール群は、sunriseというOverlayPortageで管理されているよ、とアナウンスがありますので、sunriseを追加することと致します。

 # layman -a sunrise
以上

**make.confの編集 [#j55cf9bd]
emergeコマンドがOverlayPortageを参照しに行ってくれるよう、以下のコマンドを実施してやってください。
 # echo "source /var/lib/layman/make.conf" >> /etc/make.conf

**OverlayPortageの更新 [#n250b9d4]
emerge --syncでは更新されません。OverlayPortageを更新するには、laymanコマンドを使用致します。
 # layman -S
私は、portageツリーの更新を、cron.dailyで一日一回実施しています。この際に実行するshellなどに追記しておくとよいでしょう。

*結果 [#o873e0ac]
これでめでたくdavicalなどのツールも見えるようになりました!めでたしめでたし。
 $ emerge -s davical
 Searching...
 [ Results for search key : davical ]
 [ Applications found : 1 ]
 
 *  www-apps/davical [ Masked ]
      Latest version available: 0.9.9.3
      Latest version installed: [ Not Installed ]
      Size of files: 1,973 kB
      Homepage:      http://davical.org/
      Description:   A CalDAV and iCal server
      License:       GPL-2

*自作ローカルリポリトジの作成 [#xecef671]
自分でいじいじできるリポリトジも追加してみます。参考ページは[[こちら:http://gnu.hatenablog.com/entry/2015/12/19/231200]]

**ローカルリポリトジの構成を作る [#ja9eee11]
/usr/local/portage/local-overlayというフォルダに、「local-overlay」というリポリトジを作るとしましょう

 # mkdir -p /usr/local/portage/local-overlay
 # cd /usr/local/portage/local-overlay
 # mkdir profiles
 # mkdir metadata

profilesディレクトリ内にrepo-nameというファイルを以下の中身で作ります。
 # vi repo-name

 local-overlay

これがリポリトジの名前です。

metadataディレクトリ内にlayout.confというファイルを作り、親リポリトジを指定します。
 # vi layout.conf

 masters = gentoo

gentooリポリトジの配下のlocal-overlayになったということです。

次に、このディレクトリ配下をportageさんの権限にします。
 # cd /usr/local
 # chown -R portage:portage potage

今度は、gentooのportageとlocal-overlayをつなげてあげます。
 # cd /etc/portage/repos.conf
 # vi local-overlay.conf

local-overlayリポリトジの設定を記述します。

 [local-overlay]
 location = /usr/local/portage/local-overlay
 masters = gentoo
 auto-sync = no

場所は/usr/local/portage/local-overlay、親リポリトジはgentoo、emerge --syncの対象としない、です。

**自作ebuidを有効にする [#i46c8671]
/usr/local/portage/local-overlayに、ebuildファイルを持ってきて配置します。私は、まだ有効ではなかったcyrus-imapdの3.0.5を使いたかったので、cyrus-imapd-3.0.4.ebuildをパクって、3.0.5がインストールできるようにしてみます。

 # mkdir -p /usr/local/portage/local-overlay/net-mail/cyrus-imapd
 # cp /usr/portage/net-mail/cyrus-imapd/cyrus-imapd-3.0.4.ebuild /usr/local/portage/local-overlay/net-mail/cyrus-imapd/cyrus-imapd-3.0.5.ebuild

これは簡単で、ダウンロードしてくるパッケージだけ変更してあげればすんなりできる模様。

 # cd /usr/local/portage/local-overlay/net-mail/cyrus-imapd
 # ebuild cyrus-imapd-3.0.5.ebuild manifest

ここまで打つと、emergeコマンドで、cyrus-imapd-3.0.5が検索できるようになりまーす。めでたしめでたし。

« Prev[3]