Differences between revisions 2 and 3
Revision 2 as of 2017-01-31 19:48:38
Size: 9314
Comment: Small information about GTK3 support and typofix
Revision 3 as of 2017-02-16 19:31:35
Size: 9471
Comment: Adding future task after the migration
Deletions are marked like this. Additions are marked like this.
Line 67: Line 67:
 * 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.

Translation(s): English


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

Debian has used long time a unbranded version of Thunderbird due some legal and trademark issues, the package was called Icedove. After almost 10 years of this and Icedove related packages, from January 2017 there are Thunderbird based packages back again available in Debian started with version 1:45.6.0-1.

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.

Migration from Icedove

User Profiles

By the transitional character of the Icedove packages the user will automatically get installed the dependent respective Thunderbird packages. In detail there are:

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.

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 moved and adopted. The Thunderbird package comes with a wrapper script in /usr/bin/thunderbird what will do the users profile migration (if possible). It will be triggered automatically if a user is calling thunderbird from a CLI or via the desktop file. The script will check if there is already a folder named ~/.thunderbird and continues only if not. Mind, user may have used or use the Thunderbird binary from Mozilla and there is a existing profile folder then.

In case there wasn't found a existing profile folder the script will copy the complete old profile folder ~/.icedove into ~/.thunderbird and renaming the old folder to ~/.icedove_moved_by_thunderbird_starter. If successful the script will also modify possible existing wrong Mime associations for http(s) and file in the existing file(s) mimeTypes.rdf in the profile(s). And also, if existing, fixing entries in ~/.config/mimeapps.list with icedove.desktop after making a backup of that files named mimeapps.list.copy_by_thunderbird_starter. If anything is going wrong while these steps a pop-up window will be seen with some further hints, also some logging is done into /var/log/syslog.

The wrapper can be called as thunderbird -v to see some more verbose output on a terminal in case something is going wrong. That should help to catch possible issues. There will never be done any deletion by the wrapper! The old folders and files can be moved back and the wrapper can be called once more after the reason for the issue was solved. In case of trouble please ensure you alway have a backup before going further.

System wide Configurations

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 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.


GTK3

GTK3 support is still no upstream default in the build configuration for a Linux build. Thunderbird in Debian will switch to GTK3 if Mozilla is setting this as the default.