githubを始めました (local overlayをgithubに上げる方法)

githubにlocal overlayを追加してみたので
やり方を書いておきます
※私はgithubを使い初めて1日も立っていないので色々と注意が必要です
※ぎてゅbはgithubに読み替えてください。英字ばかりだと置換すべき箇所が判り難いと思ったのでこの様に書いてます

まずはgithubに会員登録をしてログインします
https://github.com/new
ここにアクセスするか
Repositoryという文字列が入ったリンクを探して開いてください

そうすると新しいリポジトリを作れるみたいなので

この画面のようにRepository nameはportageにして
Initialize this repository with a README
のチェックは何だか今はわかってませんが恐らくREADMEを作る手間を省いてくれるのかな?
なのであってもなくてもいいと思います
正しく入力ができていると
下のCreate repositoryが押せるようになっているので押しましょう
すると新しいrepositoryが登録できます

次にsshの設定を行います
右上にスパナーのアイコンがあるのでそれをクリックして
SSH Keysを開くか
https://github.com/settings/ssh
を開いた後にAdd SSH Keysを押せばsshの登録画面です
Titleには適当な名前を
Keyにはこれから作るid_rsa.pubの中身を入れます
それではid_rsa.pubを作るために端末を開いて

    % ssh-keygen -t rsa

を実行してid_rsa.pubを作ってください
後は最初に空エンタキーを押して~/.ssh/に作成したと仮定したら

    % cat ~/.ssh/id_rsa.pub

で表示された文字列をKeyのところにペーストします
gentooを使っている方は

    # emerge x11-misc/xclip

をしてXのクリップボードに送れるようにして

    % cat ~/.ssh/id_rsa.pub|xclip

こうやると手で打たなくて楽です

この2つを入力してAdd keyを押したらブラウザからはおさらばです

portageがあるディレクトリに移動して
※私はなんとなく~/dev/git/github/portageに置いてます

    % git config --global user.name "好きな名前"
    % git config --global user.email "使うメルアド"

を実行します
これをやらないとマシン名などが晒されて恥ずかしい思いをすると
どこかに書いてあったような…

    % git init

これで新しいリポジトリの設定ファイルを新たに作ります

    % git add ./

カレントディレクトリ以下を全てアップロードの対象にします

    % git commit -m "なにかコメントを書かないといけない"

こんな感じでコメントを書いてよくわかってないですがコミットと呼ばれる動作をします

    % git remote add origin git@github.com:ぎてゅbのゆーざーねーむ/portage.git

こんな感じのコマンドを実行します。リモートリポジトリの登録をするそうな
originっていうのはよくわかりません
この名前をつけるのが通例らしいです

    % git push origin master

local overlayをアップロードしますがここでエラーが出る人は

    % git pull origin master

これでgithub側のファイルを落としてきて

    % git push origin master

をすればアップロードができると思います

次にlaymanでこのリポジトリを扱えるように追加します

    # emerge app-portage/layman

持っていない人はこれで入れることができます

サーバ側でも設定というかなんというかファイルが必要なので
overlays.xml
私のoverlays.xmlを参考にして
portageディレクトリの中にoverlays.xmlという名前で保存します
例を上げると(全ての箇所に多分を付け足して読んでください)

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE repositories SYSTEM "/dtd/repositories.dtd">
<repositories xmlns="" version="1.0">
<repo quality="experimental" status="公式か非公式か">
    <name>リポジトリの名前</name>
    <description>リポジトリの説明</description>
    <homepage>リポジトリのホームページ</homepage>
    <owner type="project">
        <email>管理人のメルアド</email>
        <name>管理人の名前</name>
    </owner>
    <source type="git">gitファイルがある場所</source>
    <source type="git">他にもあれば同じように書く</source>
    <feed>rssやatomなどの場所を書く</feed>
</repo>
</repositories>

このように記載します
それで私はこのように書きました

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE repositories SYSTEM "/dtd/repositories.dtd">
<repositories xmlns="" version="1.0">
<repo quality="experimental" status="unofficial">
    <name>silenvx</name>
    <description>silenvx's overlay</description>
    <homepage>https://github.com/silenvx/portage</homepage>
    <owner type="project">
        <email>czvziwzx@gmail.com</email>
        <name>silenvx</name>
    </owner>
    <source type="git">git://github.com/silenvx/portage.git</source>
    <source type="git">https://github.com/silenvx/portage.git</source>
    <feed>https://github.com/silenvx/portage/commits/master.atom</feed>
</repo>
</repositories>

portageディレクトリの中のoverlays.xmlに保存したら再びサーバにあげる必要があるので

    % git add overlays.xml
    % git commit -m "てきとうになにをしたかのしょうさいをかく"
    % git push

これでアップロードができるかと思います

後はlayman側に対応させるために

    # vim /etc/layman/layman.cfg

これで設定ファイルを開いた後に

34行目あたりに

overlays  : http://www.gentoo.org/proj/en/overlays/repositories.xml

と書かれた箇所があるのでその下に最初に1つ以上のスペースを空けて

overlays  : http://www.gentoo.org/proj/en/overlays/repositories.xml
 https://raw.github.com/ぎてゅbのゆーざーねーむ/portage/master/overlays.xml

こんな感じに書きます

    # layman -L|grep "リポジトリの名前"

これで出てきたらもうlayman的には対応しているので

    # layman -a "リポジトリの名前"

laymanに登録したら

    # layman -l

登録ができているか確認してちゃんとできていたら
後はemergeするだけでいつも通り入りますが
/etc/make.confにPORTDIR_OVERLAYを書いていた場合は
こちらが優先的に使われる場合があると思うのでコメントアウトをするか
/etc/portage.repos.confをいじることをおすすめします

ちなみに筆者のoverlays.xmlへのリンクは一度書いたけど
https://raw.github.com/silenvx/portage/master/overlays.xml
これです。良ければ使ってください