[Parted-maintainers] parted documentation updates

Nikolaus Schulz microschulz@web.de
Fri, 13 May 2005 22:32:05 +0200


--Qxx1br4bt0+wmkIi
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

Hello all!

As a result of discussing Debian bug #298020 ("parted: hfs(+) support is
still poorly documented") [1] with Sven Luther, I have joined the parted
project at alioth and find myself working on some documentation updates
for the parted package in Debian. :-)

Some background for those not following the development closely might be
in order.  Thanks to Guillaume Knispel, parted supports resizing hfs(+)
filesystems. (Cool!)  His patch has been merged upstream as of parted
1.6.22.  Although Debian Sarge will ship with parted 1.6.21, it includes
the hfs patch from Guillaume for 1.6.19. Doesn't apply cleanly, but no
one has complained. :-)  The documentation in Debian yet doesn't reflect
that, however, which made #298020 spring into life. [2]

I put the things first that affect upstream. I've packported the
changes to parted.texi WRT hfs(+) support from 1.6.22 and added a short
section about hfs, based upon libparted/fs_hfs/DOC from Guillaume.
Incremental patches (1.hfsdoc-backport 2.hfsdoc) are attached. Note they
apply cleanly against version 1.6.21, that is cvs revision 1.3 of
parted.texi.  Patching revision 1.12 with hfsdoc.diff (skipping the
backport) seems to work, too, with some offsets. 

Before committing the latter changes, I'd appreciate your opinion, your
suggestions and your help. For example: Guillaume, you wrote that 
2.4. kernels are quite buggy as it comes to hfs resizing. Which
versions did you test? For now I've put that "as of fall 2004"...
And can someone confirm that parted _cannot_ create hfs(+) formatted
volumes? Guillaume?

I'm also working on an html (texi2html) version of the parted manual.
What do you think about that? (Andrew?) What about an autoconf
AC_ARG_WITH switch controlling that? 

Together with some Debian-specific fixes, it would be really nice to
have this in Sarge. Unfortunately, there is not much time left to get it
in place for Sarge. I apologize for being late. In fact I had targetted
this weekend for an upload to unstable. :-) I'm not sure if this is
still realistic. Err, what did I say? Of course that's no problem and
everything will be in time. :-) 
So, please review these patches, they're actually not big, and drop me a
note, the sooner the better. 

Now for the Debian peculiarities. At present, the hfs patch modifies
both configure.in and configure. It also patches Makefile.{am,in} in
libparted/fs_hfs. Since we build-depend on autoconf and automake-1.8 --
a rather strong requirement, btw -- and do "autoreconf -f -i" before
building anyway, any timestamp glitches caused by the dpatches are
immediately corrected. But it breaks the debian/rules unpatch target
after the packages have been built. 
Now we could try without autoreconfing that way and split the patches
into one "pure" part and one diff for the autogenerated files. But this
gets hard to handle if there are _several_ patches fiddling with the
same generated file. And while this isn't the case at the moment, I'm
preparing such an additional patch right now. :-)
So I suggest to cut down the patch to those files that aren't
regenerated anyway. The same goes for the doc-package.dpatch (patches
parted.{texi,info}). This turns configure & co into mere garbage; I
think there should be a README.Debian.building noting that.  Better
ideas are welcome, of course. 

So much for the moment. Have a nice day!

Regards,
Nikolaus


[1] http://bugs.debian.org/298020
[2] Bug #275650 has been filed against parted before for the same
    reason, and a patch was provided and applied. This patch was, however,
    neither complete nor correct. 

--Qxx1br4bt0+wmkIi
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="hfsdoc-backport.diff"

diff -Naur parted-1.6.21.orig/doc/parted.texi parted-1.6.21/doc/parted.texi
--- parted-1.6.21.orig/doc/parted.texi	2005-01-15 23:04:59.000000000 +0100
+++ parted-1.6.21/doc/parted.texi	2005-05-04 23:02:26.443499744 +0200
@@ -996,7 +996,9 @@
 the old @var{start}.
 
 @item fat16, fat32
-
+@item hfs, hfs+ - restriction: the new @var{start} must be the same as
+the old @var{start} and the new @var{end} must be smaller than the old
+@var{end}. Journalled hfs+ and hfsx is not yet supported.
 @item linux-swap
 @item reiserfs (if libreiserfs is installed)
 @end itemize
@@ -2118,11 +2120,11 @@
 @item ext3 @tab	* @tab @tab *1 @tab *2 @tab *3
 @item fat16 @tab * @tab * @tab *4 @tab *4 @tab *
 @item fat32 @tab * @tab * @tab * @tab * @tab *
-@item hfs @tab * @tab @tab @tab @tab
+@item hfs / hfs+ @tab * @tab @tab *1,5 @tab @tab
 @item jfs @tab * @tab @tab @tab @tab
 @item linux-swap @tab * @tab * @tab * @tab * @tab *
 @item ntfs @tab * @tab @tab @tab @tab
-@item reiserfs @tab * @tab *5 @tab *1,5 @tab *5 @tab *3,5
+@item reiserfs @tab * @tab *6 @tab *1,6 @tab *6 @tab *3,6
 @item ufs @tab * @tab @tab @tab @tab
 @item xfs @tab * @tab @tab @tab @tab
 @end multitable
@@ -2131,7 +2133,8 @@
 @c notes associated to entries in the above matrix.  That's bad.
 
 @noindent NOTES:
-(1) The start of the partition must stay fixed for ext2, ext3 and reiserfs.
+(1) The start of the partition must stay fixed for ext2, ext3, reiserfs, hfs and
+hfs+.
 
 (2) The partition you copy to must be bigger (or exactly the same size)
 as the partition you copy from.
@@ -2154,9 +2157,10 @@
 Summary: you can always shrink your partition.  If you can't use FAT32
 for some reason, you may not be able to grow your partition.
 
-(5) Reiserfs support is enabled if you install libreiserfs, available at
-@uref{http://reiserfs.osdn.org.ua}.  (It is likely to be availabe soon from
-www.namesys.com... tell us if/when this happens!)
+(5) Parted can only shrink hfs and hfs+ file systems.
+
+(6) Reiserfs support is enabled if you install libreiserfs, which is available
+at @uref{http://www.namesys.com/pub/libreiserfs}.
 
 @node Ext2
 @section GNU Parted and the Second Extended Filesystem

--Qxx1br4bt0+wmkIi
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="hfsdoc.diff"

diff -Naur parted-1.6.21/doc/parted.texi parted-1.6.21.patched/doc/parted.texi
--- parted-1.6.21.orig/doc/parted.texi	2005-05-05 01:34:19.152157000 +0200
+++ parted-1.6.21/doc/parted.texi	2005-05-05 11:19:09.765094184 +0200
@@ -760,7 +760,8 @@
 @item ext2
 @item fat32
 @item fat16
-@item HFS
+@item hfs
+(both hfs and hfs+)
 @item linux-swap
 @item NTFS
 @item reiserfs
@@ -2100,6 +2101,7 @@
 * Supported File Systems::      File systems operations supported by GNU Parted
 * Ext2::                        Linux's ext2 file system under Parted
 * FAT16 and FAT32::             Microsoft FAT file systems and Parted
+* HFS and HFS+::                MacOS HFS(+) file system and Parted
 * Reiserfs::                    H. Reiser's Journalling file system and Parted
 
 @end menu
@@ -2157,7 +2159,8 @@
 Summary: you can always shrink your partition.  If you can't use FAT32
 for some reason, you may not be able to grow your partition.
 
-(5) Parted can only shrink hfs and hfs+ file systems.
+(5) Parted can only shrink hfs and hfs+ file systems.  Journalled hfs+ is not
+yet supported.

 (6) Reiserfs support is enabled if you install libreiserfs, which is available
 at @uref{http://www.namesys.com/pub/libreiserfs}.
@@ -2301,6 +2304,19 @@
 drive back to the compressed drive.
 @end enumerate
 
+@node HFS and HFS+
+@section MacOS HFS and HFS+ 
+@cindex hfs(+) support
+@cindex MacOS hfs(+) filesystem support
+
+@strong{Warning:} At least as of fall 2004, both HFS and HFS+ implementations
+of Linux 2.4 are buggy.  Parted tries to workaround some of these bugs, but
+things can still break. Try Linux 2.6 if you want to play with HFS(+) resizing
+(though some bugs might also be there in 2.6, there is of course no warranty).
+
+Copying, moving and checking HFS(+) partitions is not supported.  Parted can
+shrink an HFS(+) volume, but cannot grow it, and the partition start must remain
+fixed.  Resizing journalled hfs+ and hfsx is not yet supported.
 
 @node Reiserfs
 @section Reiserfs Journalling File System
@@ -2310,7 +2326,7 @@
 this at runtime, and automatically enables support.  You can download
 libreiserfs from:
 
-	@uref{http://reiserfs.linux.kiev.ua}
+	@uref{http://www.namesys.com/pub/libreiserfs}
 
 Note that libreiserfs is new software, and hasn't been tested widely
 yet.

--Qxx1br4bt0+wmkIi--