Differences between revisions 30 and 31
Revision 30 as of 2019-07-30 14:04:49
Size: 20331
Editor: ?AndreaBorgia
Comment:
Revision 31 as of 2019-07-30 14:06:50
Size: 20330
Editor: ?AndreaBorgia
Comment: fixed typo, added section about bug 933274
Deletions are marked like this. Additions are marked like this.
Line 63: Line 63:
This situation can't be handled by the wrapper script. We can't know which folder should be used and the wrapper is showing an error screen. Backup both directories, find out which config file is referencing the "wrong" directory and manually fix it. Remove the unused directory but keep the backups for a while, just in case!. See [[https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=933274|thunderbird: TB recreates .icedove profile dir if missing, will not start at next launch]] for more details. This situation can't be handled by the wrapper script. We can't know which folder should be used and the wrapper is showing an error screen. Backup both directories, find out which config file is referencing the "wrong" directory and manually fix it. Remove the unused directory but keep the backups for a while, just in case! See [[https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=933274|thunderbird: TB recreates .icedove profile dir if missing, will not start at next launch]] for more details.

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 provided Icedove, a rebranded version of Thunderbird, due to trademark issues. By now the issues have been resolved (#816679) and the ''thunderbird'' package is available in all supported Debian releases.

Migration from Icedove

Switching package names

By the functionality of transitional packages the user will automatically get installed the dependent respective Thunderbird packages. 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

remarks

icedove

thunderbird

Thunderbird Main application

icedove-dev

thunderbird-dev

Thunderbird Development files

icedove-dbg

thunderbird-dbg

Thunderbird with debugging symbols

iceowl-extension

lightning

Lightning, aka Calendar for Thunderbird

icedove-l10n-*

thunderbird-l10n-*

l10n localization packages for Thunderbird

iceowl-l10n-*

lightning-l10n-*

l10n localization packages for Lightning

calendar-google-provider

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 don't have any working "thing" inside except to pull the dependent thunderbird package.


Adoption of User Profiles

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 which 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 an adoption of the existing 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.

These steps will cover most typical users' concerns, but some users may have a slightly different environment.


Other environments with other folder structures

Some users may be using an 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 both 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 you have used this in the past everything is also fine now. This is exactly 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 isn'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 an error screen. The assumption here is 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.

  • There are both ~/.icedove and ~/.thunderbird folders, Thunderbird won't start

This situation can't be handled by the wrapper script. We can't know which folder should be used and the wrapper is showing an error screen. Backup both directories, find out which config file is referencing the "wrong" directory and manually fix it. Remove the unused directory but keep the backups for a while, just in case! See thunderbird: TB recreates .icedove profile dir if missing, will not start at next launch for more details.


I run into trouble!

Don't panic, no data will be lost, ever! In case nothing is visibly happening then please start the wrapper script from a CLI by the argument --verbose

$ thunderbird --verbose

This will turn on a verbose mode which will show more information about things that probably are 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 has an option to show created backup files; use the argument --show-backup. This can be also combined with --verbose to see more about what's happening 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 moved to /etc/thunderbird/pref/icedove.js.dpkg-backup and needs to be adopted by the user into place.

OpenSearch providers

You are able to provide any local opensearch.xml files inside /usr/lib/thunderbird/distribution/searchplugins

  • Create the missing sub-directories if they don't exist yet.
  • See also: OpenSearch@MDN.

  • To see the new providers after adding some in an existing profile, the user needs to delete search.json.mozlz4 in their profile-directory as explained in step #5 of Add Search Engine to Open Search.

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 behaviour. Please file a bug report.


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.

Beside the tagging of the AppArmor team, we track bug reports where AppArmor is involved. Use this URL to see all bugs tagged tb-apparmor. Feel free to add more bug reports by the bts command.

bts user thunderbird@packages.debian.org , usertags <$bugnumber> tb-apparmor


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 behaviour 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 to 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. Add 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

GTK3 support was targeted and re-enabled by upstream with the first beta versions of ESR 52. Debian is providing Thunderbird ESR52 with version 52.2.1-4 for the first time. There are no plans to provide GTK2 versions only.

Bug Reporting / Issues

Thunderbird will, like most any other Debian released software, work fine. It may happen that you haven't an expected behaviour while using Thunderbird or a related installed package like lightning or calendar-google-provider. Before you start a new bug report re-think the following points:

Has something else changed? Only Thunderbird was changed / updated or has some other package also changed?

Often the Thunderbird package(s) aren't the root of trouble or issues. Thunderbird can be expanded with new functionality by AddOns and those can also produce some regressions after an update of them. On the other hand, Thunderbird is also relying on other packages which provide functionality, for example for network communication, which may be updated without a Thunderbird update too.

Have you tried to disable all plugins to check if the issue is now still existing?
In case something is misbehaving on your side it's good to know if the problem is in Thunderbird or in some (or more) extensions. You can check this by starting Thunderbird in safe mode, which will disable all extensions for that specific session. If Thunderbird is working now normally the problem is typically in one or more extensions. You can start Thunderbird from a CLI with the following call to start in safe mode.

 $ thunderbird --safe-mode 

Thunderbird is working without any activated extensions well, but with the active extensions issues are still happening?
You need to find out which extension is causing trouble. Just start Thunderbird normally and disable extension by extension. You will need to restart Thunderbird with each disabled extension. Hopefully Thunderbird will work again once you've found the fishy extension.

It's sometimes useful to also start the JS console while you are doing such disabling bit by bit to see potential JS errors from the extensions, to do so add the option --jsconsole to the CLI call.

 $ thunderbird --jsconsole 

In case you have found a faulty extension, check if it is up to date if the extension is installed manually!
You can always install any extension within your local profile. The Thunderbird maintainers have no control over such extensions as the user has installed them. You need to take care of such extensions on your own.
If the extension is installed from the Debian archive you will probably need to report a bug against this package. If you are unsure, contact the Thunderbird maintainers; we will guide you and push the problem to the correct people if possible.
O.k. a problem related to Thunderbird is still existing. What else can I do?

The following advice is for more experienced users. You can check if the issue is still alive if you use a fresh clean profile; that's not that difficult. The rationale for this is that sometimes, for whatever reason, a broken user profile can cause a not fully working Thunderbird. This can be checked by using a fresh new profile. Create a new profile by simply using the profile manager, the existing profile won't touched.

 $ thunderbird -P 

You are really sure you have found a issue, so you want to start a bug report?

Please take some time and check existing bug reports for similar issues! Yes, this takes a bit of time, but this will help the maintainers also! Please imagine that not only you have found an issue, some other user have also found the same problem just two days before you. If you start a separate bug report the maintainers need time to check if both reports are the same thing and coordinate their work to catch both user's problems correctly. This costs important time on the maintainer side which can't be used to solve the issue. So please, really check for existing bug reports before starting a new report. Thank you!