Packaging request #2164

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

grizzlyuser - 3 months ago - . Updated 3 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.



Updated by bill-auger 3 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 3 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 3 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 3 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 3 months ago

ive added the new addons to the blacklist for now

Also available in: Atom PDF