Difference between pages "Emerge" and "Experimental branch"

From Funtoo
(Difference between pages)
Jump to: navigation, search
(package.use)
 
m (First method)
 
Line 1: Line 1:
== Getting started with emerge ==
+
{{Note}}Funtoo Experimental is where we test bleeding-edge stuff. Don't use experimental unless you are helping us test new features.
Emerge is the front-end for funtoo's portage package manager. With emerge it is easy to install, update or remove packages.
+
== Status ==
 +
Future plans:
 +
* funtoo profile integration
 +
* udev and friends bump
  
=== Update package database ===
+
== Introduction ==
'''Sync local package database. This will update your local Portage tree with the latest Funtoo ebuilds.'''
+
<console>
+
###i## emerge --sync
+
</console>
+
  
=== Search packages ===
+
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.
'''Search packages by name.'''
+
<console>
+
###i## emerge -s firefox
+
###i## emerge --search firefox
+
</console>
+
  
'''Search packages by description.'''
+
== Upgrading an existing Funtoo installation to experimental ==
 
<console>
 
<console>
###i## emerge -S web browser
+
###i## rm -rf /usr/portage
###i## emerge --searchdesc web browser
+
 
</console>
 
</console>
 
+
Add the following line (or modify it if it's already there):
=== Install packages ===
+
'''Install package.'''
+
 
<console>
 
<console>
###i## emerge firefox
+
###i## nano -w /etc/make.conf
 +
SYNC="git://github.com/funtoo/experimental-mini-2011.git"
 
</console>
 
</console>
  
'''Install multiple packages.'''
+
=== First method ===
 
<console>
 
<console>
###i## emerge firefox thunderbird
+
###i## emerge --sync     
 
</console>
 
</console>
  
'''Install package. Ask for confirmation before performing any changes. Show verbose output.'''
+
Verify that the experimental tree has been properly installed:
 
<console>
 
<console>
###i## emerge -av firefox
+
###i## cat /usr/portage/.git/config
###i## emerge --ask firefox
+
...
 +
[remote "origin"]
 +
fetch = +refs/heads/*:refs/remotes/origin/*
 +
url = git://github.com/funtoo/experimental-mini-2011.git
 +
...
 
</console>
 
</console>
  
=== Remove packages ===
+
You should see that the git repository is pointing to experimental-mini-2011.git.
'''Remove package.'''
+
<console>
+
###i## emerge -C firefox
+
###i## emerge --unmerge firefox
+
</console>
+
  
'''Remove package. Ask for confirmation before performing any changes.'''
+
If for any reason this method did not work, use the second method to manually clone the experimental branch.
<console>
+
###i## emerge -aC firefox
+
</console>
+
  
'''Remove orphaned packages. Ask for confirmation before performing any changes.'''
+
=== Second method ===
 
<console>
 
<console>
###i## emerge -a --depclean
+
###i## rm -rf /usr/portage
 +
###i## cd /usr
 +
###i## git clone git://github.com/funtoo/experimental-mini-2011.git portage
 +
###i## emerge --sync
 
</console>
 
</console>
  
=== Update packages ===
+
== Installation from an experimental branch stage3 ==
'''Update all packages.'''
+
You can find some stage3s on the Funtoo mirror: [http://ftp.osuosl.org/pub/funtoo/funtoo-experimental/]. These stages are updated weekly, possibly more often during active experimental development.
<console>
+
###i## emerge -uDN @world
+
</console>
+
 
+
'''Update all packages. Ask for confirmation before performing any changes. Show verbose output.'''
+
<console>
+
###i## emerge -uavDN @world
+
</console>
+
 
+
== Emerge options ==
+
 
+
; --sync
+
: Updates the portage tree that is located in /usr/portage by default.
+
 
+
; --search -s
+
: Searches  for  matches  of  the  supplied  string in the portage tree.
+
 
+
; --searchdesc -S
+
: Matches the search string against the description field as well as the package name.
+
 
+
; --ask -a
+
: Ask for confirmation before performing any changes.
+
 
+
; --pretend -p
+
: Instead of actually performing the merge, simply display what *would* have been installed if --pretend weren't used.
+
 
+
; --unmerge -C
+
: Removes all matching packages.
+
 
+
; --update -u
+
: Updates  packages to the best version available, which may not always be the  highest version number due to masking for testing and development.
+
 
+
; --deep [DEPTH] -D
+
: force  emerge  to  consider  the  entire  dependency tree of packages, instead of checking only the immediate dependencies of the packages.
+
 
+
; --newuse -N
+
: Tells emerge to include installed packages where USE flags have changed since compilation.
+
 
+
; --depclean -c
+
: Remove orphaned packages. Cleans the system by removing packages that are not associated with explicitly merged packages.
+
 
+
; --autounmask-write
+
: Automatically write package.use settings as necessary to satisfy dependencies.
+
 
+
; --resume -r
+
: Resumes  the  most recent merge list that has been aborted due to an error.
+
 
+
; --jobs[=JOBS] -j [JOBS]
+
: Specifies the number of packages to build simultaneously.
+
 
+
; --load-average [LOAD]
+
: Specifies  that  no  new  builds should be started if there are other builds running and the load average is at least LOAD (a floating-point number).
+
  
== Configuration ==
+
== Building stage3s using Metro ==
=== make.conf ===
+
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.
Emerge can be configured with <code>/etc/portage/make.conf</code>
+
{{File
+
|/etc/portage/make.conf|<pre>
+
CFLAGS="-march=native -O2 -pipe"
+
CXXFLAGS="-march=native -O2 -pipe"
+
  
MAKEOPTS="-j2"
+
== History ==
EMERGE_DEFAULT_OPTS="--jobs 2 --load-average 2"
+
INPUT_DEVICES="evdev synaptics"
+
VIDEO_CARDS="intel i965"
+
LINGUAS="en en_US en_GB"
+
ACCEPT_LICENSE="*"
+
  
USE="mmx mmxext sse sse2 sse3 ssse3 threads alsa X gtk xcb dri opengl vaapi udev \
+
=== Iteration 1 (Completed Dec 16, 2011) ===
    svg x264 xvid gstreamer webm vpx icu bash-completion vim-pager \
+
    -gnome -xscreensaver -cups -fortran -deprecated -iptables -ipv6 -geoloc \
+
    -mta -sendmail -kmod -tiff -live -quicktime -real -gpm -themes"
+
</pre>}}
+
  
=== package.use ===
+
Implementation and stabilization of a new set of toolchain packages:
Per-package use flags can be configured with <code>/etc/portage/package.use</code>:
+
{{File
+
|/etc/portage/package.use|<pre>
+
x11-wm/dwm savedconfig
+
x11-drivers/ati-drivers qt4
+
media-sound/ncmpcpp visualizer clock taglib
+
</pre>}}
+
  
=== package.accept_keywords ===
+
* gcc-4.6.2
If you want to install a package that has not been tested on your architecture you need to edit <code>/etc/portage/package.accept_keywords</code>:
+
* binutils-2.21-r1
{{File
+
* linux-headers-2.6.39
|/etc/portage/package.accept_keywords|<pre>
+
* glibc-2.13-r4
=app-misc/screenfetch-9999 **
+
* udev-171-r1
</pre>}}
+
* patched lvm2-2.02.85
 +
* Several patches to solve problems building with this toolchain
  
== Other Resources ==
+
And some other features:
For more info see the emerge man page.
+
* [[Portage Dynamic Slot]]
<console>$##i## man emerge</console>
+
* 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.
  
 
[[Category:Portage]]
 
[[Category:Portage]]
 
[[Category:HOWTO]]
 
[[Category:HOWTO]]
[[Category:Tutorial]]
+
[[Category:Featured]]
[[Category:System]]
+

Revision as of 17:17, 28 January 2014

Note Note: Funtoo Experimental is where we test bleeding-edge stuff. Don't use experimental unless you are helping us test new features.

Contents

Status

Future plans:

  • funtoo profile integration
  • udev and friends bump

Introduction

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.

Upgrading an existing Funtoo installation to experimental

# rm -rf /usr/portage

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

# nano -w /etc/make.conf
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, use the second method to manually clone the experimental branch.

Second method

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

Installation from an experimental branch stage3

You can find some stage3s on the Funtoo mirror: [1]. These stages are updated weekly, possibly more often during active experimental development.

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.

History

Iteration 1 (Completed Dec 16, 2011)

Implementation and stabilization of a new set of toolchain packages:

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

And some other features:

  • Portage Dynamic Slot
  • 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.