https://bugzilla.redhat.com/show_bug.cgi?id=2148993
Bug ID: 2148993 Summary: Review request: caffe A deep learning framework Product: Fedora Version: rawhide Status: NEW Component: Package Review Assignee: nobody@fedoraproject.org Reporter: trix@redhat.com QA Contact: extras-qa@fedoraproject.org CC: package-review@lists.fedoraproject.org Target Milestone: --- Classification: Fedora
Spec URL: https://trix.fedorapeople.org/caffe.spec SRPM URL: https://trix.fedorapeople.org/caffe-1.0-1.20200212git9b89154.fc38.src.rpm FAS: trix Description:
Caffe is a deep learning framework made with expression, speed, and modularity in mind. It is developed by Berkeley AI Research (BAIR) and by community contributors. Yangqing Jia created the project during his PhD at UC Berkeley.
https://bugzilla.redhat.com/show_bug.cgi?id=2148993
Tom Rix trix@redhat.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Blocks| |1011110 (ML-SIG)
Referenced Bugs:
https://bugzilla.redhat.com/show_bug.cgi?id=1011110 [Bug 1011110] Machine Learning SIG - review tracker
https://bugzilla.redhat.com/show_bug.cgi?id=2148993
Neal Gompa ngompa13@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Assignee|nobody@fedoraproject.org |ngompa13@gmail.com Flags| |fedora-review? CC| |ngompa13@gmail.com Status|NEW |ASSIGNED
--- Comment #1 from Neal Gompa ngompa13@gmail.com --- Taking this for review.
https://bugzilla.redhat.com/show_bug.cgi?id=2148993
Neal Gompa ngompa13@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|Review request: caffe A |Review request: caffe - A |deep learning framework |deep learning framework
https://bugzilla.redhat.com/show_bug.cgi?id=2148993
--- Comment #2 from Neal Gompa ngompa13@gmail.com --- Initial spec review:
License: BSD
This is no longer valid. Please use SPDX-based identifiers that match the project's license.
Cf. https://docs.fedoraproject.org/en-US/legal/license-field/ Cf. https://docs.fedoraproject.org/en-US/legal/all-allowed/
Version: 1.0 Release: 1.%{?date0}git%{?shortcommit0}%{?dist}
Please move the snapshot information to the Version: field.
Cf. https://docs.fedoraproject.org/en-US/packaging-guidelines/Versioning/#_snaps...
Group: Development/Libraries
Not needed and can be dropped.
https://fedoraproject.org/wiki/RPMGroups
ExclusiveArch: x86_64
What about this restricts it to x86_64? I don't see anything in the codebase for it...
Requires: wget
What is this for?
%cmake -DCMAKE_INSTALL_PREFIX=/usr \
The "CMAKE_INSTALL_PREFIX" option is already set by %cmake, so drop this.
cd %{__cmake_builddir} %__make runtest
Would "%cmake_build --target runtest" work here?
Alternatively, "%{__make} -C %{__cmake_builddir} runtest" would work.
%{_libdir}/lib%{name}proto.a
We don't typically package static link libraries...
https://bugzilla.redhat.com/show_bug.cgi?id=2148993
--- Comment #3 from Tom Rix trix@redhat.com --- Updates here
Spec URL: https://trix.fedorapeople.org/caffe.spec SRPM URL: https://trix.fedorapeople.org/caffe-1.0.20200212git9b89154-2.fc39.src.rpm
All changes made. For wget (and now gzip, tar) question, see https://github.com/BVLC/caffe/blob/master/examples/cifar10/readme.md These are used to fetch and unpack datasets used in the examples.
https://bugzilla.redhat.com/show_bug.cgi?id=2148993
Davide Cavalca davide@cavalca.name changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |davide@cavalca.name
--- Comment #4 from Davide Cavalca davide@cavalca.name --- Some notes: - in %install use cp -p to preserve timestamps - instead of copying LICENSE and README in %{_datadir}/Caffe just flag them with %license / %doc - use something like find %{buildroot} -name .gitignore -exec rm '{}' ; instead of the for loop to clean up gitignore - any particular reason we're explicitly disabling python?
https://bugzilla.redhat.com/show_bug.cgi?id=2148993
--- Comment #5 from Neal Gompa ngompa13@gmail.com ---
Version: 1.0.%{?date0}git%{?shortcommit0}
This format is not correct. I would suggest something like this for the Version: "1.0^git%{date0}.%{shortcommit0}"
https://bugzilla.redhat.com/show_bug.cgi?id=2148993
--- Comment #6 from Peter Robinson pbrobinson@gmail.com ---
- use something like find %{buildroot} -name .gitignore -exec rm '{}' ;
or "find %{buildroot} -name .gitignore -delete" for even more optimisation :)
https://bugzilla.redhat.com/show_bug.cgi?id=2148993
--- Comment #7 from Tom Rix trix@redhat.com --- Spec URL: https://trix.fedorapeople.org/caffe.spec SRPM URL: https://trix.fedorapeople.org/caffe-1.0%5egit20200212.9b89154-3.fc40.src.rpm
On why no python ? If folks want to use python, they would use PyTorch, what caffe-2.0 became and has all the features anyone could want and has the active upstream to keep up with base python changes.
https://bugzilla.redhat.com/show_bug.cgi?id=2148993
Tom Rix trix@redhat.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Flags| |needinfo?(ngompa13@gmail.co | |m)
https://bugzilla.redhat.com/show_bug.cgi?id=2148993
Neal Gompa ngompa13@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Flags|needinfo?(ngompa13@gmail.co | |m) |
--- Comment #8 from Neal Gompa ngompa13@gmail.com --- Package Review ==============
Legend: [x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated
===== MUST items =====
C/C++: [-]: Provides: bundled(gnulib) in place as required. Note: Sources not installed [x]: Package does not contain kernel modules. [x]: If your application is a C or C++ application you must list a BuildRequires against gcc, gcc-c++ or clang. [x]: Header files in -devel subpackage, if present. [x]: ldconfig not called in %post and %postun for Fedora 28 and later. [x]: Package does not contain any libtool archives (.la) [x]: Package contains no static executables. [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: "Unknown or generated", "BSD 2-Clause License", "*No copyright* BSD 2-Clause License", "BSD 3-Clause License". 691 files have unknown license. Detailed output of licensecheck in /home/ngompa/2148993-caffe/licensecheck.txt [x]: License file installed when any subpackage combination is installed. [!]: Package requires other packages for directories it uses. Note: No known owner of /usr/lib64/cmake/Caffe [!]: Package must own all directories that it creates. Note: Directories without known owners: /usr/lib64/cmake/Caffe [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. [-]: 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. [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. [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. [x]: Rpmlint is run on all rpms the build produces. Note: There are rpmlint messages (see attachment). [x]: 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]: The License field must be a valid SPDX expression. [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 must not depend on deprecated() packages. [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 2497 bytes in 1 files. [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. [!]: Final provides and requires are sane (see attachments). [!]: Fully versioned dependency in subpackages if applicable. Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in caffe- devel [x]: Package functions as described. [x]: Latest version is packaged. [x]: Package does not include license text files separate from upstream. [x]: Patches link to upstream bugs/comments/lists or are otherwise justified. [-]: Sources are verified with gpgverify first in %prep if upstream publishes signatures. Note: gpgverify is not used. [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]: Spec use %global instead of %define unless justified. Note: %define requiring justification: %define _lto_cflags %{nil} [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.
===== EXTRA items =====
Generic: [x]: Large data in /usr/share should live in a noarch subpackage if package is arched. Note: Arch-ed rpms have a total of 8826880 bytes in /usr/share [x]: Rpmlint is run on debuginfo package(s). Note: No rpmlint messages. [x]: Rpmlint is run on all installed packages. Note: There are rpmlint messages (see attachment). [x]: Spec file according to URL is the same as in SRPM.
Rpmlint ------- Checking: caffe-1.0^git20200212.9b89154-3.fc40.x86_64.rpm caffe-devel-1.0^git20200212.9b89154-3.fc40.x86_64.rpm caffe-debuginfo-1.0^git20200212.9b89154-3.fc40.x86_64.rpm caffe-debugsource-1.0^git20200212.9b89154-3.fc40.x86_64.rpm caffe-1.0^git20200212.9b89154-3.fc40.src.rpm ========================================================================================== rpmlint session starts ========================================================================================== rpmlint: 2.4.0 configuration: /usr/lib/python3.11/site-packages/rpmlint/configdefaults.toml /etc/xdg/rpmlint/fedora-legacy-licenses.toml /etc/xdg/rpmlint/fedora-spdx-licenses.toml /etc/xdg/rpmlint/fedora.toml /etc/xdg/rpmlint/scoring.toml /etc/xdg/rpmlint/users-groups.toml /etc/xdg/rpmlint/warn-on-functions.toml rpmlintrc: [PosixPath('/tmp/tmpmvt574lj')] checks: 31, packages: 5
caffe.x86_64: W: no-manual-page-for-binary caffe caffe.x86_64: W: no-manual-page-for-binary classification caffe.x86_64: W: no-manual-page-for-binary compute_image_mean caffe.x86_64: W: no-manual-page-for-binary convert_cifar_data caffe.x86_64: W: no-manual-page-for-binary convert_imageset caffe.x86_64: W: no-manual-page-for-binary convert_mnist_data caffe.x86_64: W: no-manual-page-for-binary convert_mnist_siamese_data caffe.x86_64: W: no-manual-page-for-binary extract_features caffe.x86_64: W: no-manual-page-for-binary upgrade_net_proto_binary caffe.x86_64: W: no-manual-page-for-binary upgrade_net_proto_text caffe.x86_64: W: no-manual-page-for-binary upgrade_solver_proto_text caffe-devel.x86_64: W: files-duplicate /usr/share/Caffe/examples/images/cat_gray.jpg /usr/share/Caffe/examples/images/cat gray.jpg ========================================================== 5 packages and 0 specfiles checked; 0 errors, 12 warnings, 0 badness; has taken 2.0 s ===========================================================
Rpmlint (debuginfo) ------------------- Checking: caffe-debuginfo-1.0^git20200212.9b89154-3.fc40.x86_64.rpm ========================================================================================== rpmlint session starts ========================================================================================== rpmlint: 2.4.0 configuration: /usr/lib/python3.11/site-packages/rpmlint/configdefaults.toml /etc/xdg/rpmlint/fedora-legacy-licenses.toml /etc/xdg/rpmlint/fedora-spdx-licenses.toml /etc/xdg/rpmlint/fedora.toml /etc/xdg/rpmlint/scoring.toml /etc/xdg/rpmlint/users-groups.toml /etc/xdg/rpmlint/warn-on-functions.toml rpmlintrc: [PosixPath('/tmp/tmpf_kfiblc')] checks: 31, packages: 1
=========================================================== 1 packages and 0 specfiles checked; 0 errors, 0 warnings, 0 badness; has taken 0.9 s ===========================================================
Rpmlint (installed packages) ---------------------------- ============================ rpmlint session starts ============================ rpmlint: 2.4.0 configuration: /usr/lib/python3.12/site-packages/rpmlint/configdefaults.toml /etc/xdg/rpmlint/fedora-legacy-licenses.toml /etc/xdg/rpmlint/fedora-spdx-licenses.toml /etc/xdg/rpmlint/fedora.toml /etc/xdg/rpmlint/scoring.toml /etc/xdg/rpmlint/users-groups.toml /etc/xdg/rpmlint/warn-on-functions.toml checks: 31, packages: 4
caffe.x86_64: W: no-manual-page-for-binary caffe caffe.x86_64: W: no-manual-page-for-binary classification caffe.x86_64: W: no-manual-page-for-binary compute_image_mean caffe.x86_64: W: no-manual-page-for-binary convert_cifar_data caffe.x86_64: W: no-manual-page-for-binary convert_imageset caffe.x86_64: W: no-manual-page-for-binary convert_mnist_data caffe.x86_64: W: no-manual-page-for-binary convert_mnist_siamese_data caffe.x86_64: W: no-manual-page-for-binary extract_features caffe.x86_64: W: no-manual-page-for-binary upgrade_net_proto_binary caffe.x86_64: W: no-manual-page-for-binary upgrade_net_proto_text caffe.x86_64: W: no-manual-page-for-binary upgrade_solver_proto_text caffe-devel.x86_64: W: files-duplicate /usr/share/Caffe/examples/images/cat_gray.jpg /usr/share/Caffe/examples/images/cat gray.jpg 4 packages and 0 specfiles checked; 0 errors, 12 warnings, 0 badness; has taken 5.0 s
Source checksums ---------------- https://github.com/BVLC/caffe/archive/9b891540183ddc834a02b2bd81b31afae71b21... : CHECKSUM(SHA256) this package : 42e2bb77b3eb6dd8ba16106768fdcc3600ff49cacb29abf17da3c1e3c8cb8632 CHECKSUM(SHA256) upstream package : 42e2bb77b3eb6dd8ba16106768fdcc3600ff49cacb29abf17da3c1e3c8cb8632
Requires -------- caffe (rpmlib, GLIBC filtered): libboost_filesystem.so.1.81.0()(64bit) libboost_thread.so.1.81.0()(64bit) libc.so.6()(64bit) libcaffe.so.1.0.0()(64bit) libcaffeproto.so.1.0.0()(64bit) libgcc_s.so.1()(64bit) libgcc_s.so.1(GCC_3.0)(64bit) libgflags.so.2.2()(64bit) libglog.so.0()(64bit) libhdf5.so.200()(64bit) libhdf5_hl.so.200()(64bit) libleveldb.so.1()(64bit) liblmdb.so.0.0.0()(64bit) libm.so.6()(64bit) libopenblas.so.0()(64bit) libopencv_core.so.408()(64bit) libopencv_imgcodecs.so.408()(64bit) libopencv_imgproc.so.408()(64bit) libprotobuf.so.30()(64bit) libstdc++.so.6()(64bit) libstdc++.so.6(CXXABI_1.3)(64bit) libstdc++.so.6(CXXABI_1.3.8)(64bit) libstdc++.so.6(CXXABI_1.3.9)(64bit) rtld(GNU_HASH)
caffe-devel (rpmlib, GLIBC filtered): /usr/bin/bash /usr/bin/python3 /usr/bin/sh cmake cmake-filesystem(x86-64) gcc-c++ gflags-devel glog-devel gzip libcaffe.so.1.0.0()(64bit) libcaffeproto.so.1.0.0()(64bit) opencv-devel protobuf-devel tar wget
caffe-debuginfo (rpmlib, GLIBC filtered):
caffe-debugsource (rpmlib, GLIBC filtered):
Provides -------- caffe: caffe caffe(x86-64) libcaffe.so.1.0.0()(64bit) libcaffeproto.so.1.0.0()(64bit)
caffe-devel: caffe-devel caffe-devel(x86-64) cmake(Caffe) cmake(caffe)
caffe-debuginfo: caffe-debuginfo caffe-debuginfo(x86-64) debuginfo(build-id) libcaffe.so.1.0.0-1.0^git20200212.9b89154-3.fc40.x86_64.debug()(64bit) libcaffeproto.so.1.0.0-1.0^git20200212.9b89154-3.fc40.x86_64.debug()(64bit)
caffe-debugsource: caffe-debugsource caffe-debugsource(x86-64)
Generated by fedora-review 0.10.0 (e79b66b) last change: 2023-07-24 Command line :/usr/bin/fedora-review -b 2148993 -m fedora-rawhide-x86_64 Buildroot used: fedora-rawhide-x86_64 Active plugins: Generic, C/C++, Shell-api Disabled plugins: Perl, fonts, R, Java, PHP, Python, Haskell, SugarActivity, Ocaml Disabled flags: EXARCH, EPEL6, EPEL7, DISTTAG, BATCH
https://bugzilla.redhat.com/show_bug.cgi?id=2148993
--- Comment #9 from Neal Gompa ngompa13@gmail.com --- Issues:
[!]: Package requires other packages for directories it uses. Note: No known owner of /usr/lib64/cmake/Caffe [!]: Package must own all directories that it creates. Note: Directories without known owners: /usr/lib64/cmake/Caffe
This can be fixed by changing the line "%{_libdir}/cmake/Caffe/*.cmake" to "%{_libdir}/cmake/Caffe/"
[!]: Final provides and requires are sane (see attachments). [!]: Fully versioned dependency in subpackages if applicable. Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in caffe- devel
This can be fixed by adding the suggested dependency stanza to the devel subpackage.
https://bugzilla.redhat.com/show_bug.cgi?id=2148993
--- Comment #10 from Tom Rix trix@redhat.com --- SPEC URL: https://trix.fedorapeople.org/caffe.spec SRPM URL: https://trix.fedorapeople.org/caffe-1.0%5egit20200212.9b89154-4.fc40.src.rpm
For the changes requested.
https://bugzilla.redhat.com/show_bug.cgi?id=2148993
--- Comment #11 from Neal Gompa ngompa13@gmail.com ---
%{_libdir}/cmake/Caffe
Please add a slash to make sure that RPM treats it like a directory.
https://bugzilla.redhat.com/show_bug.cgi?id=2148993
--- Comment #12 from Tom Rix trix@redhat.com --- SPEC URL: https://trix.fedorapeople.org/caffe.spec SRPM URL: https://trix.fedorapeople.org/caffe-1.0%5egit20200212.9b89154-5.fc40.src.rpm
For the change requested
https://bugzilla.redhat.com/show_bug.cgi?id=2148993
Neal Gompa ngompa13@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Flags|fedora-review? |fedora-review+ Status|ASSIGNED |POST
--- Comment #13 from Neal Gompa ngompa13@gmail.com --- Everything looks good now, so...
PACKAGE APPROVED.
https://bugzilla.redhat.com/show_bug.cgi?id=2148993
--- Comment #14 from Fedora Admin user for bugzilla script actions fedora-admin-xmlrpc@fedoraproject.org --- The Pagure repository was created at https://src.fedoraproject.org/rpms/caffe
https://bugzilla.redhat.com/show_bug.cgi?id=2148993
Tom Rix trix@redhat.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |CURRENTRELEASE Status|POST |CLOSED Last Closed| |2023-12-15 01:33:28
package-review@lists.fedoraproject.org