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
Created attachment 989382 [details] Spec file
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
So please - read Fedora guidelines, and get familiar with those - read other people's works and respect them
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
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.
Created attachment 989656 [details] Relase 2 with all changes requested
> 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.
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
Created attachment 990531 [details] Release 3
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.
Version 4 attached - Ownership of directories: DONE - License tag move: DONE - Obsoletes on libfm-qt4-devel package: DONE - libfm-qt translation files: DONE
Created attachment 991381 [details] Release 4
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
Created attachment 993181 [details] Rekase 5
Fixed Last issue.
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.
(In reply to Mamoru TASAKA from comment #16) > Please request pcmanfm-qt commitment acl. ... I already changed. Please commit.
Done. Thanks
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
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.