Firefox-48.0.2

Introduction à Firefox

Firefox est un navigateur autonome basé sur la base de code de Mozilla.

This package is known to build and work properly using an LFS-7.10 platform.

Informations sur le paquet

Téléchargements supplémentaires

[Note]

Note

L'archive firefox-48.0.2.source.tar.xz se décompressera dans le répertoire firefox-48.0.2. Cependant, si vous le faites dans un répertoire où le droit sticky est activé, comme /tmp l'opération se terminera avec les messages d'erreur :

tar: .: Cannot utime: Operation not permitted
tar: .: Cannot change mode to rwxr-xr-t: Operation not permitted
tar: Exiting with failure status due to previous errors

Elle termine avec un statut différent de zéro, mais cela ne signifie PAS qu'il y a un vrai problème. Ne décompressez pas en tant que root dans un répertoire où le droit sticky est activé - cela le désactiverait.

Dépendances de Firefox

Requises

alsa-lib-1.1.2, Autoconf-2.13, GTK+-3.20.9 (ou GTK+-2.24.30 si vous changez le mozconfig comme indiqué), NSS-3.26, UnZip-6.0, yasm-1.3.0 et Zip-3.0

Recommandées

[Note]

Note

Si vous n'installez pas les dépendances recommandées, alors les versions internes de ces paquets seront utilisés. Elles peuvent être testées pour fonctionner, mais elles peuvent être dépassées ou contenir des trous de sécurité.

[Note]

Note

Avec firefox-31.0 et les versions supérieures, vous devez installer Openssl avant Python 2, ou le système de construction échouera rapidement avec la sortie "ImportError: cannot import name HTTPSHandler". Si vous avec un doute à propos de cela (Par exemple la mise à jour depuis une version ancienne de firefox), vérifiez si /usr/lib/python2.7/lib-dynload/_ssl.so existe. S'il n'existe pas, réinstallez Python-2.7.12 (après avoir installé OpenSSL-1.0.2h). La dernière révision de n'importe quelle version actuellement maintenue d'openssl devrait être satisfaisante si elle est déjà installée.

Facultatives

cURL-7.50.1, dbus-glib-0.106, Doxygen-1.8.11, GConf-3.2.6, FFmpeg-3.1.3 (exécution), libwebp-0.5.1, OpenJDK-1.8.0.102, PulseAudio-9.0, startup-notification-0.12, Valgrind-3.11.0, Wget-1.18, Wireless Tools-29, Hunspell, liboauth, and libproxy, Rust et (avec le correctif) Graphite2-1.3.8 et HarfBuzz-1.3.0

Notes utilisateur : http://wiki.linuxfromscratch.org/blfs/wiki/firefox

Installation de Firefox

La configuration de Firefox se fait en créant un fichier mozconfig contenant les options de configuration désirées. Un mozconfig par défaut est créé ci-dessous. Pour voir toute la liste des options de configuration disponibles, (et une description abrégée de chacune), faites ./configure --help. Il se peut que vous vouliez aussi relire tout le fichier et dé-commenter les autres options souhaitées. Créez le fichier en tapant la commande suivante :

cat > mozconfig << "EOF"
# If you have a multicore machine, all cores will be used by default.
# If desired, you can reduce the number of cores used, e.g. to 1, by
# uncommenting the next line and setting a valid number of CPU cores.
#mk_add_options MOZ_MAKE_FLAGS="-j1"

# If you have installed DBus-Glib comment out this line:
ac_add_options --disable-dbus

# If you have installed dbus-glib, and you have installed (or will install)
# wireless-tools, and you wish to use geolocation web services, comment out
# this line
ac_add_options --disable-necko-wifi

# Uncomment this option if you wish to build with gtk+-2
#ac_add_options --enable-default-toolkit=cairo-gtk2

# Uncomment these lines if you have installed optional dependencies:
#ac_add_options --enable-system-hunspell
#ac_add_options --enable-startup-notification

# Comment out following option if you have PulseAudio installed
ac_add_options --disable-pulseaudio

# If you have installed GConf, comment out this line
ac_add_options --disable-gconf

# Comment out following options if you have not installed
# recommended dependencies:
ac_add_options --enable-system-sqlite
ac_add_options --with-system-libevent
ac_add_options --with-system-libvpx
ac_add_options --with-system-nspr
ac_add_options --with-system-nss
ac_add_options --with-system-icu

# If you are going to apply the patch for system graphite
# and system harfbuzz, uncomment these lines:
#ac_add_options --with-system-graphite2
#ac_add_options --with-system-harfbuzz

# Stripping is now enabled by default.
# Uncomment these lines if you need to run a debugger:
#ac_add_options --disable-strip
#ac_add_options --disable-install-strip

# The BLFS editors recommend not changing anything below this line:
ac_add_options --prefix=/usr
ac_add_options --enable-application=browser

ac_add_options --disable-crashreporter
ac_add_options --disable-updater
ac_add_options --disable-tests

ac_add_options --enable-optimize

ac_add_options --enable-gio
ac_add_options --enable-official-branding
ac_add_options --enable-safe-browsing
ac_add_options --enable-url-classifier

# From firefox-40, using system cairo causes firefox to crash
# frequently when it is doing background rendering in a tab.
#ac_add_options --enable-system-cairo
ac_add_options --enable-system-ffi
ac_add_options --enable-system-pixman

ac_add_options --with-pthreads

ac_add_options --with-system-bz2
ac_add_options --with-system-jpeg
ac_add_options --with-system-png
ac_add_options --with-system-zlib

mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/firefox-build-dir
EOF

Compilez Firefox en lançant les commandes suivantes :

Si vous utilisez gtk+-3.20 ou supérieur, appliquez le correctif pour restaurer le curseur sur les barres de défilement :

patch -Np1 -i ../firefox-48.0.2-gtk320-1.patch

Si vous avez installé les versions du système de graphite2 et harfbuzz et souhaitez que firefox les utilise à la place de ses versions embarquées, appliquez le correctif et dé-commentez les entrées appropriées du fichier mozconfig :

patch -Np1 -i ../firefox-48.0.2-system_graphite2_harfbuzz-2.patch
[Note]

Note

Si vous compilez Firefox en chroot, soyez certain d'avoir initialisé la variable d'environnement $SHELL ou passez SHELL=/bin/sh.

export CFLAGS_HOLD=$CFLAGS &&
export CXXFLAGS_HOLD=$CXXFLAGS &&
export CFLAGS+=" -fno-delete-null-pointer-checks -fno-lifetime-dse -fno-schedule-insns2" &&
export CXXFLAGS+=" -fno-delete-null-pointer-checks -fno-lifetime-dse -fno-schedule-insns2" &&

make -f client.mk

Ce paquet n'est pas fourni avec une suite de tests.

Maintenant, en tant qu'utilisateur root :

make -f client.mk install INSTALL_SDK= &&
chown -R 0:0 /usr/lib/firefox-48.0.2   &&

mkdir -pv    /usr/lib/mozilla/plugins  &&
ln    -sfv   ../../mozilla/plugins /usr/lib/firefox-48.0.2/browser

Redéfinissez les variables d'environnement à leur valeur initiale :

export CFLAGS=$CFLAGS_HOLD     &&
export CXXFLAGS=$CXXFLAGS_HOLD &&
unset CFLAGS_HOLD CXXFLAGS_HOLD

Explication des commandes

CFLAGS= ... CXXFLAGS= ... : Ces paramètres contournent le fait que gcc6 considérerait que du code ne respecte pas la spécification et lui permet de construire un programme fonctionnel.

make -f client.mk ... : Les produits Mozilla sont empaquetés pour permettre l'utilisation d'un fichier de configuration qui peut être utilisé pour passer les paramètres de configuration à la commande configure. make utilise le fichier client.mk pour avoir la configuration initiale et régler les paramètres et la configuration de départ.

mkdir -p /usr/lib/mozilla/plugins : Vérifie que /usr/lib/mozilla/plugins existe.

ln -sv ... /usr/lib/firefox-48.0.2/browser : Cette commande crée un lien symbolique vers /usr/lib/mozilla/plugins. Il n'est pas vraiment nécessaire, comme Firefox vérifie /usr/lib/mozilla/plugins par défaut, mais le lien symbolique est fait pour garder tous les greffons installés dans un seul dossier.

Configuration de Firefox

Si vous utilisez un environnement de bureau comme Gnome ou KDE vous pourriez souhaiter créer un fichier firefox.desktop pour que Firefox apparaisse dans les menus du bureau. Si vous n'avez pas activé startup-notification (notification de démarrage) dans votre mozconfig, modifiez la ligne StartupNotify en false. En tant qu'utilisateur root :

mkdir -pv /usr/share/applications &&
mkdir -pv /usr/share/pixmaps &&

cat > /usr/share/applications/firefox.desktop << "EOF" &&
[Desktop Entry]
Encoding=UTF-8
Name=Firefox Web Browser
Comment=Browse the World Wide Web
GenericName=Web Browser
Exec=firefox %u
Terminal=false
Type=Application
Icon=firefox
Categories=GNOME;GTK;Network;WebBrowser;
MimeType=application/xhtml+xml;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+xml;text/mml;x-scheme-handler/http;x-scheme-handler/https;
StartupNotify=true
EOF

ln -sfv /usr/lib/firefox-48.0.2/browser/icons/mozicon128.png \
        /usr/share/pixmaps/firefox.png

Contenu

Programmes installés: firefox
Bibliothèques installées: De nombreuses bibliothèques, composants du navigateur, greffons, extensions et modules d'aide dans /usr/lib/firefox-48.0.2
Répertoire installé: /usr/lib/firefox-48.0.2

Descriptions courtes

firefox

est un navigateur internet GTK+ 3 qui utilise le moteur de rendu Mozilla Gecko.

Last updated on 2016-09-02 10:57:33 +0200