Bug 211698 - Review Request: ntfsprogs - NTFS filesystem libraries and utilities
Review Request: ntfsprogs - NTFS filesystem libraries and utilities
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
All Linux
medium Severity medium
: ---
: ---
Assigned To: Jason Tibbitts
Fedora Package Reviews List
Depends On:
  Show dependency treegraph
Reported: 2006-10-20 17:14 EDT by Tom "spot" Callaway
Modified: 2007-11-30 17:11 EST (History)
0 users

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2006-10-23 10:23:17 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description Tom "spot" Callaway 2006-10-20 17:14:03 EDT
Spec URL: http://www.auroralinux.org/people/spot/review/ntfsprogs.spec
SRPM URL: http://www.auroralinux.org/people/spot/review/ntfsprogs-1.13.1-1.fc6.src.rpm
The Linux-NTFS project (http://www.linux-ntfs.org/) aims to bring full support
for the NTFS filesystem to the Linux operating system.  The ntfsprogs package
currently consists of a library and utilities such as mkntfs, ntfscat, ntfsls,
ntfsresize, and ntfsundelete (for a full list of included utilities see man 8
ntfsprogs after installation).
Comment 1 Gianluca Sforna 2006-10-20 18:02:28 EDT
I had a look at the spec it at first sight I can't see anything strange.

The mock build was fine and no rpmlint is silent on all output packages

The only couple of questions I have are:

is there a reason why you don't use %{_sbindir} everywhere in:
# Clear up symlink confusion by making a copy
rm -rf $RPM_BUILD_ROOT/sbin/mkfs.ntfs
cp -a $RPM_BUILD_ROOT%{_sbindir}/mkntfs $RPM_BUILD_ROOT/sbin/mkfs.ntfs

and, what about the kernel module needed for NTFS support?
is it going to be activated (so can we assume legal issues are gone, maybe with
the same reasoning that pulled in Mono) ?
Comment 2 Michael Schwendt 2006-10-20 18:46:36 EDT
$ rpm --eval %_sbindir
Comment 3 Jason Tibbitts 2006-10-20 19:19:59 EDT
The only kernel module needed for NTFS support is the FUSE module, which is
already there.  Everything else is in userspace.  The existing kernel-mode NTFS
is essentially read-only, and while it might not hurt to enable it, it shouldn't
be what we expect users to use when they want to work with NTFS.

One thing I immediately notice about this package: the dreaded rpath problem:
  E: ntfsprogs binary-or-shlib-defines-rpath /usr/bin/ntfsinfo ['/usr/lib64']
and 14 other similar errors.

Unortunately I'm once again without an existing NTFS to test, but I'll try to
get something together and do some testing.
Comment 4 Jason Tibbitts 2006-10-21 02:24:49 EDT
OK, I was able to create an NTFS filesystem on a USB stick, view it using the
tools, mount it via ntfs-3g, and access the files on a windows machine.

I was able to get rid of the rpath via the usual method: BR: libtool, add
"LIBTOOL=/usr/bin/libtool" to the make line, and delete any .a files that pop
up.  After that, rpmlint is happy.

Any reason why you have the BuildRequires: down in the -gnomevfs subpackage

There is a test suite, it looks like, but trying to run it produces
   The libntfs test code has been configured out of this release.
   ./configure --enable-test and rebuild.
I did that and the tests do pass.  I'm not sure what this changes; an additional
executable (/usr/bin/runlist) gets installed but I'm not sure if that's all.

Is it reasonable to enable encryption?

* source files match upstream:
   23160eb8d34abe3d2a88cd6d054faa47  ntfsprogs-1.13.1.tar.gz
* package meets naming and packaging guidelines.
* specfile is properly named, is cleanly written and uses macros consistently.
* dist tag is present.
* build root is correct.
* license field matches the actual license.
* license is open source-compatible.  License text included in package.
* latest version is being packaged.
* BuildRequires are proper.
* compiler flags are appropriate.
* %clean is present.
* package builds in mock (development, x86_64).
* package installs properly
* debuginfo package looks complete.
X rpmlint has valid complaints (rpath)
* final provides and requires are sane:
   ntfsprogs = 1.13.1-1.fc6

   ntfsprogs-devel = 1.13.1-1.fc6
   ntfsprogs = 1.13.1-1.fc6

   config(ntfsprogs-gnomevfs) = 1.13.1-1.fc6
   ntfsprogs-gnomevfs = 1.13.1-1.fc6
   config(ntfsprogs-gnomevfs) = 1.13.1-1.fc6
   ntfsprogs = 1.13.1-1.fc6

? %check is not present; there is a test suite but I'm not sure if it's feasible
to run it.  The tests pass when run manually (all files files are identical).

* shared libraries are present; ldconfig is called as necessary.
* owns the directories it creates.
* doesn't own any directories it shouldn't.
* no duplicates in %files.
* file permissions are appropriate.
* scriptlets are OK.
* code, not content.
* documentation is small, so no -docs subpackage is necessary.
* %docs are not necessary for the proper functioning of the package.
* headers and unversioned .so files are in the -devel package.
* no pkgconfig files.
* no libtool .la droppings.
Comment 5 Tom "spot" Callaway 2006-10-21 18:16:28 EDT
Enabled crypto (new BR: libgcrypt-devel, gnutls-devel)
Enabled testsuite (can't hurt)
Fixed rpath by prefixing system libtool (new BR: libtool)

New SPEC: http://www.auroralinux.org/people/spot/review/ntfsprogs.spec
Comment 6 Jason Tibbitts 2006-10-21 19:23:01 EDT
Hmm, still has the rpath problem; the make line should read
   make LIBTOOL=/usr/bin/libtool %{?_smp_mflags}
instead of
   LIBTOOL=/usr/bin/libtool make %{?_smp_mflags}
and of course you'll still have to delete the .a files that crop up.

Enabling the test suite has installed another binary, /usr/bin/runlist, which
I'm not sure should actially be installed.

I note thhat you pass --enable-crypto, but ntfsdecrypt isn't built.  I added
another make line:
   make LIBTOOL=/usr/bin/libtool %{?_smp_mflags} extra
which does build the additional executables, they still aren't installed.  It
looks like that would need to be done manually.  I'm not sure what you'd prefer
to do here.  The package is fine without those utilities.
Comment 7 Tom "spot" Callaway 2006-10-21 21:30:15 EDT
Fixed make line
Added make extra line
Manually installed "extra" programs
Nuked runlist.

New SPEC: http://www.auroralinux.org/people/spot/review/ntfsprogs.spec
Comment 8 Jason Tibbitts 2006-10-21 23:09:01 EDT
OK, everything looks good now.  rpmlint is quiet and all of the executables,
including the extra ones, are installed.

Comment 9 Tom "spot" Callaway 2006-10-23 10:23:17 EDT
Built and in the repos. Thanks for the review.

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