Re: Gentoo

Posted: 水 6 04, 2014 3:36 pm

Gentoo で my ebuild の活用---part3 Gentooではebuildファイルが鍵のようです。Date: Sun, 29 Jan 2012


追記です。まとめると普通のtarからのアプリのインストでは、
Gentooではebuildファイルが鍵のようです。
ArchではPKGBUILDファイルが鍵の ようです。

つまり自動でmakeと言ってもebuildファイルやPKGBUILDファイルをユーザーが書く必要が有ります。
しかも書く事はかなり困難なように感じました。

GentooではPC環境の影響でbuild出来無い事が有るようです。

それから考えて 前のメールで

ダウンロードしてきたファイルとは普通のtarの事だと思います。
例として なんとか .tar.bz2 が有るとして

Gentooではこれを なんとか .ebuild に変換 して  (どう言う方法で変換しているのか不明)

と書いたのですがebuildファイルはtarとは別に有るものでArchのPKGBUILDファイルに相当する物のようです。

Archでは普通のtarを展開で出来たフォルダの中に PKGBUILDファイルを放り込んだのですが
注、 訂正、追記です。Archでは普通のtarを展開で出来たフォルダの中に PKGBUILDファイルを放り込まなくてPKGBUILDファイルのみでビルド出来ます。多分。ManjaroでJDでは出来ましたので。
注、追記 iron-binのtarを解凍するとPKGBUILDファイルの他にも5個位ファイルが有って必要みたいなのでアプリによるようだ。
なほ、2014-06-29 Manjaroでiron-binはビルドで失敗する。


Gentooではebuildファイルを放り込む事は しないで

/etc/make.confに PORTDIR_OVERLAY = "~/portage/local/"    で同じような効果を出しているのだと思います。

Gentooでは直に普通のtarを展開する事はしないで

ebuild なんとか.ebuild digest  で普通のtarを展開しebuildファイルを取り込み

emerge出来るような形式にbuildしていると思います。

(注、 SlackwareではDownload SlackBuild:なんとか.tar.gz をdownload ホームで展開して なんとかフォルダーが出来その中にSource Downloads:なんとか-バージョン.tar.gzをdownloadしてそれを放り込む。この後の作業を書くとSlackwareの方にも書いた のでダブリですが、以下端末での作業
$ cd スペースの後になんとかフォルダーをD&Dして、Enter↓  (注、なんとかフォルダーとは、なんとか.tar.gz をdownload ホームで展開して なんとかフォルダーが出来その中にSource Downloads:なんとか-バージョン.tar.gzをdownloadしてそれを放り込んだフォルダーの事、このなんとかフォルダーの中に、なんとか.SlackBuildファイルが入っている。)
$ chmod u+x なんとか.SlackBuild
$ sudo ./なんとか.SlackBuild
$ sudo /sbin/installpkg /tmp/なんとか-バージョン-アーキテクチャ_SBo.tgz  <ーーーーこれはビルドが成功すれば端末に表示されている。同様にしてgst-pythonとradiotrayをインストールする。
アプリケーション─>サウンドとビデオ─>Radio Trayをクリックで動いた。  (注、これは元々がRadio Trayのインストールの仕方を書いた物だったので)

ソース
SlackBuilds.org <ーーーーSlackwareでは重要!!!!!!--Gentooでは関係無い。
http://slackbuilds.org/repository/14.1/

日本語環境を作る
http://www51.atwiki.jp/slackware/pages/17.html


後で各鳥のビルド方法をまとめて書こうと思いました。
ーーーーーーーーーーーーーーーーーーーーーー

io-2009.01.02.tar.gzファイルは /usr/portage/distfiles に有りました。

元々有った物かと思っていたのですが、今LXDMのみのGentooVMを見たら無かったので昨日の作業で
自動でDownloadされたのだと思います。



下記の方の
/etc/make.confに PORTDIR_OVERLAY = "~/portage/local/"

これで~/portage/local/  をユーザーが作ったebuildファイルでのemergeの基準点をPCに教え ていると思います。
多分/home/hoge/portage 以下のフォルダの中のebuild ファイルのみを有効にしているのではと思います。

ebuild io-2009.01.02-r1.ebuild digest  

でフォルダ/home/hoge/portage/local/dev-lang/io のファイルio-2009.01.02-r1.ebuild
ebuildしていて、これでio-2009.01.02.tar.gzファイルが自動でフォルダ/usr/portage/distfilesに
Downloadされたのだと思います。

それを展開してユーザーが作ったebuildファイルの条件を加味してemerge出来る
形式にしているのだろうと思います。

fetch

fetchでは、インターネットから必要なファイルを取ってきて、/usr/portage/distfilesに 置く作業が行われる。

*** 多分この事です。***

src_unpack()

src_unpack()は、tarballを展開し、パッチを当てる段階に使う。

*** src_unpack()はIoでは使用していないようです。 ガク・ネットが古いのか? 使用する方が
本当のやり方のような気も します。 ***

emerge -pv io   でemergeできます。

---------------------------------------------------------------------------

2011-12-25
GentooIoLanguageebuildを弄ってアドオンをビルドするAdd Star

Io, Gentoo


適当なディ レクトリ(今回は ~/portage/local / にしました)を作り、
/etc/make.confに PORTDIR_OVERLAY = "~/portage/local /"と指定します。


mkdir -p ~/portage/local


#/etc/make.conf

PORTDIR_OVERLAY="~/portage/local"

以下略




-------------------------------------------------------------------------------

io (プログラミング言語)を受け売りでemergeを試みたのですがmake出来ませんでした。
OSの状態が良くないように思いました。

誤記がそれなりにあるので注意が必要です。



次に編集する元のebuildをコピーしてきます。

cp /usr/portage/dev-lang/io/io-2009.01.02.-r1.ebuild ./io-2009.01.02.-r1.ebuild

これでebuildを 編集する準備は完了です。
の所で

cp /usr/portage/dev-lang/io/io-2009.01.02.-r1.ebuild ./io-2009.01.02.-r1.ebuild は

cp /usr/portage/dev-lang/io/io-2009.01.02-r1.ebuild ./io-2009.01.02-r1.ebuild  が正解と思いま す。



ebuild io-2009.01-02-r1.ebuild digest

emerge -pv io

の所で

ebuild io-2009.01-02-r1.ebuild digest は 

ebuild io-2009.01.02-r1.ebuild digest   が正解と思います。 

------------------------------------------------------------------------

Io (プログラミング言語)
http://ja.wikipedia.org/wiki/
Io_%28%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E%29

と言うのを見つけました。

(2012年01月29日 01:16), hoge-pc wrote:


とりあえず資料確保です。
Gentooでは、普通のtarはフォルダ /usr/portage/distfilesの中に沢山有りました。
ダ ウンロードしてきたファイルは /usr/portage/distfiles に格納されるので、emerge するときにそのまま使うことができる。との事でダウンロードしてきたファイルとは普通のtarの事だと思います。 例と して なんとか .tar.bz2が有るとして

Gentooではこれを なんとか .ebuild に 変換して  (どう言う方法で変換しているのか不明) 注、これは初めの方に書いたように間違いでebuildファイルはtarとは別に有るものでArchのPKGBUILDファイルに相当する物のようです。

そんなときは、自分で ebuild ファイルを書くしかないだろう。 と書いてあるのでArchのPKGBUILDファイルに相当するのでは?と思います。


% ebuild なんとか.ebuild  digest

ebuild foo.ebuild setup
ebuild foo.ebuild fetch
ebuild foo.ebuild unpack なのか???

emerge -av なんとか     でインストールする
最後のインストールするの行は分かるのですがそれ以外の作業が不明です。
------------------------------------------------------------------------------

使いこなせ! Portage
http://club.cc.ichinoseki.ac.jp/ura/gentoo/portage.html

-------------------------------------------------------------------------------

bash 例解: 第3回 ebuild システムの探訪
http://www.ibm.com/developerworks/jp/linux/library/l-bash3.html

--------------------------------------------------------------------------------


http://www.gaku.net/ukki/ebuild%E3%81%AE%E4%BD%9C%E3%82%8A%E6%96%B9

login

ebuild の作り方
top
ローカルなパッケージディレクトリの定義

参考資料
ebuild quick reference #### imported

-----------------------------------------------------------------------------
ebuild quick reference #### imported   は下記です。
Gentoo Linux Ebuild Quick Reference
http://abeni.sourceforge.net/docs/ebuild-quick-reference.html