Differences between revisions 18 and 19
Revision 18 as of 2017-03-19 07:03:09
Size: 14757
Comment: Adding the Thunderbird logo
Revision 19 as of 2017-03-19 07:05:36
Size: 14756
Comment: Decrease the logo size to 64x64
Deletions are marked like this. Additions are marked like this.
Line 5: Line 5:
{{attachment:tb-logo128.png|Thunderbird Logo}} {{attachment:tb-logo64.png|Thunderbird Logo}}

Translation(s): English

Thunderbird Logo

Thunderbird is an email/news/chat client with a possible RSS feed aggregation developed by Mozilla.

In the past, Debian had to provide Icedove, a rebranded version of Thunderbird, due to trademark issues. By now the issues have been resolved (#816679) and the thunderbird package is available for Debian unstable.

Migration from Icedove

Switching package names

By the functionality of transitional packages the user will automatically get installed the dependent respective Thunderbird packages. So there is no special action needed to get Thunderbird installed, it works automatically. In detail the following changes were made to the packages:

Changes due Icedove to Thunderbird De-branding

old package

replaced by




Thunderbird Main application



Thunderbird Development files



Thunderbird with debugging symbols



Lightning, aka Calendar for Thunderbird



l10n localization packages for Thunderbird



l10n localization packages for Lightning


There is no transitional or new package.

After any automatic installation of thunderbird related packages (marked replaced by in the above table) you can simply remove the old icedove related packages (marked old package in the above table). The transitional packages doesn't have any working "thing" inside except to pull the dependent thunderbird package.

Adoption of User Profiles (Testing/Stretch)

The Thunderbird application uses a different folder for the user profiles than Icedove. The profiles are collected in ~/.thunderbird, Icedove was using ~/.icedove. Because of this the user profiles need to be adopted. The Thunderbird package comes with a wrapper script in /usr/bin/thunderbird what will do the users profile adoption (if possible). It will be triggered automatically if a user is calling thunderbird from a CLI or via the desktop file. The script will do the following things.

  • 1. Check if there is no folder or symlink named ~/.thunderbird .

  • 2. Inform the user that a adoption of the exciting Icedove profile will happen.
  • 3. Create a symlink from ~/.thunderbird ~/.icedove .

  • 4. Fixup the MIME associations in ~/.thunderbird/$profile(s)/mimeTypes.rdf .

    • Change associations of /usr/bin/iceweasel to /usr/bin/x-www-browser and icedove to thunderbird after a backup was created.

  • 5. Backup and fixup ${HOME}/.config/mimeapps.list and ${HOME}/.local/share/applications/mimeapps.list in case they contain entries like userapp-Icedove-*.desktop .

  • 6. List created backup files.

This steps from above will cover most of the typical users, but some users may have a slightly different environment.

Other environments with other folder structures

Some users may using a advanced setup in their home directory. The following two other possibilities of folders and symlinks will be detected and cause no trouble.

  • There is a symlink ~/.icedove that is pointing to a folder ~/.thunderbird .

This will of course work as Thunderbird is detecting the folder ~/.thunderbird with the profile(s) in there. You can probably remove ~/.icedove as Thunderbird doesn't care about that symlink. In case you want to share booth profile locations please only use one dedicated Icedove or Thunderbird version! Otherwise one day you will get in trouble as Icedove and Thunderbird are writing version information into the working profile, this will break at least your local installed extensions one day!

  • There is a symlink ~/.thunderbird that is pointing to a folder ~/.icedove .

Well, if yo have used this in past every thing is also fine now. This is exact the constellation the wrapper script is now creating to let Thunderbird find a folder ~/.thunderbird that is pointing to valid profile(s) data. The wrapper script will detect if the fixups for MIME associations and the *.desktop files are needed and changes those with a created backup before doing so.

  • There is a folder or symlink ~/.icedove and there is a folder or symlink ~/.thunderbird which doesn't pointing in a direct way to each other.

This situation can't be handled by the wrapper script, we can't know which folder should be used and the wrapper is showing a error screen. The assumption is here that such user know what to do to solve such a constellation. If there is any solution created as described above the wrapper script is also doing the fixups if needed within the first run.

I run into trouble!

Don't panic, no data will be lost, never! In case nothing is visible happen than please start the wrapper script from a CLI by the argument --verbose

$ thunderbird --verbose

This will turn on a verbose mode which will show some more information about things that probably going wrong. In case you need help please open a bug report with a log of the command.

I need one of the backup files

The wrapper script ha a option to show created backup files, use the argument --show-backup. This can be also combined with --verbose to see more about what's happen here. The wrapper will show possible files and exists afterwards.

$ thunderbird --show-backup
# or
$ thunderbird --show-backup --verbose

System wide Configurations

This part is mostly interesting for system admins or people who need to migrate some global Icedove setting to global Thunderbird settings.

The Icedove package was allowing some system wide setup of variables for running Icedove by modifying the file /etc/icedove/pref/icedove.js or adding own files here with a *.js extension. All files here are also being migrated to the Thunderbird package and the respective folder /etc/thunderbird/pref. So if a sysadmin or user has placed some modified files here they will be moved into the new directory. One exception, a modified file /etc/icedove/pref/icedove.js is gone moved to /etc/thunderbird/pref/icedove.js.dpkg-backup and need to be adopted by the user into place.

Possible Issues

Happily not much yet. It may happen that href links are still not working after the migration. The user probably has done some own "tuning" of Mime file association, any help here is appreciated to find the reason for that behavior. Please fill a bug report than.

AppArmor profile

Icedove/Thunderbird in Debian now ships an AppArmor profile! AppArmor is a Mandatory Access Control framework. When enabled, AppArmor confines programs according to a set of rules that specify what files a given program can access. This proactive approach helps protect the system against both known and unknown vulnerabilities. If AppArmor is enabled on your computer, the program will be confined. This should not lead to misbehaviour, but if it does, please try to follow the documentation available here: AppArmor/Debug to help debug the profile.

It's always great if you can provide patches and modifications to this AppArmor profile! However, we'd prefer that you send these patches upstream first. This way, they will get reviewed. Please see the corresponding documentation: AppArmor/Contribute/Upstream

Please contact the AppArmor team for detailed questions not covered by the documentation.

De-branding of Icedove (and related packages)

To get Thunderbird back in Debian we need to de-brand the existing src:icedove package. Debian and Mozilla have been acknowledged to refuse the issues about the branding of Thunderbird inside the Debian repositories. There is a Bugreport (816679) that will collect the whole steps and reports for Icedove. It's mainly based on the de-branding of Iceweasel to Firefox (815006).

It was and is planned to switch all Icedove versions to Thunderbird above the whole archive while the increase of one version. Thanks to the security team we can do this as new binary packages for Thunderbird will be accepted. The LTS team will adopt this behavior for the Wheezy release. Also the release team is agreeing to release Stretch with Thunderbird packages and move the Icedove package into transitional packages.

Tasks for the De-Branding

The de-branding is a complex thing and we can't overview yet which side effects will be visible later, unfortunately we can't do a hard and quick switch in one go. The first steps for the de-branding was going to start at the end of spring 2016. The following tasks are known to be needed and visible by the current status.

  • (./) Remove the name branding on iceowl-l10n packages

    • (./) Switch to packages named "lightning-l10n*"

    • (./) Add transitional packages for "iceowl-l10n*"

  • (./) Remove the name branding on icedove.l10n packages

    • (./) Switch to packages named "thunderbird-l10n*"

    • (./) Add transitional packages for "icedove-l10n*"

  • (./) Remove iceowl branding around/inside iceowl-extension package

    • (./) Rename iceowl-extension to lightning, dropping old iceowl.js

    • Reviewing the postinst of lightning
      • (./) no further action needed here

  • (./) Removing the name branding inside Icedove

    • Rename package(s) to thunderbird*
      • (./) icedove-dev -> thunderbird-dev

      • (./) icedove-dbg -> thunderbird-dbg

    • (./) Adjust the package icons and the installation of those

    • (./) Add transitional package(s) for icedove

  • (./) Move the configuration inside the Icedove package itself (/etc/icedove -> /etc/thunderbird, plugins, ...)

    • Needs some stuff inside preinst|postinst
      • moved needed parts to thunderbird.maintscript, adjusted thunderbird.postinst
  • (./) Add optional helper to migrate $HOME/.icedove to $/HOME/.thunderbird

    • (./) Thunderbird is looking what MOZ_APP_PROFILE is pointing. MOZ_APP_PROFILE is a static variable while built if needed, we will use this variable to let Thunderbird look in ~/.icedove for releases wheezy-security and jessie-security.

  • (./) Adjust the *.desktop file to visualize Thunderbird instead of Icedove

  • (./) Adopt the autopkg test to the new binary names

  • (./) Adding some notes into README.Debian about the name switching

  • (./) Changing the helper scripts inside debian/ to build thunderbird and lightning archives

    • adopting build folders for l10n data in debian/rules afterwards (to be done after first "new" import)
  • (./) Generate own Thunderbird icons preferable from a SVG file

  • (./) Review and Rework of the manpage for thunderbird (previously icedove) after the de-branding

  • (./) Remove WhatsNew linking via mailnews.start_page.override_url (vendor.js)

  • (./) Switch to compat level 9 if possible, use dh-exec for files that change there name

  • (./) make wrapper script /usr/bin/thunderbird smart enough for passing Thunderbird options through

  • more improvements to the wrapper script
    • move the specific part of the migration into separate file
    • do better proofing (for files) before starting any migration, make the script here idempotent
  • (./) work on the current Lintian output into the new packages

  • (./) Prepare some notes about the changes (like profile folder) for Stretch

  • prepare some information for the release notes of Stretch
  • (./) prepare announcement for d-d-a about the new de-branded packages

  • start a Wiki page for Thunderbird, especially with information about the migration from Icedove
  • (./) do the same as a text file for /u/s/d/thunderbird

  • review the copyright file more in deep
  • (./) reactivate the Crash Reporter feature

  • writing a blog post?

Left over issues?

  • We need two desktop files, one for the existing Icedove and the new one for Thunderbird. The logical content is the same, except the 'NAME' thing is differing. For Stretch the desktop file for Icedove is moved into the transitional Icedove package. For Jessie and Wheezy there are objections to keep the icedove.desktop file inside the Thunderbird package. Why?
    • Due this we can keep existing local links on the user desktop made for Icedove pointing now to Thunderbird with the new icon in Jessie and Wheezy.
    • For Stretch we only keep the Thunderbird desktop file, if the user is doing a dist-upgrade from Jessie the personal linking has to be redone with the new desktop file.
  • Remind users to delete or move the old created backup from the ~/.icedove folder after several versions. Adding a hint into README and NEWS maybe too.

Tracking of Bug Reports for Icedove to Thunderbird Migration

To see all bug reports that are related to the Icedove -> Thunderbird migration you can look at all bugs tagged by icedeove-thunderbird-migration. To add additional bug reports you can simply use bts.

bts user icedove@packages.debian.org , usertags <$bugnumber> icedove-thunderbird-migration


GTK3 support is targeted and re-enabled by upstream with the first beta versions of ESR 52. Debian isn't providing a Thunderbird 52 yet. It's planned to upload a version first to experimental once build issues are gone. The Thunderbird versions 48.x in Debian wont ever have GTK3 enabled.