Portage (make.conf)

Sabayon Linux - Arquivo otimizador de compilação GCC em Portage Moderno (2015)

Categoria: Miscelânea

Software: Portage

[ Hits: 3.039 ]

Por: Alberto Federman Neto.


Este é o arquivo que o GCC usa para regular e otimizar a compilação de pacotes no Portage do Sabayon Linux.
Pode ser usado em Gentoo (mas simplifique muito as USE Flags).

Não use em Funtoo. Funtoo tem outro tipo de Portage, "Git Oriented".

Para Funtoo, veja as excelentes dicas e artigos do nosso amigo, aqui do VOL, Xerxes Lins:

http://www.vivaolinux.com.br/~xerxeslins/artigos/
http://www.vivaolinux.com.br/~xerxeslins/dicas/

Para usar, gravar o arquivo em /etc/portage/make.conf, ou, se seu Sabayon for uma instalação mais antiga, em /etc/make.conf.

Este já tem os espelhos atualizados até Junho de 2015 e é preparado para o Portage moderno, após 2014 (onde rsync é deprecado).
Para usar esse Portage moderno em Sabayon ou Gentoo, veja meu artigo:

https://edpsblog.wordpress.com/2015/06/12/sabayon-e-gentoo-modernizando-o-portage/

Este arquivo atual substitue todos estes, já antigos e obsoletos:

http://www.vivaolinux.com.br/etc/make.conf-3/
http://www.vivaolinux.com.br/etc/make.conf/
http://www.vivaolinux.com.br/etc/make.conf-2/
http://www.vivaolinux.com.br/topico/Gentoo-Linux/Novo-Espelho-Brasileiro-do-Gentoo


# Sabayon Linux. Arquivo para regular compilação GCC em Portage.

# These settings were set by the catalyst build script that automatically built this stage
# Please consult /etc/make.conf.example for a more detailed example

# modificado by albfneto, Brazil, 2015, V.7 <albfneto@fcfrp.usp.br>.

# Observação: Gravar em /etc/portage/make.conf, mas em Sabayons mais antigos e rolados, pode ser em /etc/make.conf.

# Compiler stuff

# Graphite Loop Optimization Engine, Sabayon usa, Gentoo, nem sempre:
GRAPHITE="-floop-interchange -ftree-loop-distribution -floop-strip-mine -floop-block"
# Only enable Graphite via package.env
# -ftree-vectorize ${GRAPHITE}"

# CFLAGS do GCC:
# Para identificar o processador automático, e boa
# qualidade de otimização (sem tornar a compilação muita lenta)
# deixar assim:
CFLAGS="-march=native -O2 -pipe -fomit-frame-pointer"
# Default CFLAGS, comentar:
# CFLAGS="-O2 -march=native -pipe"

# Identifica hardware, geralmente,não alterar, a não ser em casos especiais:
CHOST="x86_64-pc-linux-gnu"

# Outras FLAGS de otimização do GCC:
CXXFLAGS="${CFLAGS}"
# LDFLAGS. Em Gentoo, não se aconselha usar. Comentar, se não for usar.
LDFLAGS="-Wl,-O1 -Wl,--as-needed"

# Use um núcleo a mais que o seu processador tenha. Exemplo, para 8 núcleos:
MAKEOPTS="-j9 -s"

# Portage stuff

# Ramo Gentoo Instável, Rolling Release, 64 Bits. Em Sabayon, não use o Ramo estável:
ACCEPT_KEYWORDS="~amd64"
# Estável, só para Gentoo:
# ACCEPT_KEYWORDS="amd64"

# Portage Niceness. Para que seu Sabayon não fique lento, ao usar, enquanto compila. Use bastante,
# em máquinas pequenas. Quanto mais usar, mais lento fica o Portage e mais rápido em multitarefa.
# Sugestões de valores, 15 para comps lentos, 10-12 para uso Geral e 8 para comps Rápidos:
PORTAGE_NICENESS="10"

# Features Global. Para alterar, pesquise por Gentoo Features:
FEATURES="ccache parallel-fetch protect-owned splitdebug candy"

# CACHE:
CCACHE_SIZE="4G"
CCACHE_DIR="/var/ccache"

# Aceitar licenças automáticamente:
ACCEPT_LICENSE="*"

# Variáveis de Linguagem. Em Inglês, prefiro Inglês Britânico, porisso está assim:
LINGUAS="pt_BR.UTF-8 pt_BR.ISO8859-1 pt_BR.iso8859-1 pt_BR pt_PT pt en_GB en_US en"
# Classica para pt, eu usava antes:
#LINGUAS="pt_BR pt_PT pt"

# USE Flags, Sintaxe Moderna. Meu Sabayon é bem completo, usa muitas. Se não usar algo, tire.
# Para Gentoo, pode simplificar muito essas USE FLAGS:
## USE ARRAYS ##
SAB_BAD="-kdeprefix -arts -qt3 -beagle -gnome -evo -mono -eds -apm -oss -branding -esd"
SAB_MEDIA="musicbrainz nls sdl pulseaudio wmf fame cdr dvi mp3rtp xine cddb alsa dvb dvd network dvdread ipod audiofile artswrappersuid dvdr jack dri cdda mjpeg mmx joystick xvmc cpudetection v4l v4l2"
SAB_CODECS="x264 gsm lame dv mp3 stream live openal theora ogg a52 win32codecs amd64codecs matroska xvid flac ffmpeg aac speex real dts musepack"
SAB_SYSTEM="cjk unicode gnutls nptl gcj udev kerberos acl dbus bash-completion lzo rar policykit xcb bzip2 bidi wifi lm_sensors acpi usb pcmcia bluetooth irda ieee1394 perl python"
SAB_FILESYS="fat hfs jfs xfs ntfs reiserfs sysfs inotify"
SAB_PRINT="cups ppds foomatic-db gimpprint freetype xprint scanner"
SAB_XSYS="cairo X opengl png gif gtk qt4 qt3support xpm tiff xinerama aiglx svg gphoto2 dga lcd openexr"
SAB_DESKTOP="kdehiddenvisibility gmp libnotify rdesktop pda zeroconf kdeenablefinal visualization avahi startup-notification accessibility"
SAB_BROWSER="nsplugin firefox mozdevelop xulrunner"
SAB_COMMS="jabber msn yahoo icq irc aim rss slp mail imap"

USE="${SAB_BAD} ${SAB_MEDIA} ${SAB_CODECS} ${SAB_SYSTEM} ${SAB_FILESYS} ${SAB_PRINT} ${SAB_XSYS} ${SAB_DESKTOP} ${SAB_BROWSER} ${SAB_COMMS}"

# Dispositivos, ajuste para seu Hardware ou deixe geral:
## DEVICES ##
INPUT_DEVICES="evdev void"
VIDEO_CARDS="fbdev vesa radeon nvidia"
LIRC_DEVICES="audio audio_alsa serial pctv"
ALSA_CARDS="emu10k1x darla20 darla24 emu10k1 gina20 gina24 hdsp hdspm ice1712 indigo indigoio layla20 layla24 mia mixart mona pcxhr rme32 rme96 sb16 sbawe sscape usbusx2y vx222 usb-usx2y"
CAMERAS="agfa_cl20 casio_qv dimagev dimera3500 kodak_dc120 kodak_dc210 kodak_dc240 kodak_dc3200 kodak_ez200 konica_qm150 panasonic_coolshot panasonic_dc1000 panasonic_dc1580 panasonic_l859 polaroid_pdc320 polaroid_pdc640 polaroid_pdc700 ricoh_g3 sipix_blink sipix_blink2 sipix_web2 sony_dscf1 sony_dscf55 toshiba_pdrm11 adc65 aox barbie canon clicksmart310 digigr8 digita directory enigma13 fuji gsmart300 hp215 iclick jamcam jd11 konica largan lg_gsm mars mustek pccam300 pccam600 ptp2 ricoh samsung sierra smal sonix soundvision spca50x sq905 stv0674 stv0680 sx330z template"

# Para LibreOffice:
## OFFICE ##
LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer pdfimport wiki-publisher"

# Para Virtualização QEMU, comente, se não usar:
## QEMU ##
QEMU_USER_TARGETS="alpha arm armeb cris i386 m68k microblaze mips mipsel ppc ppc64 ppc64abi32 sh4 sh4eb sparc sparc32plus sparc64 x86_64"
QEMU_SOFTMMU_TARGETS="x86_64 arm cris i386 m68k microblaze mips mips64 mips64el mipsel ppc ppc64 ppcemb sh4 sh4eb sparc sparc64"

## PORTAGE CONFIG ##

# Proteções de Arquivos e Diretórios, para não alterar:
CONFIG_PROTECT="/usr/share/config/kdm /etc /etc/conf.d /etc/init.d /boot/grub"
CONFIG_PROTECT_MASK="/etc/skel"

##APACHE##
APACHE2_MPMS="prefork"
# Apache suEXEC default UMASK
# See bug 3544
SUEXEC_UMASK=022

# Para Fazer Pacotes para Gentoo e Sabayon, veja como:
# www. vivaolinux.com.br /artigo/ Como-criar-pacotes-para-o-Gentoo-ou-Sabayon-Linux
PKGDIR="/home/albfneto/PKGDIR"

# RSYNC é deprecado nos novos Portage (2014 para frente). Para usar nos novos Portage,
# deixe TODOS os SYNC comentados e veja:
# https: // edpsblog.wordpress.com/ 2015/ 06/ 12/ sabayon-e-gentoo-modernizando-o-portage/

# Se você usa Portage clássico, descomente apenas um dos SYNC:

# RSYNCs, Sincronização.
# O primeiro é da América Latina, depois Brasil, gerais e locais, e Gentoo geral, mas use apenas um e comente os outros:
# Sul-Americano:
# SYNC="rsync://rsync.samerica.gentoo.org/gentoo-portage"
# Brasileiros:
# SYNC="rsync://rsync.br.gentoo.org"
# SYNC="rsync://rsync1.br.gentoo.org/"
# SYNC="rsync://rsync2.br.gentoo.org/"
# SYNC="rsync://gentoo.c3sl.ufpr.br/gentoo/"
# Oficial Mundial:
# SYNC="rsync://rsync.gentoo.org/"

# Mirrors do Gentoo Atualizados até 26 de Junho de 2015.
# Pela ordem de uso preferencial: Brasil: (atuais ativos: UNICAMP, LINORG(CIAGRI de Piracicaba), UFPR)
#depois:
# Argentina e Portugal (Espelhos Americanos Internacionais IBIBLIO deprecados)
# Se preferir outros espelhos, veja:
# https: // gentoo.org/ downloads/ mirrors/
# https:// gentoo.org/ support/ rsync-mirrors/
# e modifique.
# Também pode selecionar os espelhos com o comando "mirrorselect":
# https:// wiki.gentoo.org/ wiki/ GENTOO_MIRRORS

GENTOO_MIRRORS="ftp://ftp.las.ic.unicamp.br/pub/gentoo/
 http://www.las.ic.unicamp.br/pub/gentoo/
 http://www.linorg.ciagri.usp.br/gentoo/
 ftp://gentoo.c3sl.ufpr.br/gentoo/
 http://gentoo.c3sl.ufpr.br/
 ftp://mirrors.localhost.net.ar/pub/mirrors/gentoo
 http://gentoo.localhost.net.ar/
 ftp://ftp.rnl.tecnico.ulisboa.pt/pub/gentoo/gentoo-distfiles/
 http://ftp.rnl.tecnico.ulisboa.pt/pub/gentoo/gentoo-distfiles/
 ftp://ftp.dei.uc.pt/pub/linux/gentoo/
 http://ftp.dei.uc.pt/pub/linux/gentoo/"

# Só para desenvolvedores do Sabayon. Deixe comentado
# Icecream setup
#PREROOTPATH="/usr/lib/ccache/bin:/usr/lib/icecc/bin"

# manter compatibilidade do que foi escrito em Python 3 (Sabayon não usa Python 3)
# Avoids python.eclass to compile stuff for Python 3
USE_PYTHON="2.7"
PYTHON_TARGETS="python2_7"

# PHP e Ruby:
# Some more forced targets
PHP_TARGETS="php5-3"
RUBY_TARGETS="ruby19"

# Set PORTDIR for backward compatibility with various tools:
#   gentoo-bashcomp - bug #478444
#   euse - bug #474574
#   euses and ufed - bug #478318
PORTDIR="/usr/portage"

# Dirs do Layman para Overlays:
# Alternativo, Overlay local:
# PORTDIR_OVERLAY="/usr/portage"
# Dir Layman Normal:
 PORTDIR_OVERLAY="/var/lib/layman"

# Deixe comentado para Portage Novo:
# https: // edpsblog.wordpress.com/ 2015/ 06/ 12/ sabayon-e-gentoo-modernizando-o-portage/

# Se você usa Portage clássico, descomente:
# If you have added overlays with layman, this line must be below the PORTDIR_OVERLAY line:
# source /var/lib/layman/make.conf
  


Comentários
[1] Comentário enviado por albfneto em 23/07/2015 - 15:17h

COMPLEMENTOS:

Depois que edita ou troca o make.conf, você precisar atualizar para que ele atue. Execute estes comandos, na ordem:

# emerge --sync
# emerge -av --oneshot --newuse (ou -N) portage
$ eselect profile list
# eselect profile set NUMERO DO PERFIL ESCOLHIDO (Eu uso Desktop, mas muitos usam perfis com segurança, hardened)
# env-update
$ source /etc/profile (em Sabayon, NÂO execute como Root)
¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
Albfneto,
Ribeirão Preto, S.P., Brasil.
Usuário Linux, Linux Counter: #479903.
Distros Favoritas: [i] Sabayon, Gentoo, OpenSUSE, Mageia e OpenMandriva[/i].

[2] Comentário enviado por visterine em 16/02/2016 - 22:34h

Albfneto,
esse arquivo está atualizado para o Sabayon?

[3] Comentário enviado por visterine em 20/02/2016 - 11:43h

Usei esse aqui https://www.vivaolinux.com.br/etc/makeconfamd64, está funcionando de boa.


Contribuir com comentário

  



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts