.include_test_false.c:
@touch $@
+if HAVE_PERL
+%.pod: %.pod.pl
+ $(PERL) $< >$@
+
+endif
+if HAVE_POD2MAN
+%.1: %.pod
+ $(POD2MAN) --section=1 $< >$@
+
+%.7: %.pod
+ $(POD2MAN) --section=7 $< >$@
+
+%.8: %.pod
+ $(POD2MAN) --section=8 $< >$@
+
+endif
"clean"=>[qw(
.include_test_false.c
.include_test_all.stamp
+ *.pod.pl *.pod *.[0-9]
./ChangeLog.bak
./doc/*-pod.*
./doc/apiref/gtk-doc.make
--enable-sandbox-setuid=@PACKAGE@ \
--enable-sandbox-setgid=@PACKAGE@ \
--enable-sandbox-chroot=%{_var}/lib/@PACKAGE@ \
+ --enable-man-pages \
--enable-sbin-mountdir=/sbin \
--enable-sbin-mount-fs=ntfs:fastfat:cdfs:ext2fsd \
--disable-gtk-doc
%defattr(-,root,root)
%doc README NEWS AUTHORS TODO
%{_libdir}/lib@PACKAGE@-@VERSION@.so
+%attr(644,root,root) %{_mandir}/man?/@PACKAGE@.*
%{_libdir}/gnome-vfs-2.0/modules/lib@PACKAGE@-gnomevfs-@VERSION@.so
%{_libdir}/gnome-vfs-2.0/modules/lib@PACKAGE@-gnomevfs.so
%{_bindir}/@PACKAGE@-cmdline
+%attr(644,root,root) %{_mandir}/man?/@PACKAGE@-cmdline.*
%attr(4755,root,root) %{_sbindir}/@PACKAGE@-sandbox-server
+%attr(644,root,root) %{_mandir}/man?/@PACKAGE@-sandbox-server.*
%config %{_sysconfdir}/gnome-vfs-2.0/modules/@PACKAGE@.conf
%{_datadir}/locale/*/LC_MESSAGES/@PACKAGE@.mo
%attr(755,root,root) %{_var}/lib/@PACKAGE@
%defattr(-,root,root)
%{_libdir}/liblufs-@PACKAGE@fs-@VERSION@.so
%{_libdir}/liblufs-@PACKAGE@fs.so
+%attr(644,root,root) %{_mandir}/man?/lufs-@PACKAGE@fs.*
/sbin/mount.@PACKAGE@
/sbin/mount.@PACKAGE@-*
+%attr(644,root,root) %{_mandir}/man?/mount.@PACKAGE@.*
%post install
%{_sbindir}/captive-install-fstab --add
%defattr(-,root,root)
%config %{_sysconfdir}/w32-mod-id.captivemodid.xml
%{_sbindir}/captive-install-fstab
+%attr(644,root,root) %{_mandir}/man?/captive-install-fstab.*
%{_sbindir}/captive-install-acquire
+%attr(644,root,root) %{_mandir}/man?/captive-install-acquire.*
# %files devel
# %defattr(-,root,root)
AM_CONDITIONAL(MAINTAINER_MODE,[test "$USE_MAINTAINER_MODE" = "yes"])
+AC_ARG_ENABLE(man-pages,
+ [ --enable-man-pages=no/yes/auto pod2man(1) required for man pages (def.=yes)],,enable_man_pages=yes)
AC_ARG_ENABLE(sbin-mountdir,
[ --enable-sbin-mountdir=DIR mount(8) 'mount.captive' directory (def.=/sbin)],,
[ enable_sbin_mountdir="/sbin" ])
[root-owned directory for captive-sandbox-server])
AC_SUBST(CAPTIVE_SANDBOX_CHROOT)
-
dnl Permit 'if NEVER' for Makefile.am-s; symbol 'FALSE' forbidden by automake
AM_CONDITIONAL(NEVER,false)
fi
AM_CONDITIONAL(HAVE_PERL,test -n "$PERL")
+POD2MAN=
+AC_PATH_PROGS(POD2MAN,pod2man)
+AM_CONDITIONAL(HAVE_POD2MAN,[ test -n "$POD2MAN" ])
+if test x$enable_man_pages = xyes;then
+ if test -z "$POD2MAN";then
+ AC_MSG_ERROR([captive requires pod2man(1) for man pages; try --disable-man-pages.])
+ fi
+ if test -z "$PERL";then
+ AC_MSG_ERROR([captive requires perl(1) for man pages; try --disable-man-pages.])
+ fi
+elif test x$enable_man_pages != xno;then
+ if test -z "$POD2MAN";then
+ AC_MSG_WARN([captive requires pod2man(1) for man pages by --enable-man-pages; mans will not be installed.])
+ fi
+ if test -z "$PERL";then
+ AC_MSG_WARN([captive requires perl(1) for man pages by --enable-man-pages; mans will not be installed.])
+ fi
+fi
+AM_CONDITIONAL(ENABLE_MAN_PAGES,[ test x$enable_man_pages != xno -a -n "$POD2MAN" -a -n "$PERL" ])
+
dnl Separate 'acconfig.h' is no longer recommended by autoconf
AH_TOP([
#ifndef _CAPTIVE_CONFIG_H
else
if test x$enable_bug_replay = xyes;then
AC_MSG_ERROR([captive require libxml2 at least 2.5.9 for --enable-bug-replay feature.])
- elif test x$enable_bug_replay != no;then
+ elif test x$enable_bug_replay != xno;then
AC_MSG_WARN([libxml2 at least 2.5.9 required --enable-bug-replay feature; disabled now.])
fi
fi
dnl FIXME: Why the rule above was written here?
AC_OUTPUT([
captive.spec
-./src/client/gnomevfs/captive.conf
+./src/libcaptive/captive.pod.pl
+./src/libcaptive/client/options.pod.pl
+./src/client/cmdline/captive-cmdline.pod.pl
+./src/client/lufs/lufs-captivefs.pod.pl
+./src/client/lufs/mount.captive.pod.pl
./src/client/lufs/mount.captive
+./src/client/sandbox-server/captive-sandbox-server.pod.pl
+./src/install/fstab/captive-install-fstab.pod.pl
+./src/install/acquire/captive-install-acquire.pod.pl
+./src/client/gnomevfs/captive.conf
./po/Makefile.in
./macros/glade-w.sh
Makefile
/etc/w32-mod-id.captivemodid.xml
/usr/sbin/captive-install-fstab
+/usr/man/man?/captive-install-fstab.*
/usr/sbin/captive-install-acquire
+/usr/man/man?/captive-install-acquire.*
/usr/lib/liblufs-captivefs*.so
+/usr/man/man?/lufs-captivefs.*
/sbin/mount.captive
/sbin/mount.captive-*
+/usr/man/man?/mount.captive.*
-/etc/gnome-vfs-2.0/modules/captive.conf
-/usr/bin/captive-cmdline
-/usr/lib/gnome-vfs-2.0/modules/libcaptive-gnomevfs*.so
/usr/lib/libcaptive*.so
+/usr/man/man?/captive.*
+/usr/lib/gnome-vfs-2.0/modules/libcaptive-gnomevfs*.so
+/usr/bin/captive-cmdline
+/usr/man/man?/captive-cmdline.*
/usr/sbin/captive-sandbox-server
+/usr/man/man?/captive-sandbox-server.*
+/etc/gnome-vfs-2.0/modules/captive.conf
/usr/share/locale/*/LC_MESSAGES/captive.mo
/var/lib/captive/*.sys
--enable-sandbox-setuid=captive \
--enable-sandbox-setgid=captive \
--enable-sandbox-chroot=/var/lib/captive \
+ --enable-man-pages \
--enable-sbin-mountdir=/sbin \
--enable-sbin-mount-fs=ntfs:fastfat:cdfs:ext2fsd \
--disable-gtk-doc
captive_cmdline_LDADD =$(captive_library) $(GNOME_VFS_LIBS) $(READLINE_LIBS) $(INTLLIBS)
captive_cmdline_LDFLAGS=$(READLINE_LDFLAGS)
bin_PROGRAMS+=captive-cmdline
+
+EXTRA_DIST+=captive-cmdline.pod.pl.in
+CLEANFILES+=captive-cmdline.pod captive-cmdline.1
+if ENABLE_MAN_PAGES
+captive_cmdline_man_cond=captive-cmdline.1
+endif
+man_MANS=$(captive_cmdline_man_cond)
--- /dev/null
+#! /usr/bin/perl
+#
+# $Id$
+# perlpod(1) source for captive-cmdline(1) man page
+# Copyright (C) 2003 Jan Kratochvil <project-captive@jankratochvil.net>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; exactly version 2 of June 1991 is required
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+
+use vars qw($VERSION);
+$VERSION=do { my @r=(q$Revision$=~/\d+/g); sprintf "%d.".("%03d"x$#r),@r; };
+use strict;
+use warnings;
+
+
+my $sbindir='@sbindir@';
+$sbindir=~s#\$\Q{exec_prefix}\E#'@exec_prefix@';#ge;
+$sbindir=~s#\$\Q{prefix}\E#'@prefix@';#ge;
+$sbindir="/usr/sbin" if $sbindir=~/^@/;
+
+print <<'POD_EOF';
+=head1 NAME
+
+@PACKAGE@-cmdline - Command-line client for B<@PACKAGE@>(7) NTFS disk access
+
+
+=head1 SYNOPSIS
+
+=for man
+\fB@PACKAGE@-cmdline\fP \fB--load-module\fP=\fB/tmp/ntoskrnl.exe\fP
+.br
+ \fB--filesystem\fP=\fB/tmp/ntfs.sys\fP
+.br
+POD_EOF
+print "\t\t".'[\fB--sandbox-server\fP=\fB'.$sbindir.'/@PACKAGE@-sandbox-server\fP]'."\n";
+print <<'POD_EOF';
+ [\fB--bug-pathname\fP=\fB/tmp/captive-bug-%FT%T.captivebug.xml.gz\fP]
+ [\fB--disk\fP|\fB--cdrom\fP] [\fB--ro\fP|\fB--blind\fP|\fB--rw\fP] {\fBimage-file\fP|\fBdevice\fP}
+
+
+=head1 DESCRIPTION
+
+Simple B<ftp>(1)-like client to access disks by Microsoft Windows drivers.
+Use if B<lufs-@PACKAGE@fs>(7) not available; also useful during debugging.
+
+
+POD_EOF
+require "../../libcaptive/client/options.pod.pl";
+print <<'POD_EOF';
+=head1 SEE ALSO
+
+B<@PACKAGE@>(7), B<lufs-@PACKAGE@fs>(7)
+
+
+=head1 AUTHOR
+
+Jan Kratochvil <B<project-@PACKAGE@@jankratochvil.net>>,
+ I<http://www.jankratochvil.net/>
+POD_EOF
+1;
endif
endif
enable_sbin_mount_SCRIPTS=$(sbin_mount_captive_cond)
+
+EXTRA_DIST+=lufs-captivefs.pod.pl.in
+CLEANFILES+=lufs-captivefs.pod lufs-captivefs.1
+EXTRA_DIST+=mount.captive.pod.pl.in
+CLEANFILES+=mount.captive.pod mount.captive.1
+if ENABLE_MAN_PAGES
+if ENABLE_LUFS
+lufs_captivefs_man_cond=lufs-captivefs.7
+if ENABLE_SBIN_MOUNT
+mount_captive_man_cond=mount.captive.8
+endif
+endif
+endif
+man_MANS=$(lufs_captivefs_man_cond) $(mount_captive_man_cond)
--- /dev/null
+#! /usr/bin/perl
+#
+# $Id$
+# perlpod(1) source for lufs-captivefs(7) man page
+# Copyright (C) 2003 Jan Kratochvil <project-captive@jankratochvil.net>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; exactly version 2 of June 1991 is required
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+
+use vars qw($VERSION);
+$VERSION=do { my @r=(q$Revision$=~/\d+/g); sprintf "%d.".("%03d"x$#r),@r; };
+use strict;
+use warnings;
+
+
+print <<'POD_EOF';
+=head1 NAME
+
+lufs-@PACKAGE@fs - Linux User File System module for NTFS as filesystem
+
+
+=head1 DESCRIPTION
+
+B<lufs-@PACKAGE@fs>(7) module for Linux User File System (LUFS) enables
+B<GNU/Linux> system to access NTFS drives by Microsoft Windows drivers in
+the most common way of kernel-level filesystem implementation.
+
+{B<-c CHAN>|B<--channels>=B<CHAN>} option of B<lufsmount>(1) is respected
+although the final filesystem operations are always processed in single-channel
+mode. Do not set B<CHAN> to B<1> as it would invoke errors by LUFS kernel
+driver.
+
+
+POD_EOF
+require "../../libcaptive/client/options.pod.pl";
+print <<'POD_EOF';
+=head1 SEE ALSO
+
+B<mount.@PACKAGE@>(8), B<lufsmount>(1), B<@PACKAGE@>(7)
+
+
+=head1 AUTHOR
+
+Jan Kratochvil <B<project-@PACKAGE@@jankratochvil.net>>,
+ I<http://www.jankratochvil.net/>
+POD_EOF
+1;
--- /dev/null
+#! /usr/bin/perl
+#
+# $Id$
+# perlpod(1) source for captive(7) man page
+# Copyright (C) 2003 Jan Kratochvil <project-captive@jankratochvil.net>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; exactly version 2 of June 1991 is required
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+
+use vars qw($VERSION);
+$VERSION=do { my @r=(q$Revision$=~/\d+/g); sprintf "%d.".("%03d"x$#r),@r; };
+use strict;
+use warnings;
+
+
+print <<'POD_EOF';
+=head1 NAME
+
+mount.@PACKAGE@ - B<mount>(8) interface for NTFS disk access
+
+
+=head1 SYNOPSIS
+
+B<mount.ntfs> {B<image-file>|B<device>} B<mountdir>
+[B<-n>] [B<-v>] [B<-o> B<options>]
+
+B<mount> B<-t> B<@PACKAGE@-ntfs>
+[B<-n>] [B<-v>] [B<-o> B<options>]
+{B<image-file>|B<device>} B<dir>
+
+
+=head1 DESCRIPTION
+
+B<mount.@PACKAGE@>(8) provides B<mount>(8) interface to B<lufs-@PACKAGE@fs>(7)
+by calling B<lufsmount>(1) with appropriate arguments. You should never call
+this command directly - use B<mount>(8) instead.
+
+B<mount.@PACKAGE@>(8) (B<@PACKAGE@> filesystem type) is never used - this command
+is provided just as a base mount(8) interface to B<@PACKAGE@>(7). You must always
+use @PACKAGE@-B<fstype> filesystem type such as B<@PACKAGE@-ntfs>. Other supported
+filesystem types are:
+POD_EOF
+print join ", ",map("B<$_>",(split /:/,'@enable_sbin_mount_fs@'));
+print <<'POD_EOF';
+
+
+=head1 OPTIONS
+
+=over
+
+=item {B<image-file>|B<device>}
+
+Pathname such as B</dev/hda1> or B</tmp/ntfs.bin>. You should refer to the
+partition name, not the whole device (B</dev/hda> is forbidden).
+B</dev/hda1> may correspond to B</dev/ide/host0/bus0/target0/lun0/part1>
+on your system.
+
+
+=item B<mountdir>
+
+Existing empty target directory where {B<image-file>|B<device>} will be
+mounted.
+
+
+=item B<-n>
+
+Do not modify B</etc/mtab>. This option is currently not supported (ignored),
+B</etc/mtab> is modified notwithstanding.
+
+
+=item B<-v>
+
+Enable verbose mode. Command B<lufsmount>(1) being called is shown.
+
+
+=item B<-o> B<options>
+
+Custom options passed to B<@PACKAGE@>(7). See its manpage for details. Options
+double-dashes (B<-->) can be omitted for B<lufs-@PACKAGE@fs>(7) or
+B<mount.captive>(8).
+
+
+=back
+
+
+=head1 SEE ALSO
+
+B<lufs-@PACKAGE@fs>(7), B<lufsmount>(1)
+
+
+=head1 AUTHOR
+
+Jan Kratochvil <B<project-@PACKAGE@@jankratochvil.net>>,
+ I<http://www.jankratochvil.net/>
+POD_EOF
+1;
install-data-hook:
$(mkinstalldirs) $(DESTDIR)$(CAPTIVE_SANDBOX_CHROOT)
+EXTRA_DIST+=captive-sandbox-server.pod.pl.in
+CLEANFILES+=captive-sandbox-server.pod captive-sandbox-server.1
+if ENABLE_MAN_PAGES
+captive_sandbox_server_man_cond=captive-sandbox-server.1
+endif
+man_MANS=$(captive_sandbox_server_man_cond)
--- /dev/null
+#! /usr/bin/perl
+#
+# $Id$
+# perlpod(1) source for captive-cmdline(1) man page
+# Copyright (C) 2003 Jan Kratochvil <project-captive@jankratochvil.net>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; exactly version 2 of June 1991 is required
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+
+use vars qw($VERSION);
+$VERSION=do { my @r=(q$Revision$=~/\d+/g); sprintf "%d.".("%03d"x$#r),@r; };
+use strict;
+use warnings;
+
+
+print <<'POD_EOF';
+=head1 NAME
+
+@PACKAGE@-sandbox-server - Security+safety wrapper for NTFS disk access
+
+
+=head1 SYNOPSIS
+
+B<@PACKAGE@-sandbox-server>
+
+
+=head1 DESCRIPTION
+
+Program implementing separation of emulated I<Microsoft Windows NT> kernel
+environment from the rest of I<UNIX> system. Your system gets protected by
+B<chroot>(2), B<setuid>(2), B<setgid>(2) and B<setrlimit>(2) UNIX security
+features against malicious Microsoft Windows drivers.
+
+Use this program as argument of B<--sandbox-server> option of B<@PACKAGE@>(7).
+Do not use this option/program during B<@PACKAGE@>(7) debugging.
+
+
+=head1 OPTIONS
+
+No options are permitted for this command - it will display its I<CORBA/ORBit>
+connection properties on its standard output.
+
+
+=head1 SEE ALSO
+
+B<@PACKAGE@>(7), B<@PACKAGE@-cmdline>(1), B<lufs-@PACKAGE@fs>(7)
+
+
+=head1 AUTHOR
+
+Jan Kratochvil <B<project-@PACKAGE@@jankratochvil.net>>,
+ I<http://www.jankratochvil.net/>
+POD_EOF
+1;
captive_install_acquire_cond=captive-install-acquire
endif
sbin_PROGRAMS+=$(captive_install_acquire_cond)
+
+EXTRA_DIST+=captive-install-acquire.pod.pl.in
+CLEANFILES+=captive-install-acquire.pod captive-install-acquire.1
+if ENABLE_MAN_PAGES
+if ENABLE_INSTALL_PKG
+captive_install_acquire_man_cond=captive-install-acquire.1
+endif
+endif
+man_MANS=$(captive_install_acquire_man_cond)
--- /dev/null
+#! /usr/bin/perl
+#
+# $Id$
+# perlpod(1) source for captive-install-acquire(1) man page
+# Copyright (C) 2003 Jan Kratochvil <project-captive@jankratochvil.net>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; exactly version 2 of June 1991 is required
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+
+use vars qw($VERSION);
+$VERSION=do { my @r=(q$Revision$=~/\d+/g); sprintf "%d.".("%03d"x$#r),@r; };
+use strict;
+use warnings;
+
+
+my $vardir='@localstatedir@/lib/@PACKAGE@';
+$vardir=~s#\$\Q{prefix}\E#'@prefix@';#ge;
+$vardir="/var/lib/@PACKAGE@" if $vardir=~/^@/;
+my $sysconfdir='@sysconfdir@';
+$sysconfdir=~s#\$\Q{prefix}\E#'@prefix@';#ge;
+$sysconfdir="/etc" if $sysconfdir=~/^@/;
+
+print <<'POD_EOF';
+=head1 NAME
+
+@PACKAGE@-install-acquire - Find MS Windows XP driver files for B<NTFS>
+
+
+=head1 SYNOPSIS
+
+=for man
+\fB@PACKAGE@-install-acquire\fP [\fB--text]
+[\fB-v\fP|\fB--verbose\fP] [\fB-n\fP|\fB--dry\fP]
+.br
+ [\fB--modid-path\fP=\fBpath\fP] [\fB--scan-disks\fP] [\fB--scan-disks-quick\fP]
+.br
+ [\fB--scan-path\fP=\fBpath/URI\fP] [\fB--microsoft-com\fP]
+
+
+=head1 DESCRIPTION
+
+Program acquires the needed I<Microsoft Windows XP> driver files. Multiple
+methods of getting the driver files are supported. All the driver files are
+stored to the directory
+POD_EOF
+print "B<$vardir/>\n";
+print <<'POD_EOF';
+where they are
+expected by B<mount.@PACKAGE@>(8).
+
+
+=head1 OPTIONS
+
+Program will run interactively if no action options (B<--scan-disks>,
+B<--scan-disks-quick>, B<--scan-path> or B<--microsoft-com>) are specified.
+Otherwise the requested action(s) is proceeded in silent batch mode.
+
+=over
+
+=item B<--text>
+
+Disable I<Gnome> user interface even if I<X Window System> is available.
+You must specify this option as the first one. This option has effect only for
+interactive mode (no action options specified).
+
+
+=item B<-v>|B<--verbose>
+
+Display additional information during disks scanning.
+
+
+=item B<-n>|B<--dry>
+
+Perform all the operations but do not modify anything (no drivers are
+stored to
+POD_EOF
+print "B<$vardir/>\n";
+print <<'POD_EOF';
+directory).
+
+
+=item B<--modid-path>=B<path>
+
+Path to B<.captivemodid.xml> database (default:
+POD_EOF
+print "B<$sysconfdir/w32-mod-id.captivemodid.xml>";
+print <<'POD_EOF';
+). This file contains
+identifications (B<md5sum>(1)) of known compatible I<Microsoft Windows XP>
+driver files. B<@PACKAGE@-install-acquire>(1) will ignore any files not
+identified by this file although you may try to copy them to
+POD_EOF
+print "B<$vardir/>\n";
+print <<'POD_EOF';
+manually for B<@PACKAGE@>(7) clients.
+
+
+=item B<--scan-disks>
+
+Scan all files on any local hard drive (mounted or unmounted) B<NTFS> or
+(mounted) B<FAT> partitions. This scanning includes I<cabinet> (B<.cab>)
+archives. This scanning can last for very long time.
+
+
+=item B<--scan-disks-quick>
+
+Reduced version of B<--scan-disks>. Only B<windows/system32> subdirectory in
+the root of any local hard drive (mounted or unmounted) B<NTFS> or (mounted)
+B<FAT> partition is investigated. This scan should find existing driver files
+in already existing I<Microsoft Windows XP> installations.
+
+
+=item B<--scan-path>=B<path/URI>
+
+Scan the specified B<path/URI> for device driver files. You may use either
+filename (B</tmp/ntoskrnl.ex_>), directory (B</tmp/servicepack.cab>), B<NTFS>
+disk file/directory (B<file:///dev/hda1#libntfs:/windows/system32>) or remote
+I<URI> filename (B<http://server/path/to/ntfs.sys>). Remote I<URI> directory
+(such as B<http://server/subdir/>) is not supported.
+
+Possibly specified directory is always scanned recursively.
+
+
+=item B<--microsoft-com>
+
+You can download the best available version of needed drivers from
+I<Microsoft>. They can be found in I<Microsoft Windows XP Service Pack 1
+Checked Build> (URL
+B<http://www.microsoft.com/WindowsXP/pro/downloads/servicepacks/sp1/checkedbuild.asp>)
+
+Legal: In some countries you need to have valid I<Microsoft Windows XP> license
+to use it.
+
+Program will need to download approx 29MB of data (the cabinet file is 151MB;
+1MB=1e6B here).
+
+
+=back
+
+
+=head1 SEE ALSO
+
+B<@PACKAGE@-install-fstab>(1), B<@PACKAGE@>(7), B<lufs-@PACKAGE@fs>(7)
+
+
+=head1 AUTHOR
+
+Jan Kratochvil <B<project-@PACKAGE@@jankratochvil.net>>,
+ I<http://www.jankratochvil.net/>
+POD_EOF
+1;
captive_install_fstab_cond=captive-install-fstab
endif
sbin_PROGRAMS+=$(captive_install_fstab_cond)
+
+EXTRA_DIST+=captive-install-fstab.pod.pl.in
+CLEANFILES+=captive-install-fstab.pod captive-install-fstab.1
+if ENABLE_MAN_PAGES
+if ENABLE_INSTALL_PKG
+captive_install_fstab_man_cond=captive-install-fstab.1
+endif
+endif
+man_MANS=$(captive_install_fstab_man_cond)
--- /dev/null
+#! /usr/bin/perl
+#
+# $Id$
+# perlpod(1) source for captive-install-fstab(1) man page
+# Copyright (C) 2003 Jan Kratochvil <project-captive@jankratochvil.net>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; exactly version 2 of June 1991 is required
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+
+use vars qw($VERSION);
+$VERSION=do { my @r=(q$Revision$=~/\d+/g); sprintf "%d.".("%03d"x$#r),@r; };
+use strict;
+use warnings;
+
+
+print <<'POD_EOF';
+=head1 NAME
+
+@PACKAGE@-install-fstab - Manage B<@PACKAGE@-ntfs> B</etc/fstab> entries
+
+
+=head1 SYNOPSIS
+
+=for man
+\fB@PACKAGE@-install-fstab\fP [\fB-v\fP|\fB--verbose\fP] [\fB-n\fP|\fB--dry\fP]
+{\fB--add\fP|\fB--remove\fP}
+
+
+=head1 DESCRIPTION
+
+Program will scan your local disk drive partitions (from B</proc/partitions>)
+and it will add/remove appropriate file-system type B<captive-ntfs> entries
+in B</etc/fstab>.
+
+Destination directory is chosen automatically as B</mnt/@PACKAGE@->LABEL_NAME
+where B<LABEL_NAME> is the label used for the B<NTFS> partition. Directory
+B</mnt/@PACKAGE@-> may be used if no volume label is set. Different (numbered)
+directory name is used if multiple disks have the same volume label set.
+
+
+=head1 OPTIONS
+
+=over
+
+=item B<-v>|B<--verbose>
+
+Display additional information during disks scanning.
+
+
+=item B<-n>|B<--dry>
+
+Perform all the operations but do not modify anything (file B</etc/fstab>).
+You will probably use this option together with [B<-v>|B<--verbose>].
+
+
+=item B<--add>
+
+Add all the found B<NTFS> disk drive partitions to B</etc/fstab>.
+Any previous B<captive-ntfs> entries will be deleted as described in
+B<--remove> option.
+
+
+=item B<--remove>
+
+Remove all lines of filesystem type B<@PACKAGE@-ntfs> and device name in
+B</dev> directory.
+
+
+=back
+
+
+=head1 SEE ALSO
+
+B<@PACKAGE@-install-acquire>(1), B<@PACKAGE@>(7), B<lufs-@PACKAGE@fs>(7)
+
+
+=head1 AUTHOR
+
+Jan Kratochvil <B<project-@PACKAGE@@jankratochvil.net>>,
+ I<http://www.jankratochvil.net/>
+POD_EOF
+1;
client/libclient.la
libcaptive_la_LDFLAGS=-release $(VERSION)
libcaptive_la_SOURCES=
+
+EXTRA_DIST+=captive.pod.pl.in
+CLEANFILES+=captive.pod captive.7
+if ENABLE_MAN_PAGES
+captive_man_cond=captive.7
+endif
+man_MANS=$(captive_man_cond)
--- /dev/null
+#! /usr/bin/perl
+#
+# $Id$
+# perlpod(1) source for captive(7) man page
+# Copyright (C) 2003 Jan Kratochvil <project-captive@jankratochvil.net>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; exactly version 2 of June 1991 is required
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+
+use vars qw($VERSION);
+$VERSION=do { my @r=(q$Revision$=~/\d+/g); sprintf "%d.".("%03d"x$#r),@r; };
+use strict;
+use warnings;
+
+
+print <<'POD_EOF';
+=head1 NAME
+
+@PACKAGE@ - Microsoft Windows NT kernel emulation for NTFS disk access
+
+
+=head1 DESCRIPTION
+
+B<@PACKAGE@>(7) library allows applications running under the B<GNU/Linux>
+operating system to access B<NTFS> drives. File system driver compatibility
+with B<VFAT>, B<ISO9660> and B<EXT2> is also provided.
+
+
+POD_EOF
+require "./client/options.pod.pl";
+print <<'POD_EOF';
+=head1 AUTHOR
+
+Jan Kratochvil <B<project-@PACKAGE@@jankratochvil.net>>,
+ I<http://www.jankratochvil.net/>
+POD_EOF
+1;
# FIXME: Prevent: libtool: link: `libclient_la-parent-connector.lo' is not a valid libtool object
# dependency: libclient_la-parent-connector.lo: marshallers.h
+
+EXTRA_DIST +=options.pod.pl.in
+noinst_DATA+=options.pod.pl
--- /dev/null
+#! /usr/bin/perl
+#
+# $Id$
+# perlpod(1) source for captive(7) options part of man page
+# Copyright (C) 2003 Jan Kratochvil <project-captive@jankratochvil.net>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; exactly version 2 of June 1991 is required
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+
+use vars qw($VERSION);
+$VERSION=do { my @r=(q$Revision$=~/\d+/g); sprintf "%d.".("%03d"x$#r),@r; };
+use strict;
+use warnings;
+
+
+my $vardir='@localstatedir@/lib/@PACKAGE@';
+$vardir=~s#\$\Q{prefix}\E#'@prefix@';#ge;
+$vardir="/var/lib/@PACKAGE@" if $vardir=~/^@/;
+my $sbindir='@sbindir@';
+$sbindir=~s#\$\Q{exec_prefix}\E#'@exec_prefix@';#ge;
+$sbindir=~s#\$\Q{prefix}\E#'@prefix@';#ge;
+$sbindir="/usr/sbin" if $sbindir=~/^@/;
+
+print <<'POD_EOF';
+=head1 OPTIONS
+
+All programs using B<@PACKAGE@>(7) library share the common set of configuration
+options:
+
+=over
+
+=item B<--filesystem>=B<pathname>
+
+Pathname to B<.sys> or B<.so> filesystem module file. You will use exactly
+once this option. Possible choices are
+POD_EOF
+print "B<$vardir/ntfs.sys>\n";
+print <<'POD_EOF';
+etc.
+
+
+=item B<--load-module>=B<pathname>
+
+Pathname to any W32 module to load w/o initialization. Multiple modules can be
+loaded although in common case you will use just
+POD_EOF
+print "B<$vardir/ntoskrnl.exe>\n";
+print <<'POD_EOF';
+here.
+
+
+=item B<--ro>
+
+Read/write mode: Any write access will be forbidden. You should set this mode
+for B<cdfs.sys> (I<CD-ROM> filesystem). This option is mutually exclusive with
+B<--blind> and B<--rw>.
+
+
+=item B<--blind>
+
+Read/write mode: All writes are just simulated in memory (default). Microsoft
+Windows filesystem driver will see no difference between B<--blind> and B<--rw>
+although the UNIX image file/device will be open read/only as for B<--ro>.
+All the changes get 'written' as long as B<captive>(7) program runs - all the
+changes will be lost afterwards. This mode is the most suitable for debugging.
+This option is mutually exclusive with B<--ro> and B<--rw>.
+
+
+=item B<--rw>
+
+Read/write mode: Write directly to the image file/device. Standard read/write
+disk mode. You should use B<--sandbox-server> option in this case to have the
+disk protected against Microsoft Windows filesystem driver crashes. Modified
+disk image blocks are in B<--sandbox-server> B<--rw> mode buffered in the
+memory and they get reflected to the disk only after successful completion
+of all filesystem operations including filesystem unmount.
+This option is mutually exclusive with B<--ro> and B<--blind>.
+
+
+=item B<--cdrom>
+
+Media type: CD-ROM. You must set this media type for B<cdfs.sys>.
+Virtual Microsoft Windows block device driver used by Captive maps to
+B<\Device\CdRom0>. This option is mutually exclusive with B<--disk>.
+
+
+=item B<--disk>
+
+Media type: Disk (default). You must set this media type for all the Microsoft
+Windows filesystem drivers except B<cdfs.sys>. Virtual Microsoft Windows block
+device driver used by Captive maps to B<\Device\CaptiveHarddisk0>.
+This option is mutually exclusive with B<--cdrom>.
+
+
+=item B<--debug-messages>
+
+Turn on debugging messages. Be prepared for substation debug output.
+Use of B<--syslog> feature is not recommended in this case.
+
+
+=item B<--sandbox-server>=B<pathname>
+
+Pathname to
+POD_EOF
+print "B<$sbindir/captive-sandbox-server>\n";
+print <<'POD_EOF';
+program, turns on sandboxing.
+You should always use this option in conjunction with B<--rw>, see it for
+details. Although this program is I<setuid root> and it drops it privileges
+to B<@CAPTIVE_SANDBOX_SETUID@> user. Your system gets protected by
+B<chroot>(2), B<setuid>(2), B<setgid>(2) and B<setrlimit>(2) UNIX security
+features against malicious Microsoft Windows drivers. You should never use this
+option during debugging.
+
+
+=item B<--sandbox-server-ior>=B<IOR>
+
+Specify I<CORBA IOR> of
+POD_EOF
+print "B<$sbindir/captive-sandbox-server>\n";
+print <<'POD_EOF';
+program, turns on
+sandboxing. Specified I<CORBA IOR> should be the string starting by "B<IOR:>"
+text. This option is useful only for debugging. No sandbox restarting is
+possible in this case.
+
+
+=item B<--no-sandbox>
+
+Turn off sandboxing feature (default). No
+POD_EOF
+print "B<$sbindir/captive-sandbox-server>\n";
+print <<'POD_EOF';
+is run. Microsoft Windows filesystem driver is run in native UNIX environment
+without any I<CORBA> separation. This option is recommended only for debugging.
+It is dangerous to use B<--rw> together, see its description for the details.
+
+
+=item B<--bug-pathname>=B<pathname>
+
+Pathname to B<strftime>(3) for B<.captivebug.xml.gz> bugreports. Every crash of
+sandbox child gets bugreported to the specified file. You should attempt to
+minimize the number of operations from the mount operation till the expected
+crash to minimize the snapshot file size. B<--sandbox-server> option is
+required for B<--bug-pathname>.
+
+B<!!! Be aware '.captivebug.xml.gz' will contain data from your disk drive !!!>
+
+
+=item B<--syslog>
+
+Messages sent to B<syslog>(3) instead of I<stderr>. This option gets handy
+for B<mount>(8) operation as the messages would be lost otherway.
+Watch our for possible "B<Filesystem crash broke dirty object>" messages where
+some written filesystem data got lost in the case of Microsoft Windows
+filesystem driver crash.
+
+
+=item B<--syslog-facility>=B<facility>
+
+B<openlog>(3) facility for B<--syslog>. See B<facility> section of
+B<openlog>(3) man page for details. Lowercased values such as B<daemon> or
+B<user> are supported.
+
+
+=back
+
+
+POD_EOF
+1;