Closed Bug 1779931 Opened 2 years ago Closed 2 years ago

Bootstrap fails because "gconf2-devel" doesn't exist on openSUSE Tumbleweed

Categories

(Firefox Build System :: Bootstrap Configuration, defect, P5)

defect

Tracking

(firefox107 fixed)

RESOLVED FIXED
107 Branch
Tracking Status
firefox107 --- fixed

People

(Reporter: mjurgens, Assigned: mjurgens)

Details

Attachments

(1 file)

As you can see here, "gconf2-devel" is only in the openSUSE Leap repositories, not in the ones for Tumbleweed. This leads ./mach bootstrap to fail on Tumbleweed.

Hey Malte, I'm not sure what the solution to this is. It looks like gconf2 is needed to do some things, but maybe not all? Have you tried removing the package here and seeing what happens? Maybe you'll still be able to build and run Firefox, but maybe not run some tests/static analysis.

I did find this: https://software.opensuse.org/package/gconf2 which has gconf2 distributions for Tumbleweed, but not I'm not sure if gconf2 == gconf2-devel, so that may just be a dead end.

If opting to not install the package on Tumbleweed does allow for some things to work, we can probably add a conditional there to only install it on Leap. If neither of those paths help then we're in a bit of a pickle. Based on one of the [lines here]: "This package is for legacy applications and no longer used by GNOME." it sounds gconf2 is old and no longer maintained, so getting the maintainer(s) to release a package for Tumbleweed might not be possible. If that's the case, then Firefox just can't be built on openSUSE Tumbleweed (for the time being). Not until gconf2 gets replaced on our end and we no longer have the dependency.

Severity: -- → S4
Priority: -- → P5

After a bit of further testing, I can build and run Firefox on openSUSE Tumbleweed without gconf2 without any problems. But running some test commands leads to errors, and I suspect that is because gconf2 is missing (I am not sure though, maybe I am also doing something else wrong):

maltejur@localhost:~/mozilla-unified> ./mach test "firefox-ui-functional"
mach: error: Test file(s) not found: h o m e m a l t e j u r m o z i l l a - u n i f i e d t e s t i n g f i r e f o x - u i t e s t s f u n c t i o n a l m a n i f e s t i n i

maltejur@localhost:~/mozilla-unified> cat testing/firefox-ui/tests/functional/manifest.ini 
[include:safebrowsing/manifest.ini]
[include:security/manifest.ini]

I did find this: https://software.opensuse.org/package/gconf2 which has gconf2 distributions for Tumbleweed

But no official ones, only "community packages". The same is also the case for gconf2-devel btw.

we can probably add a conditional there to only install it on Leap

I think I will work on a patch for that.

Okay, some more things. I installed one of the mentioned community packages for gconf2-devel and even with that I get the same error. So I am probably really doing something else wrong there.

(In reply to Malte Jürgens from comment #2)

After a bit of further testing, I can build and run Firefox on openSUSE Tumbleweed without gconf2 without any problems. But running some test commands leads to errors, and I suspect that is because gconf2 is missing (I am not sure though, maybe I am also doing something else wrong):

maltejur@localhost:~/mozilla-unified> ./mach test "firefox-ui-functional"
mach: error: Test file(s) not found: h o m e m a l t e j u r m o z i l l a - u n i f i e d t e s t i n g f i r e f o x - u i t e s t s f u n c t i o n a l m a n i f e s t i n i

maltejur@localhost:~/mozilla-unified> cat testing/firefox-ui/tests/functional/manifest.ini 
[include:safebrowsing/manifest.ini]
[include:security/manifest.ini]

I think you're probably right, some tests (and static analysis) failing is what I expected.

we can probably add a conditional there to only install it on Leap

I think I will work on a patch for that.

Sounds good. Building and running Firefox but not being able to run some test sounds better than being unable to do anything.

(In reply to Malte Jürgens from comment #3)

Okay, some more things. I installed one of the mentioned community packages for gconf2-devel and even with that I get the same error. So I am probably really doing something else wrong there.

I think you're on the right track. Getting a community package working is probably the solve here, the trouble is getting one to work. Unfortunately, I can't help much further than that. OpenSUSE is not one of our Tier-1 Hosts so the amount of time and resources I can spend on this is limited. I am curious to see if you find a solution though. Please keep me posted on your progress.

  • Added the variable BROWSER_OPTIONAL_PACKAGES, which contains
    a list of packages which should, if possible, be installed with
    zypper. If that isn't possible because the package can't be
    found, just display a warning and continue.
  • Add gconf2-devel to BROWSER_OPTIONAL_PACKAGES, since
    gconf2-devel is not available in Tumbleweed repos and also
    not required to build Firefox.
Assignee: nobody → maltejur
Status: UNCONFIRMED → ASSIGNED
Ever confirmed: true

Okay, I submitted a patch making the installation of gconf2-devel optional.

And regarding the tests not working without gconf2-devel: I was able to run the mentioned test just fine by calling it directly with ./mach test testing/firefox-ui/tests/functional. So I think that that not working was an entirely different issue, which means that leaving out gconf2-devel is even less of an issue. I am actually not sure now what the purpose of gconf2-devel even is but lets just leave it at that.

There's a r+ patch which didn't land and no activity in this bug for 2 weeks.
:maltejur, could you have a look please?
If you still have some work to do, you can add an action "Plan Changes" in Phabricator.
For more information, please visit auto_nag documentation.

Flags: needinfo?(maltejur)
Flags: needinfo?(ahochheiden)

The patch is ready from my side, I just don't have permission to land it.

Flags: needinfo?(maltejur)

I wanted to land it a while back, but static analysis and linting were still running. It appears that they're still running, and therefore stuck. I reached out on the Code Review Bot matrix channel for help with getting it fixed. Once both have run, I'll land it.

Flags: needinfo?(ahochheiden)
Pushed by ahochheiden@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/18d675341a9d
Make installing `gconf2-devel` during openSUSE bootstrap optional r=ahochheiden
Status: ASSIGNED → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → 107 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: