Bug 1091671

Summary: code-editor bundles qtsingleapplication (and qtlockedfile)
Product: [Fedora] Fedora Reporter: Ville Skyttä <ville.skytta>
Component: code-editorAssignee: Ilyes Gouta <ilyes.gouta>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: ilyes.gouta
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-05-12 09:02:41 EDT Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
Bug Depends On:    
Bug Blocks: 504493    

Description Ville Skyttä 2014-04-27 03:55:23 EDT
https://fedoraproject.org/wiki/Packaging:No_Bundled_Libraries
https://fedoraproject.org/wiki/Packaging:Treatment_Of_Bundled_Libraries

code-editor is using a bundled version of qtsingleapplication (and its dependency, qtlockedfile). Looks like the bundled version is newer than the system one and isn't switchable without code changes, but should be handled using one of the ways documented in the links above.
Comment 1 Ilyes Gouta 2014-04-27 05:53:58 EDT
Hi Ville,

$ rpm -qlp code-editor-2.8.1-5.fc20.x86_64.rpm | grep qtsingleapplication

doesn't showup anything.

or Am I missing something?

Ilyes
Comment 2 Ville Skyttä 2014-04-27 06:29:12 EDT
Yes, you cannot check for code bundling like that.

Just do a "ls src/shared/qt*" in the expanded source tarball dir, and the existence of those sources in the debuginfo package is strong evindence that they got also used:

$ repoquery --repoid=rawhide-debuginfo -l code-editor-debuginfo | grep src/shared/qt
/usr/src/debug/code-editor/src/shared/qtlockedfile
/usr/src/debug/code-editor/src/shared/qtlockedfile/qtlockedfile.cpp
/usr/src/debug/code-editor/src/shared/qtlockedfile/qtlockedfile.h
/usr/src/debug/code-editor/src/shared/qtlockedfile/qtlockedfile_unix.cpp
/usr/src/debug/code-editor/src/shared/qtsingleapplication
/usr/src/debug/code-editor/src/shared/qtsingleapplication/qtlocalpeer.cpp
/usr/src/debug/code-editor/src/shared/qtsingleapplication/qtlocalpeer.h
/usr/src/debug/code-editor/src/shared/qtsingleapplication/qtsingleapplication.cpp
/usr/src/debug/code-editor/src/shared/qtsingleapplication/qtsingleapplication.h

(qtlockedfile is qtsingleapplication's dependency so solving the latter will solve both issues)
Comment 3 Ilyes Gouta 2014-05-04 10:10:24 EDT
Hi Ville,

I had a look at the source code and found that indeed qtsingleapplication and qtlockedfile have been integrated in QtCreator's source code (which code-editor is based on) however those respective classes were placed (by the original upstream) in the dedicated C++ SharedTools namespace so that they won't clash with what the qtsingleapplication package is providing for Fedora (including the debug symbols).

The change is documented here:

https://qt.gitorious.org/qt-creator/code-editor/source/46cf4248615ab6437421a7e6cfa4bd8bbd1cbb7f:src/shared/qtsingleapplication/README.txt

Would this alleviate/solve the issue?

Regards,
Comment 4 Ville Skyttä 2014-05-05 02:44:20 EDT
No, please read the docs linked to in the initial comment. Either the bundling needs to be removed by using the system library, or you'll need to get an exception for the bundling from FPC and mark it as appropriate in the specfile. Here's that link again:

https://fedoraproject.org/wiki/Packaging:No_Bundled_Libraries#Exceptions
Comment 5 Ilyes Gouta 2014-05-11 12:02:38 EDT
(In reply to Ville Skyttä from comment #4)
> No, please read the docs linked to in the initial comment. Either the
> bundling needs to be removed by using the system library,

This is likely feasible and I'm checking it right now. I'll be updating the ticket with my findings.

Thanks,
Comment 6 Ilyes Gouta 2014-05-11 19:15:08 EDT
(In reply to Ilyes Gouta from comment #5)
> This is likely feasible and I'm checking it right now. I'll be updating the
> ticket with my findings.

I just pushed code-editor-2.8.1-6 to rawhide which has the following patch applied:

https://qt.gitorious.org/qt-creator/code-editor/commit/6fbc52a82bb58c0f5ba1aba43a3c13edce0e0118

(scratch-build: http://koji.fedoraproject.org/koji/taskinfo?taskID=6839762)
Comment 7 Ville Skyttä 2014-05-12 09:02:41 EDT
Looks good to me on surface. While checking, I took the liberty to do some sources and .gitignore cleanups in devel git.