fig2dev -L ppm -S4 -b10 $< $@
%.gif: %.ppm
- ppmtogif -quiet -sort $< >$@
+ ppmquant -quiet 256 $< | ppmtogif -quiet -sort >$@
-%.ppm: %.gif
- giftopnm $< >$@
+# Prevent: make: Circular %.ppm <- %.gif dependency dropped.
+#%.ppm: %.gif
+# giftopnm $< >$@
%.png: %.ppm
pnmtopng $< >$@
},
"viewcvs"=>"http://cvs.jankratochvil.net/viewcvs/www/www.jankratochvil.net/",
"title_prefix"=>"Jan Kratochvil",
+ "project_viewcvs"=>"http://cvs.jankratochvil.net/viewcvs/",
+ "pserver"=>':pserver:pserver:@cvs.jankratochvil.net',
+ "pserver_path"=>"/cvs",
);
1;
--- /dev/null
+#! /usr/bin/perl
+#
+# $Id$
+# URL redirector of &My::Web::a_href Perl template.
+# Copyright (C) 2003 Jan Kratochvil <project-www.jankratochvil.net@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
+
+
+package project::ChangeLog;
+require 5.6.0; # at least 'use warnings;' but we need some 5.6.0+ modules anyway
+use vars qw($VERSION $CVS_ID);
+$VERSION=do { my @r=(q$Revision$=~/\d+/g); sprintf "%d.".("%03d"x$#r),@r; };
+$CVS_ID=q$Id$;
+use strict;
+use warnings;
+
+BEGIN{ open F,"Makefile"; our $top_dir=pop @{[split /\s/,(grep /^top_srcdir/,<F>)[0]]}; eval "use lib '$top_dir'"; close F; }
+use My::Web;
+use Apache::Constants qw(MOVED);
+
+
+my $W=My::Web->init(
+ "header_only"=>1,
+ "args_check"=>{
+ "cvs"=>'^[^./][^.]*$',
+ },
+ );
+
+$W->{"r"}->send_http_header("text/plain");
+local *F;
+open F,""
+ ."cvs -n -q -d ".$W->{"pserver"}.":".$W->{"pserver_path"}." rlog ".$W->{"args"}{"cvs"}
+ ." |perl -p -e 's#^RCS file: ".$W->{"pserver_path"}.'/(.*?)(?:/Attic/|/)?([^/]*),v$#$&\nWorking file: $1/$2#;'."'"
+ ." |cvs2cl --stdin --stdout --window 3600 --separate-header --no-wrap --usermap cvs2cl-usermap"
+ ." |";
+print while <F>;
+close F;
use strict;
use warnings;
+use My::Web;
+
our @ListItem=(
"name"=>"Ford-Fulkenson Algorithm Demonstration",
"download"=>"FordFulk/FordFulk.zip",
"summary"=>"Web applet",
"license"=>"PD",
- "maintenance"=>"finished",
+ "maintenance"=>"ready",
"language"=>"Java 1.0.2",
"description"=>""
.'<p>Java applet to demonstrate the internals of Ford-Fulkenson network algorithm.</p>'
use strict;
use warnings;
+use My::Web;
+
our @ListItem=(
"name"=>"Heat Distribution Simulation",
"download"=>"Heat/Heat.zip",
"summary"=>"Web applet",
"license"=>"PD",
- "maintenance"=>"finished",
+ "maintenance"=>"ready",
"language"=>"Java 1.0.2",
"description"=>""
.'<p>Java applet to demonstrate distribution of heat in time.</p>'
return $_[0];
};
+$col{"maintenance"}{"format"}=sub {
+ return ($_[0]=~/^([^-]*)/)[0];
+ };
+
$col{"online-demo"}{"format"}=\&format_url;
$col{"download"}{"format"}=\&format_url;
$col{"name"}{""}="Project Name";
use strict;
use warnings;
+use My::Web;
+
our @ListItem=(
"name"=>'<a href="http://www.stv.cz/icp/">ICP 1998</a> Competition Software',
"download"=>"Islet/Islet.zip",
"summary"=>"Web game applet",
"license"=>"PD",
- "maintenance"=>"finished",
+ "maintenance"=>"ready",
"language"=>"Java 1.1",
"description"=>""
.'<p>Simple game. Written for the purpose of'
captive
EXTRA_DIST+= \
- Index.html.pl
+ Index.html.pl \
+ ChangeLog.txt.pl \
+ cvs2cl-usermap
use strict;
use warnings;
+use My::Web;
+
our @ListItem=(
"name"=>"Nokia Game "Rotation"",
"download"=>"Nokia61.c",
"summary"=>"Logical game solver",
"license"=>"PD",
- "maintenance"=>"finished",
+ "maintenance"=>"ready",
"language"=>"C, PHP",
"description"=>""
.'<p>At least Nokia 3210 offers game <b>Rotation</b>, this little software will'
use strict;
use warnings;
+use My::Web;
+
our @ListItem=(
"name"=>"Recovery of Data from a Damaged Disk",
"priority"=>7,
"download-compiled static binary"=>"badblock-guess",
"download-gzipped compiled static binary"=>"badblock-guess.gz",
- "link-CVS repository"=>"http://cvs.jankratochvil.net/viewcvs/badblock-guess/",
- "download-CVS snapshot"=>"http://cvs.jankratochvil.net/viewcvs/badblock-guess/badblock-guess.tar.gz?tarball=1",
- "link-README"=>"http://cvs.jankratochvil.net/viewcvs/*checkout*/badblock-guess/README?rev=HEAD",
+ "cvs"=>"badblock-guess",
+ "link-README"=>$W->{"project_viewcvs"}."*checkout*/badblock-guess/README?rev=HEAD",
"summary"=>"Data recovery",
"license"=>"GPL",
- "maintenance"=>"finished",
+ "maintenance"=>"ready",
"language"=>"C",
"description"=>""
.'<p>badblock-guess will try to find all readable sectors of the disk in minimal time.</p>'
." <span class=\"quote\">hal.dll</span>.",
);
-print "<p class=\"stuff\">$_</p>\n" for (@stuff);
+print "<p class=\"stuff\">$_</p>\n" for ($stuff[int rand($#stuff+1)]);
print vskip "3ex";
<p>If you cannot <b>mount</b>(8) your NTFS filesystem you should run <span
class="quote">/usr/share/lufs/prepmod</span> to see the reasons. It is always
-recommended to upgrade to latest stable kernel supplied by your GNU/Linux
-distribution vendor. In the case you are running kernel not supported by the
-precompiled set of binary modules you should install package
+recommended to upgrade to the latest stable kernel supplied by your GNU/Linux
+distribution vendor. You may need to install package
<b>kernel-source</b> (Red Hat) or <b>kernel-headers</b> (Debian) matching your
Linux kernel version (<b>rpm -q kernel</b>) and re-run <span
class="quote">/usr/share/lufs/prepmod</span>.</p>
use strict;
use warnings;
+use My::Web;
+
our @ListItem=(
"name"=>"Captive NTFS Filesystem",
"license"=>"GPL",
"maintenance"=>"active",
"language"=>"C, i386 asm, Perl",
+ "cvs-of main tree"=>"priv/captive",
+ "cvs-of branched ".a_href('http://www.reactos.com/','reactos')." subdir"=>"priv/reactos:captive",
"description"=>""
.'<p>The implementation allows applications running under the GNU/Linux operating'
.' system to access NTFS drives. File system driver compatibility with VFAT,'
use strict;
use warnings;
+use My::Web;
+
our @ListItem=(
"name"=>"C Sources Symbol Attributes Checker",
"priority"=>7,
- "download"=>"http://cvs.jankratochvil.net/viewcvs/*checkout*/nethome/home/lace/bin/checkstatic?rev=HEAD",
+ "download"=>$W->{"project_viewcvs"}."*checkout*/nethome/home/lace/bin/checkstatic?rev=HEAD",
"summary"=>"Development tool",
"license"=>"PD",
- "maintenance"=>"finished",
+ "maintenance"=>"ready",
"language"=>"Perl",
"description"=>""
.'<p>Gives additional warnings not provided by GNU C Compiler'
--- /dev/null
+short:Jan Kratochvil <project-captive@jankratochvil.net>
+lace:Jan Kratochvil <project-captive@jankratochvil.net>
use strict;
use warnings;
+use My::Web;
+
our @ListItem=(
"name"=>"CVS Branching Utility",
"priority"=>6,
- "download"=>"http://cvs.jankratochvil.net/viewcvs/*checkout*/nethome/home/lace/bin/cvsbranchdiff?rev=HEAD",
+ "download"=>$W->{"project_viewcvs"}."*checkout*/nethome/home/lace/bin/cvsbranchdiff?rev=HEAD",
"summary"=>"CVS addon",
"license"=>"PD",
- "maintenance"=>"finished",
+ "maintenance"=>"ready",
"language"=>"bash",
"description"=>""
.'<p>During patching of foreign CVS trees you have to regularly import them'
use strict;
use warnings;
+use My::Web;
+
our @ListItem=(
"name"=>"CVS General Utility",
"priority"=>7,
- "download"=>"http://cvs.jankratochvil.net/viewcvs/*checkout*/nethome/home/lace/bin/cvsutil?rev=HEAD",
+ "download"=>$W->{"project_viewcvs"}."*checkout*/nethome/home/lace/bin/cvsutil?rev=HEAD",
"summary"=>"CVS addon",
"license"=>"PD",
"maintenance"=>"merge",
use strict;
use warnings;
+use My::Web;
+
our @ListItem=(
"name"=>"<a href=\"http://d1x.warpcore.org/\">D1X</a> native TCP/IP support patch",
use strict;
use warnings;
+use My::Web;
+
our @ListItem=(
"name"=>"DOSWatcher - DOS File Access Snooper",
"download"=>"doswatch.zip",
"summary"=>"DOS files snooper",
"license"=>"PD",
- "maintenance"=>"finished",
+ "maintenance"=>"ready",
"language"=>"i386 asm",
"description"=>""
.'<p>Resident program which displays all the file (and other) DOS function'
use strict;
use warnings;
+use My::Web;
+
our @ListItem=(
"name"=>"Converter of HTML Files URLs to Relative",
"download"=>"fixhtml.pl",
"summary"=>"HTML converter",
"license"=>"PD",
- "maintenance"=>"finished",
+ "maintenance"=>"obsolete-".a_href('http://wget.sunsite.dk/','Wget')." option <b>--convert-links</b> does the same.",
"language"=>"Perl",
"description"=>""
.'<p>If you download/grab the whole (or its part) of some web site (for example'
.' probably want to browse it locally on your computer offline. Unfortunately'
.' the authors are usually using server-name protocol reference or absolute'
.' path referration which will broke on your local machine.</p>'
- .' <p>This software is derived from <b>WebCopy</b> and initially it was only'
- .' its extension. I separated it afterwards - you really do not want to do'
- .' the opposite, think twice before trying to integrate it back.</p>'
);
1;
use strict;
use warnings;
+use My::Web;
+
our @ListItem=(
"name"=>"IRCon - Infrared Remote Control",
"download-all scanned images"=>"ircon-img.tar",
"summary"=>"InfraRed control",
"license"=>"PD",
- "maintenance"=>"obsolete",
- "reason"=>"Linux kernel driver no longer maintained. Superseded by <a href=\"http://www.lirc.org/\">LIRC</a>",
+ "maintenance"=>"obsolete-Superseded by ".a_href('http://www.lirc.org/','LIRC'),
"language"=>"C, Java",
"description"=>""
.'<p>Software package for custom simple hardware connected to PC parallel port'
use strict;
use warnings;
+use My::Web;
+
our @ListItem=(
"name"=>"KIX - KaliNix Replacement",
"download"=>"kix.c",
"summary"=>"Network game server",
"license"=>"PD",
- "maintenance"=>"finished",
+ "maintenance"=>"ready",
"language"=>"C",
"description"=>""
.'<p>Server which can be used on GNU/Linux as a replacement of'
use strict;
use warnings;
+use My::Web;
+
our @ListItem=(
"name"=>"KernelWare, Linux Kernel Drivers in Userland",
"download"=>"kware.tar.gz",
"summary"=>"Drivers debugging",
"license"=>"PD",
- "maintenance"=>"obsolete",
- "reason"=>"<a href=\"http://user-mode-linux.sourceforge.net/\">The User-mode Linux Kernel</a>",
+ "maintenance"=>"obsolete-"
+ .a_href('http://user-mode-linux.sourceforge.net/','The User-mode Linux Kernel')." is much more useful now.",
"language"=>"C",
"description"=>""
.'<p>Do you also find debugging of Linux kernel drivers a nightmare? Would you'
use strict;
use warnings;
+use My::Web;
+
our @ListItem=(
"name"=>"Modem / Nokia 9110 GSM data gate",
"priority"=>7,
- "download"=>"http://cvs.jankratochvil.net/viewcvs/*checkout*/nethome/usr/local/sbin/line9k?rev=HEAD",
+ "download"=>$W->{"project_viewcvs"}."*checkout*/nethome/usr/local/sbin/line9k?rev=HEAD",
"summary"=>"pppd(8) script, charger scheme",
"license"=>"PD",
- "maintenance"=>"finished",
+ "maintenance"=>"ready",
"language"=>"bash, hardware",
"description"=>""
.'<p>Waits for incoming PPP data connection, authorizes it and answers it.</p>'
use strict;
use warnings;
+use My::Web;
+
our @ListItem=(
"name"=>"Mobile Device SMS Tool",
"download-i386 RPM package"=>"mdsms-1.5.2-0.i386.rpm",
"download-sources RPM package"=>"mdsms-1.5.2-0.src.rpm",
"download-logos from KESSLER Wireless Design"=>"http://www.kessler-design.com/wireless/samples.php3",
- "link-View CVS"=>"http://cvs.jankratochvil.net/viewcvs/mdsms/",
+ "cvs"=>"mdsms",
"summary"=>"Mobile communication",
"license"=>"GPL",
- "maintenance"=>"finished",
+ "maintenance"=>"ready",
"language"=>"C",
"description"=>""
.'<p>Sends NOL or NGG files as operator logo or group graphics through'
use strict;
use warnings;
+use My::Web;
+
our @ListItem=(
"name"=>"<a href=\"http://sourceforge.net/projects/mod-auth-tacacs/\">mod_auth_tacacs</a> TACACS+ test client",
use strict;
use warnings;
+use My::Web;
+
our @ListItem=(
"name"=>"Motorola to AT&T/GNU Assembler Syntax Converter",
"download"=>"mot2as.c",
"summary"=>"Asm syntax converter",
"license"=>"PD",
- "maintenance"=>"finished",
+ "maintenance"=>"ready",
"language"=>"C",
"sponsorship"=>"<a href=\"http://www.princip.cz/\">Princip, a.s.</a>",
"description"=>""
use strict;
use warnings;
+use My::Web;
+
our @ListItem=(
"name"=>"Program name display for <a href=\"http://www.inka.de/sites/lina/linux/NetTools/\">net-tools-1.50</a>/netstat",
use strict;
use warnings;
+use My::Web;
+
our @ListItem=(
"name"=>"Logical Puzzle in Prolog",
"download"=>"oslik/oslik.zip",
"summary"=>"Prolog example",
"license"=>"PD",
- "maintenance"=>"finished",
+ "maintenance"=>"ready",
"language"=>"Prolog",
"description"=>""
.'<p>This is no game, just solution of one specific mathematical problem'
use strict;
use warnings;
+use My::Web;
+
our @ListItem=(
"name"=>"Patch <a href=\"http://www.descent2.com/\">Descent 2</a> to Avoid CD-ROM",
"download"=>"patchd2.zip",
"summary"=>"Patch for no-CD",
"license"=>"PD",
- "maintenance"=>"finished",
+ "maintenance"=>"ready",
"language"=>"i386 asm patch",
"description"=>""
.'<p>Use this <a href="http://www.calderathin.com/products/drdos/">DOS</a>'
use strict;
use warnings;
+use My::Web;
+
our @ListItem=(
"name"=>"PipeBuf - Data Buffering Tool",
"download"=>"pipebuf.c",
"summary"=>"Pipe buffer",
"license"=>"PD",
- "maintenance"=>"finished",
+ "maintenance"=>"ready",
"language"=>"C",
"description"=>""
.'<p>You can do a buffering of realtime data such as audio stream by inserting this program'
use strict;
use warnings;
+use My::Web;
+
our @ListItem=(
"name"=>"Nokia Communicator Leased Line",
"priority"=>6,
- "download"=>"http://cvs.jankratochvil.net/viewcvs/*checkout*/nethome/home/lace/bin/ppp9k?rev=HEAD",
+ "download"=>$W->{"project_viewcvs"}."*checkout*/nethome/home/lace/bin/ppp9k?rev=HEAD",
"summary"=>"Communication script",
"license"=>"PD",
- "maintenance"=>"finished",
+ "maintenance"=>"ready",
"language"=>"bash",
"description"=>""
.'<p>Script will connect Nokia Communicator <a href="http://www.nokia.com/phones/9000i">9000i</a>'
use strict;
use warnings;
+use My::Web;
+
our @ListItem=(
"name"=>"Banner Killer as 'squid redirector'",
"priority"=>7,
- "link-CVS download"=>"http://cvs.jankratochvil.net/viewcvs/redirector-ad/redirector-ad.tar.gz?tarball=1",
+ "cvs"=>"redirector-ad",
"summary"=>"Banner killer",
"license"=>"PD",
- "maintenance"=>"finished",
+ "maintenance"=>"ready",
"language"=>"Perl",
"description"=>""
.'<p>Scripts that will simply discard graphical images referenced'
use strict;
use warnings;
+use My::Web;
+
our @ListItem=(
"name"=>"SMB Kernel Filesystem Acceleration",
"download"=>"smbfs-2.1.132-blocksize.diff",
"summary"=>"SMB acceleration patch",
"license"=>"PD",
- "maintenance"=>"finished",
+ "maintenance"=>"ready",
"language"=>"C patch",
"description"=>""
.'<p>Simple patch to increase virtual block size of SMB filesytem in Linux'
use strict;
use warnings;
+use My::Web;
+
our @ListItem=(
"name"=>"SSH-1 patch for <i>KeepAliveData</i> and <i>OnDemandForward</i>",
"download-SSH-1, version 1.2.30, .tar.gz"=>"ftp://ftp.fi.muni.cz/pub/ssh/ssh-1.2.30.tar.gz",
"summary"=>"SSH enhancement",
"license"=>"PD",
- "maintenance"=>"update",
- "reason"=>"<a href=\"http://www.openssh.com/\">OpenSSH</a> is now preferred but this patch is not yet migrated.",
+ "maintenance"=>"update-".a_href('http://www.openssh.com/','OpenSSH').' is preferred although this patch is not migrated.',
"language"=>"C patch",
"description"=>""
.'This patch will protect your mostly idle SSH connection from broken masquerading firewalls'
use strict;
use warnings;
+use My::Web;
+
our @ListItem=(
"name"=>"STEP - Student's Trainee Exchange Programme",
use strict;
use warnings;
+use My::Web;
+
our @ListItem=(
"name"=>"Partition Surprise",
use strict;
use warnings;
+use My::Web;
+
our @ListItem=(
"name"=>"TACACS+ Server NAS Host Based Authorization",
"priority"=>8,
"download-GTS rel.4 diff for TACACS+ v4.0.3"=>"tac_plus-F4.0.3.alpha.8.gts4.diff.gz",
"download-TACACS+ v4.0.3, Devrim Seral rel.8"=>"http://www.gazi.edu.tr/tacacs/index.php?page=download",
- "link-CVS repository for GTS version"=>"http://cvs.jankratochvil.net/viewcvs/tac_plus/",
+ "cvs"=>"tac_plus",
"summary"=>"Network server security",
"license"=>"PD",
- "maintenance"=>"finished",
+ "maintenance"=>"ready",
"language"=>"C patch",
"sponsorship"=>"<a href=\"http://www.gtsgroup.cz/\">GTS</a>",
"description"=>""
use strict;
use warnings;
+use My::Web;
+
our @ListItem=(
"name"=>"Linux Kernel Patch for Maximal Round-trip-time",
"download-Linux kernel 2.4.16 patch"=>"linux-2.4.16-tcp_rto-1.diff",
"summary"=>"Network workaround",
"license"=>"GPL",
- "maintenance"=>"finished",
+ "maintenance"=>"ready",
"language"=>"C patch",
"description"=>""
.'<p>This patch can solve your problems if you have network connection dropping too much'
use strict;
use warnings;
+use My::Web;
+
our @ListItem=(
"name"=>"tcpdump ASCII Dump Patch",
"download-tcpdump-3.4"=>"ftp://ftp.ee.lbl.gov/tcpdump-3.4.tar.Z",
"summary"=>"tcpdump readability patch",
"license"=>"PD",
- "maintenance"=>"finished",
+ "maintenance"=>"ready",
"language"=>"C patch",
"description"=>""
.'<p>Makes the text messages of tcpdump(1) readable when option <code>-x</code> is used.</p>'
use strict;
use warnings;
+use My::Web;
+
our @ListItem=(
"name"=>"Time Log Summarizer",
"priority"=>6,
"download"=>"timeplan-1.0.1.tar.gz",
+ "cvs"=>"timeplan",
"summary"=>"Time management",
"license"=>"PD",
- "maintenance"=>"finished",
+ "maintenance"=>"ready",
"language"=>"C",
"description"=>""
.'<p>Software to do summaries of time log - what have you spent much time on.'
use strict;
use warnings;
+use My::Web;
+
our @ListItem=(
"name"=>"Variable Buffers Library",
"download"=>"vblib-1.0.0.tar.gz",
"summary"=>"Streams library",
"license"=>"PD",
- "maintenance"=>"finished",
+ "maintenance"=>"ready",
"language"=>"C",
"sponsorship"=>"<a href=\"http://www.princip.cz/\">Princip, a.s.</a>",
"description"=>""
use strict;
use warnings;
+use My::Web;
+
our @ListItem=(
"name"=>"Patch for Secret WinVNC Server Run",
"link-VNC Homepage"=>"http://www.uk.research.att.com/vnc/",
"summary"=>"Patch to hide WinVNC",
"license"=>"PD",
- "maintenance"=>"finished",
+ "maintenance"=>"ready",
"language"=>"i386 asm patch",
"description"=>""
.'<p>If you install <i>WinVNC</i> in'
use strict;
use warnings;
+use My::Web;
+
our @ListItem=(
"name"=>"Line drawing Crossplatform Library",
"download"=>"wllib-1.0.0.tar.gz",
"summary"=>"Graphics library",
"license"=>"PD",
- "maintenance"=>"obsolete",
- "reason"=>"Supported backends are no longer being used.",
+ "maintenance"=>"obsolete-Any of the supported backends are no longer being used.",
"language"=>"C",
"description"=>""
.'<p>This library should make you generically use line drawing on the following platforms:'
- .' <a href="http://www.x.org/">UNIX/X Windows System X11</a>,'
- .' <a href="http://www.svgalib.org/">UNIX/SVGAlib</a> and'
- .' <a href="http://www.amiga.com/">AmigaOS</a>.</p>'
+ .' '.a_href('http://www.x.org/','UNIX/X Windows System X11 (libX11)').','
+ .' '.a_href('http://www.svgalib.org/','UNIX/SVGAlib').' and'
+ .' '.a_href('http://www.amiga.com/','AmigaOS').'</p>'
);
1;
use strict;
use warnings;
+use My::Web;
+
our @ListItem=(
"name"=>"Classic xBill game",
"link-Homepage on SourceForge.net"=>"http://xbill.sourceforge.net/",
"summary"=>"Graphical game",
"license"=>"GPL",
- "maintenance"=>"finished",
+ "maintenance"=>"ready",
"language"=>"C",
"description"=>""
.'<p>Almost-rewritten <a href="ftp://ftp.x.org/contrib/games/xbill-2.0.tgz">classical xBill game</a>,'
use strict;
use warnings;
+BEGIN{ open F,"Makefile"; our $top_dir=pop @{[split /\s/,(grep /^top_srcdir/,<F>)[0]]}; eval "use lib '$top_dir'"; close F; }
use My::Web;
use Apache::Constants qw(MOVED);
User-agent: *
-Disallow:
+Disallow: /project/ChangeLog.txt.pl