Advertisement
Guest User

Untitled

a guest
Oct 15th, 2015
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 2.54 KB | None | 0 0
  1. cat ->> /etc/portage/env/fffaster.conf <<'EOF'
  2. CORES="2"
  3. #FLAGS_BROKEN="-fno-unswitch-loops -fno-tree-loop-im"
  4.  
  5. FLAGS_LTO="-flto=${CORES}"
  6. FLAGS_FFFAST="-O3 ${FLAGS_LTO} ${FLAGS_BROKEN}"
  7.  
  8. CFLAGS="${CFLAGS} ${FLAGS_FFFAST}"
  9. CXXFLAGS="${CXXFLAGS} ${FLAGS_FFFAST}"
  10. LDFLAGS="${LDFLAGS} ${FLAGS_LTO}"
  11.  
  12. AR="gcc-ar"
  13. NM="gcc-nm"
  14. RANLIB="gcc-ranlib"
  15. EOF
  16.  
  17. cat ->> /etc/portage/env/nosandbox.conf <<'EOF'
  18. FEATURES="-sandbox -usersandbox"
  19. EOF
  20.  
  21. cat ->> /etc/portage/package.env/fffaster.env <<'EOF'
  22. www-client/firefox      nosandbox.conf fffaster.conf
  23. EOF
  24.  
  25. cat ->> /etc/portage/bashrc <<'EOF'
  26. # export I_KNOW_WHAT_I_AM_DOING="no"
  27.  
  28. if [ "${EBUILD_PHASE}" == "postinst" ]; then
  29.     if [ -n "${_GENERATING_PROFILE_ROOT}" ]; then
  30.         install -o portage -g portage "${_GENERATING_PROFILE_ROOT}/.is_generated"
  31.     fi
  32.     if [ -n "${_COMPILING_PROFILE_ROOT}" ]; then
  33.         install -o portage -g portage "${_COMPILING_PROFILE_ROOT}/.is_compiled"
  34.     fi
  35. fi
  36. EOF
  37.  
  38. cat ->> /etc/portage/env/profile.run <<'EOF'
  39. if ! echo "${CFLAGS} ${CXXFLAGS} ${LDFLAGS}" | \
  40.    grep -E '\-f(no\-)?profile' >/dev/null; then
  41.  
  42.     FEATURES="-usersandbox"  # does not work
  43.  
  44.     PROFILE_ROOT="/etc/portage/env/profiles/${PN}/${PVR}"
  45.     PROFILE_SUFFIX="_e1/_e2/_e3"
  46.     PROFILE_DIR="${PROFILE_ROOT}/${PROFILE_SUFFIX}"
  47.  
  48.     PROFILE_USE="-fprofile-dir=\"${PROFILE_DIR}\" -fprofile-use -fprofile-correction"
  49.     PROFILE_GEN="-fprofile-dir=\"${PROFILE_DIR}\" -fprofile-generate -fno-lto"
  50.     # ^ saves bugs and memory (4.9.1)
  51.     # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=45375#c31
  52.  
  53.     if [ ! -d "${PROFILE_DIR}" ]; then
  54.         mkdir -p "${PROFILE_DIR}"
  55.     fi
  56.  
  57.     if [ -e "${PROFILE_ROOT}/.is_generated" ]; then
  58.         chown -R root:root "${PROFILE_ROOT}"
  59.         chmod -R ug+rw,o-w+r "${PROFILE_ROOT}"
  60.  
  61.         export _COMPILING_PROFILE_ROOT="${PROFILE_ROOT}"
  62.         CFLAGS="${CFLAGS} ${PROFILE_USE}"
  63.         CXXFLAGS="${CXXFLAGS} ${PROFILE_USE}"
  64.         LDFLAGS="${LDFLAGS} ${PROFILE_USE}"
  65.     else
  66.         chown -R portage:users "${PROFILE_ROOT}"
  67.         chmod -R ug+rw,o-rwx "${PROFILE_ROOT}"
  68.  
  69.         export _GENERATING_PROFILE_ROOT="${PROFILE_ROOT}"
  70.         CFLAGS="${CFLAGS} ${PROFILE_GEN}"
  71.         CXXFLAGS="${CXXFLAGS} ${PROFILE_GEN}"
  72.         LDFLAGS="${LDFLAGS} ${PROFILE_GEN}"
  73.     fi
  74. fi
  75. EOF
  76.  
  77. chmod +x /etc/portage/env/profile.run
  78. mkdir -p /etc/portage/env/www-client/
  79. ln -s /etc/portage/env/profile.run /etc/portage/env/www-client/firefox
  80.  
  81. emerge -1v firefox
  82.  
  83. # use firefox for a while, it will be slow as hell, then
  84. # emerge -1v firefox again
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement