Bug 1468665 (gsettings-qt) - Review Request: gsettings-qt - Qt/QML bindings for GSettings
Summary: Review Request: gsettings-qt - Qt/QML bindings for GSettings
Keywords:
Status: CLOSED ERRATA
Alias: gsettings-qt
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Robin Lee
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: DeepinDEPackageReview deepin-tool-kit
TreeView+ depends on / blocked
 
Reported: 2017-07-07 15:55 UTC by Zamir SUN
Modified: 2017-07-31 06:24 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2017-07-31 06:24:19 UTC
Type: ---
robinlee.sysu: fedora-review+


Attachments (Terms of Use)

Description Zamir SUN 2017-07-07 15:55:14 UTC
Spec URL: https://zsun.fedorapeople.org/pub/pkgs/gsettings-qt/gsettings-qt.spec
SRPM URL: https://zsun.fedorapeople.org/pub/pkgs/gsettings-qt/gsettings-qt-0.1.r83-1.fc25.src.rpm
Description: QML bindings for GSettings
Fedora Account System Username: zsun

Comment 1 Zamir SUN 2017-07-07 16:00:03 UTC
> gsettings-qt.x86_64: W: no-documentation
> gsettings-qt-devel.x86_64: W: no-documentation
This is a binding so do not have documentation.
> gsettings-qt.src: W: invalid-url Source0: gsettings-qt-r83.tgz
As explained in the spec file, since the source code is stored in launchpad bzr and its download link does not end with the source code name, so make it a manual source.

This is a dependency for some other packages we will send for review.

Comment 2 Robin Lee 2017-07-11 17:45:16 UTC
Package Review
==============

Legend:
[x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated
[ ] = Manual review needed

===== MUST items =====

C/C++:
[x]: Package does not contain kernel modules.
[x]: Package contains no static executables.
[x]: Header files in -devel subpackage, if present.
[x]: ldconfig called in %post and %postun if required.
[x]: Package does not contain any libtool archives (.la)
[x]: Rpath absent or only used for internal libs.
[x]: Development (unversioned) .so files in -devel subpackage, if present.

Generic:
[x]: Package is licensed with an open-source compatible license and meets
     other legal requirements as defined in the legal section of Packaging
     Guidelines.
[!]: If (and only if) the source package includes the text of the
     license(s) in its own file, then that file, containing the text of the
     license(s) for the package is included in %license.
[x]: License field in the package spec file matches the actual license.
[x]: License file installed when any subpackage combination is installed.
[!]: Package requires other packages for directories it uses.
     Note: No known owner of /usr/include/qt5/QGSettings
[!]: Package must own all directories that it creates.
     Note: Directories without known owners: /usr/include/qt5/QGSettings,
     /usr/include/qt5
     The devel subpackage should require qt5-qtbase-devel%{?isa}
[x]: %build honors applicable compiler flags or justifies otherwise.
[x]: Package contains no bundled libraries without FPC exception.
[!]: Changelog in prescribed format.
     Note: Changelog entries should be separated by an empty line.
[x]: Sources contain only permissible code or content.
[-]: Package contains desktop file if it is a GUI application.
[x]: Development files must be in a -devel package
[x]: Package uses nothing in %doc for runtime.
[x]: Package consistently uses macros (instead of hard-coded directory
     names).
[x]: Package is named according to the Package Naming Guidelines.
[x]: Package does not generate any conflict.
[x]: Package obeys FHS, except libexecdir and /usr/target.
[-]: If the package is a rename of another package, proper Obsoletes and
     Provides are present.
[!]: Requires correct, justified where necessary.
[x]: Spec file is legible and written in American English.
[-]: Package contains systemd file(s) if in need.
[x]: Useful -debuginfo package or justification otherwise.
[x]: Package is not known to require an ExcludeArch tag.
[!]: Package complies to the Packaging Guidelines
     Note: Version is bad, follow
     https://fedoraproject.org/wiki/Packaging:Versioning#Upstream_has_never_chosen_a_version
     Note: Source0 URL can be revised using the '#/' notation to something like this:
     http://bazaar.launchpad.net/%{project}/%{name}/trunk/tarball/%{_revision}#/%{name}-%{_revision}.tar.gz
     Refer to: https://fedoraproject.org/wiki/Packaging:SourceURL#Git_Tags
[x]: Package successfully compiles and builds into binary rpms on at least
     one supported primary architecture.
[x]: Rpmlint is run on all rpms the build produces.
     Note: There are rpmlint messages (see attachment).
[x]: Package does not own files or directories owned by other packages.
[x]: Package uses either %{buildroot} or $RPM_BUILD_ROOT
[x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
[x]: Macros in Summary, %description expandable at SRPM build time.
[x]: Dist tag is present.
[x]: Package does not contain duplicates in %files.
[x]: Permissions on files are set properly.
[x]: Package use %makeinstall only when make install DESTDIR=... doesn't
     work.
[x]: Package is named using only allowed ASCII characters.
[x]: Package does not use a name that already exists.
[x]: Package is not relocatable.
[x]: Sources used to build the package match the upstream source, as
     provided in the spec URL.
[x]: Spec file name must match the spec package %{name}, in the format
     %{name}.spec.
[x]: File names are valid UTF-8.
[x]: Large documentation must go in a -doc subpackage. Large could be size
     (~1MB) or number of files.
     Note: Documentation size is 0 bytes in 0 files.
[x]: Packages must not store files under /srv, /opt or /usr/local

===== SHOULD items =====

Generic:
[!]: Uses parallel make %{?_smp_mflags} macro.
[-]: If the source package does not include license text(s) as a separate
     file from upstream, the packager SHOULD query upstream to include it.
[!]: Final provides and requires are sane (see attachments).
     Note: libGSettingsQmlPlugin.so()(64bit) provides should be filtered.
     https://fedoraproject.org/wiki/Packaging:AutoProvidesAndRequiresFiltering#Preventing_files.2Fdirectories_from_being_scanned_for_deps_.28pre-scan_filtering.29
[x]: Fully versioned dependency in subpackages if applicable.
     Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in
     gsettings-qt-debuginfo
[x]: Package functions as described.
[x]: Latest version is packaged.
[x]: Package does not include license text files separate from upstream.
[x]: Scriptlets must be sane, if used.
[x]: Description and summary sections in the package spec file contains
     translations for supported Non-English languages, if available.
[!]: Package should compile and build into binary rpms on all supported
     architectures.
     Note: Build failed on ppc64 and s390x
     https://koji.fedoraproject.org/koji/taskinfo?taskID=20463360
[-]: %check is present and all tests pass.
[x]: Packages should try to preserve timestamps of original installed
     files.
[x]: Reviewer should test that the package builds in mock.
[x]: Buildroot is not present
[x]: Package has no %clean section with rm -rf %{buildroot} (or
     $RPM_BUILD_ROOT)
[x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file
[x]: The placement of pkgconfig(.pc) files are correct.
[x]: SourceX is a working URL.
[x]: Spec use %global instead of %define unless justified.

===== EXTRA items =====

Generic:
[!]: Rpmlint is run on all installed packages.
     Note: Mock build failed
     See: http://fedoraproject.org/wiki/Packaging/Guidelines#rpmlint
[!]: Spec file according to URL is the same as in SRPM.
     Note: Spec file as given by url is not the same as in SRPM (see
     attached diff).
     See: (this test has no URL)
[x]: Large data in /usr/share should live in a noarch subpackage if package
     is arched.
[!]: "-n %{name}" in %post and %postun is not required.
[!]: Defining %_qt5_qmldir is not required since F24 will be obsolete soon.
[!]: %{_qt5_qmldir}/GSettings.1.0/ should go to the base package.
[!]: Summary and description should be saying "Qt/QML", not just "QML"


Rpmlint
-------
Checking: gsettings-qt-0.1.r83-1.fc27.x86_64.rpm
          gsettings-qt-devel-0.1.r83-1.fc27.x86_64.rpm
          gsettings-qt-debuginfo-0.1.r83-1.fc27.x86_64.rpm
          gsettings-qt-0.1.r83-1.fc27.src.rpm
gsettings-qt.x86_64: W: no-documentation
gsettings-qt.x86_64: W: hidden-file-or-dir /usr/lib/.build-id
gsettings-qt.x86_64: W: hidden-file-or-dir /usr/lib/.build-id
gsettings-qt-devel.x86_64: W: no-documentation
gsettings-qt-devel.x86_64: W: hidden-file-or-dir /usr/lib/.build-id
gsettings-qt-devel.x86_64: W: hidden-file-or-dir /usr/lib/.build-id
gsettings-qt.src: W: invalid-url Source0: gsettings-qt-r83.tgz
4 packages and 0 specfiles checked; 0 errors, 7 warnings.




Diff spec file in url and in SRPM
---------------------------------
--- /home/cheese/1468665-gsettings-qt/srpm/gsettings-qt.spec	2017-07-09 22:02:06.905040250 +0800
+++ /home/cheese/1468665-gsettings-qt/srpm-unpacked/gsettings-qt.spec	2017-07-07 23:50:46.000000000 +0800
@@ -21,5 +21,5 @@
 BuildRequires:  qt5-qtdeclarative-devel
 BuildRequires:  glib2-devel
-BuildRequires:  gcc-c++
+BuildRequires:  libstdc++-devel
 
 %description


Requires
--------
gsettings-qt-debuginfo (rpmlib, GLIBC filtered):

gsettings-qt (rpmlib, GLIBC filtered):
    /sbin/ldconfig
    libQt5Core.so.5()(64bit)
    libQt5Core.so.5(Qt_5)(64bit)
    libQt5Core.so.5(Qt_5.9)(64bit)
    libc.so.6()(64bit)
    libgcc_s.so.1()(64bit)
    libgcc_s.so.1(GCC_3.0)(64bit)
    libgio-2.0.so.0()(64bit)
    libglib-2.0.so.0()(64bit)
    libgobject-2.0.so.0()(64bit)
    libm.so.6()(64bit)
    libpthread.so.0()(64bit)
    libstdc++.so.6()(64bit)
    libstdc++.so.6(CXXABI_1.3)(64bit)
    libstdc++.so.6(CXXABI_1.3.9)(64bit)
    rtld(GNU_HASH)

gsettings-qt-devel (rpmlib, GLIBC filtered):
    /usr/bin/pkg-config
    gsettings-qt(x86-64)
    libQt5Core.so.5()(64bit)
    libQt5Core.so.5(Qt_5)(64bit)
    libQt5Core.so.5(Qt_5.9)(64bit)
    libQt5Core.so.5(Qt_5_PRIVATE_API)(64bit)
    libQt5Network.so.5()(64bit)
    libQt5Qml.so.5()(64bit)
    libQt5Qml.so.5(Qt_5)(64bit)
    libc.so.6()(64bit)
    libgcc_s.so.1()(64bit)
    libgcc_s.so.1(GCC_3.0)(64bit)
    libgio-2.0.so.0()(64bit)
    libglib-2.0.so.0()(64bit)
    libgobject-2.0.so.0()(64bit)
    libgsettings-qt.so.1()(64bit)
    libm.so.6()(64bit)
    libpthread.so.0()(64bit)
    libstdc++.so.6()(64bit)
    libstdc++.so.6(CXXABI_1.3)(64bit)
    libstdc++.so.6(CXXABI_1.3.9)(64bit)
    rtld(GNU_HASH)



Provides
--------
gsettings-qt-debuginfo:
    gsettings-qt-debuginfo
    gsettings-qt-debuginfo(x86-64)

gsettings-qt:
    gsettings-qt
    gsettings-qt(x86-64)
    libgsettings-qt.so.1()(64bit)

gsettings-qt-devel:
    gsettings-qt-devel
    gsettings-qt-devel(x86-64)
    libGSettingsQmlPlugin.so()(64bit)
    pkgconfig(gsettings-qt)



Generated by fedora-review 0.6.1 (f03e4e7) last change: 2016-05-02
Command line :/usr/bin/fedora-review -b 1468665
Buildroot used: fedora-rawhide-x86_64
Active plugins: Generic, Shell-api, C/C++
Disabled plugins: Java, Python, fonts, SugarActivity, Ocaml, Perl, Haskell, R, PHP
Disabled flags: EXARCH, DISTTAG, EPEL5, BATCH, EPEL6

Comment 3 Zamir SUN 2017-07-14 15:26:45 UTC
Thanks for the review

SPEC URL: https://zsun.fedorapeople.org/pub/pkgs/gsettings-qt/gsettings-qt.spec
Updated
SRPM URL: https://zsun.fedorapeople.org/pub/pkgs/gsettings-qt/gsettings-qt-0-0.r83.fc25.src.rpm

> [!]: Package requires other packages for directories it uses.
>     Note: No known owner of /usr/include/qt5/QGSettings
> [!]: Package must own all directories that it creates.
>     Note: Directories without known owners: /usr/include/qt5/QGSettings,
>     /usr/include/qt5
I did not see this when I run fedora-review on my machine. I tried to fix it but not sure if it is fixed on your end or not.
> [!]: Requires correct, justified where necessary.
I have justification in the SPEC file as comment. Not sure why this fails.
> [!]: Uses parallel make %{?_smp_mflags} macro.
Commented in the SPEC already. This will always fail in parallel make. So I write a comment in SPEC and use make 

> [!]: Package should compile and build into binary rpms on all supported
>     architectures.
Failed on big endian machines. Excluded the two arch in spec now.
> [!]: Rpmlint is run on all installed packages.
>     Note: Mock build failed
>     See: http://fedoraproject.org/wiki/Packaging/Guidelines#rpmlint
Again, unfortunately mock build passed on my machine. And RPM lint do not complain any hidden file. Not sure why this happens, or how can I reproduce this.

Others should already fixed.

Comment 4 Robin Lee 2017-07-14 15:48:03 UTC
[!]: Package must own all directories that it creates.
     Note: Directories without known owners: /usr/include/qt5
     The devel subpackage should require qt5-qtbase-devel%{?isa}

[!]: The commented line of SOURCE0 should be removed

[!]: The comment of downloading source should be removed.

[!]: Macros in comment:
     # %global _qt5_qmldir %{_qt5_archdatadir}/qml

[!]: %{_qt5_qmldir}/GSettings.1.0/ should go to the base package.
     That means for the whole directory tree of %{_qt5_qmldir}/GSettings.1.0/

[!]: The Release: tag is still bad, follow:
     https://fedoraproject.org/wiki/Packaging:Versioning#Snapshots
     https://fedoraproject.org/wiki/Packaging:Versioning#More_complex_versioning
     It should be something like: 0.0.20170714bzr83%{?dist}

[!]: 'QT' should be 'Qt'.

Comment 5 Zamir SUN 2017-07-15 13:01:49 UTC
(In reply to Robin Lee from comment #4)
> [!]: The Release: tag is still bad, follow:
>      https://fedoraproject.org/wiki/Packaging:Versioning#Snapshots
>     
> https://fedoraproject.org/wiki/Packaging:Versioning#More_complex_versioning
>      It should be something like: 0.0.20170714bzr83%{?dist}

Thanks.
I think you mean 
Version:        0
Release:        0.YYYYMMDD.bzr%{_revision}%{?dist}

I'll upload the updated version soon.

Comment 8 Robin Lee 2017-07-15 15:39:30 UTC
[!]: Macros in comment:
     # %global _qt5_qmldir %{_qt5_archdatadir}/qml

[!]: The Release: tag is still bad, follow:
     https://fedoraproject.org/wiki/Packaging:Versioning#Snapshots
     https://fedoraproject.org/wiki/Packaging:Versioning#More_complex_versioning
     It should really be something like: 0.0.20170714bzr83%{?dist}
     The first '0' will be always there until upstream really make a versioned release.
     https://fedoraproject.org/wiki/Packaging:Versioning#Upstream_has_never_chosen_a_version

Comment 9 Zamir SUN 2017-07-16 14:44:16 UTC
Updated 
I prefer to keep the comment there, so modified to %% 

SPEC URL: https://zsun.fedorapeople.org/pub/pkgs/gsettings-qt/gsettings-qt.spec
SRPM URL: https://zsun.fedorapeople.org/pub/pkgs/gsettings-qt/gsettings-qt-0-0.0.20170715bzr83.fc25.src.rpm

Comment 10 Robin Lee 2017-07-17 01:27:22 UTC
Descriptions should end with a '.' characters. That means descriptions should be made with sentences.

Though that's not a blocking issue. You can fix them before committing.

This package is approved by cheeselee.

Comment 11 Zamir SUN 2017-07-17 01:32:50 UTC
Thanks. I will fix it before push.

Comment 12 Gwyn Ciesla 2017-07-17 23:27:54 UTC
Package request has been approved: https://admin.fedoraproject.org/pkgdb/package/rpms/gsettings-qt

Comment 13 Zbigniew Jędrzejewski-Szmek 2017-07-21 11:17:48 UTC
Can you build this please? It's blocking further reviews.

Comment 14 Zamir SUN 2017-07-21 11:23:45 UTC
Sorry, I've build this already, and just too busy and forget to fedpkg update. Will do it right now.

Comment 15 Zbigniew Jędrzejewski-Szmek 2017-07-21 11:40:40 UTC
Ah, I was confused because it's not available in rawhide mock. I think the last few composes have failed.

Comment 16 Zamir SUN 2017-07-21 11:46:20 UTC
(In reply to Zbigniew Jędrzejewski-Szmek from comment #15)
> Ah, I was confused because it's not available in rawhide mock. I think the
> last few composes have failed.

Oh?
Actually they passed.
As I stated above, it currently cannot build on big endian machine so I excluded that two architectures.
Rawhide https://koji.fedoraproject.org/koji/buildinfo?buildID=920363
F26 https://koji.fedoraproject.org/koji/buildinfo?buildID=920366
F25 https://koji.fedoraproject.org/koji/buildinfo?buildID=920365

And I've just filed bodhi update for F25 and F26.

Comment 17 Fedora Update System 2017-07-23 09:58:54 UTC
gsettings-qt-0-0.2.20170715bzr83.fc26 has been pushed to the Fedora 26 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2017-e91c753f3a

Comment 18 Fedora Update System 2017-07-31 06:24:19 UTC
gsettings-qt-0-0.2.20170715bzr83.fc26 has been pushed to the Fedora 26 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.