Monday, September 15, 2008

Funtoo on GitHub

I now have the official Gentoo Portage tree as well as my slightly tweaked Funtoo Portage tree hosted at GitHub. The "portage" repository is the Funtoo one, whereas the "portage-gentoo.org" tree is the canonical Gentoo tree.

To use the Gentoo version of the tree, do:

# git clone git://github.com/funtoo/portage-gentoo.org.git

This will create a directory called portage-gentoo.org. To use this directory as your portage tree, edit /etc/make.conf and set PORTDIR to the path to this directory. This isn't an overlay, it is a full tree (which I prefer.)

To use the Funtoo version of the tree, do:

# git clone git://github.com/funtoo/portage.git

Edit make.conf and set PORTDIR to point to the new portage directory that was created. Also, for Funtoo, you should also set the unstable keyword by setting ACCEPT_KEYWORDS to "~x86" or "~amd64".

The Gentoo tree is updated every few days as is the Funtoo tree. This is mainly a service for developers who want to use git for development, or who want to merge in ebuilds and send me changesets for integrating into the Funtoo tree.

Enjoy!

15 comments:

Donnie Berkholz said...

Daniel, which tool are you using for the git conversion?

Daniel Robbins said...

I wrote a script to do it. I am not pulling in the full CVS history but it's not a big deal at the moment.

phess said...

Once again, Daniel, thanks a lot. I was just last week looking for some way to git pull the portage tree from somewhere.

Have you benchmarked it already? How much faster or slower should it be compared to traditional rsync when updating the tree?

Dottout said...

hi Daniel, thank you for your work. Id like to test git portage but I cannot clone it:
git clone git://github.com/funtoo/portage-gentoo.org.git
Initialized empty Git repository in /mnt/data/portage-gentoo.org/.git/
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed

Eric S said...

I'd love tot ry this out but I've never used Git to change portage trees. Do you have a good resource for a "beginner" doing this?

Dottout said...

@eric: as simple as 'git howto' on google.. http://linux.yyz.us/git-howto.html

Daniel Robbins said...

A simple git clone should do it, Phess. Give it another try.

Dottout said...

ehm..no way, the same error again, on two different boxes

Daniel Robbins said...

Hrm, I'm getting the same thing now. Maybe they aborted clones on the repo for some reason.

Daniel Robbins said...

I talked to GitHub support and they are working on fixing the cloning problem... :)

Daniel Robbins said...

looks like it's working now. Give it a shot :)

Dottout said...

thanks, now it works!

lolc said...

I have pulled packages from
git://github.com/funtoo/portage.git
into
/usr/local/funtoo/portage

May I know how I should use the portage tree from funtoo?
Do I add the following lines to /etc/make.conf?
ACCEPT_KEYWORDS="~x86"
PORTDIR_OVERLAY="$PORTDIR_OVERLAY /usr/local/funtoo/portage"

Doing this, I will have duplicate copies of many ebuilds, those from the original "/usr/portage" and those from funtoo.

May I know is it advisable to remove those from "/usr/portage"? If yes, how should I go about doing that?

Daniel Robbins said...

Lolc, I've updated the original post with detailed instructions :)

Now, who is the first person who wants to add some much-needed ebuilds to their git tree and then send me a changeset so I can add it to the Funtoo tree?

To get up to speed with git:

http://git.or.cz/course/svn.html
http://www.kernel.org/pub/software/scm/git/docs/user-manual.html

lolc said...

Thanks Daniel :)