WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
Bug 177338
Remove build-webkit's notion of feature flags having a default value
https://bugs.webkit.org/show_bug.cgi?id=177338
Summary
Remove build-webkit's notion of feature flags having a default value
Tim Horton
Reported
2017-09-21 18:59:05 PDT
Remove build-webkit's notion of feature flags having a default value
Attachments
Patch
(26.45 KB, patch)
2017-09-21 18:59 PDT
,
Tim Horton
no flags
Details
Formatted Diff
Diff
Patch
(38.01 KB, patch)
2017-09-22 09:14 PDT
,
Michael Catanzaro
achristensen
: review+
Details
Formatted Diff
Diff
reews
(38.01 KB, patch)
2017-09-26 00:14 PDT
,
Tim Horton
no flags
Details
Formatted Diff
Diff
[WIP] Rebased
(38.18 KB, patch)
2017-11-21 13:46 PST
,
Don Olmstead
no flags
Details
Formatted Diff
Diff
Patch
(33.55 KB, patch)
2017-11-21 15:40 PST
,
Don Olmstead
no flags
Details
Formatted Diff
Diff
Show Obsolete
(4)
View All
Add attachment
proposed patch, testcase, etc.
Tim Horton
Comment 1
2017-09-21 18:59:47 PDT
Created
attachment 321505
[details]
Patch
Tim Horton
Comment 2
2017-09-21 19:01:09 PDT
As discussed on webkit-dev. This depends on a change that mcatanzaro needs to make to their buildbots.
Alex Christensen
Comment 3
2017-09-21 19:02:00 PDT
Are we planning to remove the list entirely?
Tim Horton
Comment 4
2017-09-21 20:44:24 PDT
Eventually. Maybe even soon!
Michael Catanzaro
Comment 5
2017-09-22 06:56:18 PDT
(In reply to Tim Horton from
comment #2
)
> As discussed on webkit-dev. > > This depends on a change that mcatanzaro needs to make to their buildbots.
As soon as I figure out where the buildbot configuration lives. :) Carlos Lopez often handles such issues. Hopefully we can get it sorted out today, but if not it should be very soon. Patch looks good.
Carlos Alberto Lopez Perez
Comment 6
2017-09-22 07:22:46 PDT
(In reply to Michael Catanzaro from
comment #5
)
> (In reply to Tim Horton from
comment #2
) > > As discussed on webkit-dev. > > > > This depends on a change that mcatanzaro needs to make to their buildbots. > > As soon as I figure out where the buildbot configuration lives. :) Carlos > Lopez often handles such issues. Hopefully we can get it sorted out today, > but if not it should be very soon. > > Patch looks good.
The buildbot config is all on the repository at Tools/BuildSlaveSupport/build.webkit.org-config After touching anything there be sure to run the unit tests with this: ( cd Tools/BuildSlaveSupport/build.webkit.org-config ; ./mastercfg_unittest.py ) And if you want more testing the script I uploaded to
bug 169084
(still waiting for review) allows to run a copy of the buildbot master on your dev machine for testing purposes
Carlos Alberto Lopez Perez
Comment 7
2017-09-22 07:38:22 PDT
Comment on
attachment 321505
[details]
Patch I think we (GTK/WPE) need a way to enable experimental features in development by default with a common switch for all our bots except a few (the debian and ubuntu ones). Please don't land this still as I think is going to break our ports. Our EWS doesn't run tests. We need to check that we keep enabling the same features after this lands and it doesn't break lot of tests.
Michael Catanzaro
Comment 8
2017-09-22 08:01:14 PDT
After discussing this more, we decided we still need the --default-cmake-features flag so that developers still get the same default feature set as is used by our bots, not the end user feature set. This is important for consistent layout test results. But we can rename it to --experimental-features/--no-experimental-features now that FeatureLists.pm does not have its own defaults. --experimental-features will be the default. Our buildbot config will be modified to pass --no-experimental-features instead of --default-cmake-features for the bots that are currently using --default-cmake-features. Instead of enabling the FeatureList.pm defaults, we'll have --experimental-features tell build-webkit to pass -DENABLE_EXPERIMENTAL_FEATURES down to CMake. OptionsGTK.cmake and OptionsWPE.cmake will be modified to recognize that flag and have it change the defaults for ENABLE_MEDIA_SOURCE and ENABLE_MEDIA_STREAM.
Michael Catanzaro
Comment 9
2017-09-22 09:14:48 PDT
Created
attachment 321555
[details]
Patch
Michael Catanzaro
Comment 10
2017-09-22 09:20:14 PDT
Tim, Carlos Lopez, could you both review this please? I've tested it to ensure GTK gets the right features enabled both when using (a) build-webkit without --no-experimental-features, (b) build-webkit with --no-experimental-features, and (c) when not using build-webkit. I failed to run the buildbot unittests, but they were already broken ('ImportError: No module named zope.interface') and I've just renamed options so I'm sure that's fine. But Carlos Lopez says we need to ask
admin@webkit.org
to restart the buildbots for the configuration changes to take effect.
Michael Catanzaro
Comment 11
2017-09-22 09:21:05 PDT
Looks like the EWS are broken for an unrelated reason. :/
Tim Horton
Comment 12
2017-09-22 09:35:59 PDT
LGTM but I won't r+ something that is partially my patch :)
Michael Catanzaro
Comment 13
2017-09-22 09:46:14 PDT
I think Carlos Lopez will probably want to review it anyway.
Alex Christensen
Comment 14
2017-09-22 09:49:05 PDT
Comment on
attachment 321555
[details]
Patch r=me I'd be ok if Carlos looked at it before landing if that happens soonish.
Carlos Alberto Lopez Perez
Comment 15
2017-09-22 10:06:13 PDT
Comment on
attachment 321555
[details]
Patch It looks ok. Feel free to land. Thanks.
Michael Catanzaro
Comment 16
2017-09-22 11:11:55 PDT
Committed
r222394
: <
http://trac.webkit.org/changeset/222394
>
Michael Catanzaro
Comment 17
2017-09-22 11:14:14 PDT
(In reply to Michael Catanzaro from
comment #10
)
> But Carlos Lopez says we need to ask >
admin@webkit.org
to restart the buildbots for the configuration changes to > take effect.
Request sent.
Matt Lewis
Comment 18
2017-09-22 12:56:10 PDT
Reverted
r222394
for reason: This broke the Windows Debug Build. Committed
r222400
: <
http://trac.webkit.org/changeset/222400
>
Matt Lewis
Comment 19
2017-09-22 12:56:44 PDT
Build break:
https://build.webkit.org/builders/Apple%20Win%20Debug%20%28Build%29/builds/4233
https://build.webkit.org/builders/Apple%20Win%20Debug%20%28Build%29/builds/4233/steps/compile-webkit/logs/stdio
Michael Catanzaro
Comment 20
2017-09-22 13:45:57 PDT
Probably nobody ever tested Windows with the CMake featureset.
Michael Catanzaro
Comment 21
2017-09-22 13:49:49 PDT
It looks like the Windows build is still failing with the same errors, despite the rollout. I've triggered a clean build so that it should hopefully pick up the features from build-webkit again in the meantime.
Michael Catanzaro
Comment 22
2017-09-24 20:42:09 PDT
(In reply to Michael Catanzaro from
comment #21
)
> It looks like the Windows build is still failing with the same errors, > despite the rollout. I've triggered a clean build so that it should > hopefully pick up the features from build-webkit again in the meantime.
The force build worked.
Tim Horton
Comment 23
2017-09-26 00:13:46 PDT
(In reply to Michael Catanzaro from
comment #20
)
> Probably nobody ever tested Windows with the CMake featureset.
And this is exactly why it's important to fix this :) I think I didn't notice the EWS fail because the build was already broken (and the second time it didn't get there), but let's run it again and see what's up.
Tim Horton
Comment 24
2017-09-26 00:14:59 PDT
Created
attachment 321803
[details]
reews
Michael Catanzaro
Comment 25
2017-09-26 07:47:59 PDT
I'm not sure if EWS will catch this, unfortunately, because only the Windows debug bot was broken, not the release bot.
Carlos Alberto Lopez Perez
Comment 26
2017-10-03 05:29:00 PDT
> I'm not sure if EWS will catch this, unfortunately, because only the Windows > debug bot was broken, not the release bot.
Is there someone able to test this on windows with a debug build? Otherwise I suggest to land this as it is and try to fix the breakage after it lands by checking the windows bots.
Michael Catanzaro
Comment 27
2017-10-31 10:22:59 PDT
(In reply to Carlos Alberto Lopez Perez from
comment #26
)
> Is there someone able to test this on windows with a debug build? > > Otherwise I suggest to land this as it is and try to fix the breakage after > it lands by checking the windows bots.
Today I rediscovered that we still have the defaults in FeatureList.pm. :( Would be great to try landing this again, indeed. I guess Windows debug will probably still be broken, though.
Michael Catanzaro
Comment 28
2017-10-31 10:24:11 PDT
Though WebPreferencesDefinitions.h is generated, now, so some changes will be needed there....
Tim Horton
Comment 29
2017-10-31 10:29:23 PDT
Sadly I don't have time to fiddle with this at the moment, but if one of you wants to take it to the finish line, feel free!
Michael Catanzaro
Comment 30
2017-10-31 10:39:01 PDT
The problem is, I don't think we want to debug the cryptic error on the Windows debug bot. So we'll probably let this sit for a while. I'm sure someone will be interested in picking it up again eventually....
Don Olmstead
Comment 31
2017-11-21 13:46:56 PST
Created
attachment 327428
[details]
[WIP] Rebased Rebased the patch. Currently throwing it at the bots to see what happens. I'll try and build AppleWin debug locally to see whats going on there. Will fix the changelogs after that to reflect the original authors
Michael Catanzaro
Comment 32
2017-11-21 14:10:11 PST
Comment on
attachment 327428
[details]
[WIP] Rebased View in context:
https://bugs.webkit.org/attachment.cgi?id=327428&action=review
> Source/cmake/OptionsWPE.cmake:16 > -WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_ACCELERATED_2D_CANVAS PUBLIC OFF) > +WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_ACCELERATED_2D_CANVAS PUBLIC ${ENABLE_EXPERIMENTAL_FEATURES})
I just changed this the other day. This one should be always OFF now.
> Source/cmake/OptionsWPE.cmake:19 > +WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_MEDIA_SOURCE PUBLIC ${ENABLE_EXPERIMENTAL_FEATURES})
And this one should always be ON. So you can just get rid of the changes in OptionsWPE.cmake; we don't need to use ENABLE_EXPERIMENTAL_FEATURES there. The changes in OptionsGTK.cmake are all still good.
Don Olmstead
Comment 33
2017-11-21 15:31:42 PST
Ok here's an update on AppleWin debug builds. So like before this patch does not build with AppleWin on debug. It appears that
https://bugs.webkit.org/show_bug.cgi?id=179867
introduced a warning due to the change of signatures for the methods and warnings are treated as errors in these builds. By disabling the warning I was able to get a build of WebKitLegacy working. This appears to be further than the previous patch got so I THINK we're ok.
Don Olmstead
Comment 34
2017-11-21 15:40:25 PST
Created
attachment 327435
[details]
Patch Fix review comments
Don Olmstead
Comment 35
2017-11-21 15:42:41 PST
Comment on
attachment 327435
[details]
Patch Ok I think we're back in business with this patch. It should now match the old one but please double check me here. AppleWin debug build seems to be broken currently so I don't know when that will be resolved. Hopefully before this patch requires another rebase.
Don Olmstead
Comment 36
2017-11-21 17:06:19 PST
I did a local build of wincairo and it built successfully. The last patch also built successfully so I think its a false positive and am ok with fixing in a followup if there is actually an issue.
Carlos Alberto Lopez Perez
Comment 37
2017-11-22 07:27:54 PST
Comment on
attachment 327435
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=327435&action=review
> Source/cmake/OptionsGTK.cmake:161 > +WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEB_RTC PRIVATE ${ENABLE_EXPERIMENTAL_FEATURES})
I think this line should be removed. We don't longer enable webrtc (not even on experimental builds) after we dropped the openwebrtc backend. The new backend based on libwebrtc is yet not ready to be enabled
Carlos Alberto Lopez Perez
Comment 38
2017-11-22 07:29:04 PST
(In reply to Carlos Alberto Lopez Perez from
comment #37
)
> Comment on
attachment 327435
[details]
> Patch > > View in context: >
https://bugs.webkit.org/attachment.cgi?id=327435&action=review
> > > Source/cmake/OptionsGTK.cmake:161 > > +WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEB_RTC PRIVATE ${ENABLE_EXPERIMENTAL_FEATURES}) > > I think this line should be removed. > We don't longer enable webrtc (not even on experimental builds) after we > dropped the openwebrtc backend. > The new backend based on libwebrtc is yet not ready to be enabled
agh.. forget that, i overlooked it is enabled on Tools/Scripts/webkitperl/FeatureList.pm
Carlos Alberto Lopez Perez
Comment 39
2017-11-22 07:29:24 PST
Comment on
attachment 327435
[details]
Patch Feel free to land as it is. Just watch the bots after doing that.
WebKit Commit Bot
Comment 40
2017-11-22 10:52:56 PST
Comment on
attachment 327435
[details]
Patch Clearing flags on attachment: 327435 Committed
r225098
: <
https://trac.webkit.org/changeset/225098
>
WebKit Commit Bot
Comment 41
2017-11-22 10:52:58 PST
All reviewed patches have been landed. Closing bug.
Radar WebKit Bug Importer
Comment 42
2017-11-22 10:53:26 PST
<
rdar://problem/35669022
>
Michael Catanzaro
Comment 43
2017-11-22 12:14:25 PST
I'll ask for a buildbot reset.
Michael Catanzaro
Comment 44
2017-11-22 12:26:18 PST
The Debian stable buildbot is broken. It's a minor bot, and it will be fixed by the buildbot reset, so not a big deal. (This bot is now building with ENABLE_MEDIA_SOURCE, which it is not supposed to do, until the next reset.) But I think it is a real MSE bug:
https://build.webkit.org/builders/GTK%20Linux%2064-bit%20Release%20Debian%20Stable%20(Build)/builds/7699/steps/compile-webkit/logs/stdio
Carlos Alberto Lopez Perez
Comment 45
2017-11-22 14:27:15 PST
(In reply to Michael Catanzaro from
comment #44
)
> The Debian stable buildbot is broken. It's a minor bot, and it will be fixed > by the buildbot reset, so not a big deal.
Right, let's wait for the rest.
> (This bot is now building with > ENABLE_MEDIA_SOURCE, which it is not supposed to do, until the next reset.) > But I think it is a real MSE bug: > >
https://build.webkit.org/builders/GTK%20Linux%2064
- > bit%20Release%20Debian%20Stable%20(Build)/builds/7699/steps/compile-webkit/ > logs/stdio
GST_BUFFER_DTS_OR_PTS definition appeared on GStreamer 1.8. That bot still runs on Debian jessie (which has GStreamer 1.4)
Michael Catanzaro
Comment 46
2017-11-22 14:57:34 PST
OK that's fine, ENABLE_MEDIA_SOURCE does not need to work with GStreamer 1.4, and that will get disabled again when the buildbot master is restarted.
Tim Horton
Comment 47
2017-11-22 16:05:55 PST
Thanks for relanding this and fixing it up!
Don Olmstead
Comment 48
2017-11-22 16:25:35 PST
(In reply to Tim Horton from
comment #47
)
> Thanks for relanding this and fixing it up!
👍 no problem!
Carlos Alberto Lopez Perez
Comment 49
2017-11-23 17:11:28 PST
Seems this caused some features to change of default value for the GTK+ port. Reported that in
bug 179989
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug