6 使Debian する Git

松信

PIC
____________________________________________________________________

6.1 はじめに

Debian Package VCS*4 使することができるようになており利用しているメンテナ多くなりましたVCS てもですが Debian では表的な VCS である CVS, Subversion 流行りの GitマイナVCS である darcs などを使うことが できますイケているとわれる Git 使Debian Package することによりどの ようながあるのかどのような使メンテナンスえばいいのかなどについてを ます

6.2 なぜVCS するのか

Debian Package VCS することによる以下えれます

6.3 Debian 使能な VCS

現在Debian 利用能な VCS 以下りですプロジクトである Alioth でもこれらの VCS 利用 能になていますまたでは Debian Package タグ利用している VCS けることが能になておりVCS 利用ることも能ですここVCS 利用調べてグラフにしましたGit Subversion して いる発者えていることがわかります

PIC

6.4 スパGit するためのgit-buildpackage

ではVCS 使Debian Package するためにはどのようにすればいいのでしうかDebian Git するためのとしてgit-buildpackage がありますこれを使うことによGit 使 スコすることができるようになりますインストはいつものとおりapt-get or aptitude 使イン ストすることが能です

$sudo apt-get install git-buildpackage
6.4.1 git-buildpackage されるコマンド

git-buildpackage されるコマンド 14 つしかありませんこれらのコマンドGit コマンド使 メンテナンスをすることになりますGit かい必要ありませんが的な使ておく必要があり ます




されるコマンド




/usr/bin/git-buildpackage する
/usr/bin/git-dch Git コミトログから Debian Changelog する
/usr/bin/git-import-dsc 存の Debian Package Git インポする
/usr/bin/git-import-orig プストリからリリされたスコGit インポする

1: git-buildpackage されるコマンド

6.5 Git 単な使

2によくつかう Git コマンドしますこれだけていればGit 使発をうことが能なはずです




Git コマンド




git init カルリポジトリする
git add カルリポジトリ (index) イルする
git commit カルリポジトリ反映する
git rm カルリポジトリからイルする
git diff 分をする
git branch ブランチする
git checkout したブランチクアウトする
git format-patch する

2: よく使Git コマンド

6.6 されているものを Git する

Debian には 2 つのがあるとえられますつはされているものもうひとつはから Debian にしようとしているものですまずはDebian になているものを Git する方法 します

まずgit-import-dsc コマンド使Git リポジトリ現在スコみますコマンドオプシ dsc イル*5 しますすると名でレクトリされGit リポジトリされます またブランチとしてmaster ブランチupstream ブランチされますDebian master ブランチUpstream スコupstream ブランチされるようになりま *6

$ git-import-dsc ../isight-firmware-tools_1.0.2-1.dsc
Upstream version: 1.0.2
Debian version: 1
No git repository found, creating one.
Initialized empty Git repository in .git/
Everything imported under isight-firmware-tools
$ ls
isight-firmware-tools
$ cd isight-firmware-tools
$ git branch
* master
  upstream
6.6.1 インポログ

インポしたときにGit コミトログ現在コミトログまれますまた Debian Version Git タグ能を使タグ名として存されます

$ git log
commit 9c3669a233afe69d7be2aa8ad1995e6b19c841aa
Author: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
Date:   Sun Apr 6 21:48:40 2008 +0900

    Imported Debian patch 1.0.2-1
$ git tag
debian/1.0.2-1
upstream/1.0.2
6.6.2 スコする

スコDebian Package する部分するにはまでどおりdpatch などのシステ 使 必 要 が あ り ま す し た リ ポ ジ ト リ コ ミ す る に に git add, git commit コマンド使リポ ジトリ反映させます

$ dpatch-edit-patch 05_change_ift-load_install_dir
...  いろいろ ...
$ exit
$ vi debian/patches/00list
$ git add debian/patches/05chage_ift-load_install_dir.dpatch
$ git commit -s debian/patches/00list debian/patches/05_chage_ift-load_install_dir.dpatch
/*  エデ動するのでコミトログ */

Change ift-load install dir.

Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>

$ git log
commit c9865153ae1949956fdfe3827c0da9b36c2f0ddb
Author: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
Date:   Sun Apr 6 21:23:20 2008 +0900

    Change ift-load install dir.

    Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
6.6.3 git-buildpackage 使Debian

Debian するにはgit-buildpackage コマンド使います–git-ignore-new オプシGit 反映 れていない無視するためのオプシです

$ git-buildpackage --git-ignore-new -us -uc
6.6.4 リリする

しい Debian リリするgit-dch コマンド–release オプシけます ることによりエデ立ちがりGit コミトログからDebian Changelog されますChangelog した git-buildpackage コマンド–git-tag オプシけてします–git-tag けるとリポ ジトリDebian タグDebian changelog よりされリリされます

$ git-dch --release
$ git-buildpackage --git-ignore-new --git-tag
$ git tag
debian/1.0.2-1
debian/1.0.2-2
upstream/1.0.2
6.6.5 しいにする

しいにするにはgit-import-orig コマンド使リリされたしいTar しま することによりイル名からたに Upstream タグされますまたプスト がるため動的に Debian Changelog Debian Package されます

$ git-import-orig /tmp/isight-firmware-tools-1.2.tar.gz
Upstream version is 1.2.0
Importing ’/tmp/isight-firmware-tools-1.2.tar.gz’ to branch ’upstream’...
Switched to branch "upstream"
rm ’isight.rules.in’
rm ’po/fr_FR.po’
Created commit f5c85da: Imported Upstream version 1.2.0
 33 files changed, 4434 insertions(+), 1332 deletions(-)

.......<snip>

 src/udev.c                             |  164 +++
 33 files changed, 4434 insertions(+), 1332 deletions(-)
 rename po/{fr_FR.po => fr.po} (66%)
 create mode 100644 src/50-isight-firmware.fdi
 create mode 100644 src/callout.c
 create mode 100644 src/isight-firmware.fdi
 rename isight.rules.in => src/isight.rules.in (100%)
 create mode 100644 src/load.h
 create mode 100644 src/udev.c
Succesfully merged version 1.2 of /home/iwamatsu/Desktop/isight-firmware-tools-1.2.tar.gz into .
$ git branch
debian/1.0.2-1
debian/1.0.2-2
upstream/1.0.2
upstream/1.2
$ cat debian/changelog
isight-firmware-tools (1.2-1) unstable; urgency=low

  * New Upstream Version

 -- Nobuhiro Iwamatsu <iwamatsu@nigauri.org>  Fri, 11 Apr 2008 17:18:23 +0900

6.7 たにする

あたらしくにソフトウDebian Package にしてgit-buildpackage するGit 能が必要です まずカル Git リポジトリしますしたリポジトリ動しgit-import-orig コマンド プストリスコしますスコgzipbzip2 などでされた ものと展開されたスコドデレクトリすることが能ですまたする-u オプ プストリする能ですリポジトリしたupstream ランチ動しdh_make 使した流れでメンテナンス ます

$ mkdir isight-firmware-loader-1.2
$ cd isight-firmware-tools-1.2
$ git init /*  カル Git  リポジトリする */
$ git-import-orig -u 1.2  /tmp/isight-firmware-tools-1.2.tar.gz /*  スココミ */
Upstream version is 1.2
Initial import of ’/tmp/isight-firmware-tools-1.2.tar.gz’ ...
Succesfully merged version 1.2 of /tmp/isight-firmware-tools-1.2.tar.gz into .
$ git log
commit 9bf014aee2f834576f8f03d67ab66e8c85726832
Author: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
Date:   Tue Apr 8 21:42:55 2008 +0900

    Imported Upstream version 1.2
$ git branch
* master
  upstream
$ git tag
upstream/1.2
$ git branch upsteam
$ dh_make
$ git branch master

39 エリア Debian 2008 4
____________________________________________________________________________________________