infinity0 / mozilla-gnome-keyring-legacy

A firefox extension that enables Gnome Keyring integration (legacy version)
https://bugzilla.mozilla.org/show_bug.cgi?id=309807
Other
55 stars 8 forks source link

Extension eventually broken on Ubuntu (>= 12.10) #26

Open fat-lobyte opened 11 years ago

fat-lobyte commented 11 years ago

Hello.

This is the "I give up" notice.

The Ubuntu Firefox Team decided to remove support for binary extensions in favor of the Rapid Release cycle [1].

Since then, they have gradually removed any code from the Ubuntu repositories that could be used to build such extensions.[2][3].

This has culminated in the removal of all the xulrunner development files (except plugin headers) from the firefox-dev package: Compare [4] against [5].

The headers required to build this extension are not present in the quantal version of the firefox packages, and are only present in "thunderbird-dev". I expect that it's only a matter of time until they get removed there too, so I won't hack around by using the tunderbird headers for firefox extensions.

So the only thing to do is to obide the directive [1] and stop using the extension in Ubuntu.

I will do this by not using Ubuntu at all. Cheers.

[1] https://lists.ubuntu.com/archives/ubuntu-motu/2011-May/007088.html [2] https://github.com/infinity0/mozilla-gnome-keyring/issues/10#issuecomment-5408150 [3] https://bugs.launchpad.net/ubuntu/+source/firefox/+bug/1030504 [4] http://packages.ubuntu.com/precise/amd64/firefox-dev/filelist [5] http://packages.ubuntu.com/quantal/amd64/firefox-dev/filelist

ps.: Fuck you, Ubuntu.

infinity0 commented 11 years ago

Ouch man that sucks :( I'm not an expert on this issue but it may be more mozilla's fault than ubuntu - upstream does not make xulrunner easy to package as a separate independent component in any meaningful sense.

See http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=688438 for another example of this, which means I need to build this extension twice in debian, once against xulrunner-dev and once against icedove-dev.

swick commented 11 years ago

This sucks, indeed. But I got it to compile on ubuntu 12.10 64bit neverthelesst:

  XUL_CFLAGS="-I/usr/include/firefox -I/usr/include/firefox/nspr -I/usr/include/thunderbird" XUL_LDFLAGS="-L/usr/lib/firefox -L/usr/lib/thunderbird-devel/sdk/lib/ -lxpcomglue_s -lxul -lxpcom -lmozalloc -lplds4 -lplc4 -lnspr4 -lpthread -ldl" XPCOM_ABI_FLAGS="-Wl,-rpath=/usr/lib/firefox/" make
fat-lobyte commented 11 years ago

@swick Thanks, but it seems that you use the headers from thunderbird-dev. That has the problem that you will build against a different libxul version than firefox uses. Since Thunderbird lags behind a few days, you will quite often build for the wrong version.

Also, I consider building an extension for firefox with thunderbird development files a too ugly hack to base a package upon. There has to be a point where one has to accept that it's just not working.

Note that it is quite likely that the thunderbird-dev package will drop the headers too.

swick commented 11 years ago

With the update to firefox 18 and thunderbird 17 it indeed is not working anymore with this method. I got it running with the xulrunner sdk though (http://ftp.mozilla.org/pub/mozilla.org/xulrunner/releases/18.0/sdk/xulrunner-18.0.en-US.linux-x86_64.sdk.tar.bz2):

XUL_CFLAGS="-I../../xulrunner-sdk/include -I../../xulrunner-sdk/include/nspr" XUL_LDFLAGS="-L../../xulrunner-sdk/lib -lxpcomglue_s -lxul -lxpcom -lmozalloc -lplds4 -lplc4 -lnspr4 -lpthread -ldl" XPCOM_ABI_FLAGS="-Wl,-rpath=/usr/lib/firefox" make
swick commented 11 years ago

the xulrunner sdk version 22 no longer ships with the xpcom library but it was moved into the xul library. So you can just remove -lxpcom:

XUL_CFLAGS="-I../../xulrunner-sdk/include -I../../xulrunner-sdk/include/nspr" XUL_LDFLAGS="-L../../xulrunner-sdk/lib -lxpcomglue_s -lxul -lmozalloc -lplds4 -lplc4 -lnspr4 -lpthread -ldl" XPCOM_ABI_FLAGS="-Wl,-rpath=/usr/lib/firefox" make
infinity0 commented 11 years ago

thanks, will release a new version as soon as i have some personal time

alci63 commented 10 years ago

Compiled for Ubuntu 13.04 / Firefox 24. Works fine.

demetrislambrou123 commented 10 years ago

i tried to compiled it for elementary os (ubuntu 12.04) with no success. I have the latest firefox (24) and downloaded xulrunner sdk version 24. I tried compiling it with the following command:

XUL_CFLAGS="-I../../xulrunner-sdk/include -I../../xulrunner-sdk/include/nspr" XUL_LDFLAGS="-L../../xulrunner-sdk/lib -lxpcomglue_s -lxul -lmozalloc -lplds4 -lplc4 -lnspr4 -lpthread -ldl" XPCOM_ABI_FLAGS="-Wl,-rpath=/usr/lib/firefox" make

The problem I am getting is:

xpcom_abi.cpp:4:27: fatal error: nsIXULRuntime.h: No such file or directory

I have read most of cases and posts for the extension about compiling it, workarounds etc but because I am a total noob on this I am not sure if I am doing something wrong or is it because firefox 24 with xulrunner sdk version 24 would not compile under elementary os (ubuntu 12.04). Anyone knows how to fix it or what I am doing wrong?

swick commented 10 years ago

are you sure the paths are correct (e.g. ../../xulrunner-sdk/ exists)?

demetrislambrou123 commented 10 years ago

oops sorry after pointing out the path I managed to make it work. Working both for firefox 24 and thunderbird 24 on elementary os (ubuntu 12.04). For thunderbird I just changed XPCOM_ABI_FLAGS="-Wl,-rpath=/usr/lib/firefox to XPCOM_ABI_FLAGS="-Wl,-rpath=/usr/lib/thunderbird Is that the correct way?

sigoa commented 6 years ago

make still breaks here, same issue