The Funtoo Linux project has transitioned to "Hobby Mode" and this wiki is now read-only.
User:Kreyren/Install/Download Portage Tree
Install Guide: Download Portage Tree
Install Guide, Chapter 10 | < Prev | Next > |
Now it's time to install the Portage repository, which contains package scripts (ebuilds) that tell portage how to build and install thousands of different software packages. To create the Portage repository, simply run ego sync
from within the chroot. This will automatically clone the portage tree from GitHub and all kits:
(chroot) # ego sync
Making custom profile
Funtoo uses `epro` which states for TODO and is used to make a profile from which portage takes it's core variables to compile packages.
epro parses it's configuration in /etc/portage/make.profile/parent which is then recognized by funtoo's portage.
start by invoking `mv /etc/portage/make.profile/parent /etc/portage/make.profile/parent.old && touch /etc/portage/make.profile/parent` to wipe source file.
Next invoke `epro list` to output all supported configuration for each variable.
Variables - arch - System architecture - build - system build - subarch - System subarch, used for CPU optimization for GCC compile - flavor - system design configuration - mix-ins - additional configuration
Relevant: https://www.funtoo.org/Install/Profiles
TODO: updated based on relevant.
Reasoning: Making profile prior to emerging system allows for supperior configuration and faster installation.
Troubleshooting
Unvailable repository
This error is caused by using Gentoo's variables that are not supported by `ego`. (?)
ERROR:
... Syncing nokit branch 1.3-release Already on '1.3-release' Your branch is up to date with 'origin/1.3-release'. HEAD is now at 80508cd7 updates Already up to date. Sync successful and kits in alignment! :) Updating /etc/portage/repos.conf... Updating profiles at /etc/portage/make.profile/parent... !!! Invalid PORTDIR_OVERLAY (not a dir): '/usr/local/portage' !!! Section 'core-kit' in repos.conf has location attribute set to nonexistent directory: '/usr/portage' !!! main-repo not set in DEFAULT and PORTDIR is empty. Unavailable repository 'core-kit' referenced by masters entry in '/var/git/meta-repo/kits/core-gl-kit/metadata/layout.conf' Unavailable repository 'core-kit' referenced by masters entry in '/var/git/meta-repo/kits/core-hw-kit/metadata/layout.conf' Unavailable repository 'core-kit' referenced by masters entry in '/var/git/meta-repo/kits/core-server-kit/metadata/layout.conf' Unavailable repository 'core-kit' referenced by masters entry in '/var/git/meta-repo/kits/core-ui-kit/metadata/layout.conf' Unavailable repository 'core-kit' referenced by masters entry in '/var/git/meta-repo/kits/desktop-kit/metadata/layout.conf' Unavailable repository 'core-kit' referenced by masters entry in '/var/git/meta-repo/kits/dev-kit/metadata/layout.conf' Unavailable repository 'core-kit' referenced by masters entry in '/var/git/meta-repo/kits/editors-kit/metadata/layout.conf' Unavailable repository 'core-kit' referenced by masters entry in '/var/git/meta-repo/kits/games-kit/metadata/layout.conf' Unavailable repository 'core-kit' referenced by masters entry in '/var/git/meta-repo/kits/gnome-kit/metadata/layout.conf' Unavailable repository 'core-kit' referenced by masters entry in '/var/git/meta-repo/kits/haskell-kit/metadata/layout.conf' Unavailable repository 'core-kit' referenced by masters entry in '/var/git/meta-repo/kits/java-kit/metadata/layout.conf' Unavailable repository 'core-kit' referenced by masters entry in '/var/git/meta-repo/kits/kde-kit/metadata/layout.conf' Unavailable repository 'core-kit' referenced by masters entry in '/var/git/meta-repo/kits/lang-kit/metadata/layout.conf' Unavailable repository 'core-kit' referenced by masters entry in '/var/git/meta-repo/kits/lisp-scheme-kit/metadata/layout.conf' Unavailable repository 'core-kit' referenced by masters entry in '/var/git/meta-repo/kits/llvm-kit/metadata/layout.conf' Unavailable repository 'core-kit' referenced by masters entry in '/var/git/meta-repo/kits/media-kit/metadata/layout.conf' Unavailable repository 'core-kit' referenced by masters entry in '/var/git/meta-repo/kits/ml-lang-kit/metadata/layout.conf' Unavailable repository 'core-kit' referenced by masters entry in '/var/git/meta-repo/kits/net-kit/metadata/layout.conf' Unavailable repository 'core-kit' referenced by masters entry in '/var/git/meta-repo/kits/nokit/metadata/layout.conf' Unavailable repository 'core-kit' referenced by masters entry in '/var/git/meta-repo/kits/perl-kit/metadata/layout.conf' Unavailable repository 'core-kit' referenced by masters entry in '/var/git/meta-repo/kits/python-kit/metadata/layout.conf' Unavailable repository 'core-kit' referenced by masters entry in '/var/git/meta-repo/kits/python-modules-kit/metadata/layout.conf' Unavailable repository 'core-kit' referenced by masters entry in '/var/git/meta-repo/kits/ruby-kit/metadata/layout.conf' Unavailable repository 'core-kit' referenced by masters entry in '/var/git/meta-repo/kits/science-kit/metadata/layout.conf' Unavailable repository 'core-kit' referenced by masters entry in '/var/git/meta-repo/kits/security-kit/metadata/layout.conf' Unavailable repository 'core-kit' referenced by masters entry in '/var/git/meta-repo/kits/text-kit/metadata/layout.conf' Unavailable repository 'core-kit' referenced by masters entry in '/var/git/meta-repo/kits/xfce-kit/metadata/layout.conf' Unavailable repository 'core-kit' referenced by masters entry in '/var/git/meta-repo/kits/xorg-kit/metadata/layout.conf' !!! Unable to parse profile: '/etc/portage/make.profile' !!! ParseError: Parent 'core-kit:funtoo/1.0/linux-gnu/arch/x86-64bit' not found: '/etc/portage/make.profile/parent'
SOLUTION:
# Followed configuration in make.conf is NOT sane. ## PKGDIR="/var/cache/portage/packages" ## PORTAGE_CONFIGROOT="/" ## PORTAGE_TMPDIR="/var/tmp" ## DISTDIR="/var/cache/portage/distfiles" ## PORTDIR=/usr/portage ## PORTAGE_TMPDIR=/var/tmp # (?)