Spec URL: https://rfairley.fedorapeople.org/package-review/rust-pipe.spec SRPM URL: https://rfairley.fedorapeople.org/package-review/rust-pipe-0.2.0-1.fc33.src.rpm Description: Synchronous Read/Write memory pipe. Patch0 file referenced in specfile: https://rfairley.fedorapeople.org/package-review/pipe-fix-metadata.diff Fedora Account System Username: rfairley Koji scratch build: https://koji.fedoraproject.org/koji/taskinfo?taskID=43983252
Needed for an update of `rust-coreos-installer` to 0.2.0: https://bugzilla.redhat.com/show_bug.cgi?id=1830171
Planning to upstream the metadata patches: https://github.com/arcnmx/pipe-rs/pull/7
> Package Review > ============== > Legend: > [x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated > [ ] = Manual review needed > Issues: > ======= > - Package installs properly. > Note: Installation errors (see attachment) > See: https://docs.fedoraproject.org/en-US/packaging-guidelines/ Can't install: Error: Problem 1: conflicting requests - nothing provides (crate(readwrite/default) >= 0.1.1 with crate(readwrite/default) < 0.2.0) needed by rust-pipe+bidirectional-devel-0.2.0-1.fc33.noarch Problem 2: conflicting requests - nothing provides (crate(readwrite/default) >= 0.1.1 with crate(readwrite/default) < 0.2.0) needed by rust-pipe+readwrite-devel-0.2.0-1.fc33.noarch > - 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. > Note: License file COPYING is not marked as %license > See: https://docs.fedoraproject.org/en-US/packaging- > guidelines/LicensingGuidelines/#_license_text Let's add a `%license` pointing at the COPYING file. > ===== MUST items ===== > Generic: > [ ]: Package is licensed with an open-source compatible license and meets > other legal requirements as defined in the legal section of Packaging > Guidelines. pass: MIT licensed > [ ]: License field in the package spec file matches the actual license. > Note: Checking patched sources after %prep for licenses. Licenses > found: "Unknown or generated", "Expat License". 7 files have unknown > license. Detailed output of licensecheck in > /home/vagrant/1830310-rust-pipe/licensecheck.txt pass: MIT licensed - please add `%license` for COPYING, though > [ ]: License file installed when any subpackage combination is installed. pass: all packages depend on the main package where the license file will be provided. > [ ]: %build honors applicable compiler flags or justifies otherwise. > [ ]: Package contains no bundled libraries without FPC exception. > [ ]: Changelog in prescribed format. > [ ]: Sources contain only permissible code or content. > [ ]: Package contains desktop file if it is a GUI application. > [ ]: Development files must be in a -devel package > [ ]: Package uses nothing in %doc for runtime. > [ ]: Package consistently uses macros (instead of hard-coded directory > names). > [ ]: Package is named according to the Package Naming Guidelines. > [ ]: Package does not generate any conflict. > [ ]: 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. > [ ]: Spec file is legible and written in American English. > [ ]: Package contains systemd file(s) if in need. > [ ]: 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. > [ ]: Package complies to the Packaging Guidelines [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]: 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]: Package requires other packages for directories it uses. > [x]: Package must own all directories that it creates. > [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]: Packages must not store files under /srv, /opt or /usr/local All the above look good! > ===== 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. pass: COPYING file exists > [ ]: Final provides and requires are sane (see attachments). > [ ]: Fully versioned dependency in subpackages if applicable. > Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in rust- > pipe-devel , rust-pipe+default-devel , rust-pipe+bidirectional-devel , > rust-pipe+readwrite-devel , rust-pipe+unstable-doc-cfg-devel > [ ]: Package functions as described. > [ ]: Latest version is packaged. > [ ]: Package does not include license text files separate from upstream. > [ ]: 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. > [ ]: Description and summary sections in the package spec file contains > translations for supported Non-English languages, if available. > [ ]: %check is present and all tests pass. > [ ]: Packages should try to preserve timestamps of original installed > files. pass: all of the above look good or are N/A > [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]: Package should compile and build into binary rpms on all supported > architectures. > [x]: Spec use %global instead of %define unless justified. > ===== EXTRA items ===== > Generic: > [!]: Rpmlint is run on all installed packages. > Note: Mock build failed > See: https://docs.fedoraproject.org/en-US/packaging- > guidelines/#_use_rpmlint > [x]: Spec file according to URL is the same as in SRPM. > Rpmlint > ------- > Checking: rust-pipe-devel-0.2.0-1.fc33.noarch.rpm > rust-pipe+default-devel-0.2.0-1.fc33.noarch.rpm > rust-pipe+bidirectional-devel-0.2.0-1.fc33.noarch.rpm > rust-pipe+readwrite-devel-0.2.0-1.fc33.noarch.rpm > rust-pipe+unstable-doc-cfg-devel-0.2.0-1.fc33.noarch.rpm > rust-pipe-0.2.0-1.fc33.src.rpm > rust-pipe-devel.noarch: W: invalid-url URL: https://crates.io/crates/pipe HTTP Error 404: Not Found > rust-pipe-devel.noarch: W: hidden-file-or-dir /usr/share/cargo/registry/pipe-0.2.0/.cargo-checksum.json > rust-pipe+default-devel.noarch: W: invalid-url URL: https://crates.io/crates/pipe HTTP Error 404: Not Found > rust-pipe+default-devel.noarch: W: no-documentation > rust-pipe+bidirectional-devel.noarch: W: invalid-url URL: https://crates.io/crates/pipe HTTP Error 404: Not Found > rust-pipe+bidirectional-devel.noarch: W: no-documentation > rust-pipe+readwrite-devel.noarch: W: spelling-error %description -l en_US readwrite -> read write, read-write, rewrite > rust-pipe+readwrite-devel.noarch: W: invalid-url URL: https://crates.io/crates/pipe HTTP Error 404: Not Found > rust-pipe+readwrite-devel.noarch: W: no-documentation > rust-pipe+unstable-doc-cfg-devel.noarch: W: invalid-url URL: https://crates.io/crates/pipe HTTP Error 404: Not Found > rust-pipe+unstable-doc-cfg-devel.noarch: W: no-documentation > rust-pipe.src: W: invalid-url URL: https://crates.io/crates/pipe HTTP Error 404: Not Found > 6 packages and 0 specfiles checked; 0 errors, 12 warnings. I'm not sure why it's saying https://crates.io/crates/pipe is an invalid URL because it's working for me. I would ingnore the no-documentation warning. I wonder if we can do something about the hidden-file-or-dir warning.
(In reply to Dusty Mabe from comment #3) > > Package Review > > ============== > > > Legend: > > [x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated > > [ ] = Manual review needed > > > > Issues: > > ======= > > - Package installs properly. > > Note: Installation errors (see attachment) > > See: https://docs.fedoraproject.org/en-US/packaging-guidelines/ > > Can't install: > > Error: > Problem 1: conflicting requests > - nothing provides (crate(readwrite/default) >= 0.1.1 with > crate(readwrite/default) < 0.2.0) needed by > rust-pipe+bidirectional-devel-0.2.0-1.fc33.noarch > Problem 2: conflicting requests > - nothing provides (crate(readwrite/default) >= 0.1.1 with > crate(readwrite/default) < 0.2.0) needed by > rust-pipe+readwrite-devel-0.2.0-1.fc33.noarch > Now opened: https://bugzilla.redhat.com/show_bug.cgi?id=1831106 With `rust-readwrite` installed, these two features requiring `readwrite` now install successfully. > > - 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. > > Note: License file COPYING is not marked as %license > > See: https://docs.fedoraproject.org/en-US/packaging- > > guidelines/LicensingGuidelines/#_license_text > > Let's add a `%license` pointing at the COPYING file. > +1 - `%license COPYING` is now added to the specfile. > > Rpmlint > > ------- > > Checking: rust-pipe-devel-0.2.0-1.fc33.noarch.rpm > > rust-pipe+default-devel-0.2.0-1.fc33.noarch.rpm > > rust-pipe+bidirectional-devel-0.2.0-1.fc33.noarch.rpm > > rust-pipe+readwrite-devel-0.2.0-1.fc33.noarch.rpm > > rust-pipe+unstable-doc-cfg-devel-0.2.0-1.fc33.noarch.rpm > > rust-pipe-0.2.0-1.fc33.src.rpm > > rust-pipe-devel.noarch: W: invalid-url URL: https://crates.io/crates/pipe HTTP Error 404: Not Found > > rust-pipe-devel.noarch: W: hidden-file-or-dir /usr/share/cargo/registry/pipe-0.2.0/.cargo-checksum.json > > rust-pipe+default-devel.noarch: W: invalid-url URL: https://crates.io/crates/pipe HTTP Error 404: Not Found > > rust-pipe+default-devel.noarch: W: no-documentation > > rust-pipe+bidirectional-devel.noarch: W: invalid-url URL: https://crates.io/crates/pipe HTTP Error 404: Not Found > > rust-pipe+bidirectional-devel.noarch: W: no-documentation > > rust-pipe+readwrite-devel.noarch: W: spelling-error %description -l en_US readwrite -> read write, read-write, rewrite > > rust-pipe+readwrite-devel.noarch: W: invalid-url URL: https://crates.io/crates/pipe HTTP Error 404: Not Found > > rust-pipe+readwrite-devel.noarch: W: no-documentation > > rust-pipe+unstable-doc-cfg-devel.noarch: W: invalid-url URL: https://crates.io/crates/pipe HTTP Error 404: Not Found > > rust-pipe+unstable-doc-cfg-devel.noarch: W: no-documentation > > rust-pipe.src: W: invalid-url URL: https://crates.io/crates/pipe HTTP Error 404: Not Found > > 6 packages and 0 specfiles checked; 0 errors, 12 warnings. > > I'm not sure why it's saying https://crates.io/crates/pipe is an invalid URL > because it's working for me. > I would ingnore the no-documentation warning. > I wonder if we can do something about the hidden-file-or-dir warning. The hidden-file-or-dir warning seems to come up when using the default macros - I think this could be addressed in https://src.fedoraproject.org/rpms/rust-srpm-macros (maybe to avoid packaging the file altogether as it seems to apply only to vendored rust deps, or exclude it from the hidden-file-or-dir check). Will take a look into this.
Along with rust-readwrite everything installs now. Package LGTM.
SCM repo requested: https://pagure.io/releng/fedora-scm-requests/issue/24757
(fedscm-admin): The Pagure repository was created at https://src.fedoraproject.org/rpms/rust-pipe