James Morrisのgit treeをのぞく

gitを用意する

なにはともあれgitがないことにははじまらない。gitは主要なLinuxであればパッケージがあるが(cygwinにもある)、Macfinkにはパッケージがなかったので、http://git-scm.com/からダウンロードして、configure, makeした。

kernel security subsystemをコピー(clone)する

ここからは、Kernel Repository - Linux Security Wikiのとおりに。

$ git clone git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6

こんなふうになった。

toshi-macbook:morris toshi$ git clone git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6
warning: templates not found /usr/local/share/git-core/templates/
Initialized empty Git repository in /Users/toshi/git/git-1.6.1.3/morris/security-testing-2.6/.git/
remote: Counting objects: 1074746, done.
remote: Compressing objects: 100% (177986/177986), done.
remote: Total 1074746 (delta 896243), reused 1070287 (delta 891825)
Receiving objects: 100% (1074746/1074746), 260.23 MiB | 1238 KiB/s, done.
Resolving deltas: 100% (896243/896243), done.
Checking out files: 100% (26696/26696), done.

どうなったかな?

toshi-macbook:morris toshi$ ls
security-testing-2.6/
toshi-macbook:morris toshi$ ls security-testing-2.6/
COPYING README firmware/ lib/ sound/
CREDITS REPORTING-BUGS fs/ mm/ usr/
Documentation/ arch/ include/ net/ virt/
Kbuild block/ init/ samples/
MAINTAINERS crypto/ ipc/ scripts/
Makefile drivers/ kernel/ security/

おなじみのディレクトリ構成ができているが、今はまだsecurity/tomoyoは存在していない。

next branchを反映する

次のリリースに向けた内容は、原則"next"というbranchで行うと書かれている。そこで、security-testing-2.6にcdして、再びWikiに書かれている指示に従う。

$ git checkout --track -b my-next origin/next

こんなふうになる。

oshi-macbook:security-testing-2.6 toshi$ git checkout --track -b my-next origin/next
Checking out files: 100% (373/373), done.
M Documentation/IO-mapping.txt
M include/linux/netfilter/xt_CONNMARK.h
M include/linux/netfilter/xt_DSCP.h
M include/linux/netfilter/xt_MARK.h
M include/linux/netfilter/xt_RATEEST.h
M include/linux/netfilter/xt_TCPMSS.h
M include/linux/netfilter_ipv4/ipt_CONNMARK.h
M include/linux/netfilter_ipv4/ipt_DSCP.h
M include/linux/netfilter_ipv4/ipt_ECN.h
M include/linux/netfilter_ipv4/ipt_MARK.h
M include/linux/netfilter_ipv4/ipt_TCPMSS.h
M include/linux/netfilter_ipv4/ipt_TOS.h
M include/linux/netfilter_ipv4/ipt_TTL.h
M include/linux/netfilter_ipv6/ip6t_HL.h
M include/linux/netfilter_ipv6/ip6t_MARK.h
M net/ipv4/netfilter/ipt_ECN.c
M net/ipv4/netfilter/ipt_TTL.c
M net/ipv6/netfilter/ip6t_HL.c
M net/netfilter/xt_CONNMARK.c
M net/netfilter/xt_DSCP.c
M net/netfilter/xt_MARK.c
M net/netfilter/xt_RATEEST.c
M net/netfilter/xt_TCPMSS.c
Branch my-next set up to track remote branch refs/remotes/origin/next.
Switched to a new branch "my-next"

Subversionみたいでなんとなく安心する。どれどれ、今度はできているかな?

toshi-macbook:security-testing-2.6 toshi$ ls security
Kconfig device_cgroup.c root_plug.c tomoyo/
Makefile inode.c security.c
capability.c integrity/ selinux/
commoncap.c keys/ smack/
toshi-macbook:security-testing-2.6 toshi$ ls security/tomoyo
Kconfig common.c domain.c realpath.c tomoyo.c
Makefile common.h file.c realpath.h tomoyo.h

あった、あった。