Your message dated Fri, 10 Aug 2018 12:04:53 +0000
with message-id <>
and subject line Bug#877040: fixed in ublock-origin 1.16.14+dfsg-1
has caused the Debian Bug report #877040,
regarding Transition script for xul-ext-ublock-origin->webext-ublock-origin
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact

Debian Bug Tracking System
Contact with problems
--- Begin Message ---
Source: ublock-origin
Version: 1.13.8+dfsg-1
Severity: normal
Tags: help

uBlock Origin in Debian is several versions behind upstream.  This is
because packaging a recent upstream release requires

- installing the webext version, as a new binary package
  webext-ublock-origin, rather than the traditional XUL extension; and

- providing a script for the user to transition their data from the XUL
  extension to the new webext.

I am filing this bug because I know that I won't be able to work on this
any time soon.  I hope to provide enough information that someone else
is able to work on it independently.

This bug will become release-critical when every version of Firefox in
unstable is greater than or equal to 57, assuming Mozilla's plans do not
change.  At that point, XUL extensions will stop working.

Note that none of this affects the Chrome extension binary package,
unless Chrome, too, decides to support only web extensions.

Installing the webext

Ideally this would be achieved by fixing #866997.  But it would be fine
for this package to install the web extension without a helper; indeed,
it's not clear we need a helper for web extensions.

There have been several discussions about what needs to be done.  In
addition to those linked from #866997, see [3].  In summary:

- use the binary package namespace 'webext-'

- install to /usr/share/webext/ublock-origin

- create a symlink in the appropriate subdirectory of /usr/share/firefox
  such that Firefox loads the web extension (requires searching through
  the source of Firefox; possibly no such directory exists yet)

The purpose of the symlinking is to accommodate the fact that some web
extensions work with only one browser but others work with multiple
browsers.  We can manage this with symlinks.

See the webext branch of ublock-origin's Vcs-Git repository for first
attempts at installing the webext.

Providing the transition script

It is not possible to automatically transition the user's data -- by
patching the web extension to import the data, say.  This is because web
extensions cannot access the parts of the filesystem where the XUL
extension stored its data.

Upstream attempted a hybrid XUL and web extension which would import the
data.  They abandoned this project, but in any case, it would have been
no use for Debian: later point updates of stretch and the initial
release of buster will contain no version of Firefox capable of loading
XUL extensions.  So we must provide a script that users can run to
transition their data.  I would suggest a NEWS.Debian entry suggesting
that users run the script.

Upstream (Raymond Hill) has very helpfully provided guidance on writing
such a script.[1] For archival purposes, I reproduce the most
significant parts of Raymond's messages in the linked thread here:

> So anyways, basically this is how things are:
> - With uBO/legacy, the settings are located in
>   ~/.config/firefox/[profile]/extension-data/ublock0.sqlite
>   - The content of the ublock0.sqlite db is one table, named settings,
>     with two columns, named name and value.
>   - Each name is unique, and is the name of a setting.
>   - Each value is a string, and is JSON.parse'd after being read, and
>     before being sent to the caller.
> - With uBO/webext, the settings are located in
> ~/.config/firefox/[profile]/browser-extension-data/
>   (that is a Firefox's controlled location).
>   - The content of storage.js is simple JSON data, in which each setting
>     is a [setting name]: [setting value] entry. The value can be any
>     valid JSON value: number, string, array, etc.
> Now given all this, it's a matter of fetching all entries in the sqlite
> table, and converting them into an object property in one single
> destination JSON object structure { ... }.
> Now not all entries in the table are to be transferred to the JSON
> structure, many entries are strictly for internal use by uBO. Any entry
> which name starts with cache/ must be ignored. Additionally, the
> following entries must also be ignored: assetCacheRegistry,
> assetSourceRegistry, selfie.
> The code to migrate is located in this bootstrap.js file.[2] The
> function named getStorageMigrator contains all the code to deal with
> reading all entries one by one from the settings table.
> [...]
> So far I got something with this command -- needs more work though to
> get a valid JSON file -- so before I lose that command:
>     sqlite3 ublock0.sqlite ".separator "\\t " SELECT * FROM settings;" | awk 
> '!/^(?:assetCacheRegistry|assetSourceRegistry|cache\/.+|selfie)$/' > 
> output.txt
> This outputs two fields per line, separated by \t.
> [field1]      [field2]
> After this is for each line to be output this way:
> "[field1]": [field2]
> Then to separate all the lines with a , character, then finally wrap the
> result in { and }.


Sean Whitton

Attachment: signature.asc
Description: PGP signature

--- End Message ---
--- Begin Message ---
Source: ublock-origin
Source-Version: 1.16.14+dfsg-1

We believe that the bug you reported is fixed in the latest version of
ublock-origin, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
Markus Koschany <> (supplier of updated ublock-origin package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing

Hash: SHA512

Format: 1.8
Date: Fri, 10 Aug 2018 08:18:58 +0200
Source: ublock-origin
Binary: xul-ext-ublock-origin chromium-ublock-origin ublock-origin-doc 
Architecture: source
Version: 1.16.14+dfsg-1
Distribution: unstable
Urgency: medium
Maintainer: Debian Mozilla Extension Maintainers 
Changed-By: Markus Koschany <>
 chromium-ublock-origin - general-purpose lightweight ads, malware, trackers 
blocker (Chrom
 ublock-origin-doc - general-purpose lightweight ads, malware, trackers blocker 
- docu
 webext-ublock-origin - general-purpose lightweight ads, malware, trackers 
blocker (Web E
 xul-ext-ublock-origin - general-purpose lightweight ads, malware, trackers 
Closes: 877040 877041 880533
 ublock-origin (1.16.14+dfsg-1) unstable; urgency=medium
   * New upstream version 1.16.14+dfsg-1.
   * Add myself to Uploaders and remove Sean Whitton at his own request.
     (Closes: #877041)
   * Drop 0005-Fix-application-id.patch. Fixed upstream. Thanks to Laurent
     Bigonville for the previous fix.
   * Suggest ublock-origin-doc package. (Closes: #880533)
   * Install the transition script into
     /usr/share/doc/webext-ublock-origin. Add a NEWS file and explain how users
     can transition their data from the XUL extension to the new webext.
     Thanks to david s for providing the script! (Closes: #877040)
   * Declare compliance with Debian Policy 4.2.0.
 dd7d3c39aba0624ac1127bd6f4a4bc1603d4920d 2452 ublock-origin_1.16.14+dfsg-1.dsc
 5247a0f50d6116630c5ec06ecaf0cca0f21fdc7d 13755832 
 7e1a39c855e5ef01ed88b275bd0a4058501b99eb 52784 
 a909dcda7ddbbe0442057e581a3aeab93719fb68 6742 
 dbefab987c36b4d0f28cca8060de5dad79553270d369d13d435ff1eaef5aca44 2452 
 7790c5dbf83daadc80604856640ea677d2303f6a73a97fcb92d1d4567e212fde 13755832 
 79ac7d7eff525717b516aa1c8fc667c9a3295234ff4e26d06aed7609bd58e345 52784 
 ee066cf455640e02210af85744f21b7af7588ed16b05b5c2058baf303270fb81 6742 
 a39674715a87771c10687e21c2633793 2452 web optional 
 3350038a81c64a67daf93408859844d9 13755832 web optional 
 d2635e5b3b0daa460c6521adda1ddcc1 52784 web optional 
 7f290ea3c9bcfd4c6b18bf5f3b8d66a9 6742 web optional 



--- End Message ---

Reply via email to