Bug 16736

Summary: scribus .spec is missing dependency for `qttools5`
Product: Mageia Reporter: Hartmut Goebel <h.goebel>
Component: RPM PackagesAssignee: Joseph Wang <joequant>
Status: RESOLVED INVALID QA Contact:
Severity: normal    
Priority: Normal CC: doktor5000
Version: CauldronKeywords: Junior_job
Target Milestone: ---   
Hardware: All   
OS: Linux   
Whiteboard: trivial
Source RPM: scribus-1.5.0-1.mga4.x86_64.rpm CVE:
Status comment:

Description Hartmut Goebel 2015-09-11 09:19:13 CEST
The .spec-file fpr scribus is missing a dependency for /usr/lib64/qt5/bin/lrelease resp. qt5tools

Proposed solution
===================

Add a BuildRequirement for either /usr/lib64/qt5/bin/lrelease or qt5tools to
scribus.spec.

How reproduce
=================

1. Fetch the current scribus sources from mgarepo
    mgarepo co scribus

2. Install all required packages for building scribus. This may differ on your
   system.

   Use `rpmbuild -bp SOURCES/scribus.spec` to check if all BuildRequirements
   are installed. Install any missing requirement, e.g:

   For me this was:

    urpmi hunspell-devel lcms2-devel boost-devel qt5-devel podofo-devel cmake
    urpmi lib64qt5webkit-devel lib64qt5webkitwidgets-devel lib64qt5help-devel

   Repeat this for other missing modules until
   `rpmbuild -bp SOURCES/scribus.spec` says okay.

3. *Remove* the package `qttools5`: urpme qttools5

4. Run `rpmbuild -bp SOURCES/scribus.spec` again. It should not report any
   missing BuildRequirement. Esp. neither /usr/lib64/qt5/bin/lrelease nor
   qt5tools are reported as missing.

5. Try to build the package:`rpmbuild -ba SOURCES/scribus.spec`
   This fails with 
     Scanning dependencies of target release_ts_af
     /bin/sh: /usr/lib64/qt5/bin/lrelease: Datei oder Verzeichnis nicht gefunden
     resources/translations/CMakeFiles/release_ts_af.dir/build.make:52: recipe
     for target 'resources/translations/CMakeFiles/release_ts_af' failed

Actual Results
===================

- rpmbuild does not list /usr/lib64/qt5/bin/lrelease resp. qt5tools as missing
  dependency
- Build fails

Expected results
====================

- rpmbuild should list /usr/lib64/qt5/bin/lrelease resp. qt5tools as missing
  dependency
- Build should pass
Hartmut Goebel 2015-09-11 09:21:28 CEST

Keywords: (none) => Junior_job
Source RPM: (none) => scribus-1.5.0-1.mga4.x86_64.rpm
Whiteboard: (none) => trivial

Samuel Verschelde 2015-09-11 09:22:51 CEST

Assignee: bugsquad => mageia

Comment 1 Rémi Verschelde 2015-09-11 09:31:19 CEST
Note that you can use "urpmi --buildrequires SPECS/scribus.spec" to install all BRs without having to list them manually.
Samuel Verschelde 2015-09-11 09:43:10 CEST

Assignee: mageia => joequant

Comment 2 Hartmut Goebel 2015-09-11 10:02:56 CEST
Addendum:

1. Please note that I was building on a Mageia 4 system. In Mga5 or cauldron
   the dependency *may* be solved otherwise.

2. According to sophie [1]the src-package already depends on qttools5.
   But according to the .spec-file in svnweb [2], it does not!

[1] http://sophie.zarb.org/distrib/Mageia/5/x86_64/media/core-updates_testing-src/by-pkgid/5e4ecbc8ae169e065cc14a9eada8f5ce/deps
[2] http://svnweb.mageia.org/packages/cauldron/scribus/current/SPECS/scribus.spec?revision=871031&view=markup
Comment 3 Hartmut Goebel 2015-09-11 10:03:28 CEST
@Remi: Thank you for this tpp. I did not know it.
Comment 4 Florian Hubold 2015-12-19 14:16:42 CET
If the BuildRequires would be missing, the build of scribus would fail on the buildsystem. qt5tools is required by lib(64)qt5help-devel, which is listed as
BuildRequires:  pkgconfig(Qt5Help) - check line 28 in http://svnweb.mageia.org/packages/cauldron/scribus/current/SPECS/scribus.spec?view=markup

Your step 3. to manually remove qt5tools isn't possible on the buildsystem (if all BuildRequires are installed, build starts) so this report is basically invalid, there's nothing to fix for the buildsystem.

Apart from that we also should not add recursive BuildRequires, see the notes about recursive checking in https://wiki.mageia.org/en/Packaging_guidelines#BuildRequires

See:

[doktor5000@Mageia5]â[14:12:06]â[~] urpmq --whatrequires qttools5 | sort -u
lib64qt5help-devel    <<<<
libqt5help-devel      <<<<
plasma-workspace
qttools5   

And also the recursive dependencies of lib(64)qt5help-devel via 
urpmq -pd 'pkgconfig(Qt5Help)'

Status: NEW => RESOLVED
CC: (none) => doktor5000
Resolution: (none) => INVALID