Bug 1483297 (deepin-control-center)

Summary: Review Request: deepin-control-center - New control center for Linux Deepin
Product: [Fedora] Fedora Reporter: sensor.wen
Component: Package ReviewAssignee: Robert-André Mauchin 🐧 <eclipseo>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: eclipseo, package-review
Target Milestone: ---Flags: eclipseo: fedora-review+
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-07-22 13:31:30 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1483296    
Bug Blocks: 1465889    

Description sensor.wen 2017-08-20 08:41:01 UTC
Spec: https://raw.githubusercontent.com/FZUG/repo/master/rpms/deepin_project/deepin-control-center.spec

Description: New control center for Linux Deepin

Fedora Account System Username: mosquito

Comment 1 Robert-André Mauchin 🐧 2017-08-20 17:10:40 UTC
Hello,

Some similar issues as before:

 - You must post both SPEC URL and SRPM URL. It's used by fedora review to fetch the files from a bug number.
 - The latest version is 4.2.5.4, not 4.2.5
 - Just use: %global repo dde-control-center , no need for %project
 - Use pkgconfig where you can:

BuildRequires:  pkgconfig(dtkbase)
BuildRequires:  deepin-dock-devel
BuildRequires:  pkgconfig(dframeworkdbus)
BuildRequires:  pkgconfig(gsettings-qt)
BuildRequires:  pkgconfig(geoip)
BuildRequires:  qt5-linguist
BuildRequires:  pkgconfig(Qt5)
BuildRequires:  pkgconfig(Qt5Svg)
BuildRequires:  pkgconfig(Qt5Multimedia)
BuildRequires:  pkgconfig(Qt5X11Extras)

 - You forgot to do the desktop-file validation:

%check
desktop-file-validate %{buildroot}/%{_datadir}/applications/%{repo}.desktop

 - Need deepin-dock-devel, so I'm adding a dependency on #1483296

Comment 3 sensor.wen 2017-09-15 09:54:09 UTC
We also need to review the following packages. I think the deepin-launcher, deepin-control-center and startdde packages doesn't take much effort.

deepin-launcher
deepin-control-center
startdde
deepin-cogl
deepin-mutter
deepin-metacity
deepin-wm
deepin-wm-switcher
deepin-manual

Comment 4 Robert-André Mauchin 🐧 2017-09-17 08:09:43 UTC
One remaining issue, you must own the following directories:

/usr/lib64/dde-control-center
/usr/libexec/dde-control-center

Package Review
==============

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


Issues:
=======


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

C/C++:
[x]: Package does not contain kernel modules.
[x]: Package contains no static executables.
[x]: Development (unversioned) .so files in -devel subpackage, if present.
     Note: Unversioned so-files in private %_libdir subdirectory (see
     attachment). Verify they are not in ld path.
[x]: Package does not contain any libtool archives (.la)
[x]: Rpath absent or only used for internal libs.

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.
[x]: License field in the package spec file matches the actual license.
     Note: Checking patched sources after %prep for licenses. Licenses
     found: "GPL (v3 or later)", "Unknown or generated", "CC0". 1489 files
     have unknown license. Detailed output of licensecheck in
     /home/bob/packaging/review/deepin-control-center/review-deepin-
     control-center/licensecheck.txt
[ ]: License file installed when any subpackage combination is installed.
[-]: Package requires other packages for directories it uses.
     Note: No known owner of /usr/lib64/dde-control-center, /usr/libexec
     /dde-control-center
[!]: Package must own all directories that it creates.
     Note: Directories without known owners: /usr/libexec/dde-control-
     center, /usr/share/dbus-1, /usr/lib64/dde-control-center,
     /usr/share/dbus-1/services
[x]: Package does not own files or directories owned by other packages.
[x]: %build honors applicable compiler flags or justifies otherwise.
[x]: Package contains no bundled libraries without FPC exception.
[x]: Changelog in prescribed format.
[x]: Sources contain only permissible code or content.
[-]: 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.
[x]: 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.
[-]: Large documentation must go in a -doc subpackage. Large could be size
     (~1MB) or number of files.
     Note: Documentation size is 10240 bytes in 1 files.
[x]: Package complies to the Packaging Guidelines
[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]: All build dependencies are listed in BuildRequires, except for any
     that are listed in the exceptions section of Packaging Guidelines.
[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]: Package contains desktop file if it is a GUI application.
[x]: Package installs a %{name}.desktop using desktop-file-install or
     desktop-file-validate if there is such a file.
[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]: Packages must not store files under /srv, /opt or /usr/local

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

Generic:
[-]: If the source package does not include license text(s) as a separate
     file from upstream, the packager SHOULD query upstream to include it.
[x]: Final provides and requires are sane (see attachments).
[x]: Fully versioned dependency in subpackages if applicable.
     Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in deepin-
     control-center-debuginfo , deepin-control-center-debugsource
[?]: 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.
[-]: Description and summary sections in the package spec file contains
     translations for supported Non-English languages, if available.
[x]: Package should compile and build into binary rpms on all supported
     architectures.
[-]: %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]: Sources can be downloaded from URI in Source: tag
[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.
[ ]: Large data in /usr/share should live in a noarch subpackage if package
     is arched.
     Note: Arch-ed rpms have a total of 1740800 bytes in /usr/share
[x]: Spec file according to URL is the same as in SRPM.


Rpmlint
-------
Checking: deepin-control-center-4.2.5.4-1.fc28.x86_64.rpm
          deepin-control-center-debuginfo-4.2.5.4-1.fc28.x86_64.rpm
          deepin-control-center-debugsource-4.2.5.4-1.fc28.x86_64.rpm
          deepin-control-center-4.2.5.4-1.fc28.src.rpm
deepin-control-center.x86_64: W: no-manual-page-for-binary dde-control-center
deepin-control-center.x86_64: E: invalid-desktopfile /usr/share/applications/dde-control-center.desktop value "Deepin" for key "OnlyShowIn" in group "Desktop Entry" contains an unregistered value "Deepin"; values extending the format should start with "X-"
deepin-control-center.x86_64: W: desktopfile-without-binary /usr/share/applications/dde-control-center.desktop dbus-send
deepin-control-center-debugsource.x86_64: W: no-documentation
4 packages and 0 specfiles checked; 1 errors, 3 warnings.

Comment 5 sensor.wen 2017-09-17 14:19:42 UTC
https://github.com/FZUG/repo/commit/6705b1c5d922f542fc9800928b42bf46ddb515a8

Fixed own the directories

Comment 6 Robert-André Mauchin 🐧 2017-09-17 14:34:08 UTC
Great, package accepted.

Comment 7 Gwyn Ciesla 2017-09-18 11:36:33 UTC
(fedrepo-req-admin):  The Pagure repository was created at https://src.fedoraproject.org/rpms/deepin-control-center

Comment 8 Zamir SUN 2018-07-22 13:31:30 UTC
This is already in Rawhide. Closing on behalf of the Deepin Desktop packaging effort.