Thunderbird est un client autonome de mail/news basé sur le code source de Mozilla. Il utilise le moteur de rendement Gecko afin d'afficher et d'écrire des courriels HTML
This package is known to build and work properly using an LFS 12.0 platform.
Téléchargement (HTTP) : https://archive.mozilla.org/pub/thunderbird/releases/115.2.0/source/thunderbird-115.2.0.source.tar.xz
Somme de contrôle MD5 : 71242ab653ce087d137ccc1b3c6bdeb3
Taille du téléchargement : 507 Mo
Estimation de l'espace disque requis : 6,7 Go (236 Mo installés)
Estimation du temps de construction : 22 SBU (sur une machine à 4 cœurs)
Cbindgen-0.24.3, dbus-glib-0.112, GTK+-3.24.38, LLVM-16.0.5 avec clang, nodejs-18.17.1, PulseAudio-16.1 (ou alsa-lib-1.2.9 si vous modifiez le mozconfig, bien qu'il soit maintenant considéré obsolète par mozilla), Python-3.11.4 (reconstruit avec le module sqlite), startup-notification-0.12, Zip-3.0 et UnZip-6.0
libevent-2.1.12, libvpx-1.13.0, NASM-2.16.01, NSPR-4.35 et nss-3.92
Si vous n'installez pas les dépendances recommandées, alors des copies internes de ces paquets seront utilisés. Elles sont certes testées pour fonctionner, mais elles peuvent être dépassées et contenir des trous de sécurité.
pciutils-3.10.0 (à l'exécution), Wget-1.21.4, Wireless Tools-29 et watchman
Notes des rédacteurs : https://wiki.linuxfromscratch.org/blfs/wiki/Thunderbird
Le processus de construction pour Thunderbird peut utiliser plus de 8 Go de RAM lors de l'édition des liens. Assurez-vous que vous avez assez de swap ou de RAM avant de continuer.
La configuration de Thunderbird
est réalisée en créant un fichier mozconfig
contenant les options de configuration
désirées. Un mozconfig
par défaut est
créé plus bas. Pour voir la liste complète des options de
configuration disponibles (et une brève description de chacune),
lancez ./mach configure --help |
less. Créez le fichier avec la commande
suivante :
cat > mozconfig << "EOF"
# If you have a multicore machine, all cores will be used.
# If you have installed wireless-tools comment out this line:
ac_add_options --disable-necko-wifi
# Uncomment the following option if you have not installed PulseAudio
#ac_add_options --enable-audio-backends=alsa
# Comment out following options if you have not installed
# recommended dependencies:
ac_add_options --with-system-libevent
ac_add_options --with-system-libvpx
ac_add_options --with-system-nspr
ac_add_options --with-system-nss
# The elf-hack causes failed installs on some machines.
# It is supposed to improve startup time and it shrinks libxul.so
# by a few MB - comment this if you know your machine is not affected.
ac_add_options --disable-elf-hack
# The BLFS editors recommend not changing anything below this line:
ac_add_options --prefix=/usr
ac_add_options --enable-application=comm/mail
ac_add_options --disable-crashreporter
ac_add_options --disable-updater
ac_add_options --disable-debug
ac_add_options --disable-debug-symbols
ac_add_options --disable-tests
ac_add_options --enable-optimize=-O2
ac_add_options --enable-linker=gold
ac_add_options --enable-strip
ac_add_options --enable-install-strip
ac_add_options --enable-official-branding
ac_add_options --enable-system-ffi
ac_add_options --enable-system-pixman
ac_add_options --with-system-jpeg
ac_add_options --with-system-png
ac_add_options --with-system-zlib
# Using sandboxed wasm libraries has been moved to all builds instead
# of only mozilla automation builds. It requires extra llvm packages
# and was reported to seriously slow the build. Disable it.
ac_add_options --without-wasm-sandboxed-libraries
EOF
Corrigez un problème qui arrive si vous construisez avec GCC-13 :
sed -e '/<exception>/i#include <cstdint>' \ -i comm/third_party/rnp/src/libsexp/include/sexp/sexp-error.h
Maintenant invoquez le script Python mach pour compiler Thunderbird :
Si vous compilez ce paquet dans un chroot vous devez faire deux
choses. Tout d'abord, en tant qu'utilisateur root
, assurez-vous que /dev/shm
est monté. Si vous ne le faites pas,
la configuration en Python
échouera avec une trace faisant référence à /usr/lib/pythonN.N/multiprocessing/synchronize.py
.
Lancez :
mountpoint -q /dev/shm || mount -t tmpfs devshm /dev/shm
Deuxièmement, vous devez soit exporter en tant qu'utilisateur
root
la variable d'environnement
$SHELL
avec export SHELL=/bin/sh, soit
rajouter SHELL=/bin/sh
devant
l'invocation de la commande configure.
export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=none && export MOZBUILD_STATE_PATH=./mozbuild && ./mach configure && ./mach build
Ce paquet n'a pas de suite de tests.
Installez Thunderbird en exécutant
les commandes suivantes en tant qu'utilisateur root
:
MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=none ./mach install
Videz les variables d'environnement qui ont été définies plus haut :
unset MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE MOZBUILD_STATE_PATH
MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=none : utilise le python du système pour créer un environnement virtuel pour mach sans télécharger de wheel python ni utiliser les modules python du système. Cela évite des incohérences de versions entre les modules systèmes et ceux embarqués.
./mach
configure : ceci valide les dépendances
fournies et le mozconfig
.
./mach build --verbose
: utilisez
cette alternative si vous voulez des détails sur les fichiers
compilés, avec les drapeaux C ou C++ utilisés.
./mach build -jN
: la construction
devrait, par défaut, utiliser tous les cœurs de CPU en ligne. Si
utiliser tous les cœurs fait utiliser l'espace d'échange à la
construction parce que vous n'avez pas asse de mémoire, utiliser
moins de cœurs peut être plus rapide.
: BLFS préférait utiliser gcc et g++ au
lieu des programmes clang par
défaut en amont. Avec la publication de gcc-12 la construction est
plus longue avec gcc et g++, surtout à cause d'avertissements
supplémentaires, et est plus grosse. Paramétrez ces variables
d'environnement avant de lancer le
script configure si vous voulez continuer à utiliser
gcc et g++. La construction avec GCC sur i?86 est actuellement
cassée.
CC=gcc
CXX=g++
Si votre gestionnaire de bureau ou de fenêtre ne vous permet pas de configurer un navigateur par défaut, vous pouvez ajouter un paramètre de configuration à Thunderbird pour qu'un navigateur démarre lorsque vous cliquez sur une URL Internet/intranet/locale. La procédure pour vérifier ou modifier tout paramètre de configuration est plutôt simple et les instructions présentées ici peuvent être utilisées pour voir ou modifier n'importe quel paramètre.
Commencez par ouvrir la fenêtre de configuration en ouvrant le menu déroulant « Edit ». Choisissez « Préferences » puis défilez vers le bas de la page. Ensuite, cliquez sur le bouton « Éditeur de configuration ». Cliquez sur le bouton « J'accepte le risque ! ». Ceci affichera une liste des préférences de configuration et des informations liées à chacune. Vous pouvez utiliser la barre « Filtrer : » pour saisir des critères de recherche et réduire le nombre d'entrées listées. Changer une préférence se fait de deux manières. La première, si la préférence est une valeur booléenne (Vrai/Faux), consiste à double-cliquer simplement sur la préférence pour inverser la valeur et la deuxième, pour les autres préférences consiste en un clic-droit sur la ligne voulue, à choisir « Modifier » dans le menu et à changer la valeur. Créez une nouvelle entrée de préférence de la même manière, sauf que vous choisirez « Nouveau » dans le menu et que vous fournirez les données désirées dans les champs quand demandé.
L'entrée de préférence que vous devez vérifier pour que
Thunderbird utilise un
navigateur spécifique est network.protocol-handler.app.http
qui devrait contenir le chemin du navigateur désiré, par exemple
/usr/bin/firefox
.
Si vous utilisez un environnement de bureau comme GNOME ou KDE, un fichier desktop thunderbird.desktop
peut être créé pour inclure
une entrée « Thunderbird » dans les
menus. Lancez les commandes suivantes en tant qu'utilisateur
root
:
mkdir -pv /usr/share/{applications,pixmaps} &&
cat > /usr/share/applications/thunderbird.desktop << "EOF" &&
[Desktop Entry]
Name=Thunderbird Mail
Comment=Send and receive mail with Thunderbird
GenericName=Mail Client
Exec=thunderbird %u
Terminal=false
Type=Application
Icon=thunderbird
Categories=Network;Email;
MimeType=text/html;text/xml;application/xhtml+xml;application/xml;application/rss+xml;x-scheme-handler/mailto;
StartupNotify=true
EOF
ln -sfv /usr/lib/thunderbird/chrome/icons/default/default256.png \
/usr/share/pixmaps/thunderbird.png