Firefox est un navigateur autonome basé sur la base de code de Mozilla.
Ce paquet est connu pour se construire correctement sur une plateforme LFS-8.0.
Téléchargement (HTTP) : https://archive.mozilla.org/pub/firefox/releases/55.0.1/source/firefox-55.0.1.source.tar.xz
Somme de contrôle MD5 du téléchargement : 53debc4c7edfaf84b42f040872771d9d
Taille du téléchargement : 226 Mo
Estimation de l'espace disque requis : 5.9 Go (143 Mo installés)
Estimation du temps de construction : 17 SBU (avec parallélisme=4)
Correctif facultatif pour permettre de compiler avec la version du système de Graphite2-1.3.10 et HarfBuzz-1.4.8 - cela devrait être considéré expérimental http://www.linuxfromscratch.org/patches/blfs/svn/firefox-55.0.1-system_graphite2_harfbuzz-1.patch
          
            L'archive firefox-55.0.1.source.tar.xz se
            décompressera dans le répertoire firefox-55.0.1. Il réinitialisera
            aussi les permissions du répertoire courant à 0755 si vous avez
            la permission de faire cela. 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.
          
Autoconf-2.13, cargo-0.17.0, GTK+-3.22.18 et GTK+-2.24.31 (les deux), NSS-3.32, PulseAudio-10.0 (ou alsa-lib-1.1.4.1 si vous modifiez le mozconfig; maintenant rendu obsolète par mozilla), UnZip-6.0, yasm-1.3.0 et Zip-3.0
ICU-59.1, libevent-2.1.8, libvpx-1.6.1 et SQLite-3.20.0
          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é.
          
            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.13
            (après avoir installé OpenSSL-1.1.0f). La dernière révision de
            n'importe quelle version actuellement
            maintenue d'openssl devrait être satisfaisante si
            elle est déjà installée.
          
cURL-7.55.1, dbus-glib-0.108, Doxygen-1.8.13, GConf-3.2.6, FFmpeg-3.3.3 (à l'exécution), libwebp-0.6.0, OpenJDK-1.8.0.141, startup-notification-0.12, Valgrind-3.13.0, Wget-1.19.1, Wireless Tools-29, Hunspell, liboauth-1.0.3, libproxy et (avec le correctif) Graphite2-1.3.10 et HarfBuzz-1.4.8
Notes utilisateur : http://wiki.linuxfromscratch.org/blfs/wiki/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
# API Keys for geolocation APIs - necko-wifi (above) is required for MLS
# Uncomment the following line if you wish to use Mozilla Location Service
#ac_add_options --with-mozilla-api-keyfile=$PWD/mozilla-key
# Uncomment the following line if you wish to use Google's geolocaton API
# (needed for use with saved maps with Google Maps)
#ac_add_options --with-google-api-keyfile=$PWD/google-key
# Uncomment these lines if you have installed optional dependencies:
#ac_add_options --enable-system-hunspell
#ac_add_options --enable-startup-notification
# Uncomment the following option if you have not installed PulseAudio
#ac_add_options --disable-pulseaudio
# and uncomment this if you installed alsa-lib instead of PulseAudio
#ac_add_options --enable-alsa
# 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
# Optimization for size is broken with gcc7
ac_add_options --enable-optimize="-O2"
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 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. Cela s'assure aussi que les versions
          du système liées par libmozgtk.so
          correspondent à celles utilisées par libxul.so :
        
patch -Np1 -i ../firefox-55.0.1-system_graphite2_harfbuzz-1.patch
Si les API de géolocalisation sont nécessaires
echo "AIzaSyDxKL42zsPjbke5O8_rPVpVrLrJ8aeE9rQ" > google-key echo "d2284a20-0505-4927-a809-7ffaf4d91e55" > mozilla-key
          
            Si vous compilez Firefox en
            chroot, soyez certain d'avoir initialisé la variable
            d'environnement $SHELL ou passez
            SHELL=/bin/sh.
          
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-55.0.1 && mkdir -pv /usr/lib/mozilla/plugins && ln -sfv ../../mozilla/plugins /usr/lib/firefox-55.0.1/browser
          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-55.0.1/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.
        
          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-55.0.1/browser/icons/mozicon128.png \
        /usr/share/pixmaps/firefox.png
      Last updated on 2017-08-16 22:38:22 +0200