Difference between revisions of "Experimental branch"

From Funtoo Linux
Jump to: navigation, search
P4 (Talk)
(I think I got it all)
Line 1: Line 1:
{{fancywarning|Using the Funtoo experimental branch is considered as experimental (unsupported) and be prepared to see various package compilations errors or other problems.}}
+
{{fancywarning|Using the Funtoo experimental branch is considered experimental (unsupported). Users should be prepared to have various package compilation errors or other problems.}}
  
 
The Funtoo experimental branch is used by Funtoo Core Developers to try and test new features to be included in Funtoo stable and current branches when ready. Users that want to help the developers test those new features are welcome to switch to the experimental branch and report problems on IRC or the forum. However, problems may arise from using it and there is no guarantee that your system will stay usable.
 
The Funtoo experimental branch is used by Funtoo Core Developers to try and test new features to be included in Funtoo stable and current branches when ready. Users that want to help the developers test those new features are welcome to switch to the experimental branch and report problems on IRC or the forum. However, problems may arise from using it and there is no guarantee that your system will stay usable.
Line 14: Line 14:
 
* [[Portage Dynamic Slot]]
 
* [[Portage Dynamic Slot]]
  
We also provide modifications of Mesa, libdrm and radeon drivers to support each type of Radeon video card individually, as well as (masked) -9999 versions of those packages.
+
We also provide modifications of Mesa, libdrm and radeon drivers to support each type of Radeon video card individually, as well as masked -9999 versions of those packages.
  
 
== How to use ==
 
== How to use ==
=== First way ===
+
=== Upgrading an existing Funtoo installation to experimental ===
 
+
 
<pre>
 
<pre>
 
# rm -rf /usr/portage
 
# rm -rf /usr/portage
 
# nano -w /etc/make.conf
 
# nano -w /etc/make.conf
Add the line (or modify it if it's already there):  
+
</pre>
 +
Remove mini-manifest from FEATURES if present. Portage-2.3.1 has thin manifests enabled by default.
 +
 
 +
Add the line (or modify it if it's already there):
 +
<pre>
 
SYNC="git://github.com/funtoo/experimental-mini-2011.git"
 
SYNC="git://github.com/funtoo/experimental-mini-2011.git"
Remove mini-manifest from FEATURES if present.
 
# emerge --sync
 
# emerge -uNDav gcc
 
# gcc-config -l
 
Select the appropriate version of gcc:
 
# gcc-config <id>
 
# emerge -uNDav @world                   
 
 
</pre>
 
</pre>
  
It should be done. To verify:
+
=== First method ===
 +
<pre>
 +
# emerge --sync     
 +
</pre>
 +
 
 +
Verify that the experimental tree has been properly installed:
  
 
<pre>
 
<pre>
 
# cat /usr/portage/.git/config
 
# cat /usr/portage/.git/config
 +
...
 +
[remote "origin"]
 +
fetch = +refs/heads/*:refs/remotes/origin/*
 +
url = git://github.com/funtoo/experimental-mini-2011.git
 +
...
 
</pre>
 
</pre>
  
 
You should see that the git repository is pointing to experimental-mini-2011.git.
 
You should see that the git repository is pointing to experimental-mini-2011.git.
  
If for any reason this method did not work, you may use the second way of using the branch:
+
If for any reason this method did not work, you may use the second way of switching to the experimental branch:
  
===Second way===
+
=== Second method ===
 
<pre>
 
<pre>
# rm -r /usr/portage
+
# rm -rf /usr/portage
 
# cd /usr
 
# cd /usr
 
# git clone git://github.com/funtoo/experimental-mini-2011.git
 
# git clone git://github.com/funtoo/experimental-mini-2011.git
 
# mv experimental-mini-2011 portage
 
# mv experimental-mini-2011 portage
 
# emerge --sync
 
# emerge --sync
# emerge -uNDav @world
 
 
</pre>
 
</pre>
  
==Build toolchain after Portage Switch==
+
== Upgrade portage and rebuild toolchain ==
Following the --sync and prior to building/updating anything else, update your toolchain:
+
 
<pre>
 
<pre>
# emerge -1 portage                     # remove the mini-manifest from make.conf since portage-2.3.1 has thin manifests by default
+
# emerge -1 portage
 
# emerge -1 gcc                          # build the new compiler
 
# emerge -1 gcc                          # build the new compiler
# gcc-config x86_64-pc-linux-gnu-4.6.1  # set the new compiler active
+
# gcc-config -l                          # list instances of gcc installations
 +
# gcc-config <id>                        # select the appropriate version of gcc
 
# emerge -1 linux-headers glibc binutils # build a sane toolchain
 
# emerge -1 linux-headers glibc binutils # build a sane toolchain
 
# emerge -e @system                      # rebuild @system with new compiler
 
# emerge -e @system                      # rebuild @system with new compiler
 +
# emerge -uNDav @world                  # complete the upgrade
 
</pre>
 
</pre>
  
==Installation from an experimental branch stage3==
+
== Installation from an experimental branch stage3 ==
 
You will find some stage3s on the Funtoo mirror: [http://ftp.osuosl.org/pub/funtoo/funtoo-experimental/]. However, those stages will not be updated very often.
 
You will find some stage3s on the Funtoo mirror: [http://ftp.osuosl.org/pub/funtoo/funtoo-experimental/]. However, those stages will not be updated very often.
  
  
==Building stage3s using Metro==
+
== Building stage3s using Metro ==
 
You may build your own stages of the experimental branch using [[Metro]]. The stages from the Funtoo mirror ([http://ftp.osuosl.org/pub/funtoo/funtoo-experimental/]) can be used as a seed. A funtoo-experimental target is available.
 
You may build your own stages of the experimental branch using [[Metro]]. The stages from the Funtoo mirror ([http://ftp.osuosl.org/pub/funtoo/funtoo-experimental/]) can be used as a seed. A funtoo-experimental target is available.
  

Revision as of 04:47, 29 September 2011

Using the Funtoo experimental branch is considered experimental (unsupported). Users should be prepared to have various package compilation errors or other problems.


The Funtoo experimental branch is used by Funtoo Core Developers to try and test new features to be included in Funtoo stable and current branches when ready. Users that want to help the developers test those new features are welcome to switch to the experimental branch and report problems on IRC or the forum. However, problems may arise from using it and there is no guarantee that your system will stay usable.

Contents

Features

We provide an updated toolchain:

  • gcc-4.6.1-r1
  • binutils-2.21-r1
  • linux-headers-2.6.39
  • glibc-2.13-r4
  • unmasked udev-171
  • patched lvm2-2.02.85
  • Several patches to solve building problems with this toolchain
  • Portage Dynamic Slot

We also provide modifications of Mesa, libdrm and radeon drivers to support each type of Radeon video card individually, as well as masked -9999 versions of those packages.

How to use

Upgrading an existing Funtoo installation to experimental

# rm -rf /usr/portage
# nano -w /etc/make.conf

Remove mini-manifest from FEATURES if present. Portage-2.3.1 has thin manifests enabled by default.

Add the line (or modify it if it's already there):

SYNC="git://github.com/funtoo/experimental-mini-2011.git"

First method

# emerge --sync      

Verify that the experimental tree has been properly installed:

# cat /usr/portage/.git/config
...
[remote "origin"]
	fetch = +refs/heads/*:refs/remotes/origin/*
	url = git://github.com/funtoo/experimental-mini-2011.git
...

You should see that the git repository is pointing to experimental-mini-2011.git.

If for any reason this method did not work, you may use the second way of switching to the experimental branch:

Second method

# rm -rf /usr/portage
# cd /usr
# git clone git://github.com/funtoo/experimental-mini-2011.git
# mv experimental-mini-2011 portage
# emerge --sync

Upgrade portage and rebuild toolchain

# emerge -1 portage
# emerge -1 gcc                          # build the new compiler
# gcc-config -l                          # list instances of gcc installations
# gcc-config <id>                        # select the appropriate version of gcc
# emerge -1 linux-headers glibc binutils # build a sane toolchain
# emerge -e @system                      # rebuild @system with new compiler
# emerge -uNDav @world                   # complete the upgrade 

Installation from an experimental branch stage3

You will find some stage3s on the Funtoo mirror: [1]. However, those stages will not be updated very often.


Building stage3s using Metro

You may build your own stages of the experimental branch using Metro. The stages from the Funtoo mirror ([2]) can be used as a seed. A funtoo-experimental target is available.

Personal tools
Namespaces

Variants
Actions
Categories
Toolbox
Stuff