Bug 1190476 - Review and acl request for pcmanfm-qt package
Summary: Review and acl request for pcmanfm-qt package
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: pcmanfm-qt
Version: rawhide
Hardware: All
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Mamoru TASAKA
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2015-02-08 13:05 UTC by Helio Chissini de Castro
Modified: 2015-03-09 08:32 UTC (History)
5 users (show)

Fixed In Version: pcmanfm-qt-0.9.0-6.fc22
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2015-02-25 19:43:08 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
Spec file (3.32 KB, text/plain)
2015-02-08 13:07 UTC, Helio Chissini de Castro
no flags Details
Relase 2 with all changes requested (3.98 KB, text/plain)
2015-02-09 12:06 UTC, Helio Chissini de Castro
no flags Details
Release 3 (4.16 KB, text/plain)
2015-02-11 17:42 UTC, Helio Chissini de Castro
no flags Details
Release 4 (4.52 KB, text/plain)
2015-02-13 13:24 UTC, Helio Chissini de Castro
no flags Details
Rekase 5 (4.67 KB, text/plain)
2015-02-18 15:30 UTC, Helio Chissini de Castro
no flags Details

Description Helio Chissini de Castro 2015-02-08 13:05:02 UTC
Hello all 

Here's the proposal of keep pcmanfm-qt as same level of current LXQt packages on Fedora

As 0.9.0 version, released today, LXQt dropped all Qt4 support, including all associated libraries, libsysstat and libqtxdg.
During the 0.9.0 devel cycle, we raised the concern of common installation path and minor issues on the consistency on the installation. 
All patches added in the 0.8.0 Fedora build was accepted in upstream, so we are almost without patches now, except for the current related to distro specific.
The relationship with upstream is best at all, and as long we are doing proper work, is a bug chance to have all fixes and needs attended.

The last part is work in the proper Fedora theming, which is heavily tied to pcmanfm-qt theming and control on the setup, and the reason i'm requesting acls and the new proposal package.

The changes related in the package are:

- Obsoletes all -qt5 packages and all -qt packages will be replaced by the compiled Qt5, so no upgrade issues. libfm-qt5 on the contrary obsoletes -qt to follow library naming. 

- Make the spec looks like exactly as the other LXQt packages, so any packager that need to deal with the set, will be fine navigating trough. 

The spec in attached in this bug.

Is there additional changes needed ?

Best regards, Helio

Comment 1 Helio Chissini de Castro 2015-02-08 13:07:12 UTC
Created attachment 989382 [details]
Spec file

Comment 2 Mamoru TASAKA 2015-02-09 04:18:38 UTC
First of all:
At least please check the current pcmanfm-qt.spec
http://pkgs.fedoraproject.org/cgit/pcmanfm-qt.git/tree/pcmanfm-qt.spec?id=92a2d83c9876cd89a10fda2a49124bce90ba1cae
, compare with your spec file, check the difference
and examine if anything is missing on your spec file.


* Source URL
-------------------------------------------------------------
$ spectool -g ../SPECS/pcmanfm-qt.spec 
Getting http://lxqt.org/downloads/lxqt/0.9.0/pcmanfm-qt-0.9.0.tar.xz to ./pcmanfm-qt-0.9.0.tar.xz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
curl: (22) The requested URL returned error: 404 Not Found
-------------------------------------------------------------

* Requires
  - Explain why "R: lxqt-common" is newly added.

  - "pcmanfm-qt" must have EVR-%isa (Epoch-Version-Release) specific Requires
    for libfm-qt5
    https://fedoraproject.org/wiki/Packaging:Guidelines?rd=Packaging/Guidelines#Requiring_Base_Package

* Obsoletes / Provides
  - Manage properly Obsoletes / Provides for _all_ binary rpms
    which are created from current pcmanfm-qt (Fedora) srpm.
    * For example
      - As Qt4 support is removed, Obsoletes for "pcmanfm-qt4"
        "libfm-qt4" and so on is properly added.
  - Also Obsoletes / Provides must be version-specific:
    https://fedoraproject.org/wiki/Packaging:Guidelines?rd=Packaging/Guidelines#Renaming.2FReplacing_Existing_Packages

* BR (BuildRequires)
  - Explain why changing BR is needed
    * At least check "CMakeLists.txt", especially "find_package",
      "pkg_check_modules" items in CMakeLists.txt in pcmanfm-qt tarball
      and write proper BuildRequires there
      (i.e. compare BRs in your spec file and current pcmanfm-qt.spec, and
      check if the changes are needed)

    * Expecially "kf5-kwindowsystem-devel" is mysterious. Where did this
      come from? 

    * Check pkgconfig(Qt5Help), pkgconfig(Qt5Xdg)

    * And where is doxygen used?

* %setup
  - add -q option (as written in the example of the below)
    https://fedoraproject.org/wiki/Packaging:Guidelines?rd=Packaging/Guidelines#Handling_Locale_Files

* Scriptlets
  * <Again> /sbin/ldconfig is missing
    https://fedoraproject.org/wiki/Packaging:Guidelines?rd=Packaging/Guidelines#Shared_Libraries

  * <Again> desktop-file-validate or so is missing
    https://fedoraproject.org/wiki/Packaging:Guidelines?rd=Packaging/Guidelines#desktop-file-install_usage

  * <Again> desktop-database is missing
    https://fedoraproject.org/wiki/Packaging:ScriptletSnippets?rd=Packaging/ScriptletSnippets#desktop-database

* Changelog, %description, etc
  - Respect other people's work. Please don't remove histories
    already in %changelog

  - And please check if you really have to change %description , Summary etc
    on the current spec file

Extras (changed from the time I wrote the spec file)
* License
  - Now license files must be marked as %license
    https://fedoraproject.org/wiki/Packaging:LicensingGuidelines?rd=Packaging/LicensingGuidelines#License_Text

Comment 3 Mamoru TASAKA 2015-02-09 04:19:38 UTC
So please
- read Fedora guidelines, and get familiar with those
- read other people's works and respect them

Comment 4 Mamoru TASAKA 2015-02-09 04:49:22 UTC
Ah, (also missing from my spec file)
* Language files
  - *.qm files must be handled by %lang(foo), using
    %find_lang pcmanfm-qt --with-qt
    https://fedoraproject.org/wiki/Packaging:Guidelines?rd=Packaging/Guidelines#Handling_Locale_Files

Comment 5 Helio Chissini de Castro 2015-02-09 12:05:23 UTC
Attached release 2

- Source url: FIXED

- lxqt-common as new requires: pcmanfm-qt has resources now inside the lxqt-common package, including xdg data, icons. Without this depends it become incomplete

- "pcmanfm-qt" must have EVR-%isa for libfm-qt5:  No, it not. Libraries are automatic solved by rpm dependency solver. Rex Dieter can confirm this for me.

- BR: All the build requires are properly placed. kf5-kwindowsystem is introduced in the 0.9.0 cycle of development as a replacement library for window task code.
Qt5Help is needed because find_package(Qt5X11Extras 5.2 REQUIRED). Qt5Xdg is a explicit requires for new LXQt system, and is handled by the project.
Doxygen comes from BUILD_DOCUMENTATION=ON. Was missing on last spec, but added again on release 2

- * %setup - add -q option: FIXED

- Missing /sbin/ldconfig: FIXED

- Destop validation and database: FIXED

- License: No, the example on text is clear, need to be License: on header only. 

- Changelog: Changelog was there, just the two last entries are missing due to copied package before that was added. All other changelog was there: FIXED

- Translation: FIXED

I did everythign you requested.

Comment 6 Helio Chissini de Castro 2015-02-09 12:06:16 UTC
Created attachment 989656 [details]
Relase 2 with all changes requested

Comment 7 Mamoru TASAKA 2015-02-11 13:04:39 UTC
> lxqt-common as new requires: pcmanfm-qt has resources now inside the lxqt-common package, including xdg data, icons. Without this depends it become incomplete

Check if its "incompleteness" is really important.
Such dependency should be usually handed with kickstart or comps
file,.

> "pcmanfm-qt" must have EVR-%isa for libfm-qt5:  
> No, it not. Libraries are automatic solved by rpm 
> dependency solver. Rex Dieter can confirm this for me.

Please read this again:
https://fedoraproject.org/wiki/Packaging:Guidelines?rd=Packaging/Guidelines#Requiring_Base_Package

It says:
It is almost always better to over specify the version, so it is best practice to just use a fully versioned dependency: Requires: %{name}%{?_isa} = %{version}-%{release}. Devel packages are an example of a package that must require their base packages using a fully versioned dependency. 

i.e. This says even if library dependency itself can be resolved
by rpmbuild dependency autodetector, *still* full version dependency
must be added.

> kf5-kwindowsystem is introduced in the 0.9.0 cycle of development as a replacement library for window task code.

Please check  which code in pcmanfm-qt actually uses kf5-kwindowsystem-devel header

> Qt5Help is needed because find_package(Qt5X11Extras 5.2 REQUIRED)
So *please read* the current pcmanfm-qt spec file.
Currently there is "BR: pkgconfig(Qt5X11Extras)", which actually matches
this requirement.

> Qt5Xdg is a explicit requires for new LXQt system, and is handled by the project
And actually where is this used in pcmanfm-qt source code?

Again please read CMakeLists.txt and properly write needed BuildRequires.
and please compare your spec file with the current. 

> License: No, the example on text is clear, need to be License: on header only. 
That is, now COPYING file must not be %doc but must be %license, i.e.
%license COPYING 

> Translation: FIXED
And now the directory %{_datadir}/%{name} or so is not owned by any packages.

> Obsoletes:      libfm-qt-devel
Again obsoletes must be at least version specific.

* And still upgrade path for libfm-qt-devel-common is not properly handled.

Comment 8 Helio Chissini de Castro 2015-02-11 17:41:52 UTC
Attached Release 3:

- Strict library requires: DONE

- KDE KWindowSystem removed: Dependency comes only on panel now

- Qt5Help still needed:
CMake Error at CMakeLists.txt:23 (find_package):
  By not providing "FindQt5LinguistTools.cmake" in CMAKE_MODULE_PATH this
  project has asked CMake to find a package configuration file provided by
  "Qt5LinguistTools", but CMake did not find one.

This is included in Qt5Help package

- libQtXdg requires: Removed, is handled now but liblxqt package. Was using suring the development cycle.

- License: DONE

- Translation dir ownership: FIXED I nassigned the ownership of this directory to lxqt-common, that is base dependency of most of the packages


- Obsoletes issues: DONE

Comment 9 Helio Chissini de Castro 2015-02-11 17:42:29 UTC
Created attachment 990531 [details]
Release 3

Comment 10 Mamoru TASAKA 2015-02-13 10:53:06 UTC
For -3:

- %license
  - Still libfm-qt5 package uses %doc for COPYING

- Directory ownership issue
  > I nassigned the ownership of this directory to lxqt-common

http://pkgs.fedoraproject.org/cgit/lxqt-common.git/commit/?id=c670aca8696aac74491dbc27144bce6ce7cbd1f0

   In pcmanfm-qt.spec, %{_datadir}/%{name}/ is expanded as 
   /usr/share/pcmanfm-qt, not /usr/share/lxqt .
   Still /usr/share/pcmanfm-qt, /usr/share/pcmanfm-qt/translations/
   are not owned by any package.

- And, I noticed that translation files under %_datadir/libfm-qt
  must also be handled by %find_lang (again, be careful with
  directory ownership issue)

- Upgrade path for libfm-qt4-devel does not seem to be handled.

Comment 11 Helio Chissini de Castro 2015-02-13 13:24:23 UTC
Version 4 attached

- Ownership of directories: DONE
- License tag move: DONE
- Obsoletes on libfm-qt4-devel package: DONE
- libfm-qt translation files: DONE

Comment 12 Helio Chissini de Castro 2015-02-13 13:24:48 UTC
Created attachment 991381 [details]
Release 4

Comment 13 Mamoru TASAKA 2015-02-16 13:13:35 UTC
Now build log shows:

warning: File listed twice: /usr/share/libfm-qt/translations/libfm-qt_ar.qm
warning: File listed twice: /usr/share/libfm-qt/translations/libfm-qt_cs_CZ.qm
warning: File listed twice: /usr/share/libfm-qt/translations/libfm-qt_de.qm
warning: File listed twice: /usr/share/libfm-qt/translations/libfm-qt_es.qm
warning: File listed twice: /usr/share/libfm-qt/translations/libfm-qt_fr.qm
warning: File listed twice: /usr/share/libfm-qt/translations/libfm-qt_gl.qm
warning: File listed twice: /usr/share/libfm-qt/translations/libfm-qt_it.qm
warning: File listed twice: /usr/share/libfm-qt/translations/libfm-qt_ja.qm
warning: File listed twice: /usr/share/libfm-qt/translations/libfm-qt_lt_LT.qm
warning: File listed twice: /usr/share/libfm-qt/translations/libfm-qt_pt.qm
warning: File listed twice: /usr/share/libfm-qt/translations/libfm-qt_ru.qm
warning: File listed twice: /usr/share/libfm-qt/translations/libfm-qt_ru_RU.qm
warning: File listed twice: /usr/share/libfm-qt/translations/libfm-qt_zh_TW.qm

Comment 14 Helio Chissini de Castro 2015-02-18 15:30:06 UTC
Created attachment 993181 [details]
Rekase 5

Comment 15 Helio Chissini de Castro 2015-02-18 15:30:30 UTC
Fixed Last issue.

Comment 16 Mamoru TASAKA 2015-02-25 06:49:48 UTC
Once more issue
- Now directory ownership for %{_datadir}/libfm-qt/translations is missing.
  Please add this (to libfm-qt5 subpackage), i,e, add

%dir %{_datadir}/libfm-qt/translations
  to libfm-qt.

Please request pcmanfm-qt commitment acl.

Comment 17 Mamoru TASAKA 2015-02-25 06:54:06 UTC
(In reply to Mamoru TASAKA from comment #16)
> Please request pcmanfm-qt commitment acl.

... I already changed. Please commit.

Comment 18 Helio Chissini de Castro 2015-02-25 19:43:08 UTC
Done. Thanks

Comment 19 Fedora Update System 2015-02-26 07:13:44 UTC
pcmanfm-qt-0.9.0-6.fc22 has been submitted as an update for Fedora 22.
https://admin.fedoraproject.org/updates/pcmanfm-qt-0.9.0-6.fc22

Comment 20 Fedora Update System 2015-03-09 08:32:41 UTC
pcmanfm-qt-0.9.0-6.fc22 has been pushed to the Fedora 22 stable repository.  If problems still persist, please make note of it in this bug report.


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