こんにちは。私は元気です。
Gentoo Portageでのemerge --syncをrsyncからgitでやるように変えてみました。なんか最近は/etc/portage/make.confにではなく、/etc/portage/repos.conf/ディレクトリ下に書くみたいですね。
参考にしたもの
- Project:Portage/Sync - Gentoo Wiki
- gentoo-portage-rsync-mirror/README.md at master · gentoo/gentoo-portage-rsync-mirror · GitHub
それではやったことを残しておきます。
各所mkdirやchownしておきます。
# mkdir -p /etc/portage/repos.conf /var/db/repos/gentoo # chown portage:portage /var/db/repos/gentoo
なんかこんなふうに書くらしいです。
/etc/portage/repos.conf/gentoo.conf
[gentoo] location = /var/db/repos/gentoo sync-type = git sync-uri = https://github.com/gentoo-mirror/gentoo auto-sync = yes
gentoo.confのlocationをPOSTDIRが上書きしてしまうので、コメントアウトするか削って下さい。DISTDIRやPKGDIRも合わせて修正して下さい。
/etc/portage/make.conf
--- make.conf.old 2015-07-06 01:41:08.360123296 +0900 +++ make.conf.new 2015-07-06 02:15:56.790163553 +0900 @@ -13,9 +13,9 @@ USE="bindist mmx mmxext sse sse2 ss3 jpeg png acpi scsi ibus fuse udev udisks upower consolekit policykit session wifi usb cdda dvd alsa cairo opengl cjk ibus nls X libnotify startup-notification gtk gtk3 -gnome -kde dbus pulseaudio bluetooth lm_sensors libav -hddtemp -cups" ABI_X86="64" CPU_FLAGS_X86="mmx mmxext sse sse2 sse3" -PORTDIR="/usr/portage" -DISTDIR="${PORTDIR}/distfiles" -PKGDIR="${PORTDIR}/packages" +#PORTDIR="/usr/portage" +DISTDIR="/usr/portage/distfiles" +PKGDIR="/usr/portage/packages"
/etc/portage/make.profileのリンクを修正するため、再度eselectでprofileを選びます。ls -lして古いリンクを確認すれば、何を選べばいいか分かると思います。
$ ls -l /etc/portage/make.profile lrwxrwxrwx 1 root root 59 8月 16 2014 make.profile -> ../../usr/portage/profiles/default/linux/amd64/13.0/desktop # eselect profile list Available profile symlink targets: [1] default/linux/amd64/13.0 [2] default/linux/amd64/13.0/selinux [3] default/linux/amd64/13.0/desktop [4] default/linux/amd64/13.0/desktop/gnome [5] default/linux/amd64/13.0/desktop/gnome/systemd [6] default/linux/amd64/13.0/desktop/kde [7] default/linux/amd64/13.0/desktop/kde/systemd [8] default/linux/amd64/13.0/desktop/plasma [9] default/linux/amd64/13.0/desktop/plasma/systemd [10] default/linux/amd64/13.0/developer [11] default/linux/amd64/13.0/no-multilib [12] default/linux/amd64/13.0/systemd [13] default/linux/amd64/13.0/x32 [14] hardened/linux/amd64 [15] hardened/linux/amd64/selinux [16] hardened/linux/amd64/no-multilib [17] hardened/linux/amd64/no-multilib/selinux [18] hardened/linux/amd64/x32 [19] hardened/linux/musl/amd64 [20] default/linux/uclibc/amd64 [21] hardened/linux/uclibc/amd64 # eselect profile set 3
あとはsyncしたりsearchしてみて大丈夫か確かめましょう。
# emerge --sync
大丈夫そうであれば、/usr/portage下のdistfilesやpackages以外のものは消すか、アーカイブしておきましょう。(私の場合は消しちゃいました)
# cd /usr/portage # ls | grep -vE '^(distfiles|packages)$' | xargs rm -r
自分がやったことを書きつつ他の人向けに修正していますので、なにかおかしいところがあるかもしれません。あったらごめんなさい。
laymanも2.3.0からrepos.confで設定できるみたいですが、アップデートかかるまで気長に待ちます。
[追記: 2015/08/12]GentooのPortageがgitに移ったらしいので、本家のリポジトリに変更しました
[追記: 2015/08/23]
Gentoo が公式に Git に移行 | wjn's repos' info.
http://gh.asis.li/blog/gentoo-moved-git-officially.htmlによると、
https://anongit.gentoo.org/git/repo/gentoo.git は開発者向けのリポジトリであり、/metadata/md5-cache/*が置かれていないので、依存関係の解決等に時間がかかる不適切な設定でした。誤った情報を記載してしまい、申し訳ありませんでした。
私はただの「OSS使ってる俺カッコいい」と思っているただのコピペマンでした。自分の脳で考えられるよう精進していきたいと思います。お見苦しいものをお見せして申し訳ありませんでした。
僻みすぎました。まあ懲りずに書いていきますので、改善していきたいと思います。