Bug 197764 (hfsplus-tools) - Review Request: hfsplus-tools
Summary: Review Request: hfsplus-tools
Keywords:
Status: CLOSED NEXTRELEASE
Alias: hfsplus-tools
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Jima
QA Contact: Fedora Package Reviews List
URL: http://gentoo-wiki.com/HOWTO_hfsplus
Whiteboard:
Depends On:
Blocks: FE-ACCEPT
TreeView+ depends on / blocked
 
Reported: 2006-07-06 05:03 UTC by Chris Weyl
Modified: 2007-11-30 22:11 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2006-08-19 00:33:04 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Chris Weyl 2006-07-06 05:03:46 UTC
Spec URL: http://home.comcast.net/~ckweyl/hfsplus-tools.spec
SRPM URL: http://home.comcast.net/~ckweyl/hfsplus-tools-332.11-0.fc5.src.rpm

Description: 
HFS+, HFS Plus, or Mac OS Extended are names for a file system developed by
Apple Computer to replace their Hierarchical File System (HFS). In addition to
being the default file system on modern Apple computers, HFS+ is one of two
formats, FAT being the other, that are supported by the iPod hard-disk based
music player. Unlike FAT, HFS+ supports UNIX style file permissions, which
makes it useful, for serving and sharing files in a secured manner. As Apple
Computer's devices and systems become increasingly ubiquitous, it becomes
important that Linux fully support this format.  This package provides tools
to create and check HFS+ filesystems under Linux.

Comment 1 Parag AN(पराग) 2006-07-06 09:05:23 UTC
When i Mock build this SRPM, I got 
error: unpacking of archive failed on file
/builddir/build/SOURCES/diskdev_cmds-332.11.tar.gz;44acd0bf: cpio: read failed -
Invalid argument


Comment 2 Chris Weyl 2006-07-07 02:30:48 UTC
Erm... works for me?

Comment 3 Parag AN(पराग) 2006-07-07 03:51:02 UTC
== Not an official review as I'm not yet sponsored ==
   Mock build for development i386 is sucessfull with some warnings 
SBTree.c: In function 'SearchBTreeRecord': SBTree.c:96: warning: pointer targets
in passing argument 1 of 'DebugStr' differ in signedness

* MUST Items:
     - MUST: rpmlint on binary RPM shows error. 
       W: hfsplus-tools invalid-license Apple Public Source License
       The license you specified is invalid. The valid licenses are:

      -GPL                                    -LGPL
      -Artistic                               -BSD
      -MIT                                    -QPL
      -MPL                                    -IBM Public License
      -Apache License                         -PHP License
      -Public Domain                          -Modified CNRI Open Source License 
      -zlib License                           -CVW License
      -Ricoh Source Code Public License       -Python license
      -Vovida Software License                -Sun Internet Standards Source License
      -Intel Open Source License              -Jabber Open Source License

      if the license is close to an existing one, you can use '<license> style'.

    W: hfsplus-tools no-documentation
    The package contains no documentation (README, doc, etc).
    You have to include documentation files.

     - MUST: dist tag is present.
     - MUST: The package is named according to the Package Naming Guidelines.
     - MUST: The spec file name matching the base package hfsplus-tools, in the
format hfsplus-tools.spec.
      - MUST: The sources used to build the package matches the upstream source,
as provided in the spec URL. md5sum is correct (2a707860a8e81308777afd5a821eec07)
      - MUST: This package owns all directories that it creates. 
      - MUST: This package did not contain any duplicate files in the %files
listing.
      - MUST: This package  have a %clean section, which contains rm -rf
$RPM_BUILD_ROOT.
      - MUST: This package used macros.
      - MUST: Document files are included like README.
      - MUST: Package did NOT contained any .la libtool archives.
      * Source URL is present and working.
      * BuildRoot is correct BuildRoot:       
%{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
      * BuildRequires is correct


You Need to do :
       Add Documentation files and also package must conatain Open source License.

Comment 4 Jason Tibbitts 2006-07-21 03:52:59 UTC
rpmlint has this to say:

W: hfsplus-tools no-documentation
It looks like there are manpages in the tarball; any reason not to package them?

These are from executable source files.  Easily fixed with a quick chmod.
E: hfsplus-tools-debuginfo script-without-shellbang
/usr/src/debug/diskdev_cmds-332.11/fsck_hfs.tproj/dfalib/hfs_endian.h
E: hfsplus-tools-debuginfo script-without-shellbang
/usr/src/debug/diskdev_cmds-332.11/fsck_hfs.tproj/dfalib/hfs_endian.c
E: hfsplus-tools-debuginfo script-without-shellbang
/usr/src/debug/diskdev_cmds-332.11/fsck_hfs.tproj/dfalib/HardLinkCheck.c
E: hfsplus-tools-debuginfo script-without-shellbang
/usr/src/debug/diskdev_cmds-332.11/fsck_hfs.tproj/dfalib/SRebuildCatalogBTree.c
E: hfsplus-tools-debuginfo script-without-shellbang
/usr/src/debug/diskdev_cmds-332.11/fsck_hfs.tproj/dfalib/BTreeScanner.c
E: hfsplus-tools-debuginfo script-without-shellbang
/usr/src/debug/diskdev_cmds-332.11/fsck_hfs.tproj/dfalib/BTreeScanner.h

While it's true that the source is all under the APSL and that this package
doesn't actually include a copy, the APSL is sufficiently both different and
uncommon that I do think it would be a good idea to include it in the package. 
I couldn't find it directly in text form, but you can snip it from
http://www.opensource.apple.com/apsl/.

It doesn't look as if the compiler is being called with the proper flags.  The
gentoo patch sets up its own set of CFLAGS which are not the ones used in
Fedora.  I wonder if it works to delete CFLAGS from the Makefiles and then pass
them on the commandline.


Comment 5 Chris Weyl 2006-07-21 06:21:51 UTC
(In reply to comment #4)
> rpmlint has this to say:
> 
> W: hfsplus-tools no-documentation
> It looks like there are manpages in the tarball; any reason not to package them?

None whatsoever :)  Corrected.  I made only minimal changes to them, as
evidenced in the new spec -- basically just changing the name of the util in the
page so people wouldn't get wicked confused.

> These are from executable source files.  Easily fixed with a quick chmod.
> E: hfsplus-tools-debuginfo script-without-shellbang
> /usr/src/debug/diskdev_cmds-332.11/fsck_hfs.tproj/dfalib/hfs_endian.h
[...]

Fixed.

> While it's true that the source is all under the APSL and that this package
> doesn't actually include a copy, the APSL is sufficiently both different and
> uncommon that I do think it would be a good idea to include it in the package. 
> I couldn't find it directly in text form, but you can snip it from
> http://www.opensource.apple.com/apsl/.

Done.

> It doesn't look as if the compiler is being called with the proper flags.  The
> gentoo patch sets up its own set of CFLAGS which are not the ones used in
> Fedora.  I wonder if it works to delete CFLAGS from the Makefiles and then pass
> them on the commandline.

Gentoo specific bits now nixed; retained the flags that look like they're more
specific to the code at hand.

Spec URL: http://home.comcast.net/~ckweyl/hfsplus-tools.spec
SRPM URL: http://home.comcast.net/~ckweyl/hfsplus-tools-332.11-1.fc5.src.rpm


Comment 6 Chris Weyl 2006-07-27 00:01:44 UTC
Updated to latest posted version.

Spec URL: http://home.comcast.net/~ckweyl/hfsplus-tools.spec
SRPM URL: http://home.comcast.net/~ckweyl/hfsplus-tools-332.14-1.fc5.src.rpm

Comment 7 Jima 2006-08-18 22:38:53 UTC
Using my own review checklist:
http://beer.tclug.org/fedora-extras/review-checklist-1.1.txt

1. No rpmlint output, good.
2. The package doesn't use the upstream name (diskdev_cmds), as recommended by
the Package Naming Guidelines.  However, the upstream name isn't particularly
descriptive, and your choice is.  I think the name is acceptable.
3. Spec is hfsplus-tools.spec, check.
4. As far as I can tell, this package meetings the Packaging Guidelines.
5. Licensed under Apple Public Source License, verified OSI-approved by
http://www.opensource.org/licenses/apsl-2.0.php
6. Spec lists license as "Apple Public Source License" -- should it be this or
"APSL"?  Most licenses seem to be abbreviated, but this is the first 
APSL-licensed package in Fedora I've seen (and I checked all of FC5/FE5).
7. Package doesn't contain a copy of the license text -- submitter has acquired
it as suggested by a quasi-reviewer (thanks Tibbs!).
8. Spec is written in American English.
9. Spec is legible, but slightly confusing -- fortunately the submitter made
lots of comments.
10. Source/patch match upstream, as verified by md5sum.
11. Package built on i386/ppc, the two supported architectures I have.
12. n/a, I suspect.
13. I imagine all BuildReqs are listed; the package built in Plague.
14. n/a
15. No shared libraries (or libraries at all).
16. n/a
17. Doesn't create any directories (besides %doc).
18. No duplicate %files entries.
19. %defattr looks okay.
20. %clean looks good.
21. Macro use appears consistent.
22. Package contains code (and associated documentation).
23. %doc is one file; probably not excessive.
24. %doc does not affect runtime of software.
25. No headers or static libraries.
26. No .pc files.
27. No library files.
28. No -devel subpackage.
29. No .la files.
30. No GUI apps.
31. Package owns files owned by hfsplusutils, but has an appropriate Conflicts
entry.  hfsplusutils' most recent upstream release appears to be over four years
old; I'm not sure if offering a more current alternative is much of a crime. 
(I'd like to hear some more feedback on this, though.)
32. Release tag contains %{?dist}.
33. The tarball lacks a text copy of the license; you may want to query upstream
to include it.  (Optional.)
34. No translations are available, as far as I'm aware.
35. The package built in Plague for i386 & ppc.
36. I can't verify x86_64 for lack of hardware, so I can't guarantee this.
37. I specifically reconnected the Mac OS X hard drive in one of my PPC systems
to test this program:

# fsck.hfsplus /dev/hda9
** /dev/hda9
** Checking HFS Plus volume.
** Checking Extents Overflow file.
** Checking Catalog file.
** Checking multi-linked files.
** Checking Catalog hierarchy.
** Checking volume bitmap.
** Checking volume information.
** The volume Macintosh HD appears to be OK.

Not a surefire test, but it definitely didn't segfault.

38. I don't see any scriptlets.
39. n/a, no subpackages.

I'd like to get some public opinion on the hfsplus-tools vs. hfsplusutils issue
(and the License tag, too), but aside from that, I don't see anything holding
this package up.

Comment 8 Jima 2006-08-18 22:52:52 UTC
Uber-reviewer Tibbs chimed in and didn't see anything wrong with either matter,
so I'm putting the APPROVED stamp on this one.

Comment 9 Chris Weyl 2006-08-19 00:33:04 UTC
+Import to CVS
+Add to owners.list
+Bump release, build for devel
+devel build succeeds
+Request branching (FC-5)
+Close bug

Thanks for the review, jima! My iPod thanks you as well ;)


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