Bug 863879 - Review Request: f2fs-tools - Tools for Flash-Friendly File System (F2FS)
Summary: Review Request: f2fs-tools - Tools for Flash-Friendly File System (F2FS)
Keywords:
Status: CLOSED NEXTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: Unspecified
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Mathieu Bridon
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2012-10-07 22:54 UTC by Eduardo Echeverria
Modified: 2012-12-03 02:35 UTC (History)
6 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2012-12-03 02:35:12 UTC
Type: Bug
Embargoed:
bochecha: fedora-review+
gwync: fedora-cvs+


Attachments (Terms of Use)

Description Eduardo Echeverria 2012-10-07 22:54:38 UTC
Spec URL: http://echevemaster.fedorapeople.org/f2fs-tools/1/f2fs-tools.spec
RPMS URL: http://echevemaster.fedorapeople.org/f2fs-tools/1/f2fs-tools-1.0.0-1.fc17.src.rpm

NAND flash memory-based storage devices, such as SSD, and SD cards,
have been widely being used for ranging from mobile to server systems.
Since they are known to have different characteristics from the
conventional rotational disks,a file system, an upper layer to
the storage device, should adapt to the changes
from the sketch.

F2FS is a new file system carefully designed for the
NAND flash memory-based storage devices.
We chose a log structure file system approach,
but we tried to adapt it to the new form of storage.
Also we remedy some known issues of the very old log
structured file system, such as snowball effect
of wandering tree and high cleaning overhead.

Because a NAND-based storage device shows different characteristics
according to its internal geometry or flash memory management
scheme aka FTL, we add various parameters not only for configuring
on-disk layout, but also for selecting allocation
and cleaning algorithms.


Fedora Account System Username: echevemaster

rpmlint -v f2fs-tools.spec 
f2fs-tools.spec: I: checking-url http://downloads.sourceforge.net/project/f2fs-tools/f2fs-tools-1.0.0.tar.gz (timeout 10 seconds)
0 packages and 1 specfiles checked; 0 errors, 0 warnings.

rpmlint -v f2fs-tools-1.0.0-1.fc17.src.rpm 
f2fs-tools.src: I: checking
f2fs-tools.src: I: checking-url http://sourceforge.net/projects/f2fs-tools/ (timeout 10 seconds)
f2fs-tools.src: I: checking-url http://downloads.sourceforge.net/project/f2fs-tools/f2fs-tools-1.0.0.tar.gz (timeout 10 seconds)
1 packages and 0 specfiles checked; 0 errors, 0 warnings.

rpmlint -v f2fs-tools*
f2fs-tools.x86_64: I: checking
f2fs-tools.x86_64: I: checking-url http://sourceforge.net/projects/f2fs-tools/ (timeout 10 seconds)
f2fs-tools-debuginfo.x86_64: I: checking
f2fs-tools-debuginfo.x86_64: I: checking-url http://sourceforge.net/projects/f2fs-tools/ (timeout 10 seconds)
2 packages and 0 specfiles checked; 0 errors, 0 warnings.

Rawhide Koji Build 
http://koji.fedoraproject.org/koji/taskinfo?taskID=4569523
Koji Build f18
http://koji.fedoraproject.org/koji/taskinfo?taskID=4569526
Koji Build f17
http://koji.fedoraproject.org/koji/taskinfo?taskID=4569531
Koji Build f16
http://koji.fedoraproject.org/koji/taskinfo?taskID=4569540

Comment 1 Volker Fröhlich 2012-10-14 20:20:59 UTC
Consider to add AUTHORS and ChangeLog.

Better make it %{_mandir}/man8/mkfs.f2fs.8* because the compression method could change.

Comment 2 Eduardo Echeverria 2012-10-15 06:46:54 UTC
(In reply to comment #1)
> Consider to add AUTHORS and ChangeLog.
> 
> Better make it %{_mandir}/man8/mkfs.f2fs.8* because the compression method
> could change.

Thanks Volker:
Added the changes: 
SPEC URL: http://echevemaster.fedorapeople.org/f2fs-tools/2/f2fs-tools.spec
SRPM URL: http://echevemaster.fedorapeople.org/f2fs-tools/2/f2fs-tools-1.0.0-2.fc17.src.rpm

Comment 3 Mathieu Bridon 2012-10-19 07:07:46 UTC
First, a minor nitpick: I'm not convinced the README file has any value as %doc, as it mostly just explains how to install, which is not useful in an RPM package context.

If it were me, I wouldn't include it in the package at all, but it's really your call. (it's obviously not a review blocker, just a personal preference)

Now for the actual review...

Summary
=======

[!]: License field in the package spec file matches the actual license.
     => The license tag should be GPLv2+

Fix that and I'll approve the package.


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

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

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

C/C++:
[x]: Header files in -devel subpackage, if present.
[x]: Package does not contain any libtool archives (.la)
[x]: Package does not contain kernel modules.
[x]: Package contains no static executables.
[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]: Package successfully compiles and builds into binary rpms on at least one
     supported primary architecture.
[x]: %build honors applicable compiler flags or justifies otherwise.
[x]: All build dependencies are listed in BuildRequires, except for any that
     are listed in the exceptions section of Packaging Guidelines.
[x]: Package contains no bundled libraries.
[x]: Changelog in prescribed format.
[x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
[x]: Sources contain only permissible code or content.
[x]: Each %files section contains %defattr if rpm < 4.4
[-]: Macros in Summary, %description expandable at SRPM build time.
[-]: Package contains desktop file if it is a GUI application.
[-]: Development files must be in a -devel package
[-]: Package requires other packages for directories it uses.
[x]: Package uses nothing in %doc for runtime.
[x]: Package is not known to require ExcludeArch.
[x]: Package does not contain duplicates in %files.
[x]: Permissions on files are set properly.
[x]: Package complies to the Packaging Guidelines
[x]: Spec file lacks Packager, Vendor, PreReq tags.
[-]: Large documentation files are in a -doc subpackage, if required.
[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 %doc.
[!]: License field in the package spec file matches the actual license.
     Note: Checking patched sources after %prep for licenses. Licenses found:
     "GPL (v2)". 1 files have unknown license. Detailed output of licensecheck
     in /home/mathieu/Workspace/dist-git/f2fs-tools/863879-f2fs-
     tools/licensecheck.txt
[x]: Package consistently uses macro is (instead of hard-coded directory
     names).
[x]: Package is named using only allowed ASCII characters.
[x]: Package is named according to the Package Naming Guidelines.
[x]: Package does not generate any conflict.
     Note: Package contains no Conflicts: tag(s)
[x]: Package do not use a name that already exist
[x]: Package obeys FHS, except libexecdir and /usr/target.
[-]: If the package is a rename of another package, proper Obsoletes and
     Provides are present.
[-]: Package must own all directories that it creates.
[x]: Package does not own files or directories owned by other packages.
[x]: Package installs properly.
[x]: Package is not relocatable.
[x]: Requires correct, justified where necessary.
[x]: CheckResultdir
[x]: Rpmlint is run on all rpms the build produces.
     Note: No rpmlint messages.
[x]: Sources used to build the package match the upstream source, as provided
     in the spec URL.
[x]: Spec file is legible and written in American English.
[x]: Spec file name must match the spec package %{name}, in the format
     %{name}.spec.
[-]: Package contains systemd file(s) if in need.
[x]: File names are valid UTF-8.
[x]: Useful -debuginfo package or justification otherwise.

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

Generic:
[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)
[-]: 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]: Dist tag is present.
[x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[x]: Final provides and requires are sane (rpm -q --provides and rpm -q
     --requires).
[?]: Package functions as described.
[x]: Latest version is packaged.
[x]: Package does not include license text files separate from upstream.
[x]: The placement of pkgconfig(.pc) files are correct.
[x]: SourceX tarball generation or download is documented.
[x]: SourceX / PatchY prefixed with %{name}.
[x]: SourceX is a working URL.
[-]: 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]: Spec use %global instead of %define.

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

Generic:
[x]: Rpmlint is run on all installed packages.
     Note: No rpmlint messages.
[x]: Spec file according to URL is the same as in SRPM.

Rpmlint
-------
Checking: f2fs-tools-debuginfo-1.0.0-2.fc18.x86_64.rpm
          f2fs-tools-1.0.0-2.fc18.src.rpm
          f2fs-tools-1.0.0-2.fc18.x86_64.rpm
3 packages and 0 specfiles checked; 0 errors, 0 warnings.

Rpmlint (installed packages)
----------------------------
# rpmlint f2fs-tools-debuginfo f2fs-tools
2 packages and 0 specfiles checked; 0 errors, 0 warnings.
# echo 'rpmlint-done:'

Requires
--------
f2fs-tools-debuginfo-1.0.0-2.fc18.x86_64.rpm (rpmlib, GLIBC filtered):
    

f2fs-tools-1.0.0-2.fc18.x86_64.rpm (rpmlib, GLIBC filtered):
    
    libc.so.6()(64bit)  
    rtld(GNU_HASH)  

Provides
--------
f2fs-tools-debuginfo-1.0.0-2.fc18.x86_64.rpm:
    
    f2fs-tools-debuginfo = 1.0.0-2.fc18
    f2fs-tools-debuginfo(x86-64) = 1.0.0-2.fc18

f2fs-tools-1.0.0-2.fc18.x86_64.rpm:
    
    f2fs-tools = 1.0.0-2.fc18
    f2fs-tools(x86-64) = 1.0.0-2.fc18

MD5-sum check
-------------
http://downloads.sourceforge.net/project/f2fs-tools/f2fs-tools-1.0.0.tar.gz :
  CHECKSUM(SHA256) this package     : d1df972640ece58e382448a4f952888f56c8e63bf3587c5419c2e018cbe1357d
  CHECKSUM(SHA256) upstream package : d1df972640ece58e382448a4f952888f56c8e63bf3587c5419c2e018cbe1357d


Generated by fedora-review 0.3.0 (c78e275) last change: 2012-09-24
Buildroot used: fedora-18-x86_64
Command line :/usr/bin/fedora-review -b 863879 -m fedora-18-x86_64

Comment 4 Eduardo Echeverria 2012-10-22 23:07:31 UTC
Thanks to take the review Mathieu:
Added the changes: 
SPEC URL: http://echevemaster.fedorapeople.org/f2fs-tools/3/f2fs-tools.spec
SRPM URL: http://echevemaster.fedorapeople.org/f2fs-tools/3/f2fs-tools-1.0.0-3.fc17.src.rpm

Comment 5 Mathieu Bridon 2012-10-24 08:13:55 UTC
Diff with the previous spec is:

----------
@@ -1,8 +1,8 @@
 Name:		f2fs-tools		
 Version:	1.0.0
-Release:	2%{?dist}
+Release:	3%{?dist}
 Summary:	Tools for Flash-Friendly File System (F2FS)
-License:	GPLv2
+License:	GPLv2+
 URL:		http://sourceforge.net/projects/f2fs-tools/
 Source0:	http://downloads.sourceforge.net/project/%{name}/%{name}-%{version}.tar.gz
 BuildRequires:	autoconf
@@ -45,12 +45,16 @@
 
 
 %files
-%doc COPYING README AUTHORS ChangeLog
+%doc COPYING AUTHORS ChangeLog
 %{_bindir}/mkfs.f2fs
 %{_mandir}/man8/mkfs.f2fs.8*
 
 
 %changelog
+* Mon Oct 22 2012 Eduardo Echeverria  <echevemaster> - 1.0.0-3
+- Change to the correct license GPLv2+
+- Remove README file to the section doc
+
 * Mon Oct 15 2012 Eduardo Echeverria  <echevemaster> - 1.0.0-2
 - Add Changelog AUTHORS files to section doc
 - Add wilcard to the manpages section.
----------

This fixes the only problem I had with the previous submission (the License tag), so the package is approved.

Comment 6 Eduardo Echeverria 2012-10-24 15:57:33 UTC
Mathieu, Thanks again for the review 

New Package SCM Request
=======================
Package Name: f2fs-tools
Short Description: Tools for Flash-Friendly File System (F2FS)
Owners: echevemaster
Branches: f17 f18
InitialCC:

Comment 7 Gwyn Ciesla 2012-10-24 16:10:19 UTC
Git done (by process-git-requests).

Comment 8 Fedora Update System 2012-10-25 05:52:21 UTC
f2fs-tools-1.0.0-3.fc18 has been submitted as an update for Fedora 18.
https://admin.fedoraproject.org/updates/f2fs-tools-1.0.0-3.fc18

Comment 9 Fedora Update System 2012-10-25 06:01:23 UTC
f2fs-tools-1.0.0-3.fc17 has been submitted as an update for Fedora 17.
https://admin.fedoraproject.org/updates/f2fs-tools-1.0.0-3.fc17

Comment 10 Fedora Update System 2012-10-26 19:31:37 UTC
f2fs-tools-1.0.0-3.fc18 has been pushed to the Fedora 18 testing repository.


Note You need to log in before you can comment on or make changes to this bug.