X-Git-Url: http://git.jankratochvil.net/?a=blobdiff_plain;f=project%2Fcaptive%2FIndex.html.pl;h=48b5c6b94596141ccd3d6e6d5462293cf192e35a;hb=5f6f5d9eb38a223fe8b6ccab959aaf7f434d9c30;hp=71673977d99c27d9aca85adf788fbdf4b8ce7851;hpb=b4ddfba5b53a40e47285f8851e1ff7bb5419909b;p=www.jankratochvil.net.git diff --git a/project/captive/Index.html.pl b/project/captive/Index.html.pl index 7167397..48b5c6b 100755 --- a/project/captive/Index.html.pl +++ b/project/captive/Index.html.pl @@ -31,23 +31,8 @@ Wuse 'My::Project'; Wuse 'project::captive::ListItem'; -# Redirect foreign visitors to our root with that disgusting introduction ad. -{ - my $r=Apache->request(); - if (my $referer=$r->header_in("Referer")) { - Wuse 'WebConfig'; - require URI; - my $refuri=URI->new_abs($referer,$r->uri()); - if (1 - && $refuri->host() ne "localhost" - && $refuri->host() ne &{$WebConfig::WebConfig{"web_hostname_sub"}}) { - use Apache::Constants qw(REDIRECT); - $r->status(REDIRECT); - $r->header_out("Location"=>"http://".&{$WebConfig::WebConfig{"web_hostname_sub"}}()); - exit 0; - } - } - } +my $lang=""; +# do { $lang="de" if $_ && /^de/i; } for ($ENV{"HTTP_ACCEPT_LANGUAGE"}); my $W=My::Project->init_project( @@ -60,213 +45,209 @@ my $W=My::Project->init_project( .re { font-style: italic; } table.mailman > * /* FIXME: What is it? */ > tr > th, table.mailman > * /* FIXME: What is it? */ > tr > td { padding: 1ex; text-align: center; } +table.download td { padding: 8px; } +table.navigate td { padding-bottom: 1ex; padding-left: 15px; padding-right: 15px; } ", + "project_text_after_title"=>"" + .($lang ne "de" ? "" : "

Captive:" + ." Das erste kostenlose Programm um auf ein NTFS Dateisystem unter GNU/Linux zu lesen und zu schreiben

") + .'
' + .'' + .'' + .'' + .'' + .'' + .'' + .'' + .'' + .'' + .'
', + ($lang eq "" ? () : ("force_charset"=>"utf-8")), ); -print <<"HERE"; -

The First Read/Write NTFS for Free Operating Systems

-

The First Open Source MS-Windows Kernel API for Free OS

+print <<"HERE" if !$WebConfig::WebConfig{"no_job"}; +@{[ vskip "3ex" ]} + +
+ + +
+ Looking for a challenging job: @{[ a_href $W->{"resume_url"},"My resume" ]} +
+
HERE -my @stuff=( - "A lot of people claim to be Windows Programmers.\n" - ." Now, I can join them at last - I have also written my own Microsoft Windows.", - "Why do they need ".a_href('http://www.winsupersite.com/reviews/winserver2k3_gold2.asp','5,000 developers') - ." to write Microsoft Windows when it can be just a One Man Show?", +my %version=( + map(($_=>["1.1.5","0"]),qw(captive captive-lufs captive-install)), + "lufs"=>["0.9.7","1captive8"], + ); +print <<"HERE"; +

Download

+

Choose the one preferred installation format:

- "My first Microsoft Windows program ever written? Some 'helloworld'?" - ." hal.dll.", - ); +
+ + + + + + + + + + + + + +
+HERE + if ($lang eq "") { + print "RPM i386 binary
tested for distributions:"; + } + if ($lang eq "de") { + print "RPM i386 Binärcode
getestet für den Betrieb unter:"; + } +print <<"HERE"; +
    +
  • Red Hat 9 Shrike
  • +
  • Red Hat 8 Psyche
  • +
  • SuSE 9.0
  • +
  • SuSE 9.1
  • +
  • Mandrake 9.1 Bamboo
  • +
+
@{[ a_href 'dist/captive-static-'.$version{"captive"}[0].'-'.$version{"captive"}[1].'.i386.rpm', + undef(),"size"=>1,"basename"=>1 ]}
+HERE + if ($lang eq "") { + print ".tar.gz i386 binary
(for non-RPM distributions)"; + } + if ($lang eq "de") { + print ".tar.gz i386 Binärcode
(für Linux Versionen ohne RPM z.B. Knoppix)"; + } +print <<"HERE"; +
@{[ a_href 'dist/captive-static-'.$version{"captive"}[0].'.tar.gz',undef(),"size"=>1,"basename"=>1 ]}
Source archives@{[ a_href 'CVS.html.pl#source','download link' ]}
+
-print rightimg((map("

$_

\n",($stuff[int rand @stuff])))[0], - 'captive-install-acquire-small','[ Captive Microsoft Windows Drivers Acquire Illustration ]', - "a_href_img"=>'captive-install-acquire'); +

Development Status

-print <<"HERE"; +

Project is no longer developed. The key functionality is reached +by the latest released version. All its resources are available +@{[ a_href 'CVS.html.pl#source','here' ]} for download.

+

Known Issue

-@{[ vskip "3ex" ]} +

Captive was written to interface with the Linux kernel via +@{[ a_href 'http://lufs.sourceforge.net/lufs/','LUFS' ]}. +Unfortunately, this project is no longer being maintained by its author. +Mounting of NTFS devices usually works, but is no longer supported by the +author of Captive. Always unmount the device by umount(8) command before shutting +down your GNU/Linux system.

-

- Why did I install Microsoft Windows and write such a disgusting piece of code?
- Expecting @{[ a_href $W->{"resume_url"},"yet another challenging task" ]}! -

+

A port of Captive to the newer +@{[ a_href 'http://fuse.sourceforge.net/','FUSE' ]} +interface has not yet been implemented. +There is an experimental LUFS-FUSE bridge called +@{[ a_href 'http://sourceforge.net/project/showfiles.php?group_id=121684','lufis' ]} +that can be used in the meanwhile. +Also, the captive-cmdline(1) interface will get around any kernel compatibility +problems.

@{[ vskip "3ex" ]} +

NEWS

- - - - -HERE -my %pkg=( - 1=>[qw(captive captive-lufs captive-install lufs gnome-vfs-httpcaptive ntfsprogs ntfsprogs-gnomevfs)], - 2=>[qw(captive captive-lufs lufs)], - 3=>[qw(captive)], - ); -my %reqpkg=( - 1 =>[qw(glib2 gnome-vfs2 ORBit2 libxml2 openssl popt readline libgnomeui)], - 23=>[qw(glib2 gnome-vfs2 ORBit2 libxml2 openssl popt readline)], - ); -my %version=( - map(($_=>["1.0","0"]),qw(captive captive-lufs captive-install)), - "lufs"=>["0.9.6","1captive6"], - "gnome-vfs-httpcaptive"=>["2.3.8captive2","0"], - "ntfsprogs"=>["200309071734","1captive1"], - "ntfsprogs-gnomevfs"=>["1.0.2","0"], - ); -my %has_rh8=(map(($_=>1),qw( - gnome-vfs-httpcaptive - captive - captive-lufs - captive-install - ))); -my %has_mdk91=(map(($_=>1),qw( - gnome-vfs-httpcaptive - lufs - captive - captive-lufs - captive-install - ))); -my %has_devel=(map(($_=>1),qw( - ntfsprogs - ))); -my %pkg_nosrc=(map(($_=>1),qw( - captive-lufs - captive-install - ))); - -my $case; -my $a_href_arch=sub ($$%) -{ -my($file_base,$text,%args)=@_; - - $text=~s/[._]\D.*$// if $case!=1 && $text!~/^[.]/; - return a_href $file_base,$text,"size"=>($case==1),%args; -}; - -my @libxml2_rh8_pkgs=qw(libxml2-2.5.4-1.i386.rpm libxml2-python-2.5.4-1.i386.rpm libxml2-devel-2.5.4-1.i386.rpm); - -my @dist=( - { - "name"=>"Red Hat 9
Shrike i386", - "out"=>sub { - my($pkg,$version_base,$version_ext)=@_; - my $file="$pkg-$version_base-$version_ext.i386.rpm"; - my $r=&$a_href_arch("dist/$file",$file); - (my $filedev=$file)=~s/^\Q$pkg\E-/${pkg}-devel-/; - $r.="
".&$a_href_arch("dist/$filedev",$filedev) if $has_devel{$pkg}; - return $r; - }, - }, - { - "name"=>"Red Hat 8
Psyche i386
" - ."(".a_href("#libxml2_rh8","libxml2 upgrade note").")", - "out"=>sub { - my($pkg,$version_base,$version_ext)=@_; - my $file="$pkg-$version_base-$version_ext".(!$has_rh8{$pkg} ? "" : "rh8").".i386.rpm"; - my $r=&$a_href_arch("dist/$file",$file); - (my $filedev=$file)=~s/^\Q$pkg\E-/${pkg}-devel-/; - $r.="
".&$a_href_arch("dist/$filedev",$filedev) if $has_devel{$pkg}; - if ($pkg eq "captive-install") { - for (@libxml2_rh8_pkgs) { - $r.="
".&$a_href_arch('ftp://ftp.redhat.com/pub/redhat/linux/9/en/os/i386/RedHat/RPMS/'.$_,$_)." of Red Hat 9"; - } - } - return $r; - }, - }, - { - "name"=>"Mandrake 9.1
Bamboo i586", - "out"=>sub { - my($pkg,$version_base,$version_ext)=@_; - my $file="$pkg-$version_base-$version_ext".(!$has_mdk91{$pkg} ? ".i386.rpm" : "mdk91.i586.rpm"); - my $r=&$a_href_arch("dist/$file",$file); - (my $filedev=$file)=~s/^\Q$pkg\E-/${pkg}-devel-/; - $r.="
".&$a_href_arch("dist/$filedev",$filedev) if $has_devel{$pkg}; - return $r; - }, - }, - { - "name"=>"Debian GNU/Linux
'unstable' i386", - "out"=>sub { - my($pkg,$version_base,$version_ext)=@_; - $version_ext=~s/^\d+//; - my $file="${pkg}_$version_base".($version_ext=~/^\d+$/ ? "" : $version_ext)."_i386.deb"; - my $r=&$a_href_arch("dist/$file",$file); - (my $filedev=$file)=~s/^\Q$pkg\E_/${pkg}-dev_/; - $r.="
".&$a_href_arch("dist/$filedev",$filedev) if $has_devel{$pkg}; - return $r; - }, - }, - { - "name"=>"Sources (.tar.gz)", - "out"=>sub { - my($pkg,$version_base,$version_ext)=@_; - return () if $pkg_nosrc{$pkg}; - $version_ext=~s/^\d+//; - my $file="$pkg-$version_base".($version_ext=~/^\d+$/ ? "" : $version_ext).".tar.gz"; - return $file,$file; - }, - }, - { - "name"=>"Sources (.src.rpm)
(Red Hat 9 - Shrike)", - "out"=>sub { - my($pkg,$version_base,$version_ext)=@_; - return () if $pkg_nosrc{$pkg}; - my $file="$pkg-$version_base-$version_ext.src.rpm"; - return $file,$file; - }, - }, - ); +
+
captive-1.1.5 (2004-01-18) [@{[ a_href $W->{"project_viewcvs"}.'/*checkout*/captive/NEWS?rev=HEAD','archive' ]}]
+
+ +
+
lufs-0.9.7captive8 (2003-12-06) [@{[ a_href $W->{"project_viewcvs"}.'/*checkout*/lufs/NEWS.captive?rev=1.1.2.11','archive' ]}]
+
-for my $dist (@dist) { - print ""; - print ""; - for my $casel (1,2,3) { - $case=$casel; - print ""; - } - print "\n"; - } -print "\n"; -print ""; - print ""; - for my $case (1,23) { - print ""; - print join(", ",map("$_",@{$reqpkg{$case}})); - print ""; - } -print "\n"; -print <<"HERE"; -
DistributionInstallation Case #1
Filesystem and installer
(recommended)
Installation Case #2
Manual installation
(filesystem, expert user)
Installation Case #3
Command-line client
(no filesystem access)
".$dist->{"name"}.""; - print join("
",map({ my $pkg=$_; - my($file,$text)=&{$dist->{"out"}}($pkg,@{$version{$pkg}}); - (!defined $text ? ($file) || () : (&$a_href_arch("dist/$file",$text))); - } @{$pkg{$case}})); - print "
Package Requirements
+@{[ vskip "3ex" ]} -
-

Red Hat 8 Psyche upgrade of libxml2 package: - Upgrade only the packages already installed on your system to prevent - many dependency requirements - do not use "rpm -U", - use "rpm -F" instead:

-

- rpm -F @{[ join(" ",@libxml2_rh8_pkgs) ]} -

-
+

Captive NTFS Testimonials

-@{[ vskip "3ex" ]} + + +

@{[ a_href 'Press.html.pl','Internet Press' ]}

+@{[ vskip "3ex" ]} -

Installation Notes

+

+HERE + if ($lang eq "") { + print "Installation Notes"; + } + if ($lang eq "de") { + print "Installationsanleitung"; + } +print <<"HERE"; +

+HERE + if ($lang eq "") { + print <<"EOF";

You should first run captive-install-acquire command to check your available Microsoft Windows drivers versions. Now you can execute:

+EOF + } + if ($lang eq "de") { + print <<"EOF"; +

Sie sollten als erstes den Befehl captive-install-acquire +ausführen um ihre Windows Treiber Version zu überprüfen. Nun können sie folgenden Befehl ausführen:

+EOF + } +print <<"HERE";

@@ -276,39 +257,28 @@ available Microsoft Windows drivers versions. Now you can execute:

+HERE + if ($lang eq "") { + print <<"EOF";

Overview

-

'captive' is the base package. It contains debugging 'captive-cmdline' client.
-'captive-lufs' permits mounting NTFS as regular filesystem. It needs 'lufs'.
-'lufs' is a daemon to enable userland process to provide filesystem functions.

-

Any errors from 'captive-lufs' are written to '/var/log/messages'.

-

Needed drivers (at least ntoskrnl.exe+ntfs.sys) must be in '/var/lib/captive'.

-

'captive' package creates 'captive' user and 'captive' group on your system.

- - -

Package Version Conflicts

- -
- -
@{[ a_href 'http://lufs.sourceforge.net/lufs/','lufs' ]}
-

'captive' version required: Although you may already have the -original package installed you must replace it by the local 'captive'-marked -version containing some 'captive'-essential fixes and extensions.

- -
@{[ a_href 'http://linux-ntfs.sourceforge.net/','ntfsprogs' ]}
-

Original version >=200309071734 sufficient: -The package which is downloadable from here, has no code patches - you can freely use the -original version instead. Unfortunately, the last public release is -1.7.1 while this project requires at least -@{[ a_href 'http://linux-ntfs.sourceforge.net/snapshots/','snapshot' ]} version -@{[ a_href 'http://linux-ntfs.sourceforge.net/snapshots/ntfsprogs-200309071734.tar.bz2','200309071734' ]} -which is not packaged (.rpm/.deb) yet. Packaged versions are provided here for -your convenience.

- -
+EOF + } + if ($lang eq "de") { + print <<"EOF"; +

Übersicht

+ +

Jegliche Fehler des 'captive-lufs' werden im Ordner '/var/log/messages' aufgelistet.

+

Die Dateien ntoskrnl.exe und ntfs.sys müssen in den '/var/lib/captive'-Ordner kopiert werden. +(Empfehlendswert über ein Wechseldatenträger [CD-ROM, Diskette].)

+

Das 'captive' Packet erstellt einen 'captive' Benutzer und eine 'captive' Gruppe auf Ihrem System.

+

Übersetzung von Botond Beres.

+EOF + } +print <<"HERE";

LUFS Kernel Driver Module

@@ -361,14 +331,14 @@ print <<"HERE";
- @{[ map("",@lists) ]} + @{[ map('',@lists) ]} - @{[ map({ ""; } @lists) ]} - @{[ map({ ""; } @lists) ]} + @{[ map({ ""; } @lists) ]} + @{[ map({ ""; } @lists) ]}@{[ map(('
$_
'.$_.'@jankratochvil.net
New version announcements
(low traffic, recommended)
User support,
bug reports
Development
".a_href(&{$W->{"mailman_url_sub"}}()."/listinfo/$_",'Mailman Infopage')."
".a_href(&{$W->{"pipermail_url_sub"}}()."/$_",'Archive')."
".a_href(&{$W->{"mailman_url_sub"}}()."listinfo/$_",'Mailman Infopage')."
".a_href(&{$W->{"pipermail_url_sub"}}()."$_",'Archive')."
See Also +

See Also

    -
  • @{[ a_href 'Preview.html.pl','Technology Preview' ]}
  • -
  • @{[ a_href 'CVS.html.pl','CVS Repository' ]}
  • +
  • @{[ a_href 'Preview.html.pl','Technology Preview' ]}
  • +
  • @{[ a_href 'CVS.html.pl','Download Sources, CVS Repository' ]}
  • @{[ a_href 'doc/','Developer Documentation' ]}; highlights:
    • @{[ a_href 'doc/About.html.pl#versions','Microsoft Windows Versions Compatibility' ]}
    • @{[ a_href 'doc/Architecture.html.pl#law','Laws and Licensing Conditions' ]}
    • @@ -403,7 +373,7 @@ print <<"HERE";
    • @{[ a_href 'doc/Related.html.pl#vmware','Related Projects - VMware Workstation' ]}
    • @{[ a_href 'doc/LinuxNTFS.html.pl',"Re: 7.7 Can't we write a wrapper for Windows' driver?" ]}
  • -
  • @{[ a_href 'http://cvs.jankratochvil.net/viewcvs/*checkout*/captive/TODO?rev=HEAD','Known Bugs' ]}
  • +
  • @{[ a_href $W->{"project_viewcvs"}.'/*checkout*/captive/TODO?rev=HEAD','Known Bugs' ]}
  • Man Pages
      @{[ do {