Closed Bug 451129 Opened 16 years ago Closed 14 years ago

linux desktop qt builds for firefox

Categories

(Release Engineering :: General, defect, P4)

x86
Linux
defect

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: romaxa, Assigned: jhford)

References

Details

(Whiteboard: [qt])

Attachments

(2 files, 3 obsolete files)

It would be really good to get buildbot running for Mozilla Qt port configuration.

At least it should run mochitest.
Is this a request for a new project branch in hg? If so please specify:
- which o.s. you need builds on
- whether you need opt or debug or both
- do you need unittests
- what tinderbox page do you want these shown on? On their own new page?

(see bug#442522 for example of how we did this for tracemonkey)
Component: Release Engineering → Release Engineering: Future
(In reply to comment #2)
> Is this a request for a new project branch in hg? If so please specify:
Port already landed to mozilla-central
> - which o.s. you need builds on
Linux x86 (armel if it possible)
> - whether you need opt or debug or both
both
> - do you need unittests
probably yes
> - what tinderbox page do you want these shown on? On their own new page?
I don't know exactly... probably own new page for at least 3 configurations (Firefox, Seamonkey, Xulrunner) 

Here is the some info about mozconfig options...

https://wiki.mozilla.org/User:Pjohnsen/MozillaQtBuild
This is a mobile distribution? (I ask because of the armel request.)
Is this something that MoCo is shipping?
Not necessarily mobile-only I would think.
WONTFIX. Please reopen if still needed?
Status: NEW → RESOLVED
Closed: 15 years ago
Resolution: --- → WONTFIX
Status: RESOLVED → REOPENED
Resolution: WONTFIX → ---
Ben, John, this is something we will need to get up, fairly soon.  Even if we could just get a desktop linux build going with the right widget toolkit being built, that would be a good step forward.
oh, wow. ok, this is a surprise to us. 

Stuart, can you and I meet to figure out priority of this vs n900 vs WinMO vs WinCE?
This bug is older but bug 528431 has more specific info for work to be done, I think.

Dup'ing since Doug thinks the Maemo5 bug will cover this for now.
Status: REOPENED → RESOLVED
Closed: 15 years ago15 years ago
Resolution: --- → DUPLICATE
Reopening.  I would like this to track having a FF QT desktop build.
Status: RESOLVED → REOPENED
Resolution: DUPLICATE → ---
Doug, would the desktop firefox qt builds be limited to linux?
yes, this bug should only track linux firefox qt builds.
Mass move of bugs from Release Engineering:Future -> Release Engineering. See
http://coop.deadsquid.com/2010/02/kiss-the-future-goodbye/ for more details.
Component: Release Engineering: Future → Release Engineering
Priority: -- → P3
Found during triage.

Doug, this feels like a currently lower priority than maemo QT builds in bug 528431.  Please let us know if that's not the correct priority.
Summary: Buildbot for Mozilla Qt port. → linux desktop qt builds for firefox
Finally we have mobile Qt builds for fennec (arm only)
It would be nice to have also Qt builds for X86 firefox, (probably fennec too).

Also we should build it against the same Qt version 4.6.2
As we have been discussing on IRC, we need to figure out which exact distribution of QT to use.  The main options right now are the binary LGPL licensed copy at http://qt.nokia.com/downloads/sdk-linux-x11-32bit-cpp , compiling Fedora's QT package for CentOS 5.0 or building QT 4.6.2 from scratch.

as discussed with Oleg on IRC, we should try the nokia binary distribution first.
Whiteboard: [qt]
any update here john?
No update since I last commented.  I am currently prioritizing on-device qt testing but please let me know if this should change.
Assignee: nobody → jhford
Depends on: 584424
I am working on deploying a QT development environment in bug 584424.  Any help getting a working QT development environment would be very much appreciated.
Priority: P3 → P4
Could somebody tell me what the tracking bug for the firefox qt build is?
(i’m not sure if i understood what a “tracking bug” really is, though: i mean a bug which is blocked by every bug which make the qt build inferior to the gtk build)

how’s the state of the desktop build now, btw? any work going on?

thanks in advance and sorry for being unhelpful.
(In reply to comment #20)
> Could somebody tell me what the tracking bug for the firefox qt build is?
> (i’m not sure if i understood what a “tracking bug” really is, though: i mean a
> bug which is blocked by every bug which make the qt build inferior to the gtk
> build)

I dont know what the tracking bug for making GTK and QT have the same level of support is or if we have one.  This is the bug to get firefox builds that use the QT widget set building nightly and maybe per-checkin.

> how’s the state of the desktop build now, btw? any work going on?

If you look at the opened dependent bug, you'll see that we are close to having the toolchain updates made.  The main thing blocking this deployment is being able to use a non-system copy of fontconfig to build only QT builds.

If you'd like to help unblock these builds, it would be great if you could test building Firefox QT using a non-default installed copy of fontconfig and post results to bug 586037.  I am very busy with a couple other bugs right now, but this is on my radar of things to look at when they are done.

> thanks in advance and sorry for being unhelpful.

This isn't unhelpful, but it'd be great if you could help move QT builds forward!
i’d love to, but while i compiled and “even” wrote simple patches for a few simpler applications, i have no experience in building firefox and failed greatly on my first try.

Regarding *this* bug: it would be insanely cool to find firefox with Qt enabled on http://nightly.mozilla.org one day :)

PS: i don’t want to be a nitpicker, but QT is QuickTime and Qt is, well, Qt, the toolkit ;)
using the rpms in this bug's dependency chain, I was able to build with the following mozconfig:

export PKG_CONFIG_PATH=/tools/qt-4.6.3/qt/lib/pkgconfig
ac_add_options --with-qtdir=/tools/qt-4.6.3/qt

mk_add_options MOZ_MAKE_FLAGS=-j8
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/objdir

ac_add_options --enable-application=browser
ac_add_options --enable-default-toolkit=cairo-qt
ac_add_options --disable-crashreporter


CC=/tools/gcc-4.3.3/installed/bin/gcc
CXX=/tools/gcc-4.3.3/installed/bin/g++

export CFLAGS="-gdwarf-2"
export CXXFLAGS="-gdwarf-2"

ac_add_options --with-ccache=/usr/bin/ccache
Attached patch buildbot-configs v1 (obsolete) — Splinter Review
patch to run through staging.
Depends on: 617733
Attached patch buildbotcustom v2 (obsolete) — Splinter Review
Changes required to support a platform of 'linuxqt' for xulrunner and firefox builds.
Attachment #496958 - Flags: review?(coop)
Attached patch buildbot-configs v2 (obsolete) — Splinter Review
This patch adds support for doing per-checkin builds of Firefox and Xulrunner using the QT widget set.
Attachment #495656 - Attachment is obsolete: true
Attachment #496961 - Flags: review?(coop)
Comment on attachment 496961 [details] [diff] [review]
buildbot-configs v2

Also, should have mentioned that the mozconfigs are the standard linux nightly mozconfig with updates disabled as well as adding in the extra lines to find the QT sdk as we have it installed.
Comment on attachment 496958 [details] [diff] [review]
buildbotcustom v2

>diff --git a/common.py b/common.py
> def getSupportedPlatforms():
>-    return ('linux', 'linux64', 'win32', 'win64', 'wince', 'macosx',
>-            'macosx64', 'android')
>+    return getCodesighsPlatforms() + ('wince', 'win64', 'android')

There's no reason to link our supported platform list to codesighs here.
Attachment #496958 - Flags: review?(coop) → review-
Comment on attachment 496961 [details] [diff] [review]
buildbot-configs v2

My only suggestion would be to rename the xr-qt dirs to xulrunner-qt to match the existing nomenclature for xulrunner config paths.
Attachment #496961 - Flags: review?(coop) → review+
Comment on attachment 496958 [details] [diff] [review]
buildbotcustom v2

(In reply to comment #28)
> There's no reason to link our supported platform list to codesighs here.

That said, no reason not to land the rest with this nit fixed.
Attachment #496958 - Flags: review- → review+
What else is needed to enable Qt builds for desktop Firefox?
updated to make sure that all customizations that are done for linux/linux64 per branch are also done for linux qt.
Attachment #496961 - Attachment is obsolete: true
Attachment #501156 - Flags: review?(coop)
this patch addresses an issue with generateBranchObjects which isn't detected in staging.  The list of builders is generated twice in gBO in two locations.
Attachment #496958 - Attachment is obsolete: true
Attachment #501157 - Flags: review?
Attachment #501157 - Flags: review? → review?(coop)
Comment on attachment 501156 [details] [diff] [review]
buildbot-configs v3

>diff --git a/mozilla2/linux/mozilla-central/qt/mozconfig b/mozilla2/linux/electrolysis/qt/mozconfig
>copy from mozilla2/linux/mozilla-central/qt/mozconfig
>copy to mozilla2/linux/electrolysis/qt/mozconfig
>diff --git a/mozilla2/linux/mozilla-central/xulrunner-qt/mozconfig b/mozilla2/linux/mozilla-2.0/xulrunner-qt/mozconfig
>copy from mozilla2/linux/mozilla-central/xulrunner-qt/mozconfig
>copy to mozilla2/linux/mozilla-2.0/xulrunner-qt/mozconfig
>diff --git a/mozilla2/linux/tracemonkey/xulrunner-qt b/mozilla2/linux/tracemonkey/xulrunner-qt
>new file mode 120000

Is this file mode right? Just verify it please before landing.

>--- /dev/null
>+++ b/mozilla2/linux/tracemonkey/xulrunner-qt
>@@ -0,0 +1,1 @@
>+../mozilla-central/xulrunner-qt
>\ No newline at end of file

Fix before landing?
Attachment #501156 - Flags: review?(coop) → review+
Attachment #501157 - Flags: review?(coop) → review+
(In reply to comment #34)
> Comment on attachment 501156 [details] [diff] [review]
> buildbot-configs v3
> 
> >diff --git a/mozilla2/linux/mozilla-central/qt/mozconfig b/mozilla2/linux/electrolysis/qt/mozconfig
> >copy from mozilla2/linux/mozilla-central/qt/mozconfig
> >copy to mozilla2/linux/electrolysis/qt/mozconfig
> >diff --git a/mozilla2/linux/mozilla-central/xulrunner-qt/mozconfig b/mozilla2/linux/mozilla-2.0/xulrunner-qt/mozconfig
> >copy from mozilla2/linux/mozilla-central/xulrunner-qt/mozconfig
> >copy to mozilla2/linux/mozilla-2.0/xulrunner-qt/mozconfig
> >diff --git a/mozilla2/linux/tracemonkey/xulrunner-qt b/mozilla2/linux/tracemonkey/xulrunner-qt
> >new file mode 120000
> 
> Is this file mode right? Just verify it please before landing.

In my working directory, i have the same permissions for the tracemonkey, mozilla-central xr mozconfigs for both qt/non-qt

jhford-wifi:linux jhford$ ls -l mozilla-central/xulrunner*
mozilla-central/xulrunner:
total 4
-rw-r--r-- 1 jhford staff 429 2011-01-04 13:33 mozconfig

mozilla-central/xulrunner-qt:
total 4
-rw-r--r-- 1 jhford staff 635 2011-01-04 13:33 mozconfig
jhford-wifi:linux jhford$ ls -l mozilla-central/xulrunner*/mozconfig
-rw-r--r-- 1 jhford staff 635 2011-01-04 13:33 mozilla-central/xulrunner-qt/mozconfig
-rw-r--r-- 1 jhford staff 429 2011-01-04 13:33 mozilla-central/xulrunner/mozconfig
jhford-wifi:linux jhford$ ls -l tracemonkey/xulrunner*
lrwxr-xr-x 1 jhford staff 28 2011-01-04 13:33 tracemonkey/xulrunner -> ../mozilla-central/xulrunner
lrwxr-xr-x 1 jhford staff 31 2011-01-04 17:13 tracemonkey/xulrunner-qt -> ../mozilla-central/xulrunner-qt

I will double check that these permissions are kept in the repository by cloning and double checking before pushing to hg.m.o

 
> >--- /dev/null
> >+++ b/mozilla2/linux/tracemonkey/xulrunner-qt
> >@@ -0,0 +1,1 @@
> >+../mozilla-central/xulrunner-qt
> >\ No newline at end of file
> 
> Fix before landing?

I think this is an artifact of hg's symlink storage implementation because I have verified that the linked to file does have a new line at the end of file.  This can be confirmed by looking at the symlink for the regular xulrunner in its diff

http://hg.mozilla.org/build/buildbot-configs/diff/aca2a4452644/mozilla2/linux/tracemonkey/xulrunner
Flags: needs-reconfig?
See ftp://ftp.mozilla.org/pub/mozilla.org/firefox/tinderbox-builds/mozilla-central-linuxqt/1294349437/
Status: REOPENED → RESOLVED
Closed: 15 years ago14 years ago
Resolution: --- → FIXED
Blocks: 623735
Blocks: 623738
Blocks: 623740
> ftp://ftp.mozilla.org/pub/mozilla.org/firefox/tinderbox-builds/mozilla-central-linuxqt/1294349437/

yep, port seems now in worse state that it was before (regression in menus position, and popup dialog windows)... need to figure out when and how it was regressed... but with nightly builds it would be lot easy track those problems.
Blocks: 623862
(In reply to comment #39)
> > ftp://ftp.mozilla.org/pub/mozilla.org/firefox/tinderbox-builds/mozilla-central-linuxqt/1294349437/
> 
> yep, port seems now in worse state that it was before (regression in menus
> position, and popup dialog windows)... need to figure out when and how it was
> regressed... but with nightly builds it would be lot easy track those problems.

actually, i think i was using my normal GTK profile where I have disabled the menu bar in favour of the firefox button.
Flags: needs-reconfig?
Blocks: 624532
Product: mozilla.org → Release Engineering
> ftp://ftp.mozilla.org/pub/mozilla.org/firefox/tinderbox-builds/mozilla-central-linuxqt/

Where are those gone? Is the qt port officially gone now?
(In reply to Jerome Leclanche from comment #41)
> > ftp://ftp.mozilla.org/pub/mozilla.org/firefox/tinderbox-builds/mozilla-central-linuxqt/
> 
> Where are those gone? Is the qt port officially gone now?

Yeah, these are gone.

For the record, there was never a supported/shipped QT port. These only existed in continuous integration to help test QT integration on other platforms.
(In reply to Jerome Leclanche from comment #41)
> > ftp://ftp.mozilla.org/pub/mozilla.org/firefox/tinderbox-builds/mozilla-central-linuxqt/
> 
> Where are those gone? Is the qt port officially gone now?

Qt port currently under refactoring now, Qt5 complete transition, code cleanup
https://github.com/tmeshkova/gecko-dev/tree/qtbackendrefactor
there is a simple way for compile it and testing locally?
What's the status of this? The github repo hasn't had any activity since 2013. A qt interface would be a great addition to firefox since lots of linux applications are moving over to qt. Chrome doesn't have qt, so firefox should turn this to it's advantage :)
This does need addressing, lubuntu is moving to Qt as are other *buntu family members. Marking it as 'fixed' is incorrect, the issue is not going away :D
Flags: needinfo?(jhford)
The specific bug was fixed in 2011. The builds were published on the ftp for a while. The advocate(s) for qt stopped working on it. The builds were removed some time in 2012 or 2013 because they were broken. If some community members with QT expertise wanted to restart the work create a new bug.
Flags: needinfo?(jhford)
QA Contact: mshal
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: