Difference between pages "Form:Repository" and "Make.conf"

(Difference between pages)
 
m (add unpacking sources in ram, format with file template)
 
Line 1: Line 1:
<noinclude>
+
== What is the make.conf file? What is its purpose? ==
__NOTOC__
+
Make.conf is portage's and Funtoo's main configuration file. It contains many variables that define how a package will installed in a Funtoo system. You can customize portage internal variables, such as, portage tree location, sources tarball location, overlays, to name a few. You can customize hardware specs, such as TMPFS, disk limits, GCC compilation flags to achieve best performance, etc. A great deal of this customization is done through the make.conf file. This page will attempt to explain the uses of the make.conf file, different variables that can be added to it, and their uses.
  
== Add a New Repository ==
+
== Where does this file reside? ==
 +
The <code>make.conf</code> file is found at <code>/etc/portage/make.conf</code> and <code>/etc/make.conf</code> though <code>/etc/make.conf</code> is its deprecated location.
  
{{#forminput:form=Repository|query string=namespace=Repository}}
+
to edit:
</noinclude><includeonly>
+
<console>
{{{for template|Repository}}}
+
###i## nano /etc/portage/make.conf
{{TableStart}}
+
</console>
<tr><th class="active">Repository ID</th><td>{{{field|Repository ID|input type=text|placeholder=The name of the repository used in Funtoo's merge scripts.|size=100}}}</td></tr>
+
<tr><th class="active">Repository Type</th><td>{{{field|Repository Type|property=Repository Type|input type=dropdown}}}</td></tr>
+
<tr><th class="active">Maintainer(s)</th><td>{{{field|Maintainer|autocomplete on namespace=User|list|size=100|placeholder=If this repository has a single maintainer, or a small team, specify them here.}}}</td></tr>
+
<tr><th class="active">Organization</th><td>{{{field|Organization|property=Organization|autocomplete on namespace=Organization|placeholder=Specify the organization, if any, that manages this repository.|size=100}}}</td></tr>
+
<tr><th class="active">Homepage</th><td>{{{field|Homepage|property=Homepage|input type=text|placeholder=Specify a URL where you can get more information.|size=100}}}</td></tr>
+
<tr><th class="active">Source URI</th><td>{{{field|Source URI|property=Source URI|input type=text|placeholder=Paste the "git read-only" GitHub link for your repo (that someone would use to clone)|size=100}}}</td></tr>
+
{{TableEnd}}
+
{{{end template}}}
+
  
== Documentation ==
+
== Variables ==
  
Enter documentation or extended information for the repository below. If you need to add more complex wikitext, use the "Edit" button after saving this page, and enter your wiki text at the bottom. This allows you to provide rich documentation content for the repository.
+
{{file|name=/etc/portage/make.conf|lang=|desc=example make.conf variables|body=
 +
* CFLAGS="-march=amdfam10 -O2 -pipe"
 +
* CXXFLAGS="-march=amdfam10 -O2 -pipe"
 +
* INPUT_DEVICES="evdev"
 +
* VIDEO_CARDS="vesa nouveau"
 +
* MAKEOPTS="-j 2"
 +
* USE="mmx sse"
 +
* PYTHON_ABIS="2.7 3.3"
 +
* PYTHON_TARGETS="2.7 3.3"
 +
* RUBY_TARGETS="ruby21"
 +
* ACCEPT_LICENSE="*"
 +
}}
  
{{{standard input|free text|rows=30}}}
+
== Compile Packages in RAM ==
 +
To use tmpfs to unpack sources in ram:
  
{{{for template|RepositoryFooter}}}
+
{{file|name=/etc/portage/make.conf|lang=|desc=unpack sources in ram|body=
{{{end template}}}
+
PORTAGE_TMPDIR="/run"
 +
}}
  
{{{standard input|summary}}}
+
== Video_Cards ==
  
{{{standard input|minor edit}}} {{{standard input|watch}}}
+
several options for the video cards variable exist.  see [[Video]]
  
 +
== Makeopts ==
 +
MAKEOPTS can be used to define how many parallel compilations should occur when you compile a package, which can speed up compilation significantly. A rule of thumb is the number of CPUs (or CPU threads) in your system plus one. If for example you have a dual core processor without [[wikipedia:Hyper-threading|hyper-threading]], then you would set MAKEOPTS to 3:
  
{{{standard input|save}}} {{{standard input|preview}}} {{{standard input|changes}}} {{{standard input|cancel}}}
+
{{file|name=/etc/portage/make.conf|lang=|desc=set portage to use 3 threads|body=
 +
MAKEOPTS="-j3"
 +
}}
 +
 
 +
If you are unsure about how many processors/threads you have then use /proc/cpuinfo to help you.
 +
<console>
 +
(chroot) # ##i##grep "processor" /proc/cpuinfo | wc -l
 +
16
 +
</console>
 +
 
 +
Set MAKEOPTS to this number plus one:
 +
 
 +
{{file|name=/etc/portage/make.conf|lang=|desc=set portage to use 17 threads|body=
 +
MAKEOPTS="-j17"
 +
}}
 +
 
 +
USE flags define what functionality is enabled when packages are built. It is not recommended to add a lot of them during installation; you should wait until you have a working, bootable system before changing your USE flags. A USE flag prefixed with a minus ("<tt>-</tt>") sign tells Portage not to use the flag when compiling.  A Funtoo guide to USE flags will be available in the future. For now, you can find out more information about USE flags in the [http://www.gentoo.org/doc/en/handbook/handbook-amd64.xml?part=2&chap=2 Gentoo Handbook].
 +
 
 +
== Linguas ==
 +
LINGUAS tells Portage which local language to compile the system and applications in (those who use LINGUAS variable like OpenOffice). It is not usually necessary to set this if you use English. If you want another language such as French (fr) or German (de), set LINGUAS appropriately:
 +
 
 +
{{file|name=/etc/portage/make.conf|lang=|desc=set system language to french|body=
 +
LINGUAS="fr"
 +
}}
 +
 
 +
[[Category:System]]

Revision as of 02:41, September 24, 2014

What is the make.conf file? What is its purpose?

Make.conf is portage's and Funtoo's main configuration file. It contains many variables that define how a package will installed in a Funtoo system. You can customize portage internal variables, such as, portage tree location, sources tarball location, overlays, to name a few. You can customize hardware specs, such as TMPFS, disk limits, GCC compilation flags to achieve best performance, etc. A great deal of this customization is done through the make.conf file. This page will attempt to explain the uses of the make.conf file, different variables that can be added to it, and their uses.

Where does this file reside?

The make.conf file is found at /etc/portage/make.conf and /etc/make.conf though /etc/make.conf is its deprecated location.

to edit:

# nano /etc/portage/make.conf

Variables

/etc/portage/make.conf: example make.conf variables
* CFLAGS="-march=amdfam10 -O2 -pipe"
* CXXFLAGS="-march=amdfam10 -O2 -pipe"
* INPUT_DEVICES="evdev"
* VIDEO_CARDS="vesa nouveau"
* MAKEOPTS="-j 2"
* USE="mmx sse"
* PYTHON_ABIS="2.7 3.3"
* PYTHON_TARGETS="2.7 3.3"
* RUBY_TARGETS="ruby21"
* ACCEPT_LICENSE="*"

Compile Packages in RAM

To use tmpfs to unpack sources in ram:

/etc/portage/make.conf: unpack sources in ram
PORTAGE_TMPDIR="/run"

Video_Cards

several options for the video cards variable exist. see Video

Makeopts

MAKEOPTS can be used to define how many parallel compilations should occur when you compile a package, which can speed up compilation significantly. A rule of thumb is the number of CPUs (or CPU threads) in your system plus one. If for example you have a dual core processor without hyper-threading, then you would set MAKEOPTS to 3:

/etc/portage/make.conf: set portage to use 3 threads
MAKEOPTS="-j3"

If you are unsure about how many processors/threads you have then use /proc/cpuinfo to help you.

(chroot) # grep "processor" /proc/cpuinfo | wc -l
16

Set MAKEOPTS to this number plus one:

/etc/portage/make.conf: set portage to use 17 threads
MAKEOPTS="-j17"

USE flags define what functionality is enabled when packages are built. It is not recommended to add a lot of them during installation; you should wait until you have a working, bootable system before changing your USE flags. A USE flag prefixed with a minus ("-") sign tells Portage not to use the flag when compiling. A Funtoo guide to USE flags will be available in the future. For now, you can find out more information about USE flags in the Gentoo Handbook.

Linguas

LINGUAS tells Portage which local language to compile the system and applications in (those who use LINGUAS variable like OpenOffice). It is not usually necessary to set this if you use English. If you want another language such as French (fr) or German (de), set LINGUAS appropriately:

/etc/portage/make.conf: set system language to french
LINGUAS="fr"