'captive-install-acquire-small','[ Captive Microsoft Windows Drivers Acquire Illustration ]',
"a_href_img"=>'captive-install-acquire');
-print <<"HERE";
-
+print <<"HERE" if !$WebConfig::WebConfig{"no_job"};
@{[ vskip "3ex" ]}
-<p class="stuff">
- Why did I install Microsoft Windows and write such a disgusting piece of code?<br />
- Expecting @{[ a_href $W->{"resume_url"},"yet another challenging task" ]}!
-</p>
+<table border="0" width="100%"><tr><td align="center">
+ <table border="0" style="margin: 4ex; padding: 2ex; background: #552222;">
+ <tr><td style="font-size: larger;">
+ Why did I install Microsoft Windows and write such a disgusting piece of code?<br />
+ Expecting @{[ a_href $W->{"resume_url"},"yet another challenging task" ]}!
+ </td></tr>
+ </table>
+</table>
+HERE
+
+print <<"HERE";
@{[ vskip "3ex" ]}
+<h2>NEWS</h2>
+
+<dl>
+ <dt>captive-1.0.2 (2003-11-06) [@{[ a_href $W->{"project_viewcvs"}.'/*checkout*/captive/NEWS?rev=HEAD','archive' ]}]</dt>
+ <dd>
+ <ul>
+ <li>Fixed sandbox chroot(2) compatibility bug</li>
+ <li>Fixed serious sandbox-server spawn memory leak for big files copying to NTFS</li>
+ <li>Improved performance - 1GHz CPU: read 1.5MB/s, write 500KB/s, 20MB of RAM</li>
+ <li>Various GNU/Linux distributions compatibility fixes</li>
+ </ul>
+ </dd>
+</dl>
+
+
+@{[ vskip "1ex" ]}
+
+
<table border="1" align="center" style="text-align: center;" width="100%"><tr><th>Distribution</th>
<th>Installation Case #1<br />Filesystem and installer<br />(recommended)</th>
<th>Installation Case #2<br />Manual installation<br />(filesystem, expert user)</th>
23=>[qw(glib2 gnome-vfs2 ORBit2 libxml2 openssl popt readline)],
);
my %version=(
- map(($_=>["1.0","0"]),qw(captive captive-lufs captive-install)),
+ map(($_=>["1.0.2","0"]),qw(captive captive-lufs captive-install)),
"lufs"=>["0.9.6","1captive6"],
"gnome-vfs-httpcaptive"=>["2.3.8captive2","0"],
"ntfsprogs"=>["200309071734","1captive1"],
captive-lufs
captive-install
)));
+my %has_mdk92=(map(($_=>1),qw(
+ captive
+ captive-lufs
+ captive-install
+ )));
my %has_devel=(map(($_=>1),qw(
ntfsprogs
)));
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 $ntfsprogs_after=sub ($) {
+ my($format)=@_;
+ return () if $case!=1;
+ return '<hr width="80%" />requirement: '
+ .a_href('http://linux-ntfs.sourceforge.net/downloads.html#downloads','ntfsprogs')
+ .' '.$format.' ≥ 1.8.0';
+ };
+
my @dist=(
{
"name"=>"Red Hat 9<br />Shrike i386",
"out"=>sub {
my($pkg,$version_base,$version_ext)=@_;
+ return () if $pkg eq "ntfsprogs";
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.="<br />".&$a_href_arch("dist/$filedev",$filedev) if $has_devel{$pkg};
return $r;
},
+ "after"=>sub { return &{$ntfsprogs_after}(".i386.rpm"); },
},
{
"name"=>"Red Hat 8<br />Psyche i386<br />"
."(".a_href("#libxml2_rh8","libxml2 upgrade note").")",
"out"=>sub {
my($pkg,$version_base,$version_ext)=@_;
+ return () if $pkg eq "ntfsprogs";
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-/;
}
return $r;
},
+ "after"=>sub { return &{$ntfsprogs_after}(".i386.rpm"); },
+ },
+ {
+ "name"=>"Mandrake 9.2<br />TBA i586",
+ "out"=>sub {
+ my($pkg,$version_base,$version_ext)=@_;
+ return () if $pkg eq "ntfsprogs";
+ my $file="$pkg-$version_base-$version_ext"
+ .($has_mdk92{$pkg} ? "mdk92.i586.rpm" : ($has_mdk91{$pkg} ? "mdk91.i586.rpm" : ".i386.rpm"));
+ my $r=&$a_href_arch("dist/$file",$file);
+ (my $filedev=$file)=~s/^\Q$pkg\E-/${pkg}-devel-/;
+ $r.="<br />".&$a_href_arch("dist/$filedev",$filedev) if $has_devel{$pkg};
+ return $r;
+ },
+ "after"=>sub { return &{$ntfsprogs_after}(".i386.rpm"); },
},
{
"name"=>"Mandrake 9.1<br />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");
+ return () if $pkg eq "ntfsprogs";
+ my $file="$pkg-$version_base-$version_ext".($has_mdk91{$pkg} ? "mdk91.i586.rpm" : ".i386.rpm");
my $r=&$a_href_arch("dist/$file",$file);
(my $filedev=$file)=~s/^\Q$pkg\E-/${pkg}-devel-/;
$r.="<br />".&$a_href_arch("dist/$filedev",$filedev) if $has_devel{$pkg};
return $r;
},
+ "after"=>sub { return &{$ntfsprogs_after}(".i386.rpm"); },
},
{
"name"=>"Debian GNU/Linux<br />'unstable' i386",
my $file="$pkg-$version_base".($version_ext=~/^\d+$/ ? "" : $version_ext).".tar.gz";
return $file,$file;
},
+ "after"=>sub { return &{$ntfsprogs_after}(".tar.gz"); },
},
{
"name"=>"Sources (.src.rpm)<br />(Red Hat 9 - Shrike)",
"out"=>sub {
my($pkg,$version_base,$version_ext)=@_;
+ return () if $pkg eq "ntfsprogs";
return () if $pkg_nosrc{$pkg};
my $file="$pkg-$version_base-$version_ext.src.rpm";
return $file,$file;
},
+ "after"=>sub { return &{$ntfsprogs_after}(".i386.rpm (incl. -devel)"); },
},
);
for my $dist (@dist) {
+ if ($dist->{"name"} eq "Debian GNU/Linux<br />'unstable' i386") {
+ print "<tr>";
+ print "<td>SUSE-9.0</td>";
+ print '<td colspan="3" style="padding: 4ex;">';
+ print "Expected these days; ".a_href('#lists','subscribe <b>captive-announce-list</b> below.');
+ print join(", ",map("<span class=\"reqpkg\">$_</span>",@{$reqpkg{$case}}));
+ print '</td>';
+ print "</tr>\n";
+ }
print "<tr>";
print "<td>".$dist->{"name"}."</td>";
for my $casel (1,2,3) {
print join("<br />",map({ my $pkg=$_;
my($file,$text)=&{$dist->{"out"}}($pkg,@{$version{$pkg}});
(!defined $text ? ($file) || () : (&$a_href_arch("dist/$file",$text)));
- } @{$pkg{$case}}));
+ } @{$pkg{$case}}),map({ (!$_ ? () : (&{$_}())); } $dist->{"after"}));
print "</td>";
}
print "</tr>\n";
print "<td>Package Requirements</td>";
for my $case (1,23) {
print "<td".($case==23 ? ' colspan="2"' : '').">";
- print join(", ",map("<span class=\"reqpkg\">$_</span>",@{$reqpkg{$case}}));
+ print join(", ",map("<span class=\"reqpkg\">$_</span>",@{$reqpkg{$case}}));
print "</td>";
}
print "</tr>\n";
original package installed you must replace it by the local 'captive'-marked
version containing some 'captive'-essential fixes and extensions.</p></dd>
-<dt>@{[ a_href 'http://linux-ntfs.sourceforge.net/','ntfsprogs' ]}</dt>
-<dd><p><b>Original version >=200309071734 sufficient</b>:
-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
-<b>1.7.1</b> while this project requires at least
-@{[ a_href 'http://linux-ntfs.sourceforge.net/snapshots/','snapshot' ]} version
-<b>@{[ a_href 'http://linux-ntfs.sourceforge.net/snapshots/ntfsprogs-200309071734.tar.bz2','200309071734' ]}</b>
-which is not packaged (.rpm/.deb) yet. Packaged versions are provided here for
-your convenience.</p></dd>
-
</dl>
<form action="@{[ top_dir("/Mailman.pl") ]}" method="post">
<table border="1" class="mailman" style="border-collapse: collapse; border-style: solid; border-width: 1px;">
- <tr>@{[ map("<th>$_</th>",@lists) ]}</tr>
+ <tr>@{[ map('<th>'.$_.'@jankratochvil.net</th>',@lists) ]}</tr>
<tr><td>New version announcements<br />
(low traffic, recommended)</td>
<td>User support,<br />bug reports</td>
<li>@{[ a_href 'doc/Related.html.pl#vmware','Related Projects - VMware Workstation' ]}</li>
<li>@{[ a_href 'doc/LinuxNTFS.html.pl',"Re: 7.7 Can't we write a wrapper for Windows' driver?" ]}</li>
</ul></li>
- <li>@{[ a_href 'http://cvs.jankratochvil.net/viewcvs/*checkout*/captive/TODO?rev=HEAD','Known Bugs' ]}</li>
+ <li>@{[ a_href $W->{"project_viewcvs"}.'/*checkout*/captive/TODO?rev=HEAD','Known Bugs' ]}</li>
<li>Man Pages<ul>
@{[
do {