Bug 18053 - mageiawelcome: remove dependency on webkit(1)
Summary: mageiawelcome: remove dependency on webkit(1)
Status: RESOLVED FIXED
Alias: None
Product: Mageia
Classification: Unclassified
Component: RPM Packages (show other bugs)
Version: 6
Hardware: All Linux
Priority: Normal normal
Target Milestone: ---
Assignee: QA Team
QA Contact:
URL:
Whiteboard: MGA6-64-OK
Keywords: advisory, validated_update
Depends on:
Blocks: 18015
  Show dependency treegraph
 
Reported: 2016-03-22 10:49 CET by Thierry Vignaud
Modified: 2019-08-03 23:20 CEST (History)
11 users (show)

See Also:
Source RPM: mageiawelcome-1.6-1.mga6
CVE:
Status comment:


Attachments
port to webkit2 (1.98 KB, patch)
2016-03-22 11:20 CET, Thierry Vignaud
Details | Diff
port to WebKit2 (1.98 KB, patch)
2016-03-22 11:34 CET, Thierry Vignaud
Details | Diff
write wekbit console messages to stdout (846 bytes, patch)
2018-11-01 00:35 CET, Thierry Vignaud
Details | Diff
Fix loading error show by previous debug patch (880 bytes, patch)
2018-11-01 00:37 CET, Thierry Vignaud
Details | Diff
debug patch (1.52 KB, patch)
2018-11-01 01:34 CET, Thierry Vignaud
Details | Diff
Fix javascript path (957 bytes, patch)
2018-11-01 01:38 CET, Thierry Vignaud
Details | Diff
To test OpenGL platform (286 bytes, text/plain)
2019-05-25 16:03 CEST, papoteur
Details

Description Thierry Vignaud 2016-03-22 10:49:45 CET
GNOME uses WebKit2. Mageiawelcome uses webkit. This results in unneeded dependencies for GNOME images. Please port mageiawelcome to webkit2.
Thierry Vignaud 2016-03-22 10:50:01 CET

CC: (none) => olav

Thierry Vignaud 2016-03-22 11:18:58 CET

Keywords: (none) => PATCH

Comment 1 Thierry Vignaud 2016-03-22 11:20:39 CET
Created attachment 7589 [details]
port to webkit2

With that patch, mageiawelcome starts but the content is not OK.
I guess the CSS needs being updated?
Comment 2 Thierry Vignaud 2016-03-22 11:27:15 CET
Check:

$ LC_ALL=C rpm -e lib64webkit-gir3.0-2.4.10-1.mga6
error: Failed dependencies:
        typelib(WebKit) is needed by (installed) mageiawelcome-1.6-1.mga6.noarch
        typelib(WebKit) = 3.0 is needed by (installed) mageiawelcome-1.6-1.mga6.noarch
Comment 3 Thierry Vignaud 2016-03-22 11:34:33 CET
Created attachment 7590 [details]
port to WebKit2

v2: really disable context menu

Attachment 7589 is obsolete: 0 => 1

Thierry Vignaud 2016-05-27 10:56:46 CEST

Blocks: (none) => 18015

Thierry Vignaud 2016-05-27 10:58:31 CEST

Summary: mageiawelcome: port to WebKit2 => mageiawelcome: port to WebKit2 (PATCH)

Comment 4 Thierry Vignaud 2016-12-01 17:35:43 CET
@Daniel, Papoteur: any comment?

CC: (none) => luigiwalser, yves.brungard_mageia

David Walser 2017-12-27 00:44:12 CET

Whiteboard: (none) => MGA6TOO

Comment 5 papoteur 2018-10-28 20:16:57 CET
Hi Thierry,
I'm reviewing mageiawelcome.
I applied your patch. It seems to work, but without applying the CSS. Thus, it is not yet functional.
Do we have some tools to debug the HTML page, CSS and javascript?
Comment 6 Thierry Vignaud 2018-11-01 00:29:10 CET
Nope
Comment 7 Thierry Vignaud 2018-11-01 00:35:09 CET
Created attachment 10441 [details]
write wekbit console messages to stdout

Which shows eg:
CONSOLE ERROR Not allowed to load local resource: file:///usr/share/mageiawelcome/js/jquery-json-2.4.min.js
Comment 8 Thierry Vignaud 2018-11-01 00:37:07 CET
Created attachment 10442 [details]
Fix loading error show by previous debug patch

to be applied with "git am -3 < 0001..." as usual
Comment 9 Thierry Vignaud 2018-11-01 01:34:28 CET
Created attachment 10443 [details]
debug patch

This patch enables to:
- trace the loaded files (which shows a name issue with one of the js but fixing that doesn't fix anything)
- open the inspector
- replace the html code by some hardcoded code (which works)
Comment 10 Thierry Vignaud 2018-11-01 01:38:57 CET
Created attachment 10444 [details]
Fix javascript path
Comment 11 Thierry Vignaud 2018-11-01 01:43:28 CET
Killing css/style.css & the inline JS from index.html restores some content here.
Comment 12 papoteur 2018-11-01 20:39:10 CET
Thanks Thierry,
I applied your patches.
Good progress.
Prefixing the command with LANGUAGE=C, the windows looks OK.
Without, I have:
 
file:///usr/share/mageiawelcome/js/ipc.js:1: CONSOLE ERROR SyntaxError: Invalid character '\u2864'
file:///usr/share/mageiawelcome/js/jquery-2.0.3.min.js:1: CONSOLE ERROR SyntaxError: Invalid character '\u2a2f'
file:///usr/share/mageiawelcome/js/kickstart.js:1: CONSOLE ERROR SyntaxError: Invalid character '\u2974'
file:///usr/share/mageiawelcome/:19:4: CONSOLE ERROR ReferenceError: Can't find variable: $
and presentation without style.
Comment 13 papoteur 2018-11-03 19:04:39 CET
There is still a problem with signal connection. It seems that the parameters transmitted in the callback function changed.
In http://gitweb.mageia.org/software/mageiawelcome/tree/usr/share/mageiawelcome/webgui.py#n36
    def connect_title_changed(browser, callback):
        def callback_wrapper(widget, frame, title): callback(title)
        browser.connect('notify::title', callback_wrapper)

the title argument is not transmitted and a "missing 1 argument" error occurs.
I didn't find a good way to pass the title of the notify event. Second argument passed seems to be a GParamString, but I didn't find a way to exploit it.
Comment 14 papoteur 2018-11-03 19:38:05 CET
(In reply to papoteur from comment #13)
> There is still a problem with signal connection. It seems that the
> parameters transmitted in the callback function changed.
> In
> http://gitweb.mageia.org/software/mageiawelcome/tree/usr/share/mageiawelcome/
> webgui.py#n36
>     def connect_title_changed(browser, callback):
>         def callback_wrapper(widget, frame, title): callback(title)
>         browser.connect('notify::title', callback_wrapper)
> 
> the title argument is not transmitted and a "missing 1 argument" error
> occurs.
> I didn't find a good way to pass the title of the notify event. Second
> argument passed seems to be a GParamString, but I didn't find a way to
> exploit it.
Just found the way:
def callback_wrapper(widget, param): callback(widget.get_property(param.name))
Comment 15 papoteur 2018-11-05 14:23:41 CET
Done

Resolution: (none) => FIXED
Status: NEW => RESOLVED

Comment 16 David Walser 2018-11-05 19:28:44 CET
Still needs to be packaged.

Status: RESOLVED => REOPENED
Resolution: FIXED => (none)

Comment 17 papoteur 2018-12-28 19:05:52 CET
Mageiawelcome is now rewritten using QML, without webkit.

Resolution: (none) => WONTFIX
Status: REOPENED => RESOLVED

Comment 18 David Walser 2018-12-28 19:10:38 CET
Improper resolution again.

Status: RESOLVED => REOPENED
Resolution: WONTFIX => (none)

Comment 19 David Walser 2018-12-28 19:11:49 CET
Once this update is packaged for Mageia 6 and Cauldron, then it will be marked as FIXED.

Keywords: PATCH => (none)
Summary: mageiawelcome: port to WebKit2 (PATCH) => mageiawelcome: remove dependency on webkit(1)

Comment 20 papoteur 2018-12-28 21:12:00 CET
It is packaged as 1.17 in cauldron.
I don't think it is of some interest to package it for Mageia 6. It includes some links for apges dedicated to Mageia 7.
Comment 21 David Walser 2018-12-28 21:13:38 CET
It is of interest for Mageia 6, as webkit isn't getting fixed ever.  If some of the changes in upstream 1.17 aren't correct for Mageia 6, then make a branch in git for mageiawelcome for Mageia 6 and only backport the changes to fix this bug.

Whiteboard: MGA6TOO => (none)
Version: Cauldron => 6

Comment 22 papoteur 2018-12-29 21:27:17 CET
I have created a topic/mga6 branch, adapted links and tagged a 1.18mga6 release.
Now, a packager have to package it.
Papoteur
Comment 23 David Walser 2018-12-29 21:28:09 CET
Nice, thanks.

Assignee: napcok => pkg-bugs
CC: (none) => napcok

Comment 24 papoteur 2019-04-14 09:25:51 CEST
Assigning to QA:
========================
Packages in 6/core/updates_testing:
========================
mageiawelcome-1.96-1.mga6.noarch.rpm
Source RPM:
========================
mageiawelcome-1.96-1.mga6.src.rpm
========================
David Walser 2019-04-14 09:57:19 CEST

Assignee: pkg-bugs => qa-bugs

Comment 25 papoteur 2019-04-14 21:35:33 CEST
Advisory:
----------------------------------------
The previous version used webkit1 which is no more maintained.
The new release is a new version using QML for the user interface, thus no more webkit.
Comment 26 papoteur 2019-04-20 12:53:32 CEST
Changed the path for the config file, as in the initial release, thus the application is not launched if "Open at start" is already unchecked.
========================
Packages in 6/core/updates_testing:
========================
mageiawelcome-1.97-1.mga6.noarch.rpm
Source RPM:
========================
mageiawelcome-1.97-1.mga6.src.rpm
========================
Comment 27 Herman Viaene 2019-04-22 10:47:05 CEST
MGA6-32 MATE on IBM Thinkpad R50e
No installation issues.
At CLI:
$ mageiawelcome
QML debugging is enabled. Only use this in a safe environment.
QString::arg: Argument missing: Welkom bij Mageia!, Tester6
qml: Screen:  1 3.787921912059843
QOpenGLShader: could not create shader
QOpenGLShader: could not create shader
QOpenGLShader: could not create shader
QOpenGLShader: could not create shader
QOpenGLShader: could not create shader

The outline of a new window appears quite shortly, but disappears before I could see whether there is any contents in it.
I get exactly the same result with mageiawelcome-launcher

CC: (none) => herman.viaene

Comment 28 Morgan Leijström 2019-04-22 16:53:30 CEST
mga6 64 bit, Plasma, Nvidia driver, old Intel i7
Window opens correctly here.
And do not open at login.  This system first received 1.96 version which popped up despite it is not a new installation.  1.97 seem not to, OK.
  

Problem: Also 1.97-1 pops up when it should not;
On my wifes system which did not get the 1.96 version in between:
Now after upgrade from some elder version than 1.96, at login the dialog pops up after upgrade to 1.97, and the checkmark is not set.

CC: (none) => fri

Comment 29 papoteur 2019-04-23 07:57:06 CEST
Ok, I missed to adapt the launcher.

> QString::arg: Argument missing: Welkom bij Mageia!, Tester6
The translation is not accurate, it need %1 in the location for replacement of the name.

> QOpenGLShader: could not create shader
It seems that this installation doesn't manage OpenGL 2. I don't know if it is because of a missing lib, or inability of hardware or driver. I found that graphics is Intel 855GME.
Comment 30 Herman Viaene 2019-05-10 16:25:32 CEST
My 32-bitter (old!!!!!) is OpenGL1.3, and its Intel graphics 82852/855GM .
Comment 31 papoteur 2019-05-22 16:32:27 CEST
I pushed a correction for the opening at login or not.
========================
Packages in 6/core/updates_testing:
========================
 mageiawelcome-1.98-1.mga6.noarch.rpm 
========================
 mageiawelcome-1.98-1.mga6.src.rpm
========================

I have done nothing about the Intel graphics 82852/855GM. I found some information but it's not yet clear for me how to do.
I hope to test which king of Opengl capable renderer is used and use or not some feature only rendered with OpenGL (LinearGradient).

Papoteur
Comment 32 Sébastien Morin 2019-05-24 10:23:20 CEST
I made some tests today in Vbox and everything seems to work:

1. Install Mga6 using the Live Plasma 6.1 ISO
2. Activate the default repositories and run all the updates available.
At this point, mageiawelcome is working as expected and pops-up only if the box is ticked.
3. Activate core_updates-testing repository and run "urpmi mageiwelcome" to update it with its dependencies.
4. The newest version is working as expected: a hidden ~/.mageiawelcome folder is created with the empty norun.flag file in it when the box is unticked. 

$ uname -romi
4.14.119-desktop-1.mga6 x86_64 x86_64 GNU/Linux
$ rpm -qa | grep welcome
mageiawelcome-1.98-1.1.mga6

CC: (none) => sebsweb

Comment 33 papoteur 2019-05-24 10:26:36 CEST
========================
Packages in 6/core/updates_testing:
========================
 mageiawelcome-1.98-1.1.mga6.noarch.rpm 
========================
 mageiawelcome-1.98-1.1.mga6.src.rpm
========================
Comment 34 papoteur 2019-05-25 16:03:44 CEST
Created attachment 11027 [details]
To test OpenGL platform

(In reply to Herman Viaene from comment #27)
> MGA6-32 MATE on IBM Thinkpad R50e
> No installation issues.
> At CLI:
> $ mageiawelcome
> QML debugging is enabled. Only use this in a safe environment.
> QString::arg: Argument missing: Welkom bij Mageia!, Tester6
> qml: Screen:  1 3.787921912059843
> QOpenGLShader: could not create shader
> 
> The outline of a new window appears quite shortly, but disappears before I
> could see whether there is any contents in it.
Hello Herman,
Can I have some test from you?
Check that qtdeclarative5 is installed.
Save the file attached under the name test.qml
Launch the command, in the directory you saved the file:
QT_LOGGING_RULES=qml=true qmlscene test.qml

A window will be displayed. Click on the center, then close it.
Provide what has been written in console.
the result will be in form of that:
qml: 3.0:2
where 3.0 is the opengl used by the application, and 2 says that the application  uses opengl.
Comment 35 Herman Viaene 2019-05-26 11:06:29 CEST
@papoteur:
First tested 1.98-1.1 to make sure this made no difference vs. 1.97: exactly same output.
Checked qtdeclarative5 is installed: that is OK
Now at CLI:
$ QT_LOGGING_RULES=qml=true qmlscene test.qml
QOpenGLShader: could not create shader
Segmentatiefout (geheugendump gemaakt) i.e. Segmentation fault (memory dump made)
Comment 36 papoteur 2019-05-29 07:39:55 CEST
It seems that I won't find any solution for that.
What I tried to get information about OpenGL version is provided only when OpenGL is used, not before :/
I tried Mageiawelcome with an old Laptop Dell dated 2007, Intel graphics 945M and it works fine.
Comment 37 papoteur 2019-07-04 10:55:17 CEST
Hello,
I didn't find any solution.

Status: REOPENED => RESOLVED
Resolution: (none) => WONTFIX

Comment 38 David Walser 2019-07-04 12:23:59 CEST
I don't know how you would when Herman didn't even provide a stack trace.  It sounds like he just has a broken system.

Status: RESOLVED => REOPENED
Resolution: WONTFIX => (none)

Comment 39 James Kerr 2019-07-07 16:15:53 CEST
on mga6-64

packages installed cleanly:

python3-opengl-3.1.0-7.mga6.x86_64
mageiawelcome-1.98-1.1.mga6.noarch.rpm

Tested all of the tabs and several links - all working
displays on login if the box is checked

OK for mga6-64

CC: (none) => jim

James Kerr 2019-07-07 16:19:54 CEST

Whiteboard: (none) => MGA6-64-OK

Comment 40 James Kerr 2019-07-07 16:53:28 CEST
on mga6-32  (in a vbox VM)

packages installed cleanly:
- mageiawelcome-1.98-1.1.mga6.noarch
- python3-numpy-1.11.2-1.mga6.i586
- python3-opengl-3.1.0-7.mga6.i586
- python3-qt5-core-5.6-8.mga6.i586
- python3-qt5-gui-5.6-8.mga6.i586
- python3-qt5-network-5.6-8.mga6.i586
- python3-qt5-qml-5.6-8.mga6.i586
- python3-qt5-quick-5.6-8.mga6.i586
- python3-sip-4.18.1-1.mga6.i586

Tested all of the tabs and several links - all working
displays on login if the box is checked

OK for mga6-32

Whiteboard: MGA6-64-OK => MGA6-64-OK MGA6-32-OK

Comment 41 James Kerr 2019-07-07 17:02:31 CEST
Validated update

Suggested Advisory:

************************************************************************
GNOME uses WebKit2. Mageiawelcome uses webkit. This results in unneeded dependencies for GNOME images. Mageiawelcome is now rewritten using QML, without webkit.

SRPM
mageiawelcome-1.98-1.1.mga6.src.rpm
************************************************************************

CC: (none) => sysadmin-bugs
Keywords: (none) => validated_update

Comment 42 Thomas Backlund 2019-07-07 17:43:00 CEST
Heh, so initial report stated:

"GNOME uses WebKit2. Mageiawelcome uses webkit. This results in unneeded dependencies for GNOME images. Please port mageiawelcome to webkit2."

 we tried to remove deps for Gnome to get it cleaner, and ended up pulling in qt stack instead... oh well... :/

CC: (none) => tmb

Comment 43 James Kerr 2019-07-08 06:31:19 CEST
(In reply to Thomas Backlund from comment #42)

I have removed the validation and OK's while I do some more testing

Whiteboard: MGA6-64-OK MGA6-32-OK => (none)
Keywords: validated_update => (none)

Comment 44 James Kerr 2019-07-08 08:58:28 CEST
Given the subject of the bug, it really needs to be tested on a system with Gnome as the only DE:

On a system with only gnome installed:


The following packages are selected:

- lib64qt5quickparticles5-5.9.4-1.mga6.x86_64
- lib64qt5quicktest5-5.9.4-1.mga6.x86_64
- lib64qt5sql5-5.9.4-1.2.mga6.x86_64
- lib64qt5test5-5.9.4-1.2.mga6.x86_64
- lib64qt5xmlpatterns5-5.9.4-1.mga6.x86_64
- mageiawelcome-1.98-1.1.mga6.noarch
- python3-opengl-3.1.0-7.mga6.x86_64
- python3-qt5-core-5.6-8.mga6.x86_64
- python3-qt5-gui-5.6-8.mga6.x86_64
- python3-qt5-network-5.6-8.mga6.x86_64
- python3-qt5-qml-5.6-8.mga6.x86_64
- python3-qt5-quick-5.6-8.mga6.x86_64
- python3-sip-4.18.1-1.mga6.x86_64
- qtdeclarative5-5.9.4-1.mga6.x86_64
- qtgraphicaleffects5-5.9.4-1.mga6.x86_64
- qtquickcontrols5-5.9.4-1.mga6.x86_64
- qtxmlpatterns5-xmlpatterns-5.9.4-1.mga6.x86_64

41MB of additional disk space will be used.


As suggested in comment#42, the update does not seem to really resolve the bug.

I leave it to others to decide on the appropriate action.
Comment 45 David Walser 2019-07-08 12:02:40 CEST
The only point was to remove the dependency on webkit1.  If it does that and it still works, it's good.
Comment 46 Len Lawrence 2019-08-02 23:58:32 CEST
Just to emphasize the point, after updating mageiawelcome I removed webkit1.0 and ran mageiawelcome again.  No problem, so this is good to go.  Thanks David and James.

CC: (none) => tarazed25

Len Lawrence 2019-08-03 00:00:11 CEST

Whiteboard: (none) => MGA6-64-OK
Keywords: (none) => validated_update

Thomas Backlund 2019-08-03 22:34:33 CEST

Keywords: (none) => advisory

Comment 47 Mageia Robot 2019-08-03 23:20:05 CEST
An update for this issue has been pushed to the Mageia Updates repository.

https://advisories.mageia.org/MGAA-2019-0073.html

Resolution: (none) => FIXED
Status: REOPENED => RESOLVED


Note You need to log in before you can comment on or make changes to this bug.