DragonFly users List (threaded) for 2009-01
Re: fdisk implementation [read this before deciding what to do]
On Fri, Jan 09, 2009 at 04:12:45AM +0100, Simon 'corecode' Schubert wrote:
> Vincent Stemen wrote:
>> If you like what you see and want to include the tools, Chet said he
>> will look into adding disklabel64 support. Also, I will go ahead and
>> work on the planned command line changes I mentioned first so that I can
>> write an initial manual.
> I think it is important that whatever tool we use, it should have some sort
> of interactive mode (like fdisk and disklabel have). This can be
> implemented in shell/editor, however.
Yes, in the traditional layered Unix approach, this tool was
specifically designed to be easier to automate and to write interactive
front ends than the existing tools. It would probably be easy enough to
add a simple interactive mode to the tool itself, but I hesitate to do
that because, as you mentioned, I can do the same thing with a shell
script, making it easy to tune the interactive behavior and to have
multiple different interfaces that are as simple or as sophisticated as
If it ends up being accepted into DF, I could probably try to make the
time to go ahead and write an initial interactive front end in Perl or
shell script for you.
Also, I mentioned having a separate partitioning library in my original
post, so that UIs could be written in C and link directly with the
library. However, we have decided against distributing it that way for
maintainability of the UIs. A library can easily be made out of the
functions but I would not recommend it. If the UIs call on the command
line tool, then you have a single point of maintenance and they do not
have to be updated and recompiled if there is a change to the actual
partitioning code. Unless, of course, the command line changes in an
incompatible way. Which is why I planned to finalize the command line
interface as much as possible prior to an official release.
Also, these tools work on other BSD's (FreeBSD and NetBSD so far) which
have variations in the partitioning API. The idea is for the UIs to
work across the board without change.