Ebuild and overlay

22
Ebuild オーバーレイ オーバーレイ

Transcript of Ebuild and overlay

Page 1: Ebuild and overlay

Ebuild とと オーバーレイオーバーレイ

www.princexml.com
Prince - Non-commercial License
This document was created with Prince, a great way of getting web content onto paper.
Page 2: Ebuild and overlay

オーバーレイはなんですかオーバーレイはなんですか• overlayは追加のportage repositoryです。

• ここにあなたのebuildを追加ができます。

Page 3: Ebuild and overlay

ローカルオーバーレイの作り方ローカルオーバーレイの作り方make.confに設定します。に設定します。

# PORTDIR_OVERLAY="/usr/local/portage/"

このダイレクトリにPortageが追加のpackageを探しています。

ダイレクトリをつくります。ダイレクトリをつくります。

# mkdir -p /usr/local/portage/app-misc/hello-world# cd $_

$_ recalls last argument

ebuildのテンプレを作ります。のテンプレを作ります。

# cp /usr/portage/header.txt ./hello-world-1.0.ebuild

これだけ動かない。これだけ動かない。

# echo 'SLOT="0"' >> ./hello-world-1.0.ebuild

Page 4: Ebuild and overlay

Ebuildのは何ですかのは何ですかEbuildは何ですかは何ですか- Ebuildはテクストファイルです。- Portageで使われるパッケージ管理用のBashスクリプトです。

Page 5: Ebuild and overlay

ebuildのインストル方のインストル方ebuildのインストル方。のインストル方。

# ebuild hello-world-1.0.ebuild manifest clean merge

ebuildを作くった。を作くった。

Page 6: Ebuild and overlay

Variableを追加を追加/usr/portage/skel.ebuild ドキュメントドキュメント

これを読んで方がいいです。

Page 7: Ebuild and overlay

大切のコマンド大切のコマンドman 5 ebuild

repoman manifest && repoman full

enalyze analyze -v USE

layman -S emerge --regen /etc/eixrc OVERLAY_CACHE_METHOD="assign"

http://devmanual.gentoo.org/

emerge --moo

Page 8: Ebuild and overlay

EAPIPMS portage manager specificationはebuildの標準化(ひょうじゅんか)です。 EAPIの番号はどんなPMSのバージョンを使います。

おすすめおすすめEAPIははEAPI5ですです

EAPIの情報はここ: http://devmanual.gentoo.org/ebuild-writing/eapi/

ebuildにEAPI="5"を追加します。 このVariableは一?上です。

EAPI=5 も同じ

Page 9: Ebuild and overlay

DESCRIPTIONDESCRIPTIONははPackageの概要(がいよう) の概要(がいよう) 

DESCRIPTION="A simple ebuild learning example."

Page 10: Ebuild and overlay

homepageを追加を追加homepageは何のページにこのは何のページにこのpackageを見つけたを見つけた

HOMEPAGE="https://github.com/aliceinwire/Gentoo-landslide/tree/master/ebuild-overlay"

Page 11: Ebuild and overlay

SRC_URIを追加を追加SRC_URIはどこでこのはどこでこのpackageダウンロードをしてますか。ダウンロードをしてますか。

SRC_URI="https://github.com/aliceinwire/Gentoo-landslide/tree/master/ebuild-overlay/hello-world-1.0.tar.gz"

Page 12: Ebuild and overlay

LICENSEを追加を追加LICENSEははGPLややMIT等のソフトウェアライセンスです。等のソフトウェアライセンスです。

LICENSE="MIT"

Page 13: Ebuild and overlay

KEYWORDSを追加を追加KEYWORDSはどこでこのはどこでこのscriptを動きますか。を動きますか。

shell scriptだからどこでも動きます。全部のarchを追加します。KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh~sparc ~x86"

maskのPackageは -と追加しない。untestedは ~Stableは追加けど前の文字がない。

Page 14: Ebuild and overlay

EBUILDの最後の最後# Copyright 1999-2013 Gentoo Foundation# Distributed under the terms of the GNU General Public License v2# $Header: $

EAPI="5"

SLOT="0"

DESCRIPTION="A simple ebuild learning example."HOMEPAGE="https://github.com/aliceinwire/Gentoo-landslide/tree/master/ebuild-overlay"SRC_URI="https://github.com/aliceinwire/Gentoo-landslide/tree/master/ebuild-overlay/hello-world-1.0.tar.gz"

LICENSE="MIT"KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"

Page 15: Ebuild and overlay

ビルドをします。ビルドをします。ebuild hello-world-1.0.ebuild manifest clean merge

Page 16: Ebuild and overlay

でもなにもインストルをした。でもなにもインストルをした。インストルのインストルのphase

http://devmanual.gentoo.org/ebuild-writing/functions/

インストルのインストルのfunction

http://devmanual.gentoo.org/function-reference/install-functions

インストルはライブファイルsystemの中でなにもインストルをします。 だからebuildの中でmv cp rm のコマンドを普通使わない。

Gentooインストルfunctionのコマンドだけ使いますと ${D} (これは目的のダイレクトリです。)

Page 17: Ebuild and overlay

src_installととdobinsrc_install() {

dobin hello-world}

dobinはhello-worldのscriptをビルドのダイレクトリにコピーをしてexecutableのpermissionを設定して 後でPortageがこのファイルをチェックしてとライブのファイルsystemにコピーをします。

Page 18: Ebuild and overlay

も一回びるどをします。も一回びるどをします。ebuild hello-world-1.0.ebuild manifest clean merge

>>> /usr/bin/hello-worldを見えます。

Page 19: Ebuild and overlay

オーバーレイの作り方オーバーレイの作り方オーバーレイのソフトをインストルします。オーバーレイのソフトをインストルします。

# emerge layman

バージョン管理システムのためUSE FLAGを選びます。

make.conf ファイルの中でファイルの中でlaymanダイレクトリを追加します。ダイレクトリを追加します。

# echo "source /var/lib/layman/make.conf" >> /etc/portage/make.conf

Laymanの設定をします。の設定をします。

# vim /etc/layman/layman.cfgoverlays : file:///var/lib/layman/my-list.xml

追加をします。

Page 20: Ebuild and overlay

my-list.xml

<?xml version="1.0" ?><repositories version="1.0">

<repo priority="50" quality="experimental" status="unofficial"><name>aliceinwire</name><description>Custom stuff for Gentoo from aliceinwire.</description><homepage>http://github.com/aliceinwire/</homepage><owner>

<email>[email protected]</email></owner><source type="git">[email protected]:aliceinwire/overlay.git</source>

</repo></repositories>

Page 21: Ebuild and overlay

Proxy-maintainerhttps://wiki.gentoo.org/wiki/Project:Proxy_Maintainers

Page 22: Ebuild and overlay