[Bug 1596278] Review Request: apfs-fuse - A read-only FUSE driver for Apple's APFS

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

 



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



--- Comment #2 from Bastien Nocera <bnocera@xxxxxxxxxx> ---
(In reply to Robert-André Mauchin from comment #1)
>  - Not needed:
> 
> Buildroot:	%{_tmppath}/%{name}-%{version}-%{release}-root

Fixed.

> %defattr(-,root,root)

Fixed.

>  - Not good:
> 
> Version:	%{date}git%{short_gittag}
> Release:	1%{?dist}
> 
>    If you do a dev snapshot, the date and gittag should be in Release:
> 
> Version:	0
> Release:	0.1.%{date}git%{short_gittag}%{?dist}
> 
>    See https://fedoraproject.org/wiki/Packaging:Versioning#Snapshots
> 
>  - Thus use:
> 
> Source0:
> https://github.com/sgan81/%{name}/archive/%{short_gittag}/%{name}-
> %{short_gittag}.tar.gz

Done.

>  - The changelog entry should contain the version-release info:
> 
> * Thu Jun 28 2018 Bastien Nocera <bnocera@xxxxxxxxxx> -
> 0-0.1.20180628gitbe55741

My vim macros can't generate it. This is tagged in the repo, so why is this
important?

>  - Use:
> 
> %global short_gittag	%(c=%{gittag}; echo ${c:0:7})

Done. Why is this not mentioned in the packaging guidelines?
https://fedoraproject.org/wiki/Packaging:Versioning#Snapshots

>  - The LICENSE must be included with %license, not %doc:
> 
> %files
> %{_bindir}/apfs-*
> %doc README.md
> %license LICENSE

Done.

>  - You're using a mix of tabs and space in the SPEC, use one or the other'
> not both.

Used spaces now.

>  - lzfse is licensed under BSD. Add it to the license field and add a
> comment explaining the license breakdown. Also install the lzfse LICENSE
> file as LICENSE-lzfse

The lzfse sources already include this, and the combined work is GPLv2+. I
don't think we need this.

>  - Use %global, not %define

Done.

>  - Split the description lines to stay below 80 characters per line.

I've reworked this as well.

> 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]: 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.
> [!]: License field in the package spec file matches the actual license.
>      Note: Checking patched sources after %prep for licenses. Licenses
>      found: "BSD (3 clause)", "GPL (v2 or later)", "Unknown or generated".
>      36 files have unknown license. Detailed output of licensecheck in
>      /home/bob/packaging/review/apfs-fuse/review-apfs-fuse/licensecheck.txt

I don't think it's necessary, as the combined work's license is already
mentioned correctly.

> [!]: License file installed when any subpackage combination is installed.

Fixed.

> [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.
> [-]: 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]: 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]: 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]: 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).
> [?]: Package functions as described.
> [x]: Latest version is packaged.
> [x]: Package does not include license text files separate from upstream.
> [-]: 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.
> [!]: Spec use %global instead of %define unless justified.
>      Note: %define requiring justification: %define date 20180628, %define
>      gittag be557410232d84929614410d9048468bc6e5f671, %define short_gittag
>      %(c=%{gittag}; echo ${c:0:7})

Fixed.

> [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]: 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]: 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]: 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: apfs-fuse-0-0.1.20180628gitbe55741.fc29.x86_64.rpm
>           apfs-fuse-debuginfo-0-0.1.20180628gitbe55741.fc29.x86_64.rpm
>           apfs-fuse-debugsource-0-0.1.20180628gitbe55741.fc29.x86_64.rpm
>           apfs-fuse-0-0.1.20180628gitbe55741.fc29.src.rpm
> apfs-fuse.x86_64: E: description-line-too-long C This project is a read-only
> FUSE driver for the new Apple File System. Since Apple didn't
> apfs-fuse.x86_64: E: description-line-too-long C yet document the disk
> format of APFS, this driver should be considered experimental.
> apfs-fuse.x86_64: E: description-line-too-long C It may not be able to read
> all files, it may return wrong data, or it may simply crash.
> apfs-fuse.x86_64: E: description-line-too-long C Use at your own risk. But
> since it's read-only, at least the data on your apfs drive should be safe.
> apfs-fuse.x86_64: E: description-line-too-long C Be aware that not all
> compression methods are supported yet (only the ones I have encountered so
> far).

Fixed.

> apfs-fuse.x86_64: W: no-manual-page-for-binary apfs-dump
> apfs-fuse.x86_64: W: no-manual-page-for-binary apfs-dump-quick
> apfs-fuse.x86_64: W: no-manual-page-for-binary apfs-fuse

Won't be fixing this.

> apfs-fuse.src: E: description-line-too-long C This project is a read-only
> FUSE driver for the new Apple File System. Since Apple didn't
> apfs-fuse.src: E: description-line-too-long C yet document the disk format
> of APFS, this driver should be considered experimental.
> apfs-fuse.src: E: description-line-too-long C It may not be able to read all
> files, it may return wrong data, or it may simply crash.
> apfs-fuse.src: E: description-line-too-long C Use at your own risk. But
> since it's read-only, at least the data on your apfs drive should be safe.
> apfs-fuse.src: E: description-line-too-long C Be aware that not all
> compression methods are supported yet (only the ones I have encountered so
> far).

Fixed.

> apfs-fuse.src:5: W: mixed-use-of-spaces-and-tabs (spaces: line 1, tab: line
> 5)

Fixed.

> 4 packages and 0 specfiles checked; 10 errors, 4 warnings.

New spec and package at:
https://fedorapeople.org/~hadess/apfs-fuse/apfs-fuse.spec
https://fedorapeople.org/~hadess/apfs-fuse/apfs-fuse-0-1.20180628gitbe55741.fc28.src.rpm

-- 
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
To unsubscribe send an email to package-review-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/package-review@xxxxxxxxxxxxxxxxxxxxxxx/message/3KOXSW7VRG4HZ7LIRQOW6XXM5NUQZ6AN/




[Index of Archives]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite Conditions]     [KDE Users]

  Powered by Linux