[Bug 1147921] Review Request: mongo-cxx-driver - c++ driver for MondgoDB

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



https://bugzilla.redhat.com/show_bug.cgi?id=1147921



--- Comment #1 from Honza Horak <hhorak@xxxxxxxxxx> ---
Package Review
==============

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


Issues:
=======
- No %optflags macro used
 
https://fedoraproject.org/wiki/Packaging:Guidelines#Using_.25.7Bbuildroot.7D_and_.25.7Boptflags.7D_vs_.24RPM_BUILD_ROOT_and_.24RPM_OPT_FLAGS
- gtest could be un-bundled if possible, but since it is only build-time
dependency, it does not have to block review
- 1.0.0-0.1.rc0 should be used in changelog's version, see rpmlint output
  https://fedoraproject.org/wiki/Packaging:Guidelines#Changelogs
- mongo-cxx-driver should obsolete libmongodb and the same for -devel packages
 
https://fedoraproject.org/wiki/Packaging:Guidelines#Renaming.2FReplacing_Existing_Packages
  Even though libmongo-client might be replaced by mongo-cxx-driver in the
future as well, this does not have to be done from the beginning, since those
packages can co-exist, so this one is not problem.
- Dist should be used in Release tag.
 
https://fedoraproject.org/wiki/Packaging:NamingGuidelines#Using_the_.25.7B.3Fdist.7D_Tag
- There are some warnings worth fixing in rpmlint, see bellow
  https://fedoraproject.org/wiki/Packaging:Guidelines#Use_rpmlint

===== 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.
[x]: License field in the package spec file matches the actual license.
     Note: Checking patched sources after %prep for licenses. Licenses found:
     "Apache (v2.0)", "GPL (v2 or later)", "Unknown or generated", "*No
     copyright* Public domain", "BSD (3 clause)", "zlib/libpng". 17 files have
     unknown license. Detailed output of licensecheck in /home/hhorak/tmp
     /mongo-cxx-driver/1147921-mongo-cxx-driver/licensecheck.txt
- since gtest is not included in the final sources, it is fine
[x]: License file installed when any subpackage combination is installed.
[x]: Package does not own files or directories owned by other packages.
     Note: Dirs in package are owned also by:
     /usr/include/mongo/util/mongoutils(libmongodb-devel),
     /usr/include/mongo/util/concurrency(libmongodb-devel),
     /usr/include/mongo/util(libmongodb-devel), /usr/include/mongo/platform
     (libmongodb-devel), /usr/include/mongo/client(libmongodb-devel),
     /usr/include/mongo/bson/util(libmongodb-devel), /usr/include/mongo/db
     (libmongodb-devel), /usr/include/mongo/base(libmongodb-devel),
     /usr/include/mongo/bson(libmongodb-devel), /usr/include/mongo(libmongodb-
     devel), /usr/include/mongo/util/net(libmongodb-devel)
- Not problem, this package is going to be replaced by mongo-cxx-driver
[!]: %build honors applicable compiler flags or justifies otherwise.
- No %optflags macro used
 
https://fedoraproject.org/wiki/Packaging:Guidelines#Using_.25.7Bbuildroot.7D_and_.25.7Boptflags.7D_vs_.24RPM_BUILD_ROOT_and_.24RPM_OPT_FLAGS
[!]: Package contains no bundled libraries without FPC exception.
- gtest could be un-bundled if possible, but since it is only build-time
dependency, it does not have to block review
[!]: Changelog in prescribed format.
- 1.0.0-0.1.rc0 should be used in changelog's version, see rpmlint output
[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.
- mongo-cxx-driver should obsolete libmongodb and the same for -devel packages
  Even though libmongo-client might be replaced by mongo-cxx-driver in the
future as well, this does not have to be done from the beginning, since those
packages can co-exist, so this one is not problem.
[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.
- Well, it is, but it is used sane. Do not forget to create a bug after package
is in fedora:
 
https://fedoraproject.org/wiki/Packaging:Guidelines#Architecture_Build_Failures
[-]: Large documentation must go in a -doc subpackage. Large could be size
     (~1MB) or number of files.
     Note: Documentation size is 20480 bytes in 2 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]: Package installs properly.
[!]: Rpmlint is run on all rpms the build produces.
     Note: There are rpmlint messages (see attachment).
- There are some warnings worth fixing, see bellow
[x]: Package requires other packages for directories it uses.
[x]: Package must own all directories that it creates.
[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 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 do not use a name that already exist
[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:
[!]: Dist tag is present (not strictly required in GL).
- Dist should be used in Release tag.
[x]: 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).
[-]: Package functions as described.
[x]: Latest version is packaged.
[x]: Package does not include license text files separate from upstream.
[-]: 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.
[x]: Package should compile and build into binary rpms on all supported
     architectures.
[-]: %check is present and all tests pass.
- Not possible to test without mongodb-server (probably)
[-]: Packages should try to preserve timestamps of original installed files.
[x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file
[x]: Sources can be downloaded from URI in Source: tag
[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]: Fully versioned dependency in subpackages if applicable.
[x]: SourceX is a working URL.
[x]: Spec use %global instead of %define unless justified.

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

Generic:
[x]: Rpmlint is run on all installed packages.
     Note: There are rpmlint messages (see attachment).
[x]: Large data in /usr/share should live in a noarch subpackage if package is
     arched.
[x]: Spec file according to URL is the same as in SRPM.


Rpmlint
-------
Checking: mongo-cxx-driver-1.0.0-0.1.rc0.x86_64.rpm
          mongo-cxx-driver-devel-1.0.0-0.1.rc0.x86_64.rpm
          mongo-cxx-driver-1.0.0-0.1.rc0.src.rpm
mongo-cxx-driver.x86_64: W: incoherent-version-in-changelog 1.0.0-rc0
['1.0.0-0.1.rc0', '1.0.0-0.1.rc0']
mongo-cxx-driver-devel.x86_64: W: only-non-binary-in-usr-lib
mongo-cxx-driver-devel.x86_64: W: no-documentation
mongo-cxx-driver.src:12: W: macro-in-comment %{pkg_name}
mongo-cxx-driver.src:12: W: macro-in-comment %{version}
mongo-cxx-driver.src:38: W: macro-in-comment %setup
mongo-cxx-driver.src:38: W: macro-in-comment %{name}
mongo-cxx-driver.src:38: W: macro-in-comment %{version}
mongo-cxx-driver.src:69: W: rpm-buildroot-usage %build
--prefix=%{buildroot}%{_prefix}/ \
mongo-cxx-driver.src:31: W: mixed-use-of-spaces-and-tabs (spaces: line 4, tab:
line 31)
3 packages and 0 specfiles checked; 0 errors, 10 warnings.




Rpmlint (installed packages)
----------------------------
# rpmlint mongo-cxx-driver-devel mongo-cxx-driver
mongo-cxx-driver-devel.x86_64: W: only-non-binary-in-usr-lib
mongo-cxx-driver-devel.x86_64: W: no-documentation
mongo-cxx-driver.x86_64: W: incoherent-version-in-changelog 1.0.0-rc0
['1.0.0-0.1.rc0', '1.0.0-0.1.rc0']
2 packages and 0 specfiles checked; 0 errors, 3 warnings.
# echo 'rpmlint-done:'

-- 
You are receiving this mail because:
You are on the CC list for the bug.
You are always notified about changes to this product and component
_______________________________________________
package-review mailing list
package-review@xxxxxxxxxxxxxxxxxxxxxxx
https://admin.fedoraproject.org/mailman/listinfo/package-review





[Index of Archives]     [Fedora Legacy]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [KDE Users]     [Fedora Tools]