Bug 581723

Summary: Review Request: extundelete - An ext3 and ext4 file system undeletion utility
Product: [Fedora] Fedora Reporter: Hicham HAOUARI <hicham.haouari>
Component: Package ReviewAssignee: Mohamed El Morabity <pikachu.2014>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: fedora-package-review, notting, pahan, pikachu.2014, rjones
Target Milestone: ---Flags: pikachu.2014: fedora-review+
kevin: fedora-cvs+
Target Release: ---   
Hardware: All   
OS: Linux   
Fixed In Version: extundelete-0.1.8-2.fc11 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2010-04-27 05:50:46 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Hicham HAOUARI 2010-04-13 05:08:38 UTC
Spec URL: http://hicham.fedorapeople.org/extundelete.spec
SRPM URL: http://hicham.fedorapeople.org/extundelete-0.1.8-1.fc13.src.rpm
Description: An ext3 and ext4 file system undeletion utility

rpmlint output :

$ rpmlint extundelete.spec
> 0 packages and 1 specfiles checked; 0 errors, 0 warnings.

$ rpmlint extundelete-0.1.8-1.fc13.src.rpm
> extundelete.src: W: spelling-error Summary(en_US) undeletion -> deletion,  undervaluation, undermentioned
extundelete.src: W: spelling-error %description -l en_US undeletion -> deletion, undervaluation, undermentioned
1 packages and 0 specfiles checked; 0 errors, 2 warnings.

$ rpmlint extundelete-0.1.8-1.fc13.i686.rpm
> extundelete.i686: W: spelling-error Summary(en_US) undeletion -> deletion, undervaluation, undermentioned
extundelete.i686: W: spelling-error %description -l en_US undeletion -> deletion, undervaluation, undermentioned
1 packages and 0 specfiles checked; 0 errors, 2 warnings.

Koji build pages :

F-11 : http://koji.fedoraproject.org/koji/taskinfo?taskID=2112063

F-12 : http://koji.fedoraproject.org/koji/taskinfo?taskID=2112052

F-13 : http://koji.fedoraproject.org/koji/taskinfo?taskID=2112037

F-14 : http://koji.fedoraproject.org/koji/taskinfo?taskID=2112072

Comment 1 Mohamed El Morabity 2010-04-13 05:47:44 UTC

just a few comments before a potential review.

1) You don't need to add kernel-headers as a BuildRequires, since it is a dependancy of gcc, and gcc an implicit BuildRequires. So remove kernel-headers in your BR.

2) You don't need also to set e2fsprogs as a Requires. Your binary is dynamically linked to libext2fs.so, and this library is set automatically as a Requires when your RPM is built. Moreover your binary doesn't call any executable from the e2fsprogs package. So remove e2fsprogs in your Requires.

3) The binary is not compiled with the Fedora flags (see https://fedoraproject.org/wiki/Packaging/Guidelines#Compiler_flags). You should patch the Makefile to make it use CXXFLAGS and then set the value of CXXFLAGS to $RPM_OPT_FLAGS in your .spec file... Or even ask upstream to write better Makefiles :-P

4) Not very important, but your description and your summary are the same. Maybe you can develop your Description like this:
"extundelete is a utility that can recover deleted files from an ext3 or ext4 partition. extundelete uses the information stored in the partition's journal to attempt to recover a file that has been deleted from the partition. There is no guarantee that any particular file will be able to be undeleted, so always try to have a good backup system in place, or at least put one in place after recovering your files! "
(taken from the project website; I think it is better since we have a warning about the fact that extundelete is not infallible).

Comment 3 Hicham HAOUARI 2010-04-13 13:23:12 UTC
Using the RPM_OPT_FLAGS emerged new compiler warnings about strict aliasing break.
I am gonna upstream a patch and see what they say.

You can see the patch at :


Comment 4 Hicham HAOUARI 2010-04-13 13:31:33 UTC
For 3), current git uses autotools, so in next release, I hope I will drop the CXXFLAGS patch

Comment 5 Mohamed El Morabity 2010-04-13 13:39:31 UTC
Thanks for all these actions, I stay tuned of course :-)
We'll wait upstream's advice about the flags so.

Comment 6 Hicham HAOUARI 2010-04-14 14:49:35 UTC
Oops, this creates a segfault.

I don't know if we should use it with the compilation warnings.

Comment 7 Hicham HAOUARI 2010-04-14 16:56:54 UTC
I think this warning goes beyond the scope of this review as it e2fsprogs related

Comment 8 Hicham HAOUARI 2010-04-14 17:20:33 UTC
e2fsprogs does have those warnings in koji too, so we must cope with them.

feel free to add any further remarks apart from the warnings :)

Comment 9 Hicham HAOUARI 2010-04-14 22:57:42 UTC
Updated the patch, now, no warnings, no segfault.


Waiting for upstream approval.

Comment 10 Hicham HAOUARI 2010-04-18 13:27:38 UTC
Patch approved by upstream.

Comment 12 Mohamed El Morabity 2010-04-24 23:28:59 UTC
Here is the review:

MUST Items:
[X] MUST: rpmlint must be run on every package.
No error/warning except the spelling issues mentioned above that can be ignored. debug package is OK.
[X] MUST: The package must be named according to the Package Naming Guidelines.
[X] MUST: The spec file name must match the base package %{name}
[X] MUST: The package must meet the Packaging Guidelines.
[X] MUST: The package must be licensed with a Fedora approved license and meet the Licensing Guidelines.
[X] MUST: The License field in the package spec file must match the actual license.
See LICENSE file, and comments on source code are OK about the license
[W] MUST: 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 must be included in %doc.
[X] MUST: The spec file must be written in American English.
[X] MUST: The spec file for the package MUST be legible.
[X] MUST: The sources used to build the package must match the upstream source, as provided in the spec URL.
ff1d0a660727d358364134828fed1a16 → both for embedded archive and downloaded one
[X] MUST: The package must successfully compile and build into binary rpms on at least one supported architecture.
(Ok also for F11 and F14)
[N/A] MUST: If the package does not successfully compile, build or work on an architecture, then those architectures should be listed in the spec in ExcludeArch.
[X] MUST: All build dependencies must be listed in BuildRequires
[N/A] MUST: The spec file MUST handle locales properly. This is done by using the %find_lang macro.
[N/A] MUST: Every binary RPM package which stores shared library files (not just symlinks) in any of the dynamic linker's default paths, must call ldconfig in %post and %postun.
[N/A] MUST: If the package is designed to be relocatable, the packager must state this fact in the request for review
[OK] MUST: A package must own all directories that it creates. If it does not create a directory that it uses, then it should require a package which does create that directory.
[OK] MUST: A package must not contain any duplicate files in the %files listing.
[OK] MUST: Permissions on files must be set properly. Executables should be set with executable permissions, for example. Every %files section must include a %defattr(...) line.
[OK] MUST: Each package must have a %clean section, which contains rm -rf %{buildroot} (or $RPM_BUILD_ROOT).
[OK] MUST: Each package must consistently use macros, as described in the macros section of Packaging Guidelines.
[OK] MUST: The package must contain code, or permissible content. This is described in detail in the code vs. content section of Packaging Guidelines.
[N/A] MUST: Large documentation files should go in a doc subpackage.
[OK] MUST: If a package includes something as %doc, it must not affect the runtime of the application.
[N/A] MUST: Header files must be in a -devel package.
[N/A] MUST: Static libraries must be in a -static package.
[N/A] MUST: Packages containing pkgconfig(.pc) files must 'Requires: pkgconfig' (for directory ownership and usability).
[N/A] MUST: If a package contains library files with a suffix (e.g. libfoo.so.1.1), then library files that end in .so (without suffix) must go in a -devel package.
[N/A] MUST: In the vast majority of cases, devel packages must require the base package using a fully versioned dependency: Requires: %{name} = %{version}-%{release} 
[N/A] MUST: Packages must NOT contain any .la libtool archives, these should be removed in the spec.
[N/A] MUST: Packages containing GUI applications must include a %{name}.desktop file, and that file must be properly installed with desktop-file-install in the %install section.
[OK] MUST: Packages must not own files or directories already owned by other packages.
[OK] MUST: At the beginning of %install, each package MUST run rm -rf %{buildroot} (or $RPM_BUILD_ROOT).
[OK] MUST: All filenames in rpm packages must be valid UTF-8.

This package is APPROVED :-)

Comment 13 Hicham HAOUARI 2010-04-25 00:20:26 UTC
Thanks Mohamed for reviewing this package

Comment 14 Hicham HAOUARI 2010-04-25 00:22:43 UTC
New Package CVS Request
Package Name: extundelete
Short Description: An ext3 and ext4 file system undeletion utility
Owners: hicham
Branches: F-11 F-12 F-13
InitialCC: hicham

Comment 15 Kevin Fenzi 2010-04-26 03:42:25 UTC
CVS done (by process-cvs-requests.py).

Comment 16 Fedora Update System 2010-04-26 12:31:36 UTC
extundelete-0.1.8-2.fc13 has been submitted as an update for Fedora 13.

Comment 17 Fedora Update System 2010-04-26 12:33:23 UTC
extundelete-0.1.8-2.fc12 has been submitted as an update for Fedora 12.

Comment 18 Fedora Update System 2010-04-26 12:34:55 UTC
extundelete-0.1.8-2.fc11 has been submitted as an update for Fedora 11.

Comment 19 Fedora Update System 2010-04-27 05:50:42 UTC
extundelete-0.1.8-2.fc13 has been pushed to the Fedora 13 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 20 Fedora Update System 2010-04-28 01:17:44 UTC
extundelete-0.1.8-2.fc12 has been pushed to the Fedora 12 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 21 Fedora Update System 2010-04-28 01:19:22 UTC
extundelete-0.1.8-2.fc11 has been pushed to the Fedora 11 stable repository.  If problems still persist, please make note of it in this bug report.