Packaging request #2164

[iceweasel][iceweasel-addons] Provide /usr/lib/firefox symlink to drop iceweasel-specific extensions in favor of ones from Arch

grizzlyuser - 12 months ago - . Updated 4 months ago.

% Done:



AFAIK, the only differences between Iceweasel-specific extensions from Parabola repos and Firefox-specific ones from Arch repos are:
1. Install path (/usr/lib/iceweasel/ and /usr/lib/firefox/ respectively)
2. Package/group names and replaces/conflicts in PKGBUILDs.

I'm not sure about how critical it is to have 'iceweasel-*' named extensions (like iceweasel-ublock-origin instead of firefox-ublock-origin from Arch). If that's not critical, then what about just providing symlink from /usr/lib/iceweasel/ to /usr/lib/firefox/ in iceweasel package? That would allow to drop iceweasel-ublock-origin and iceweasel-noscript from [libre] (and probably others I don't know about) and use versions from Arch, which look likely to be updated more frequently.

Related issues

Related to Packages - Packaging request #1899: HTTPS Everywherein progress

Related to Packages - Packaging request #1873: [firefox-extension-privacybadger] Requires blacklisted firefoxopen




Updated by bill-auger 12 months ago

there is only 'iceweasel-noscript' and 'iceweasel-ublock-origin', both in the 'iceweasel-addons' package group

the arch firefox-ublock-origin package is installable as is many others - i dont know if they should be installable nor if they actually work

$ sudo pacman -S firefox-addons
:: There are 9 members in group firefox-addons:
:: Repository community
   1) firefox-dark-reader  2) firefox-decentraleyes  3) firefox-extension-privacybadger
   4) firefox-referer-control  5) firefox-stylus  6) firefox-tree-style-tab  7) firefox-tridactyl
   8) firefox-ublock-origin  9) firefox-umatrix

Enter a selection (default=all): 
resolving dependencies...
warning: cannot resolve "firefox", a dependency of "firefox-extension-privacybadger" 
:: The following package cannot be upgraded due to unresolvable dependencies:

:: Do you want to skip the above package for this upgrade? [y/N] y
looking for conflicting packages...

Packages (8) firefox-dark-reader-4.7.5-1  firefox-decentraleyes-2.0.8-2  firefox-referer-control-1.31-2
             firefox-stylus-1.5.2-2  firefox-tree-style-tab-2.7.18-1  firefox-tridactyl-1.14.8-1
             firefox-ublock-origin-1.18.2-1  firefox-umatrix-1.3.16-1

Total Download Size:   13.72 MiB
Total Installed Size:  15.27 MiB

apparently, 'iceweasel' does not provide 'firefox' - though i cant imagine why not - i assumed that was standard procedure for packages in [libre] that may have dependencies under the original blacklisted package name

these are the only arch addons that are on the blacklist:


of note, is that 'firefox-noscript' does not have a replacement package specified in the blacklist, though it clearly has a replacement package


Updated by grizzlyuser 12 months ago

Oops, it looks like simple symlink won't work. I tried to:

# ln -s /usr/lib/iceweasel/ /usr/lib/firefox

and then on installing of firefox-ublock-origin, pacman complains:
error: failed to commit transaction (conflicting files)
firefox-ublock-origin: /usr/lib/firefox exists in filesystem
Errors occurred, no packages were upgraded.

I'm definitely not a packaging guru, so not sure how that can be solved the best way.

bill-auger wrote:

the arch firefox-ublock-origin package is installable as is many others - i dont know if they should be installable nor if they actually work

I tried to install just firefox-ublock-origin, and it doesn't work right away. However, if before clean installation I do:

# mkdir /usr/lib/firefox
# mount --bind /usr/lib/iceweasel/ /usr/lib/firefox

Then the extension is installed with no problems and works as expected.


Updated by eschwartz 12 months ago

You cannot package a file /usr/lib/firefox, with the intent of having packages that provide /usr/lib/firefox/browser/extensions/* get redirected to install somewhere else. That's not how pacman works.

You could, however, package a symlink as /usr/lib/iceweasel/browser/extensions and have all extensions get installed in /usr/lib/firefox/browser/extensions/* while having iceweasel pick them up. pacman will be fine with that.

Alternatively, it's quite silly to provide packages which cannot be installed/make no sense due to firefox being blacklisted. https-everywhere and adblock-plus have been blacklisted for ages, and noscript has been forked to an iceweasel version -- I assume privacybadger was an oversight and all the rest are recent additions so were almost certainly oversights, none of them make sense in the parabola repositories as-is.


Updated by bill-auger 12 months ago

ok so i think the only thing left to determine here is

  • is it possible or desirable to make iceweasel truly provide a firefox implementation
    - if so, then we need to check the licensing on all the new firefox-* addons and possibly blacklist some
    - if not, then we need do no more that simply blacklist and/or re-package the new firefox-* addons

IMHO the only thing about this in the "pros" list is that we would gain those extra 7 addons (and depending on their licenses, it could be fewer than that) - but these are not complicated programs, we could just repackage them - the OPs argument on the "cons" is that we dont upgrade them fast enough; but that is not a systematic flaw, so that could (should) be improved regardless of what becomes of this issue


Updated by bill-auger 12 months ago

ive added the new addons to the blacklist for now


Updated by bill-auger 6 months ago


Updated by bill-auger 6 months ago


Updated by bill-auger 6 months ago

or .. we should re-package the others and add them to the iceweasel-addons' group - this is the current list of firefox add-ons that we are suppressing without replacements, probably all merely for having 'firefox' in the package name



Updated by bill-auger 6 months ago

  • Priority changed from bug to wish
  • Subject changed from [iceweasel] Provide /usr/lib/firefox symlink to drop iceweasel-specific extensions in favor of ones from Arch to [iceweasel][iceweasel-addons] Provide /usr/lib/firefox symlink to drop iceweasel-specific extensions in favor of ones from Arch

Updated by bill-auger 6 months ago

  • Priority changed from wish to discussion

Updated by theova 6 months ago

It is and will not be difficult to adapt Arch's PKGBUILDs, but this means additonal work to do and more packages to mainain/update. In my opinion it is - apart from one word - not a big gain to create libre replacements.
I would therefore vote for the symlink.

Anyway, I would like to contribute to this issue - either by creating libre replacements and/or a license audit. Just let me know, which solution is favoured.


Updated by theova 6 months ago

The following addons have a free license:

Name License Source Note
firefox-adblock-plus GPLv3 project website Source Code FSD ublock-origin may be better in terms of privacy
browserpass-firefox ISC License Project Repository
firefox-dark-reader MIT Project repostitory
firefox-decentraleyes Mozilla Public License Version 2.0 Project repository
firefox-https-everywhere Licensed GPL v2+, AGPLv3+ Project repostitory included in icecat per default
firefox-noscript GPLv2+ FAQ, Project Repository
firefox-extension-privacybadger GPLv3, MIT, Unlicense, Open Font License, Apache License v2 Project repository Project website
firefox-spell-ru GPL ?? Arch PKGBULD Not sure about the license. Could not find any source or repository
firefox-stylus GPLv3 Project repostitory
firefox-tree-style-tab MPL 2.0, MPL 1.1, MIT, PSFL Project repository
firefox-tridactyl Apache 2.0 Project repository

For firefox-spell-ru I am really not sure, since I could not find a license. I think, `spell-ru` is part of Mozillas "Dictionaries and Language Packs" which can be found here.

The following addon should definitely not be included:
Name License Source Note
firefox-referer-control MPL v2.0 ?? Firefox Addons Removed from Arch's [Community]

Updated by theova 6 months ago

EDIT: Add browserpass-firefox to list.


Updated by bill-auger 5 months ago

awesome research theova - thanks


Updated by dllud 4 months ago

Nice to see all this already documented here.
Right now I am in need of the tridactyl package because the addon isn't getting updates through AMO.
Have you taken a decision on the way forward? If the choice is to adapt Arch PKGBUILDs and provide alternatives in [libre] I can bootstrap that for this simple package.


Updated by bill-auger 4 months ago

the idea is to make iceweasel able to use the existing arch packages so that we would not need to re-package them - you could probably get iceweasel to use the 'tridactyl' arch package now, by adding the symlink yourself - that is one example of a package that is on the blacklist and would need to be re-packaged onlyfor the trivial reason that it gets installed in a directory named 'firefox' rather than 'iceweasel' - that any many others would probably "just work" of that symlink were in place - if youd like to try, let us know if it worked

$ sudo mkdir -p /usr/lib/iceweasel/browser/extensions/
$ sudo ln -s /usr/lib/{firefox,iceweasel}/browser/extensions/
$ sudo pacman -U

Also available in: Atom PDF