home *** CD-ROM | disk | FTP | other *** search
/ Source Code 1994 March / Source_Code_CD-ROM_Walnut_Creek_March_1994.iso / compsrcs / misc / volume38 / lude / part10 < prev    next >
Encoding:
Text File  |  1993-07-11  |  65.6 KB  |  2,056 lines

  1. Newsgroups: comp.sources.misc
  2. From: laplante@crim.ca (Pierre Laplante)
  3. Subject: v38i042:  lude - A Distributed Software Library, Part10/12
  4. Message-ID: <1993Jul11.224745.16869@sparky.imd.sterling.com>
  5. X-Md4-Signature: 560f4bc6482197f38fc268bf2db86884
  6. Sender: kent@sparky.imd.sterling.com (Kent Landfield)
  7. Organization: Sterling Software
  8. Date: Sun, 11 Jul 1993 22:47:45 GMT
  9. Approved: kent@sparky.sterling.com
  10.  
  11. Submitted-by: laplante@crim.ca (Pierre Laplante)
  12. Posting-number: Volume 38, Issue 42
  13. Archive-name: lude/part10
  14. Environment: UNIX
  15.  
  16. #! /bin/sh
  17. # This is a shell archive.  Remove anything before this line, then feed it
  18. # into a shell via "sh file" or similar.  To overwrite existing files,
  19. # type "sh file -c".
  20. # Contents:  lude-1.1/run/crim/sun4.1_sparc/bin/man2html
  21. #   lude-1.1/run/crim/sun4.1_sparc/include/lude/ludelang.pl
  22. #   lude-1.1/run/crim/sun4.1_sparc/lib/lude/lang/ludeindex
  23. #   lude-1.1/run/crim/sun4.1_sparc/lib/lude/lang/ludemisc
  24. #   lude-1.1/src/orig/config.status lude-1.1/src/orig/configure.in
  25. #   lude-1.1/src/orig/dev.texinfo.UU lude-1.1/src/orig/lang/ludeindex
  26. #   lude-1.1/src/orig/src/fileutil.pl
  27. #   lude-1.1/src/orig/src/ludelang.pl
  28. #   lude-1.1/src/orig/src/ludelistinc lude-1.1/src/orig/src/man2html
  29. # Wrapped by kent@sparky on Sun Jul 11 15:49:16 1993
  30. PATH=/bin:/usr/bin:/usr/ucb:/usr/local/bin:/usr/lbin ; export PATH
  31. echo If this archive is complete, you will see the following message:
  32. echo '          "shar: End of archive 10 (of 12)."'
  33. if test -f 'lude-1.1/run/crim/sun4.1_sparc/bin/man2html' -a "${1}" != "-c" ; then 
  34.   echo shar: Will not clobber existing file \"'lude-1.1/run/crim/sun4.1_sparc/bin/man2html'\"
  35. else
  36.   echo shar: Extracting \"'lude-1.1/run/crim/sun4.1_sparc/bin/man2html'\" \(4814 characters\)
  37.   sed "s/^X//" >'lude-1.1/run/crim/sun4.1_sparc/bin/man2html' <<'END_OF_FILE'
  38. X#! /usr/local/bin/perl
  39. X#
  40. X# Program to convert the man pages into HTML World Wide Web format.
  41. X# Copyright (C) 1993 Michel Dagenais
  42. X#
  43. X#
  44. X# This file is part of Lude
  45. X#
  46. X# Lude is free software; you can redistribute it and/or modify
  47. X# it under the terms of the GNU General Public License as published by
  48. X# the Free Software Foundation; either version 2, or (at your option)
  49. X# any later version.
  50. X#
  51. X# Lude is distributed in the hope that it will be useful,
  52. X# but WITHOUT ANY WARRANTY; without even the implied warranty of
  53. X# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  54. X# GNU General Public License for more details.
  55. X#
  56. X# You should have received a copy of the GNU General Public License
  57. X# along with Lude; see the file COPYING.  If not, write to
  58. X# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
  59. X#
  60. X#
  61. X##########################################################################
  62. X#
  63. X# This script expects a man page filename as argument. This filename
  64. X# has an extra .man extension at the end to specify that it is a man page
  65. X#
  66. X
  67. Xif ( $#ARGV != 0 ) {
  68. X   print STDERR "man2html: wrong number of arguments (man2html filename)\n";
  69. X   exit(1);
  70. X }
  71. X
  72. X$_ = $ARGV[0];
  73. X
  74. X$prefix = '';
  75. X$section = '';
  76. X$name = '';
  77. X$ext = '';
  78. X
  79. X($prefix,$section,$name,$ext) = 
  80. X        /(.+\/)([^\/]+\/)([^\/]+)\.([^\.]+)\.man$/;
  81. X
  82. X
  83. Xif ( $name eq '' ) {
  84. X   print STDERR "man2html: filename $ARGV[0] could not be parsed\n";
  85. X   print STDERR "valid filename example: /usr/local/man/man1/man2html.1.man\n";
  86. X   exit(1);
  87. X }
  88. X
  89. X#
  90. X# Check if the file exists.
  91. X#
  92. X
  93. X$found = 0;
  94. X
  95. Xif ( -e "$prefix$section$name.$ext" ) { 
  96. X   $found = 1; 
  97. X }
  98. Xelse { 
  99. X   $ext =~ tr/A-Z/a-z/;
  100. X   if ( -e "$prefix$section$name.$ext" ) { $found = 1; }
  101. X }
  102. X
  103. X#
  104. X# check if similar files can be found
  105. X#
  106. X
  107. Xif( $found == 0 ) {
  108. X
  109. X   if( $ext =~ /([0-9ln]).*/ ) { $num = $1; }
  110. X   else { $num = "1"; }
  111. X
  112. X#
  113. X# try variants for the extension, then for the prefix, then for the section
  114. X#
  115. X
  116. X   $filelist = `ls $prefix$section$name.* 2>/dev/null`;
  117. X
  118. X   if( $filelist =~ /^\s*$/ ) {
  119. X      $filelist = `ls ${prefix}man$num/$name.* 2>/dev/null`;
  120. X    }
  121. X
  122. X   if( $filelist =~ /^\s*$/ ) {
  123. X      $filelist = `ls /usr/man/man$num/$name.* 2>/dev/null`;
  124. X    }
  125. X
  126. X   if( $filelist =~ /^\s*$/ ) {
  127. X      $filelist = `ls /usr/local/man/man$num/$name.* 2>/dev/null`;
  128. X    }
  129. X
  130. X   if( $filelist =~ /^\s*$/ ) {
  131. X      $filelist = `ls /usr/man/man[nl]/$name.* 2>/dev/null`;
  132. X    }
  133. X
  134. X   if( $filelist =~ /^\s*$/ ) {
  135. X      $filelist = `ls /usr/local/man/man[nl]/$name.* 2>/dev/null`;
  136. X    }
  137. X
  138. X   if( $filelist =~ /^\s*$/ ) {
  139. X      $filelist = `ls ${prefix}man*/$name.* 2>/dev/null`;
  140. X    }
  141. X
  142. X   if( $filelist =~ /^\s*$/ ) {
  143. X      $filelist = `ls /usr/man/man*/$name.* 2>/dev/null`;
  144. X    }
  145. X
  146. X   if( $filelist =~ /^\s*$/ ) {
  147. X      $filelist = `ls /usr/local/man/man*/$name.* 2>/dev/null`;
  148. X    }
  149. X
  150. X   if( $filelist =~ /^\s*$/ ) {
  151. X      print STDERR "man2html: could not find file $prefix$section$name.$ext\n";
  152. X      exit(1);
  153. X    }
  154. X
  155. X#
  156. X# We have found something. If more than one file was found, offer a menu.
  157. X#
  158. X
  159. X   @files = split(/[\s\n]+/,$filelist);
  160. X
  161. X#   if( $#files == 0 ) { 
  162. X#      ($prefix,$section,$name,$ext) = 
  163. X#        ($files[0] =~ /(.+\/)([^\/]+\/)([^\/]+)\.([^\.]+)$/);
  164. X#    }
  165. X#   else {
  166. X      print "<TITLE>$name</TITLE>\n";
  167. X      print "\n<H2>MAN page $prefix$section$name.$ext was not found</H2>\n";
  168. X      print "But other man pages with the same base name were found:\n";
  169. X      print "\n<DL>\n";
  170. X      foreach $filename (@files) {
  171. X         ($prefix,$section,$name,$ext) = 
  172. X        ($filename =~ /(.+\/)([^\/]+\/)([^\/]+)\.([^\.]+)$/);
  173. X         print "<DT><A HREF=${filename}.man>$name.$ext</A><DD>  ($filename)\n";
  174. X       }
  175. X      print "</DL>\n";
  176. X      exit(0);
  177. X#    }
  178. X }
  179. X
  180. X#
  181. X# At this point we have a single file to process
  182. X#
  183. X
  184. Xprint "<TITLE>$name</TITLE>\n<H1>$name($ext)</H1>\n";
  185. Xprint "\n<PRE>\n";
  186. X
  187. Xchdir $prefix;
  188. X
  189. Xopen(MFILE, "nroff -man -Tcrt $prefix$section$name.$ext |")
  190. X  || die "man2html: failing to execute nroff -man $prefix$section$name.$ext\n";
  191. X
  192. X#
  193. X# eat up the first header
  194. X#
  195. X
  196. Xwhile (<MFILE>) {
  197. X    if( /^[A-Z]/ ) { last; }
  198. X }
  199. X
  200. X#
  201. X# process the rest of the file
  202. X#
  203. X
  204. X$seealso = 0;
  205. X
  206. Xwhile (<MFILE>) {
  207. X   s/_\010//go;
  208. X
  209. X#
  210. X# remove the page numbering and eat up to next header
  211. X#
  212. X
  213. X   if( /^[a-zA-Z].*change.*[\s]+.*[0-9]$/ ) {
  214. X      while (<MFILE>) {
  215. X     if( /^[A-Z]/ ) { last; }
  216. X       }
  217. X      next;
  218. X    }
  219. X
  220. X#
  221. X# process the headings
  222. X#
  223. X
  224. X   if( /^[a-zA-Z]/ ) {
  225. X      if( $seealso == 1 ) { $seealso = 0; }
  226. X      else { print "\n</PRE>\n"; }
  227. X
  228. X      chop $_;
  229. X      print "\n<H2>$_</H2>\n";
  230. X
  231. X      if( /^SEE ALSO/i ) { $seealso = 1; }
  232. X      else { print "\n<PRE>\n"; }
  233. X      next;
  234. X    }
  235. X
  236. X   if ( $seealso == 1 ) {
  237. X      s/([a-zA-Z][a-zA-Z0-9_\-]*)\(([0-9lnLN])([a-zA-Z0-9]*)\)/<A HREF=${prefix}man$2\/$1\.$2${3}.man>$1\($2$3\)<\/A>/g;
  238. X    }
  239. X   print;
  240. X }
  241. X
  242. Xif( $seealso == 0 ) { print "\n</PRE>\n"; }
  243. X
  244. Xclose(MFILE);
  245. Xexit(0);
  246. X
  247. X
  248. X
  249. END_OF_FILE
  250.   if test 4814 -ne `wc -c <'lude-1.1/run/crim/sun4.1_sparc/bin/man2html'`; then
  251.     echo shar: \"'lude-1.1/run/crim/sun4.1_sparc/bin/man2html'\" unpacked with wrong size!
  252.   fi
  253.   chmod +x 'lude-1.1/run/crim/sun4.1_sparc/bin/man2html'
  254.   # end of 'lude-1.1/run/crim/sun4.1_sparc/bin/man2html'
  255. fi
  256. if test -f 'lude-1.1/run/crim/sun4.1_sparc/include/lude/ludelang.pl' -a "${1}" != "-c" ; then 
  257.   echo shar: Will not clobber existing file \"'lude-1.1/run/crim/sun4.1_sparc/include/lude/ludelang.pl'\"
  258. else
  259.   echo shar: Extracting \"'lude-1.1/run/crim/sun4.1_sparc/include/lude/ludelang.pl'\" \(4473 characters\)
  260.   sed "s/^X//" >'lude-1.1/run/crim/sun4.1_sparc/include/lude/ludelang.pl' <<'END_OF_FILE'
  261. X# ludelang - Language support for project lude.
  262. X
  263. X# Copyright (C) 1992 Stephane Boucher.
  264. X#
  265. X# This program is free software; you can redistribute it and/or modify
  266. X# it under the terms of the GNU General Public License as published by
  267. X# the Free Software Foundation; either version 1, or (at your option)
  268. X# any later version.
  269. X#
  270. X# This program is distributed in the hope that it will be useful,
  271. X# but WITHOUT ANY WARRANTY; without even the implied warranty of
  272. X# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  273. X# GNU General Public License for more details.
  274. X#
  275. X# You should have received a copy of the GNU General Public License
  276. X# along with this program; if not, write to the Free Software
  277. X# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  278. X
  279. X$FULL_VERSION.= '$Id: ludelang.pl,v 1.2 1992/11/12 01:22:42 sbo Exp $' ."\n";
  280. X
  281. X#-----------------------------------------------------------------------
  282. X# Description: 
  283. X#
  284. X# Parameters : 
  285. X#
  286. X# return     : Never return if error
  287. X#
  288. Xsub InitLang {
  289. X    local($defaultLang, $langpath, $langfile, @argv)=@_; 
  290. X    local($lang)=$defaultLang;
  291. X    local($langidx);
  292. X
  293. X    # If env. var. LANGUAGE is defined, overide the
  294. X    # default language.
  295. X    if (defined($ENV{'LANGUAGE'})) {
  296. X    $lang=$ENV{'LANGUAGE'};
  297. X    }
  298. X
  299. X    # Overide $lang with the content of -language, if specified.
  300. X    # Search for -language in the arguments
  301. X    # And extract the value. If -language is not found,
  302. X    # $lang will have the default language wich is english.
  303. X    for ($idx=$[; $idx<scalar(@argv); $idx++) {
  304. X    if ($argv[$idx] =~ m|^-language$|) {
  305. X        $lang=$argv[$idx+1];
  306. X        last;
  307. X    }
  308. X    }
  309. X
  310. X    # Search for the language file in $langpath
  311. X    for $path (split(/:/, $langpath)) {
  312. X    if (-r "$path/$langfile") {
  313. X        local(*fp);
  314. X        # Load the file containing the messages
  315. X        # according to the chosen language
  316. X        open(fp, "$path/$langfile");
  317. X
  318. X        # Get the index of the language that will be
  319. X        # used to load the message file
  320. X        chop($langline=<fp>);
  321. X        if ($langline !~ m|\b$lang\b|) {
  322. X        # Language specified not in list
  323. X        # of available languages. Using english.
  324. X        print STDERR "Warning: Language \"$lang\" not valid.\n";
  325. X        printf STDERR ("Warning: Valid Choices Are \"%s\".\n", 
  326. X                   join("\" \"",split(/\s+/, $langline)));
  327. X        print STDERR "Warning: Using \"english\".\n";
  328. X        $lang='english';
  329. X        }
  330. X        $langidx=0;
  331. X        for $i (split(/\s+/, $langline)) {
  332. X        last if ($i eq $lang);
  333. X        $langidx++;
  334. X        }
  335. X
  336. X        # Load the message file.
  337. X        # Note that the file must be formatted correctly
  338. X        # because no error checking is done so that
  339. X        # the loading can be as fast as possible.
  340. X        local($msgidx);
  341. X        local($msgtype)=0;    # By default, use the var type
  342. X        local($msgvarname);
  343. X        local($varname);
  344. X        local($accumulate)=0;
  345. X        while(<fp>) {    
  346. X        next if (m|^#|); # Comment Line. Skip it.
  347. X        if (m|^var$|io) {
  348. X            $msgtype=0;    # var type
  349. X        }
  350. X        elsif (m|^array\s+([^\s]+)$|io) {
  351. X            $msgtype=1;    # Array type
  352. X            $msgvarname=$1;
  353. X        }
  354. X        elsif (m|^assoc\s+([^\s]+)$|io) {
  355. X            $msgtype=2;    # Assoc Array type
  356. X            $msgvarname=$1;
  357. X        }
  358. X        # A line that starts with a non-blank
  359. X        # contains an identifier for a message
  360. X        elsif (m|^([^\s]+)$|o) {
  361. X            $accumulate=1;
  362. X            if ($msgtype==0) { # Var type
  363. X            eval("\$$1=\"\"");
  364. X            }
  365. X            elsif ($msgtype==1) { # array type
  366. X            eval("push(@$msgvarname,\"\");\$msgidx=\$$1=\$#$msgvarname;");
  367. X            }
  368. X            elsif ($msgtype==2) { # assoc type
  369. X            $varname=$1;
  370. X            eval("\$$msgvarname{\"$1\"}=\"\"");
  371. X            }
  372. X        }
  373. X        # A line that start with ' c ' is
  374. X        # the continuation of the previous line
  375. X        elsif ($accumulate && m|^ c (.*)$|o) {
  376. X            if ($msgtype==0) { # Var type
  377. X            eval("\$$msgvarname.=\"\n$1\"");
  378. X            }
  379. X            elsif ($msgtype==1) { # array type
  380. X            eval("\$$msgvarname[$msgidx].=\"\n$1\"");
  381. X            }
  382. X            elsif ($msgtype==2) { # assoc type
  383. X            eval("\$$msgvarname{\"$varname\"}.=\"\n$1\"");
  384. X            }
  385. X        }
  386. X        elsif (m|^ ([0-9]+) (.*)$|) {
  387. X            if ($1 == $langidx) {
  388. X            if ($msgtype==0) { # Var type
  389. X                eval("\$$msgvarname=\"$2\"");
  390. X            }
  391. X            elsif ($msgtype==1) { # array type
  392. X                eval("\$$msgvarname[$msgidx]=\"$2\"");
  393. X            }
  394. X            elsif ($msgtype==2) { # assoc type
  395. X                eval("\$$msgvarname{\"$varname\"}=\"$2\"");
  396. X            }
  397. X            $accumulate=1;
  398. X            }
  399. X            else {
  400. X            $accumulate=0;
  401. X            }
  402. X        }
  403. X        }
  404. X        close(fp);
  405. X        return;
  406. X    }
  407. X    }
  408. X    die "Could not find the messages file in $langpath, stopped";
  409. X}
  410. X
  411. X#     ;;; Local Variables: ***
  412. X#     ;;; mode:perl ***
  413. X#     ;;; End: ***
  414. END_OF_FILE
  415.   if test 4473 -ne `wc -c <'lude-1.1/run/crim/sun4.1_sparc/include/lude/ludelang.pl'`; then
  416.     echo shar: \"'lude-1.1/run/crim/sun4.1_sparc/include/lude/ludelang.pl'\" unpacked with wrong size!
  417.   fi
  418.   # end of 'lude-1.1/run/crim/sun4.1_sparc/include/lude/ludelang.pl'
  419. fi
  420. if test -f 'lude-1.1/run/crim/sun4.1_sparc/lib/lude/lang/ludeindex' -a "${1}" != "-c" ; then 
  421.   echo shar: Will not clobber existing file \"'lude-1.1/run/crim/sun4.1_sparc/lib/lude/lang/ludeindex'\"
  422. else
  423.   echo shar: Extracting \"'lude-1.1/run/crim/sun4.1_sparc/lib/lude/lang/ludeindex'\" \(5073 characters\)
  424.   sed "s/^X//" >'lude-1.1/run/crim/sun4.1_sparc/lib/lude/lang/ludeindex' <<'END_OF_FILE'
  425. Xfrancais english
  426. Xarray TEXT
  427. XSEE_ALSO
  428. X 0 Voir aussi
  429. X 1 See also
  430. XBAD_TYPE
  431. X 0 type incorrect pour
  432. X 1 incorrect type for
  433. XBAD_ARGUMENT
  434. X 0 argument incorrect
  435. X 1 bad argument
  436. XSOFT_INSTALLED
  437. X 0 LISTE DES LOGICIELS INSTALLES
  438. X 1 SOFTWARE PACKAGES AVAILABLE
  439. XDIR_TITLE
  440. X 0 REPERTOIRE DES LOGICIELS LUDE
  441. X 1 MAIN LUDE DIRECTORY
  442. XUSAGE_HELP
  443. X 0 Utilisation:
  444. X c  [-debug debuglevel] {ajuster le niveau de deverminage}
  445. X c  [-help|-?] {pour avoir de l'aide}
  446. X c  [-version|-full-version] {numero de version du logiciel}
  447. X c  [-verbose] {imprime des messages informatifs sur le deroulement}
  448. X c  [-catman] {mise a jour de l'index whatis pour les pages de manuel}
  449. X c  [-pathcatman] {liste des repertoires vises par -catman}
  450. X c  [-waisman] {mise a jour de la base de donnee WAIS pour les pages de manuel}
  451. X c  [-pathwaisman] {liste des repertoires vises par -waisman}
  452. X c  [-info] {mise a jour du menu principal pour les fichiers GNU info}
  453. X c  [-pathinfo] {liste des repertoires vises par -info}
  454. X c  [-wwwsoft] {genere des fichiers html WWW pour les logiciels lude}
  455. X c  [-waissoft] {genere des fichiers WAIS pour les logiciels de lude}
  456. X c  [-pathsoft] {liste des repertoires vises par -wwwsoft et -waissoft}
  457. X c  [-all] {comme -catman -info -waisman -wwwsoft -waissoft}
  458. X c  [-remotelink] {liens html vers la documentation meme pour les logiciels
  459. X c                 qui ne sont pas installes localement}
  460. X c  [-nowwwext] {ne pas ajouter .man et .info aux liens WWW 
  461. X c               pour identification}
  462. X c  [-portwww] {changer le port utilise pour le serveur WWW}
  463. X c  [-portwais] {changer le port utilise pour le serveur WAIS}
  464. X c  [-hostwww] {changer le nom de l'ordinateur utilise pour le serveur WWW}
  465. X c  [-hostwais] {changer le nom de l'ordinateur utilise pour le serveur WAIS}
  466. X 1 USAGE:
  467. X c  [-debug debuglevel] {adjust the debugging level}
  468. X c  [-help|-?] {get some help}
  469. X c  [-version|-full-version] {get the version number of this program}
  470. X c  [-verbose] {get informative messages during the execution}
  471. X c  [-catman] {update the whatis database for the man pages}
  472. X c  [-pathcatman] {list of paths used for option -catman}
  473. X c  [-waisman] {update the WAIS database for the man pages}
  474. X c  [-pathwaisman] {list of paths used for option -waisman}
  475. X c  [-info] {update the main menu for GNU info files}
  476. X c  [-pathinfo] {list of paths used for option -info}
  477. X c  [-wwwsoft] {create HTML WWW files for Lude software packages}
  478. X c  [-waissoft] {create WAIS data files for Lude software packages}
  479. X c  [-pathsoft] {list of paths used for options -wwwsoft and -waissoft}
  480. X c  [-all] {same as -catman -info -waisman -wwwsoft -waissoft}
  481. X c  [-remotelink] {add html links to the documentation even for
  482. X c                 non local Lude software packages}
  483. X c  [-nowwwext] {do not add .man and .info to WWW links for identification
  484. X c               purposes}
  485. X c  [-portwww] {change the default port for the WWW server}
  486. X c  [-portwais] {change the default port for the WAIS server}
  487. X c  [-hostwww] {change the WWW server host name}
  488. X c  [-hostwais] {change the WAIS server host name}
  489. XBAD_MAN_DIR
  490. X 0 est vide ou ne peut etre accede
  491. X 1 is empty or cannot be accessed
  492. XMAN_TO_DATE
  493. X 0 est a jour
  494. X 1 is up to date
  495. XMAN_INDEXING
  496. X 0 indexage des pages de manuel dans %s, %s a change
  497. X 1 indexing man pages in %s, %s was modified
  498. XIS_DONE
  499. X 0 fait.
  500. X 1 done.
  501. XINFO_UPDATE
  502. X 0 mise a jour du menu principal dans
  503. X 1 updating the main menu in
  504. XWAIS_TO_DATE
  505. X 0 base de donnee WAIS a jour
  506. X 1 WAIS database is up to date
  507. XWAIS_MAN_BASE
  508. X 0 construction de la base de donnee WAIS pour
  509. X 1 constructing the WAIS database for
  510. XNB_MAN_TOO_SMALL
  511. X 0 %d pages de manuel ignorees, contenant moins de 80 caracteres
  512. X 1 %d man pages were ignored, containing fewer than 80 characters
  513. XIGNORING_FILE
  514. X 0 le fichier suivant est ignore:
  515. X 1 ignoring file
  516. XHTML_UPDATING
  517. X 0 mise a jour des fichiers HTML (WWW) pour les logiciels dans
  518. X 1 updating HTML (WWW) files for software packages in
  519. XHTML_UPDATING_MENU
  520. X 0 construction du menu principal pour les fichiers HTML
  521. X 1 constructing the main menu for HTML files
  522. XSOFT_AVAILABILITY
  523. X 0 CLASSES ET MODIFICATIONS DISPONIBLES
  524. X 1 CLASSES AND MODIFICATIONS AVAILABLE
  525. XCLASS_IS_LINKED
  526. X 0 Le logiciel %s, modification %s, classe %s est disponible localement 
  527. X 1 Software %s, modification %s, class %s is available locally
  528. XCLASS_IS_LOCAL
  529. X 0 Le logiciel %s, modification %s, classe %s est disponible localement dans %s
  530. X 1 Software %s, modification %s, class %s is available locally in %s
  531. XCLASS_ON_SERVER
  532. X 0 Le logiciel %s, modification %s, classe %s est disponible sur le serveur %s 
  533. X 1 Software %s, modification %s, class %s is available on server %s
  534. XCLASS_ELSEWHERE
  535. X 0 Le logiciel %s, modification %s, classe %s est disponible dans %s
  536. X 1 Software %s, modification %s, class %s is available in %s
  537. XWAIS_INDEXING
  538. X 0 indexage des bases de donnees WAIS
  539. X 1 indexing WAIS databases
  540. XCANNOT_ACCESS
  541. X 0 le fichier suivant ne peut etre accede
  542. X 1 the following file cannot be accessed
  543. Xarray FIELD
  544. XUSAGE
  545. X 0 UTILISATION:
  546. X 1 USAGE:
  547. XINSTALL
  548. X 0 INSTALLATION:
  549. X 1 INSTALL:
  550. XDESCRIPTION
  551. X 0 DOCUMENTATION:
  552. X 1 DESCRIPTION:
  553. XABSTRACT
  554. X 0 RESUME:
  555. X 1 ABSTRACT:
  556. X
  557. X
  558. END_OF_FILE
  559.   if test 5073 -ne `wc -c <'lude-1.1/run/crim/sun4.1_sparc/lib/lude/lang/ludeindex'`; then
  560.     echo shar: \"'lude-1.1/run/crim/sun4.1_sparc/lib/lude/lang/ludeindex'\" unpacked with wrong size!
  561.   fi
  562.   # end of 'lude-1.1/run/crim/sun4.1_sparc/lib/lude/lang/ludeindex'
  563. fi
  564. if test -f 'lude-1.1/run/crim/sun4.1_sparc/lib/lude/lang/ludemisc' -a "${1}" != "-c" ; then 
  565.   echo shar: Will not clobber existing file \"'lude-1.1/run/crim/sun4.1_sparc/lib/lude/lang/ludemisc'\"
  566. else
  567.   echo shar: Extracting \"'lude-1.1/run/crim/sun4.1_sparc/lib/lude/lang/ludemisc'\" \(4277 characters\)
  568.   sed "s/^X//" >'lude-1.1/run/crim/sun4.1_sparc/lib/lude/lang/ludemisc' <<'END_OF_FILE'
  569. Xfrancais english
  570. Xarray MSGS
  571. XWARN_NOTLINK
  572. X 0 Le fichier %s n'est pas un lien symbolique. Le lien ne sera pas fait.
  573. X 1 File %s is not a link. Link wont be removed.
  574. XWARN_WRONG_LINK
  575. X 0 Le fichier est un lien symbolique vers le mauvais repertoire: %s.
  576. X 1 File %s is a link to the wrong directory: %s.
  577. XWARN_NOFILE
  578. X 0 Le fichier %s n'existe pas.
  579. X 1 File %s does not exist. Link wont be remove.
  580. XWARN_NOCMD
  581. X 0 La commande %s n'est pas dans le chemin $ENV{'PATH'}
  582. X 1 Command %s is not in the path $ENV{'PATH'}
  583. XWARN_CMD
  584. X 0 Execution de %s
  585. X 1 Execution of %s
  586. XWARN_NOINFO
  587. X 0 Ce logiciel n'a pas de fichier(s) info.
  588. X 1 This software does not have info files.
  589. XWARN_DIR
  590. X 0 Le repertoire %s n'existe pas.
  591. X 1 Directory %s does not exist.
  592. XWARN_OUT
  593. X 0 %s
  594. X 1 %s
  595. XWARN_RMDIR
  596. X 0 Impossible d'enlever le repertoire %s: %s
  597. X 1 Can't rmdir %s: %s
  598. XWARN_MKDIR
  599. X 0 Impossible de creer le repertoire %s: %s
  600. X 1 Can't make directory %s: %s
  601. XWARN_SYMLINK
  602. X 0 Impossible de creer le lien symbolique entre %s et %s: %s
  603. X 1 Can't make symlink between %s and %s: %s
  604. XWARN_RMSYMLINK
  605. X 0 Impossible d'enlever le lien symbolique %s
  606. X 1 Can't remove symlink %s
  607. XWARN_EXEC
  608. X 0 Impossible d'executer %s: %s
  609. X 1 Can't execute %s: %s
  610. XWARN_NOTINSTALLED
  611. X 0 Ce logiciel n'est pas completement installe.
  612. X 1 The software is not completely installed.
  613. XWARN_MSG
  614. X 0 Avertissement: %s.
  615. X 1 Warning: %s.
  616. XERR_NO_LUDE_VERSION_USED_FOR_SOFT
  617. X 0 La version utilise pour installer le logiciel n'est pas valide ou n'a pas ete trouve.
  618. X 1 The Version used to install the software is not valid or was not found.
  619. XERR_VAR
  620. X 0 La variable %s doit etre initialise.
  621. X 1 Variable %s Must Be Initialize
  622. XERR_DIR
  623. X 0 Le repertoire \"%s\" n'existe pas.
  624. X 1 Directory \"%s\" Does Not Exist.
  625. XERR_FILE
  626. X 0 Le fichier \"%s\" n'existe pas.
  627. X 1 File \"%s\" Does Not Exist.
  628. XERR_OPEN
  629. X 0 Impossible d'ouvrir le fichier \"%s\": %s
  630. X 1 Can't Open File \"%s\": %s
  631. XERR_REN
  632. X 0 Impossible de renommer le fichier \"%s\": %s
  633. X 1 Can't Rename File \"%s\": %s
  634. XERR_USAGE
  635. X 0 Erreur d'utilisation.
  636. X 1 Error On Utilisation.
  637. XERR_ARG
  638. X 0 L'argument %s doit etre suivit de %s.
  639. X 1 Argument %s Must Be Followed By %s.
  640. XERR_NOSER
  641. X 0 Le logiciel %s n'existe pas.
  642. X 1 The Software %s Does Not Exist.
  643. XINVALID_ARGUMENT
  644. X 0 L'argument %s est invalide.
  645. X 1 Argument %s Is Invalid.
  646. XERR_ARG_REQUIRED
  647. X 0 L'argument %s est requis.
  648. X 1 Argument %s Is Required.
  649. XERR_CMD
  650. X 0 Pas de %s dans $ENV{'PATH'}.
  651. X 1 No %s In $ENV{'PATH'}.
  652. XERR_MKDIR
  653. X 0 Impossible de creer le repertoire \"%s\": %d
  654. X 1 Can't Make Directory \"%s\": %d
  655. XERR_SYMLINK
  656. X 0 Impossible de faire le lien symbolique entre \"%s\" et \"%s\": %s
  657. X 1 Can't Make Symlink Between \"%s\" and \"%s\": %s
  658. XERR_RMDIR
  659. X 0 Impossible d'enlever le repertoire \"%s\": %s
  660. X 1 Can't Rmdir \"%s\": %s
  661. XERR_INVCMD
  662. X 0 Commande de \"Mapping\" invalide: \"%s\"
  663. X 1 Invalid Mapping Command: \"%s\"
  664. XERR_WRONG_FILE_TYPE
  665. X 0 Type de fichier incorrect: \"%s\". Devrait etre un fichier ordinaire, un lien symbolique ou un repertoire.
  666. X 1 Wrong File Type: \"%s\". Should Be A Regular File, A Symlink Or A Directory.
  667. XERR_INTERNAL
  668. X 0 Erreur interne %s.
  669. X 1 Internal Error %s.
  670. XERR_INCOMP_ARGS
  671. X 0 Impossible d'utiliser %s avec n'importe quel de %s.
  672. X 1 Can't Use %s With Any Of %s.
  673. XERR_ARG_REQUIRES
  674. X 0 L'argument %s requiert %s.
  675. X 1 Argument %s requires %s.
  676. XERR_RMSYMLINK
  677. X 0 Impossible d'enlever le lien symbolique: \"%s\".
  678. X 1 Can't Remove Symlink: \"%s\".
  679. XERR_UNLINK
  680. X 0 Impossible d'enlever le fichier: \"%s\".
  681. X 1 Can't Remove File: \"%s\".
  682. XERR_ACCESS
  683. X 0 Impossible d'acceder \"%s\".
  684. X 1 Can't Access \"%s\".
  685. XERR_NO_R_PERM
  686. X 0 Pas de permission de lire: %d.
  687. X 1 Don't Have Read Permission: %d.
  688. XERR_NO_W_PERM
  689. X 0 Pas de permission d'ecriture: %d.
  690. X 1 Don't Have Write Permission: %d.
  691. XERR_HIST
  692. X 0 Erreur pendant la mise a jour du fichier history. 
  693. X 1 Error While Trying To Update The History File.
  694. XERR_READ
  695. X 0 Erreur de lecture dans le fichier %s.
  696. X 1 Error Reading From File %s.
  697. XERR_WRITE
  698. X 0 Erreur d'ecriture dans le fichier %s.
  699. X 1 Error Writing To File %s.
  700. XERR_READ_DIR
  701. X 0 Impossible de lire le repertoire %s.
  702. X 1 Can't Read Directory %s.
  703. XERR_WRITE_DIR
  704. X 0 Impossible d'ecrire dans le repertoire %s.
  705. X 1 Can't Write To Directory %s.
  706. XERR_DIR_TYPE_EXPECTED
  707. X 0 Un repertoire etait attendu pour %s. 
  708. X 1 A Directory Was Expected For %s.
  709. XERR_VALUE_DIR
  710. X 0 Le repertoire %s n'est pas valide.
  711. X 1 Directory %s Is Invalid.
  712. END_OF_FILE
  713.   if test 4277 -ne `wc -c <'lude-1.1/run/crim/sun4.1_sparc/lib/lude/lang/ludemisc'`; then
  714.     echo shar: \"'lude-1.1/run/crim/sun4.1_sparc/lib/lude/lang/ludemisc'\" unpacked with wrong size!
  715.   fi
  716.   # end of 'lude-1.1/run/crim/sun4.1_sparc/lib/lude/lang/ludemisc'
  717. fi
  718. if test -f 'lude-1.1/src/orig/config.status' -a "${1}" != "-c" ; then 
  719.   echo shar: Will not clobber existing file \"'lude-1.1/src/orig/config.status'\"
  720. else
  721.   echo shar: Extracting \"'lude-1.1/src/orig/config.status'\" \(2583 characters\)
  722.   sed "s/^X//" >'lude-1.1/src/orig/config.status' <<'END_OF_FILE'
  723. X#!/bin/sh
  724. X# Generated automatically by configure.
  725. X# Run this file to recreate the current configuration.
  726. X# This directory was configured as follows,
  727. X# on host mason:
  728. X#
  729. X# ./configure 
  730. X
  731. Xcase "$1" in
  732. X  -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
  733. X  exec /bin/sh ./configure  ;;
  734. Xesac
  735. X
  736. Xtrap 'rm -f Makefile src/Makefile src/config.pl info/Makefile lang/Makefile html/Makefile; exit 1' 1 3 15
  737. XCAT='cat'
  738. XCHMOD='chmod'
  739. XCOMPRESS='compress'
  740. XCP='cp'
  741. XECHO='echo'
  742. XEMACS='emacs'
  743. XMAKE='make'
  744. XMKDIR='mkdir'
  745. XMV='mv'
  746. XSED='sed'
  747. XSH='sh'
  748. XPROG_TAR='tar'
  749. XPROG_CMP='cmp'
  750. XPROG_MOUNT_TFS='mount_tfs'
  751. XPROG_UMOUNT_TFS='umount_tfs'
  752. XCONF_HAVE_TFS='1'
  753. XPROG_HOSTNAME='hostname'
  754. XCONF_HAVE_HOSTNAME='1'
  755. XPROG_DOMAINNAME='domainname'
  756. XPROG_DOMAINAME=''
  757. XCONF_HAVE_DOMAINNAME='1'
  758. XPROG_MAKEWHATIS='catman -w -M'
  759. XCONF_SYS_MAN_PATH='/usr/man'
  760. XFIRST_CLASS='sun4.1_sparc'
  761. XOTHER_CLASSES=''
  762. XPREFIX='/usr/local/soft/lude-1.1/run/crim/sun4.1_sparc'
  763. XCONF_LANG_DEFAULT='english'
  764. XCONF_LANG_DEFAULT_ABREV='eng'
  765. XLANG_INFO='fra eng'
  766. XVERSION='1.1'
  767. XLIBS=''
  768. Xsrcdir='.'
  769. XDEFS=' -DCONF_HAVE_HOSTNAME=1'
  770. Xprefix=''
  771. Xexec_prefix=''
  772. Xprsub=''
  773. X
  774. Xtop_srcdir=$srcdir
  775. Xfor file in Makefile src/Makefile src/config.pl info/Makefile lang/Makefile html/Makefile; do
  776. X  srcdir=$top_srcdir
  777. X  # Remove last slash and all that follows it.  Not all systems have dirname.
  778. X  dir=`echo $file|sed 's%/[^/][^/]*$%%'`
  779. X  if test "$dir" != "$file"; then
  780. X    test "$top_srcdir" != . && srcdir=$top_srcdir/$dir
  781. X    test ! -d $dir && mkdir $dir
  782. X  fi
  783. X  echo creating $file
  784. X  rm -f $file
  785. X  echo "# Generated automatically from `basename $file`.in by configure." > $file
  786. X  sed -e "
  787. X$prsub
  788. Xs%@CAT@%$CAT%g
  789. Xs%@CHMOD@%$CHMOD%g
  790. Xs%@COMPRESS@%$COMPRESS%g
  791. Xs%@CP@%$CP%g
  792. Xs%@ECHO@%$ECHO%g
  793. Xs%@EMACS@%$EMACS%g
  794. Xs%@MAKE@%$MAKE%g
  795. Xs%@MKDIR@%$MKDIR%g
  796. Xs%@MV@%$MV%g
  797. Xs%@SED@%$SED%g
  798. Xs%@SH@%$SH%g
  799. Xs%@PROG_TAR@%$PROG_TAR%g
  800. Xs%@PROG_CMP@%$PROG_CMP%g
  801. Xs%@PROG_MOUNT_TFS@%$PROG_MOUNT_TFS%g
  802. Xs%@PROG_UMOUNT_TFS@%$PROG_UMOUNT_TFS%g
  803. Xs%@CONF_HAVE_TFS@%$CONF_HAVE_TFS%g
  804. Xs%@PROG_HOSTNAME@%$PROG_HOSTNAME%g
  805. Xs%@CONF_HAVE_HOSTNAME@%$CONF_HAVE_HOSTNAME%g
  806. Xs%@PROG_DOMAINNAME@%$PROG_DOMAINNAME%g
  807. Xs%@PROG_DOMAINAME@%$PROG_DOMAINAME%g
  808. Xs%@CONF_HAVE_DOMAINNAME@%$CONF_HAVE_DOMAINNAME%g
  809. Xs%@PROG_MAKEWHATIS@%$PROG_MAKEWHATIS%g
  810. Xs%@CONF_SYS_MAN_PATH@%$CONF_SYS_MAN_PATH%g
  811. Xs%@FIRST_CLASS@%$FIRST_CLASS%g
  812. Xs%@OTHER_CLASSES@%$OTHER_CLASSES%g
  813. Xs%@PREFIX@%$PREFIX%g
  814. Xs%@CONF_LANG_DEFAULT@%$CONF_LANG_DEFAULT%g
  815. Xs%@CONF_LANG_DEFAULT_ABREV@%$CONF_LANG_DEFAULT_ABREV%g
  816. Xs%@LANG_INFO@%$LANG_INFO%g
  817. Xs%@VERSION@%$VERSION%g
  818. Xs%@LIBS@%$LIBS%g
  819. Xs%@srcdir@%$srcdir%g
  820. Xs%@DEFS@%$DEFS%" $top_srcdir/${file}.in >> $file
  821. Xdone
  822. X
  823. END_OF_FILE
  824.   if test 2583 -ne `wc -c <'lude-1.1/src/orig/config.status'`; then
  825.     echo shar: \"'lude-1.1/src/orig/config.status'\" unpacked with wrong size!
  826.   fi
  827.   chmod +x 'lude-1.1/src/orig/config.status'
  828.   # end of 'lude-1.1/src/orig/config.status'
  829. fi
  830. if test -f 'lude-1.1/src/orig/configure.in' -a "${1}" != "-c" ; then 
  831.   echo shar: Will not clobber existing file \"'lude-1.1/src/orig/configure.in'\"
  832. else
  833.   echo shar: Extracting \"'lude-1.1/src/orig/configure.in'\" \(5256 characters\)
  834.   sed "s/^X//" >'lude-1.1/src/orig/configure.in' <<'END_OF_FILE'
  835. Xdnl Process this file with autoconf to produce a configure script.
  836. X
  837. Xdnl Add some things to the path, in case the user running this script
  838. Xdnl has an incomplete path
  839. XPATH=${PATH}:/usr/etc:/usr/lib:/usr/local/bin
  840. X
  841. XAC_INIT(lude.dir)
  842. X
  843. Xdnl --------------------------------------------------------
  844. XAC_PROGRAMS_CHECK(CAT, cat)
  845. XAC_PROGRAMS_CHECK(CHMOD, chmod)
  846. XAC_PROGRAMS_CHECK(COMPRESS, compress gzip)
  847. XAC_PROGRAMS_CHECK(CP, cp)
  848. XAC_PROGRAMS_CHECK(ECHO, echo)
  849. XAC_PROGRAMS_CHECK(EMACS, emacs xemacs lemacs)
  850. XAC_PROGRAMS_CHECK(MAKE, gnumake gmake make pmake)
  851. XAC_PROGRAMS_CHECK(MKDIR, mkdir)
  852. XAC_PROGRAMS_CHECK(MV, mv)
  853. XAC_PROGRAMS_CHECK(SED, sed)
  854. XAC_PROGRAMS_CHECK(SH, sh bash ksh)
  855. X
  856. XAC_PROGRAMS_CHECK(PROG_TAR,  gnutar gtar tar)
  857. Xif test -z "$PROG_TAR"; then
  858. X    echo " prog tar not found. aborting ..."
  859. X    exit 1;
  860. Xfi
  861. X
  862. Xdnl --------------------------------------------------------
  863. XAC_PROGRAMS_CHECK(PROG_CMP, cmp)
  864. Xif test -z "$PROG_CMP"; then
  865. X    echo You do not seem to have an equivalent to cmp. aborting...
  866. X    exit 1
  867. Xelse 
  868. X    if $PROG_CMP Makefile.in Makefile.in; then
  869. X        if $PROG_CMP Makefile.in COPYING >& /dev/null; then
  870. X            echo $PROG_CMP does not work as expected. aborting...
  871. X            exit 1
  872. X        else
  873. X            echo $PROG_CMP works as expected
  874. X        fi
  875. X    else
  876. X        echo $PROG_CMP does not work as expected. aborting...
  877. X        exit 1
  878. X    fi
  879. Xfi
  880. X
  881. Xdnl --------------------------------------------------------
  882. XAC_PROGRAMS_CHECK(PROG_MOUNT_TFS, mount_tfs)
  883. XAC_PROGRAMS_CHECK(PROG_UMOUNT_TFS, umount_tfs)
  884. XCONF_HAVE_TFS=0;
  885. Xif test -z "$PROG_MOUNT_TFS"; then
  886. X    echo "TFS doesn't seem to be supported on your system, but it's ok."
  887. Xelse
  888. X    CONF_HAVE_TFS=1;
  889. X    echo "TFS seems to be supported on your system."
  890. Xfi
  891. XAC_SUBST(CONF_HAVE_TFS)
  892. X
  893. Xdnl --------------------------------------------------------
  894. XAC_PROGRAMS_CHECK(PROG_HOSTNAME, hostname uname)
  895. XCONF_HAVE_HOSTNAME=0;
  896. Xif test -z "$PROG_HOSTNAME"; then
  897. X    echo "No way to identify the hostname"
  898. Xelse
  899. X    AC_DEFINE(CONF_HAVE_HOSTNAME, 1)
  900. X    case "$PROG_HOSTNAME" in
  901. X    hostname) 
  902. X        CONF_HAVE_HOSTNAME=1;  
  903. X        ;;
  904. X    uname) 
  905. X         CONF_HAVE_HOSTNAME=1;
  906. X        PROG_HOSTNAME='uname -n';
  907. X        ;;
  908. X    *)        ;; 
  909. X    esac
  910. Xfi
  911. XAC_SUBST(PROG_HOSTNAME)
  912. XAC_SUBST(CONF_HAVE_HOSTNAME)
  913. X
  914. Xdnl --------------------------------------------------------
  915. XAC_PROGRAMS_CHECK(PROG_DOMAINNAME, domainname)
  916. XCONF_HAVE_DOMAINNAME=0;
  917. Xif test -z "$PROG_DOMAINNAME"; then
  918. X    echo "No way to identify the domain name"
  919. Xelse
  920. X    case "$PROG_DOMAINNAME" in
  921. X    domainname)
  922. X        CONF_HAVE_DOMAINNAME=1;
  923. X        ;;
  924. X    *)      ;;
  925. X    esac
  926. Xfi
  927. XAC_SUBST(PROG_DOMAINAME)
  928. XAC_SUBST(CONF_HAVE_DOMAINNAME)
  929. X
  930. Xdnl --------------------------------------------------------
  931. XAC_PROGRAMS_CHECK(PROG_MAKEWHATIS, catman makewhatis)
  932. Xcase "$PROG_MAKEWHATIS" in
  933. Xcatman) PROG_MAKEWHATIS='catman -w -M'
  934. X    ;;
  935. X*makewhatis)
  936. X    ;;
  937. X*)    echo 'Did not find the application to rebuild the whatis database.'
  938. X    exit 1
  939. X    ;;
  940. Xesac
  941. XAC_SUBST(PROG_MAKEWHATIS)
  942. X
  943. Xdnl --------------------------------------------------------
  944. Xecho
  945. Xecho 'What is the path for you system manpaths?'
  946. Xecho 'This should not have local man (typicaly in /usr/local/man)'
  947. Xecho 'This should be a ':' seperated list [[/usr/man]]:'
  948. Xread CONF_SYS_MAN_PATH
  949. Xif test -z "$CONF_SYS_MAN_PATH"; then
  950. X    CONF_SYS_MAN_PATH='/usr/man'
  951. Xfi
  952. Xecho
  953. XAC_SUBST(CONF_SYS_MAN_PATH)
  954. X
  955. Xdnl --------------------------------------------------------
  956. XAC_FUNC_CHECK(symlink,
  957. X[echo  Your system seems to support symbolic links.] ,
  958. X[echo  Your system does not seem to support symbolic links.
  959. X  echo That is bad because you need it. Aborting...
  960. X  exit 1;] )
  961. X
  962. Xdnl --------------------------------------------------------
  963. Xecho
  964. Xecho 'What is the class of the current machine?:'
  965. Xread FIRST_CLASS
  966. Xecho
  967. XAC_SUBST(FIRST_CLASS)
  968. X
  969. Xdnl --------------------------------------------------------
  970. X
  971. Xecho
  972. Xecho 'What are the other classes that the current machine'
  973. Xecho 'can be identified with? (list of classes seprated'
  974. Xecho 'with blanks):'
  975. Xread OTHER_CLASSES
  976. Xecho
  977. XAC_SUBST(OTHER_CLASSES)
  978. X
  979. Xdnl --------------------------------------------------------
  980. Xecho
  981. Xecho 'What is the location where lude should be installed?'
  982. Xecho '(the path should be of the form:'
  983. Xecho '  /usr/local/soft/lude-someversion/run/somemod/somclass):'
  984. Xread PREFIX
  985. Xecho
  986. XAC_SUBST(PREFIX)
  987. X
  988. Xdnl --------------------------------------------------------
  989. Xecho
  990. Xecho 'What language do you want to be the default?'
  991. Xecho 'Possible choices are francais or english'
  992. Xecho '(francais|english) [[english]]'
  993. Xread CONF_LANG_DEFAULT
  994. Xif test -z "$CONF_LANG_DEFAULT"; then
  995. X    CONF_LANG_DEFAULT='english'
  996. Xfi
  997. Xcase "$CONF_LANG_DEFAULT" in
  998. Xfrancais) CONF_LANG_DEFAULT_ABREV='fra'
  999. X    ;;
  1000. Xenglish)  CONF_LANG_DEFAULT_ABREV='eng'
  1001. X    ;;
  1002. Xesac
  1003. Xecho
  1004. XAC_SUBST(CONF_LANG_DEFAULT)
  1005. XAC_SUBST(CONF_LANG_DEFAULT_ABREV)
  1006. X
  1007. Xdnl --------------------------------------------------------
  1008. Xecho
  1009. Xecho 'What language(s) of the documentation do you want?'
  1010. Xecho 'Possible choices are fra for version francaise, and'
  1011. Xecho 'eng for english version. You can specify one or more'
  1012. Xecho 'seperated with blanks ( fra | eng ) [[fra eng]]'
  1013. Xread LANG_INFO
  1014. Xif test -z "$LANG_INFO"; then
  1015. X    LANG_INFO='fra eng'
  1016. Xfi
  1017. Xecho
  1018. XAC_SUBST(LANG_INFO)
  1019. X
  1020. Xdnl --------------------------------------------------------
  1021. XVERSION=`cat lude-version`
  1022. XAC_SUBST(VERSION)
  1023. X
  1024. Xdnl --------------------------------------------------------
  1025. XAC_OUTPUT(Makefile src/Makefile src/config.pl info/Makefile lang/Makefile html/Makefile)
  1026. END_OF_FILE
  1027.   if test 5256 -ne `wc -c <'lude-1.1/src/orig/configure.in'`; then
  1028.     echo shar: \"'lude-1.1/src/orig/configure.in'\" unpacked with wrong size!
  1029.   fi
  1030.   # end of 'lude-1.1/src/orig/configure.in'
  1031. fi
  1032. if test -f 'lude-1.1/src/orig/dev.texinfo.UU' -a "${1}" != "-c" ; then 
  1033.   echo shar: Will not clobber existing file \"'lude-1.1/src/orig/dev.texinfo.UU'\"
  1034. else
  1035.   echo shar: Extracting \"'lude-1.1/src/orig/dev.texinfo.UU'\" \(5268 characters\)
  1036.   sed "s/^X//" >'lude-1.1/src/orig/dev.texinfo.UU' <<'END_OF_FILE'
  1037. Xbegin 644 lude-1.1/src/orig/dev.texinfo
  1038. XM7&9H>7!H"EQI;G!U="!T97AI;F9O(" @($!C("TJ+71E>&EN9F\M*BT*0&-O
  1039. XM;6UE;G0@)2HJ<W1A<G0@;V8@:&5A9&5R("A4:&ES(&ES(&9O<B!R=6YN:6YG
  1040. XM(%1E>&EN9F\@;VX@82!R96=I;VXN*0I 8V]M;65N=" M+2TM+2TM+2TM+2TM
  1041. XM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM
  1042. XM+2TM+0I 8V]M;65N=" D260Z(&1E=BYT97AI;F9O+'8@,2XS(#$Y.3,O,#,O
  1043. XM,3@@,34Z,S<Z,# @<V)O($5X<" D"D!C;VUM96YT("TM+2TM+2TM+2TM+2TM
  1044. XM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM
  1045. XM+2TM"D!S971F:6QE;F%M92!L=61E9&5V+FEN9F\*0'-E='1I=&QE($Q51$4Z
  1046. XM(&1O8W5M96YT871I;VX@<W5R(&QE(&3I=F5L;W!P96UE;G0*0&-O;6UE;G0@
  1047. XM)2HJ96YD(&]F(&AE861E<B H5&AI<R!I<R!F;W(@<G5N;FEN9R!497AI;F9O
  1048. XM(&]N(&$@<F5G:6]N+BD*0&-O;6UE;G0@+2TM+2TM+2TM+2TM+2TM+2TM+2TM
  1049. XM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2T*"@I 
  1050. XM:69T97@*0&9I;F%L;W5T"D!E;F0@:69T97@*"D!T:71L97!A9V4*7$!S<" Q
  1051. XM, I 8V5N=&5R($!T:71L969O;G1[3%5$13H@1&]C=6UE;G0@<W5R(&QE(&3I
  1052. XM=F5L;W!P96UE;G1]"D!S<" R"D!C96YT97(@4&%R.@I <W @,@I 8V5N=&5R
  1053. XM(%!I97)R92!,87!L86YT92 H;&%P;&%N=&5 0&-R:6TN8V$I"D!C96YT97(@
  1054. XM0V5N=')E(&1E(%)E8VAE<F-H92!);F9O<FUA=&EQ=64@9&4@36]N='+I86P*
  1055. XM0'-P(#(*0&-E;G1E<B!-:6-H96P@1&%G96YA:7,@*&1A9V5N86ES0$!V;'-I
  1056. XM+G!O;'EM=&PN8V$I"D!C96YT97(@16-O;&4@4&]L>71E8VAN:7%U92!D92!-
  1057. XM;VYT<NEA; I <W @,@I 8V5N=&5R(%)O8F5R="!'Z7)I;BU,86IO:64@*')G
  1058. XM;$! :7)O+G5M;VYT<F5A;"YC82D*0&-E;G1E<B!5;FEV97)S:73I(&1E($UO
  1059. XM;G1RZ6%L"D!S<" R"D!C96YT97(@4W3I<&AA;F4@0F]U8VAE<B H<V)O0$!V
  1060. XM;'-I+G!O;'EM=&PN8V$I"D!C96YT97(@16-O;&4@4&]L>71E8VAN:7%U92!D
  1061. XM92!-;VYT<NEA; I <W @,@I 8V5N=&5R(%9E<G-I;VX@9'4@;6%N=65L("12
  1062. XM979I<VEO;CH@,2XS("0*0'-P(#(*0&-E;G1E<B!697)S:6]N(&1U(&QO9VEC
  1063. XM:65L("5)3E-615)324].)0I <W @,@I 8V5N=&5R($-O<'ER:6=H="! 8V]P
  1064. XM>7)I9VAT>WT@,3DY,B!P87(@;&5S(&%U=&5U<G,*0&-E;G1E<B!#92!D;V-U
  1065. XM;65N="!P975T(.IT<F4@8V]P:>D@<V5L;VX@;&5S(&WJ;65S(&-O;F1I=&EO
  1066. XM;G,*0&-E;G1E<B!Q=64@;&4@;&]G:6-I96P@0'-A;7![;'5D97T@<74G:6P@
  1067. XM9.EC<FET+@H*0&5N9"!T:71L97!A9V4*"@I 8V]M;65N=" @+2TM+2TM+2TM
  1068. XM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2T*0&YO
  1069. XM9&4@5&]P+" L("AD:7(I+" H9&ER*0I 8V]M;65N=" @;F]D92UN86UE+" @
  1070. XM;F5X="P@('!R979I;W5S+" @=7 *"D!M96YU"@HJ(%-T86YD87)D.CH@(" @
  1071. XM(" @(" @(" @(" @(" @(%-T86YD87)D(&1E(&-O9&%G92!P;W5R(&QU9&4N
  1072. XM"BH@1F]N8W1I;VYS.CH)"0E&;VYC=&EO;G,@82 H;F4@<&%S*2!U=&EL:7-E
  1073. XM<BX**B!C;VYF:6<M<&PZ.B @(" @(" @(" @(" @(" @("!&:6-H:65R(&-O
  1074. XM;G1E;F%N="!L82!C;VYF:6=U<F%T:6]N(&1E<R!O=71I;',N"@I 96YD(&UE
  1075. XM;G4*"D!C;VUM96YT(" M+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM
  1076. XM+2TM+2TM+2TM+2TM+2TM+2TM+0I ;F]D92!3=&%N9&%R9"P@+" L(%1O< I 
  1077. XM8V]M;65N=" @;F]D92UN86UE+" @;F5X="P@('!R979I;W5S+" @=7 *"D!I
  1078. XM=&5M:7IE($!B=6QL970*0&ET96T*3&5S('9A<FEA8FQE<R!G;&]B86QE<R!D
  1079. XM;VEV96YT(&3I8G5T97(@<&%R('5N92!L971T<F4*;6%J=7-C=6QE+@H*0&ET
  1080. XM96T*3&5S('9A<FEA8FQE<R!L;V-A;&5S(&1O:79E;G0@9.EB=71E<B!P87(@
  1081. XM=6YE(&QE='1R90IM:6YU<V-U;&4N"@I :71E;0I,97,@;F]M<R!D92!F;VYC
  1082. XM=&EO;G,@9&]I=F5N="!D96)U=&5R('!A<B!U;F4@;6%J=7-C=6QE+"!E= IP
  1083. XM<NEFZ7)A8FQE;65N="P@8VAA<75E(&UO="!C;VUP;W-A;G0@;&4@;F]M(&1E
  1084. XM(&9O;F-T:6]N(&1O:70*875S<VD@9&5B=71E<B!P87(@=6YE(&UA:G5S8W5L
  1085. XM92X*"D!I=&5M"D1A;G,@;&$@;65S=7)E(&1U('!O<W-I8FQE+"!N)V%V;VER
  1086. XM('%U)W5N('!O:6YT(&0G96YT<NEE(&5T('5N"G!O:6YT(&1E('-O<G1I92!P
  1087. XM87(@9F]N8W1I;VXN"@I :71E;0I);"!F875T(.EV:71E<B!D92!T97)M:6YE
  1088. XM<B!L)V5XZ6-U=&EO;B!D)W5N('!R;V=R86UM92!A=0IM:6QI974@9&4@;"=E
  1089. XM>.EC=71I;VX@X"!L82!M;VEN9')E(&5R<F5U<BX*"D!I=&5M"DXG=71I;&ES
  1090. XM97(@<75E(&QA(&9O<FT@=')A9&ET:6]N;F5L(&1E<R!C;VYD:71I;VYN96QS
  1091. XM( HH92YG+B!I9B H*2![?2!E;'-I9B![?2!E;'-E('M]*2X@179I=&5R(&0G
  1092. XM=71I;&ES97(@9&5S('-T<G5C='5R97,@9'4*9V5N<F4Z('!R:6YT("(B(&EF
  1093. XM("@D>#T],2D[+"!O=2!E;F-O<F4@*"1X/3TQ*2 F)B!P<FEN=" B(BX*0V5L
  1094. XM82!R96YD<F$@;&4@8V]D92!P;'5S(&QI<VEB;&4N"@I :71E;0I!=2!D96)U
  1095. XM="!D92!C:&%Q=64@9F]N8W1I;VXL('9E<FEF:65R('%U92!L92!N;VUB<F4@
  1096. XM9&4@<&%R86UE=')E(&5S= IV86QI9&4N"@I 96YD(&ET96UI>F4*"@I 8V]M
  1097. XM;65N=" @+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM
  1098. XM+2TM+2TM+2TM+2T*0&YO9&4@1F]N8W1I;VYS+"!C;VYF:6<M<&PL(%-T86YD
  1099. XM87)D+"!4;W *0&-O;6UE;G0@(&YO9&4M;F%M92P@(&YE>'0L("!P<F5V:6]U
  1100. XM<RP@('5P"@I.92!P87,@=71I;&ES97(@;&$@9F]N8W1I;VX@8VAD:7(N( H*
  1101. XM571I;&ES97(@<&QU=&]T(&QA(&9O;F-T:6]N($-H1&ER(&9A:7-A;G0@<&%R
  1102. XM=&EE(&1E(&QU9&4N"@I5=&EL:7-E<B!.1D5R<F]R(&1A;G,@;&4@8V%S(&0G
  1103. XM97)R975R<R!.3TXM1D%404PN"@I5=&EL:7-E<B!&17)R;W(@9&%N<R!L92!C
  1104. XM87,@9"=E<G)E=7)S($9!5$%,+@H*0&-O;6UE;G0@("TM+2TM+2TM+2TM+2TM
  1105. XM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM"D!N;V1E(&-O
  1106. XM;F9I9RUP;"P@+"!&;VYC=&EO;G,L(%1O< I 8V]M;65N=" @;F]D92UN86UE
  1107. XM+" @;F5X="P@('!R979I;W5S+" @=7 *"DQE(&9I8VAI97(@9&4@8V]N9FEG
  1108. XM=7)A=&EO;B!D97,@87!P;&EC871I;VYS('!E<FP@<V4@<')E<V5N=&4*8V]M
  1109. XM;64@<W5I=#H*"D!I=&5M:7IE($!B=6QL970*0&ET96T*0'-T<F]N9WM04D]'
  1110. XM7SQC;VUM86YD93Y].B!);F1I<75E(&QE(&YO;2!D=2!P<F]G<F%M;64@<74G
  1111. XM:6P@9F%U= IE>.EC=71E<B!P;W5R(&5F9F5C='5E<B!U;F4@8V5R=&%I;F4@
  1112. XM8V]M;6%N9&4N"@I 97AA;7!L90HD4%)/1U]405(])W1A<B<["D!E;F0@97AA
  1113. XM;7!L90H*0&ET96T*0'-T<F]N9WM#3TY&7TA!5D5?/&9O;F-T/GTZ($EN9&EQ
  1114. XM=64@;&$@*&YO;BED:7-P;VYI8FEL:71E(&0G=6YE(&-E<G1A:6YE"F9O;F-T
  1115. XM:6]N;F%L:71E('-U<B!L92!S>7-TZ&UE(&]U(&QE<R!O=71I;',@<V]N="!I
  1116. XM;G-T86QLZ2X@0V5T=&4*9F]N8W1I;VYN86QI=.D@97-T(&)I96X@<W5R(&]P
  1117. XM=&EO;FYE;"X@56YE('9A;&5U<B!D92 Q(&EN9&EQ=64@;&$*9&ES<&]N:6)I
  1118. XM;&ETZ2P@970@=6YE('9A;&5U<B!D92 P(&EN9&EQ=64@;"=A8G-E;F-E(&1E
  1119. XM(&QA(&9O;F-T:6]N;F%L:73I+@H*0&5X86UP;&4*)$-/3D9?2$%615]41E,]
  1120. XM,3L*0&5N9"!E>&%M<&QE"@I 96YD(&ET96UI>F4*"D!C;VUM96YT(" M+2TM
  1121. XM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM
  1122. X'+0I 8GEE"BTM
  1123. Xend
  1124. END_OF_FILE
  1125.   if test 5268 -ne `wc -c <'lude-1.1/src/orig/dev.texinfo.UU'`; then
  1126.     echo shar: \"'lude-1.1/src/orig/dev.texinfo.UU'\" unpacked with wrong size!
  1127.   else
  1128.     echo shar: Uudecoding \"'lude-1.1/src/orig/dev.texinfo'\" \(3787 characters\)
  1129.     cat lude-1.1/src/orig/dev.texinfo.UU | uudecode
  1130.     if test 3787 -ne `wc -c <'lude-1.1/src/orig/dev.texinfo'`; then
  1131.       echo shar: \"'lude-1.1/src/orig/dev.texinfo'\" uudecoded with wrong size!
  1132.     else
  1133.       rm lude-1.1/src/orig/dev.texinfo.UU
  1134.     fi
  1135.   fi
  1136.   # end of 'lude-1.1/src/orig/dev.texinfo.UU'
  1137. fi
  1138. if test -f 'lude-1.1/src/orig/lang/ludeindex' -a "${1}" != "-c" ; then 
  1139.   echo shar: Will not clobber existing file \"'lude-1.1/src/orig/lang/ludeindex'\"
  1140. else
  1141.   echo shar: Extracting \"'lude-1.1/src/orig/lang/ludeindex'\" \(5073 characters\)
  1142.   sed "s/^X//" >'lude-1.1/src/orig/lang/ludeindex' <<'END_OF_FILE'
  1143. Xfrancais english
  1144. Xarray TEXT
  1145. XSEE_ALSO
  1146. X 0 Voir aussi
  1147. X 1 See also
  1148. XBAD_TYPE
  1149. X 0 type incorrect pour
  1150. X 1 incorrect type for
  1151. XBAD_ARGUMENT
  1152. X 0 argument incorrect
  1153. X 1 bad argument
  1154. XSOFT_INSTALLED
  1155. X 0 LISTE DES LOGICIELS INSTALLES
  1156. X 1 SOFTWARE PACKAGES AVAILABLE
  1157. XDIR_TITLE
  1158. X 0 REPERTOIRE DES LOGICIELS LUDE
  1159. X 1 MAIN LUDE DIRECTORY
  1160. XUSAGE_HELP
  1161. X 0 Utilisation:
  1162. X c  [-debug debuglevel] {ajuster le niveau de deverminage}
  1163. X c  [-help|-?] {pour avoir de l'aide}
  1164. X c  [-version|-full-version] {numero de version du logiciel}
  1165. X c  [-verbose] {imprime des messages informatifs sur le deroulement}
  1166. X c  [-catman] {mise a jour de l'index whatis pour les pages de manuel}
  1167. X c  [-pathcatman] {liste des repertoires vises par -catman}
  1168. X c  [-waisman] {mise a jour de la base de donnee WAIS pour les pages de manuel}
  1169. X c  [-pathwaisman] {liste des repertoires vises par -waisman}
  1170. X c  [-info] {mise a jour du menu principal pour les fichiers GNU info}
  1171. X c  [-pathinfo] {liste des repertoires vises par -info}
  1172. X c  [-wwwsoft] {genere des fichiers html WWW pour les logiciels lude}
  1173. X c  [-waissoft] {genere des fichiers WAIS pour les logiciels de lude}
  1174. X c  [-pathsoft] {liste des repertoires vises par -wwwsoft et -waissoft}
  1175. X c  [-all] {comme -catman -info -waisman -wwwsoft -waissoft}
  1176. X c  [-remotelink] {liens html vers la documentation meme pour les logiciels
  1177. X c                 qui ne sont pas installes localement}
  1178. X c  [-nowwwext] {ne pas ajouter .man et .info aux liens WWW 
  1179. X c               pour identification}
  1180. X c  [-portwww] {changer le port utilise pour le serveur WWW}
  1181. X c  [-portwais] {changer le port utilise pour le serveur WAIS}
  1182. X c  [-hostwww] {changer le nom de l'ordinateur utilise pour le serveur WWW}
  1183. X c  [-hostwais] {changer le nom de l'ordinateur utilise pour le serveur WAIS}
  1184. X 1 USAGE:
  1185. X c  [-debug debuglevel] {adjust the debugging level}
  1186. X c  [-help|-?] {get some help}
  1187. X c  [-version|-full-version] {get the version number of this program}
  1188. X c  [-verbose] {get informative messages during the execution}
  1189. X c  [-catman] {update the whatis database for the man pages}
  1190. X c  [-pathcatman] {list of paths used for option -catman}
  1191. X c  [-waisman] {update the WAIS database for the man pages}
  1192. X c  [-pathwaisman] {list of paths used for option -waisman}
  1193. X c  [-info] {update the main menu for GNU info files}
  1194. X c  [-pathinfo] {list of paths used for option -info}
  1195. X c  [-wwwsoft] {create HTML WWW files for Lude software packages}
  1196. X c  [-waissoft] {create WAIS data files for Lude software packages}
  1197. X c  [-pathsoft] {list of paths used for options -wwwsoft and -waissoft}
  1198. X c  [-all] {same as -catman -info -waisman -wwwsoft -waissoft}
  1199. X c  [-remotelink] {add html links to the documentation even for
  1200. X c                 non local Lude software packages}
  1201. X c  [-nowwwext] {do not add .man and .info to WWW links for identification
  1202. X c               purposes}
  1203. X c  [-portwww] {change the default port for the WWW server}
  1204. X c  [-portwais] {change the default port for the WAIS server}
  1205. X c  [-hostwww] {change the WWW server host name}
  1206. X c  [-hostwais] {change the WAIS server host name}
  1207. XBAD_MAN_DIR
  1208. X 0 est vide ou ne peut etre accede
  1209. X 1 is empty or cannot be accessed
  1210. XMAN_TO_DATE
  1211. X 0 est a jour
  1212. X 1 is up to date
  1213. XMAN_INDEXING
  1214. X 0 indexage des pages de manuel dans %s, %s a change
  1215. X 1 indexing man pages in %s, %s was modified
  1216. XIS_DONE
  1217. X 0 fait.
  1218. X 1 done.
  1219. XINFO_UPDATE
  1220. X 0 mise a jour du menu principal dans
  1221. X 1 updating the main menu in
  1222. XWAIS_TO_DATE
  1223. X 0 base de donnee WAIS a jour
  1224. X 1 WAIS database is up to date
  1225. XWAIS_MAN_BASE
  1226. X 0 construction de la base de donnee WAIS pour
  1227. X 1 constructing the WAIS database for
  1228. XNB_MAN_TOO_SMALL
  1229. X 0 %d pages de manuel ignorees, contenant moins de 80 caracteres
  1230. X 1 %d man pages were ignored, containing fewer than 80 characters
  1231. XIGNORING_FILE
  1232. X 0 le fichier suivant est ignore:
  1233. X 1 ignoring file
  1234. XHTML_UPDATING
  1235. X 0 mise a jour des fichiers HTML (WWW) pour les logiciels dans
  1236. X 1 updating HTML (WWW) files for software packages in
  1237. XHTML_UPDATING_MENU
  1238. X 0 construction du menu principal pour les fichiers HTML
  1239. X 1 constructing the main menu for HTML files
  1240. XSOFT_AVAILABILITY
  1241. X 0 CLASSES ET MODIFICATIONS DISPONIBLES
  1242. X 1 CLASSES AND MODIFICATIONS AVAILABLE
  1243. XCLASS_IS_LINKED
  1244. X 0 Le logiciel %s, modification %s, classe %s est disponible localement 
  1245. X 1 Software %s, modification %s, class %s is available locally
  1246. XCLASS_IS_LOCAL
  1247. X 0 Le logiciel %s, modification %s, classe %s est disponible localement dans %s
  1248. X 1 Software %s, modification %s, class %s is available locally in %s
  1249. XCLASS_ON_SERVER
  1250. X 0 Le logiciel %s, modification %s, classe %s est disponible sur le serveur %s 
  1251. X 1 Software %s, modification %s, class %s is available on server %s
  1252. XCLASS_ELSEWHERE
  1253. X 0 Le logiciel %s, modification %s, classe %s est disponible dans %s
  1254. X 1 Software %s, modification %s, class %s is available in %s
  1255. XWAIS_INDEXING
  1256. X 0 indexage des bases de donnees WAIS
  1257. X 1 indexing WAIS databases
  1258. XCANNOT_ACCESS
  1259. X 0 le fichier suivant ne peut etre accede
  1260. X 1 the following file cannot be accessed
  1261. Xarray FIELD
  1262. XUSAGE
  1263. X 0 UTILISATION:
  1264. X 1 USAGE:
  1265. XINSTALL
  1266. X 0 INSTALLATION:
  1267. X 1 INSTALL:
  1268. XDESCRIPTION
  1269. X 0 DOCUMENTATION:
  1270. X 1 DESCRIPTION:
  1271. XABSTRACT
  1272. X 0 RESUME:
  1273. X 1 ABSTRACT:
  1274. X
  1275. X
  1276. END_OF_FILE
  1277.   if test 5073 -ne `wc -c <'lude-1.1/src/orig/lang/ludeindex'`; then
  1278.     echo shar: \"'lude-1.1/src/orig/lang/ludeindex'\" unpacked with wrong size!
  1279.   fi
  1280.   # end of 'lude-1.1/src/orig/lang/ludeindex'
  1281. fi
  1282. if test -f 'lude-1.1/src/orig/src/fileutil.pl' -a "${1}" != "-c" ; then 
  1283.   echo shar: Will not clobber existing file \"'lude-1.1/src/orig/src/fileutil.pl'\"
  1284. else
  1285.   echo shar: Extracting \"'lude-1.1/src/orig/src/fileutil.pl'\" \(5290 characters\)
  1286.   sed "s/^X//" >'lude-1.1/src/orig/src/fileutil.pl' <<'END_OF_FILE'
  1287. X# fileutil - a library of functions to work on files and directories.
  1288. X# Copyright (C) 1992,1993 Stephane Boucher.
  1289. X#
  1290. X# This program is free software; you can redistribute it and/or modify
  1291. X# it under the terms of the GNU General Public License as published by
  1292. X# the Free Software Foundation; either version 1, or (at your option)
  1293. X# any later version.
  1294. X#
  1295. X# This program is distributed in the hope that it will be useful,
  1296. X# but WITHOUT ANY WARRANTY; without even the implied warranty of
  1297. X# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  1298. X# GNU General Public License for more details.
  1299. X#
  1300. X# You should have received a copy of the GNU General Public License
  1301. X# along with this program; if not, write to the Free Software
  1302. X# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  1303. X
  1304. X$FULL_VERSION.= '$Id: fileutil.pl,v 1.3 1993/03/17 14:56:43 sbo Exp $' ."\n";
  1305. X
  1306. X
  1307. X#-----------------------------------------------------------------------
  1308. X# Description : Delete the files given in parameters.
  1309. X#
  1310. X# Parameters  : $options - commands influencing the
  1311. X#                          behavior of the deletion process
  1312. X#                          This parameter is a string of letters
  1313. X#                          where each letter modifies the behavior.
  1314. X#                          Currently available:
  1315. X#                          'r' - recursive deletion.
  1316. X#               @files   - List of files to delete.
  1317. X#
  1318. X# Returns     : The number of files successfuly removed.
  1319. X#               A removed directory counts as one, even
  1320. X#               though the recursion process might have removed
  1321. X#               many others.
  1322. X#
  1323. Xsub RmFiles {
  1324. X    # Make sure that the number of parameters is correct
  1325. X    if(scalar(@_)<1){die "Incorrect Number Of Parameters, stopped";}
  1326. X    local($options, @files)=@_;
  1327. X    local($recursive)=0;    # Recursion off by default
  1328. X    local($remFiles)=0;        # So far, 0 file was removed
  1329. X
  1330. X    # Scan options
  1331. X    foreach $opt (split(//, $options)) {
  1332. X    if ($opt eq 'r') {
  1333. X        $recursive=1;
  1334. X    }
  1335. X    else {
  1336. X        die "Unknown option $opt, stopped";
  1337. X    }
  1338. X    }
  1339. X
  1340. X    stat('.');
  1341. X    if (-w _) {
  1342. X      foreach $f (@files) {
  1343. X    # The links should not be followed, so lstat is used
  1344. X    # instead of stat
  1345. X    lstat($f); 
  1346. X    if (-f _ || -l _) {
  1347. X      if (unlink($f)) {
  1348. X        $remFiles++;
  1349. X      }
  1350. X    }
  1351. X    elsif (-d _ && $recursive) {
  1352. X      local(*dir);
  1353. X      local($savedir)=&GetCwd();
  1354. X      local(@files);
  1355. X      # Number of files removed in the directory $f
  1356. X      local($dirRmFiles)=0;
  1357. X      
  1358. X      opendir(dir, $f);
  1359. X      @files=grep(!/^\.{1,2}$/, readdir(dir));
  1360. X      closedir(dir);
  1361. X        
  1362. X      if (! &ChDir($f)) {
  1363. X        # Can't change directory
  1364. X        # Ignore that file
  1365. X      }
  1366. X      else {
  1367. X        $dirRmFiles=&RmFiles($options, @files);
  1368. X        
  1369. X        # Go back to the previous current directory
  1370. X        &ChDir($savedir);
  1371. X        
  1372. X        # If all files in directory $f were removed...
  1373. X        if ($dirRmFiles == scalar(@files)) { 
  1374. X          # Remove the directory
  1375. X          if (rmdir($f)) {
  1376. X        $remFiles++;
  1377. X          }
  1378. X        }
  1379. X      }
  1380. X    }
  1381. X      }
  1382. X    }
  1383. X    else {
  1384. X      # Don't have write permission on the directory, so it will not
  1385. X      # be possible to remove anything.
  1386. X    }
  1387. X
  1388. X    return $remFiles;
  1389. X}
  1390. X
  1391. X#-----------------------------------------------------------------------
  1392. X# Find out what the current directory is
  1393. X#
  1394. X$libdir'CWD=`pwd`;
  1395. Xif ($? != 0) {
  1396. X    # The pwd command did not succeed.
  1397. X    # Let's try something else...
  1398. X    if (defined($ENV{'CWD'})) {
  1399. X        $libdir'CWD=$ENV{'CWD'};
  1400. X    }
  1401. X    else {
  1402. X      die "Could not find out what the current directory is, stopped";
  1403. X    }
  1404. X}
  1405. Xif ($libdir'CWD !~ m|^/|) {
  1406. X    die "CWD=\"$libdir'CWD\" Is Not an acceptable value\n" .
  1407. X        "The CWD should be an absolute path,\nstopped";
  1408. X}
  1409. X
  1410. X#-----------------------------------------------------------------------
  1411. X# Description : Same thing as the built in chdir
  1412. X#
  1413. X# Parameters  : Same thing as the built in chdir
  1414. X#
  1415. X# Returns     : Same thing that chdir would return.
  1416. X#               $! is also set the same way it would be if
  1417. X#               chdir was called.
  1418. X#
  1419. Xsub ChDir {
  1420. X    if(scalar(@_)!=1){die "Wrong Number Of Argument To ChDir, stopped";}
  1421. X    local($dir)=@_;
  1422. X    local($newdir);
  1423. X    local($retval)=0;
  1424. X
  1425. X    if ($dir eq '.') {
  1426. X    # Directory does not change
  1427. X    $newdir=$libdir'CWD;
  1428. X    }
  1429. X    else {
  1430. X        if ($dir =~ m|^/|) {
  1431. X            $newdir=$dir;
  1432. X        }
  1433. X        else {
  1434. X        $newdir="$libdir'CWD/$dir";
  1435. X        }
  1436. X    # Add a trailing '/' if none is present
  1437. X        if ($newdir !~ m|[/]$|) {
  1438. X            $newdir.='/';
  1439. X        }
  1440. X        # Remove path component before //
  1441. X        $newdir =~ s|^.*[/]([/].*)$|$1|;
  1442. X        # Remove ./
  1443. X        while($newdir =~ s|[/]\.[/]|/|) {}
  1444. X        # Remove something/../
  1445. X    while ($newdir =~ s|[/][^/]+[/]\.\.[/]|/|) {}
  1446. X        # Remove trailing '/'
  1447. X    chop($newdir);
  1448. X    }
  1449. X    if ($retval=chdir($newdir)) {
  1450. X        $libdir'CWD=$newdir;
  1451. X    }
  1452. X    # Note that $! is unchanged after chdir, so ChDir
  1453. X    # has the same functionnality as chdir.
  1454. X    return $retval;
  1455. X}
  1456. X
  1457. X#-----------------------------------------------------------------------
  1458. X# Description : Get the current working directory.
  1459. X#
  1460. X# Parameters  : none.
  1461. X#
  1462. X# Returns     : Return the current directory found.
  1463. X#
  1464. Xsub GetCwd {
  1465. X    if (scalar(@_)!=0) {
  1466. X    die "Wrong Number Of Argument To GetCwd, stopped";
  1467. X    }
  1468. X    return $libdir'CWD;
  1469. X}
  1470. X
  1471. X1;
  1472. X
  1473. X#     ;;; Local Variables: ***
  1474. X#     ;;; mode:perl ***
  1475. X#     ;;; End: ***
  1476. END_OF_FILE
  1477.   if test 5290 -ne `wc -c <'lude-1.1/src/orig/src/fileutil.pl'`; then
  1478.     echo shar: \"'lude-1.1/src/orig/src/fileutil.pl'\" unpacked with wrong size!
  1479.   fi
  1480.   # end of 'lude-1.1/src/orig/src/fileutil.pl'
  1481. fi
  1482. if test -f 'lude-1.1/src/orig/src/ludelang.pl' -a "${1}" != "-c" ; then 
  1483.   echo shar: Will not clobber existing file \"'lude-1.1/src/orig/src/ludelang.pl'\"
  1484. else
  1485.   echo shar: Extracting \"'lude-1.1/src/orig/src/ludelang.pl'\" \(4473 characters\)
  1486.   sed "s/^X//" >'lude-1.1/src/orig/src/ludelang.pl' <<'END_OF_FILE'
  1487. X# ludelang - Language support for project lude.
  1488. X
  1489. X# Copyright (C) 1992 Stephane Boucher.
  1490. X#
  1491. X# This program is free software; you can redistribute it and/or modify
  1492. X# it under the terms of the GNU General Public License as published by
  1493. X# the Free Software Foundation; either version 1, or (at your option)
  1494. X# any later version.
  1495. X#
  1496. X# This program is distributed in the hope that it will be useful,
  1497. X# but WITHOUT ANY WARRANTY; without even the implied warranty of
  1498. X# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  1499. X# GNU General Public License for more details.
  1500. X#
  1501. X# You should have received a copy of the GNU General Public License
  1502. X# along with this program; if not, write to the Free Software
  1503. X# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  1504. X
  1505. X$FULL_VERSION.= '$Id: ludelang.pl,v 1.2 1992/11/12 01:22:42 sbo Exp $' ."\n";
  1506. X
  1507. X#-----------------------------------------------------------------------
  1508. X# Description: 
  1509. X#
  1510. X# Parameters : 
  1511. X#
  1512. X# return     : Never return if error
  1513. X#
  1514. Xsub InitLang {
  1515. X    local($defaultLang, $langpath, $langfile, @argv)=@_; 
  1516. X    local($lang)=$defaultLang;
  1517. X    local($langidx);
  1518. X
  1519. X    # If env. var. LANGUAGE is defined, overide the
  1520. X    # default language.
  1521. X    if (defined($ENV{'LANGUAGE'})) {
  1522. X    $lang=$ENV{'LANGUAGE'};
  1523. X    }
  1524. X
  1525. X    # Overide $lang with the content of -language, if specified.
  1526. X    # Search for -language in the arguments
  1527. X    # And extract the value. If -language is not found,
  1528. X    # $lang will have the default language wich is english.
  1529. X    for ($idx=$[; $idx<scalar(@argv); $idx++) {
  1530. X    if ($argv[$idx] =~ m|^-language$|) {
  1531. X        $lang=$argv[$idx+1];
  1532. X        last;
  1533. X    }
  1534. X    }
  1535. X
  1536. X    # Search for the language file in $langpath
  1537. X    for $path (split(/:/, $langpath)) {
  1538. X    if (-r "$path/$langfile") {
  1539. X        local(*fp);
  1540. X        # Load the file containing the messages
  1541. X        # according to the chosen language
  1542. X        open(fp, "$path/$langfile");
  1543. X
  1544. X        # Get the index of the language that will be
  1545. X        # used to load the message file
  1546. X        chop($langline=<fp>);
  1547. X        if ($langline !~ m|\b$lang\b|) {
  1548. X        # Language specified not in list
  1549. X        # of available languages. Using english.
  1550. X        print STDERR "Warning: Language \"$lang\" not valid.\n";
  1551. X        printf STDERR ("Warning: Valid Choices Are \"%s\".\n", 
  1552. X                   join("\" \"",split(/\s+/, $langline)));
  1553. X        print STDERR "Warning: Using \"english\".\n";
  1554. X        $lang='english';
  1555. X        }
  1556. X        $langidx=0;
  1557. X        for $i (split(/\s+/, $langline)) {
  1558. X        last if ($i eq $lang);
  1559. X        $langidx++;
  1560. X        }
  1561. X
  1562. X        # Load the message file.
  1563. X        # Note that the file must be formatted correctly
  1564. X        # because no error checking is done so that
  1565. X        # the loading can be as fast as possible.
  1566. X        local($msgidx);
  1567. X        local($msgtype)=0;    # By default, use the var type
  1568. X        local($msgvarname);
  1569. X        local($varname);
  1570. X        local($accumulate)=0;
  1571. X        while(<fp>) {    
  1572. X        next if (m|^#|); # Comment Line. Skip it.
  1573. X        if (m|^var$|io) {
  1574. X            $msgtype=0;    # var type
  1575. X        }
  1576. X        elsif (m|^array\s+([^\s]+)$|io) {
  1577. X            $msgtype=1;    # Array type
  1578. X            $msgvarname=$1;
  1579. X        }
  1580. X        elsif (m|^assoc\s+([^\s]+)$|io) {
  1581. X            $msgtype=2;    # Assoc Array type
  1582. X            $msgvarname=$1;
  1583. X        }
  1584. X        # A line that starts with a non-blank
  1585. X        # contains an identifier for a message
  1586. X        elsif (m|^([^\s]+)$|o) {
  1587. X            $accumulate=1;
  1588. X            if ($msgtype==0) { # Var type
  1589. X            eval("\$$1=\"\"");
  1590. X            }
  1591. X            elsif ($msgtype==1) { # array type
  1592. X            eval("push(@$msgvarname,\"\");\$msgidx=\$$1=\$#$msgvarname;");
  1593. X            }
  1594. X            elsif ($msgtype==2) { # assoc type
  1595. X            $varname=$1;
  1596. X            eval("\$$msgvarname{\"$1\"}=\"\"");
  1597. X            }
  1598. X        }
  1599. X        # A line that start with ' c ' is
  1600. X        # the continuation of the previous line
  1601. X        elsif ($accumulate && m|^ c (.*)$|o) {
  1602. X            if ($msgtype==0) { # Var type
  1603. X            eval("\$$msgvarname.=\"\n$1\"");
  1604. X            }
  1605. X            elsif ($msgtype==1) { # array type
  1606. X            eval("\$$msgvarname[$msgidx].=\"\n$1\"");
  1607. X            }
  1608. X            elsif ($msgtype==2) { # assoc type
  1609. X            eval("\$$msgvarname{\"$varname\"}.=\"\n$1\"");
  1610. X            }
  1611. X        }
  1612. X        elsif (m|^ ([0-9]+) (.*)$|) {
  1613. X            if ($1 == $langidx) {
  1614. X            if ($msgtype==0) { # Var type
  1615. X                eval("\$$msgvarname=\"$2\"");
  1616. X            }
  1617. X            elsif ($msgtype==1) { # array type
  1618. X                eval("\$$msgvarname[$msgidx]=\"$2\"");
  1619. X            }
  1620. X            elsif ($msgtype==2) { # assoc type
  1621. X                eval("\$$msgvarname{\"$varname\"}=\"$2\"");
  1622. X            }
  1623. X            $accumulate=1;
  1624. X            }
  1625. X            else {
  1626. X            $accumulate=0;
  1627. X            }
  1628. X        }
  1629. X        }
  1630. X        close(fp);
  1631. X        return;
  1632. X    }
  1633. X    }
  1634. X    die "Could not find the messages file in $langpath, stopped";
  1635. X}
  1636. X
  1637. X#     ;;; Local Variables: ***
  1638. X#     ;;; mode:perl ***
  1639. X#     ;;; End: ***
  1640. END_OF_FILE
  1641.   if test 4473 -ne `wc -c <'lude-1.1/src/orig/src/ludelang.pl'`; then
  1642.     echo shar: \"'lude-1.1/src/orig/src/ludelang.pl'\" unpacked with wrong size!
  1643.   fi
  1644.   # end of 'lude-1.1/src/orig/src/ludelang.pl'
  1645. fi
  1646. if test -f 'lude-1.1/src/orig/src/ludelistinc' -a "${1}" != "-c" ; then 
  1647.   echo shar: Will not clobber existing file \"'lude-1.1/src/orig/src/ludelistinc'\"
  1648. else
  1649.   echo shar: Extracting \"'lude-1.1/src/orig/src/ludelistinc'\" \(4639 characters\)
  1650.   sed "s/^X//" >'lude-1.1/src/orig/src/ludelistinc' <<'END_OF_FILE'
  1651. X# ludelistinc - Project lude.
  1652. X# Copyright (C) 1992,1993 Stephane Boucher, Ecole Polytechnique de Montreal.
  1653. X#
  1654. X# This program is free software; you can redistribute it and/or modify
  1655. X# it under the terms of the GNU General Public License as published by
  1656. X# the Free Software Foundation; either version 1, or (at your option)
  1657. X# any later version.
  1658. X#
  1659. X# This program is distributed in the hope that it will be useful,
  1660. X# but WITHOUT ANY WARRANTY; without even the implied warranty of
  1661. X# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  1662. X# GNU General Public License for more details.
  1663. X#
  1664. X# You should have received a copy of the GNU General Public License
  1665. X# along with this program; if not, write to the Free Software
  1666. X# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  1667. X
  1668. X$FULL_VERSION.= '$Id: ludelistinc,v 1.4 1993/03/17 19:44:11 sbo Exp $' ."\n";
  1669. X
  1670. X#-----------------------------------------------------------------------
  1671. X#
  1672. X#    Local definitions
  1673. X#
  1674. X
  1675. Xsub LocalDef {
  1676. X
  1677. X    # Environnement
  1678. X    $ENV{'SHELL'} = '/bin/sh' if $ENV{'SHELL'} ne '';
  1679. X
  1680. X    # debug level
  1681. X    if (!defined($Debugvalue)) { $Debugvalue=$DEFAULTDEBUGLEVEL; }
  1682. X    
  1683. X    # get progname
  1684. X    $Progname=&BaseName($0);
  1685. X
  1686. X    $SHORT_LISTING=0; $LONG_LISTING=1; $RAW_LISTING=2;
  1687. X    $Server=$Software=$Modification="";
  1688. X    @SoftFound=();
  1689. X    $Listingtype=$SHORT_LISTING;
  1690. X}
  1691. X
  1692. X
  1693. Xsub ExecCommands {
  1694. X    local($retval)=1;        # Success by default
  1695. X
  1696. X    &List($Listingtype, @SoftFound);
  1697. X
  1698. X    return $retval;
  1699. X}
  1700. X
  1701. X
  1702. X#-----------------------------------------------------------------------
  1703. X#
  1704. X#    Initialisation
  1705. X#
  1706. X
  1707. Xsub Initialisation {
  1708. X    local($retval)=1;        # Success by default
  1709. X    local($displayVersion)=$FALSE;
  1710. X    local($displayFullVersion)=$FALSE;
  1711. X    
  1712. X    # Locals definitions
  1713. X    &LocalDef();
  1714. X    
  1715. X    # scan aguments
  1716. X    local($class_arg)       =&BldRegexpMinRqr("class", 1);
  1717. X    local($debug_arg)       =&BldRegexpMinRqr("debug", 1);
  1718. X    local($full_version_arg)=&BldRegexpMinRqr("full-version", 1);
  1719. X    local($help_arg)        =&BldRegexpMinRqr("help", 1);
  1720. X    local($language_arg)    ='language';
  1721. X    local($long_arg)        =&BldRegexpMinRqr("long", 2);
  1722. X    local($modification_arg)=&BldRegexpMinRqr("modification", 1);
  1723. X    local($raw_arg)         =&BldRegexpMinRqr("raw", 1);
  1724. X    local($server_arg)      =&BldRegexpMinRqr("server", 2);
  1725. X    local($short_arg)       =&BldRegexpMinRqr("short", 2);
  1726. X    local($software_arg)    =&BldRegexpMinRqr("software", 2);
  1727. X    local($version_arg)     =&BldRegexpMinRqr("version", 1);
  1728. X
  1729. X    while ($_=$ARGV[0],/^-/) {
  1730. X
  1731. X    last if (/^--$/);
  1732. X
  1733. X    shift(@ARGV);
  1734. X      
  1735. X    if (/^-$class_arg$/o)        { &Arg($_, *Class, '[\-\w+.]+'); }
  1736. X    elsif (/^-$debug_arg$/o)     { &Arg($_, *Debuglevel, '[0-9]+'); }
  1737. X    elsif (/^-$full_version_arg$/o) { $displayFullVersion=$TRUE; }
  1738. X    elsif (/^-($help_arg)|([?])$/o) { &Help; }
  1739. X        elsif (/^-$language_arg$/o)  { shift @ARGV; } # Just ignore it  
  1740. X    elsif (/^-$long_arg$/o)      { $Listingtype=$LONG_LISTING; }
  1741. X    elsif (/^-$modification_arg$/o) { 
  1742. X        &Arg($_, *Modification, '[\-\w+.]+'); 
  1743. X    }
  1744. X    elsif (/^-$raw_arg$/o)       { $Listingtype=$RAW_LISTING; }
  1745. X    elsif (/^-$server_arg$/o)    { &Arg($_, *Server, '([\-\w+.]+)|[/]'); }
  1746. X    elsif (/^-$short_arg$/o)     { $Listingtype=$SHORT_LISTING; }
  1747. X    elsif (/^-$version_arg$/o)   { $DisplayVersion=$TRUE; }
  1748. X    elsif (/^-$software_arg$/o)  { 
  1749. X        &Arg($_, *Software, '[\-\w+.]+'); 
  1750. X    }
  1751. X    else {
  1752. X        &Usage($INVALID_ARGUMENT, $_);
  1753. X    }
  1754. X    }
  1755. X
  1756. X    # Display the version immediately if requested
  1757. X    if ($DisplayVersion) {
  1758. X    print $OUT $VERSION ."\n";
  1759. X    }
  1760. X    # Display the full version (i.e. RCS revs) immediately if requested
  1761. X    if ($displayFullVersion) {
  1762. X    print $OUT $FULL_VERSION ."\n";
  1763. X    }
  1764. X
  1765. X    #
  1766. X    # Validation of the arguments
  1767. X    #
  1768. X    # Extra and invalid argument 
  1769. X    if ( $ARGV[0] ne "" ) { 
  1770. X    &Usage($INVALID_ARGUMENT, $ARGV[0]);
  1771. X    }
  1772. X
  1773. X    # -class with anything
  1774. X    # -debug with anything
  1775. X    # -long with anything
  1776. X    # -modification with anything
  1777. X    # -server with anything
  1778. X    # -short with anything
  1779. X    # -software with anything
  1780. X
  1781. X    # Find the default class if not already specified
  1782. X    local(@classes);
  1783. X    if ($Class eq '') {
  1784. X    @classes=split(/\s+/, `class -l`);
  1785. X    }
  1786. X    elsif ($Class eq 'all') {
  1787. X    # sub FindSoftware does not know about class=all.
  1788. X    # Instead, it takes class='' to indicate that all
  1789. X    # found classes are valid.
  1790. X    @classes=('');
  1791. X    }
  1792. X    else {
  1793. X    @classes=($Class);
  1794. X    }
  1795. X    
  1796. X    local($searchcmd)='sa';
  1797. X    local(@softs)=();
  1798. X    @softs=&FindSoftware($searchcmd, $Server, $Software, $Modification, @classes);
  1799. X    @SoftFound=sort SortSoftware @softs;
  1800. X
  1801. X    return $retval;
  1802. X}    
  1803. X
  1804. X1;
  1805. X
  1806. X#     ;;; Local Variables: ***
  1807. X#     ;;; mode:perl ***
  1808. X#     ;;; End: ***
  1809. END_OF_FILE
  1810.   if test 4639 -ne `wc -c <'lude-1.1/src/orig/src/ludelistinc'`; then
  1811.     echo shar: \"'lude-1.1/src/orig/src/ludelistinc'\" unpacked with wrong size!
  1812.   fi
  1813.   # end of 'lude-1.1/src/orig/src/ludelistinc'
  1814. fi
  1815. if test -f 'lude-1.1/src/orig/src/man2html' -a "${1}" != "-c" ; then 
  1816.   echo shar: Will not clobber existing file \"'lude-1.1/src/orig/src/man2html'\"
  1817. else
  1818.   echo shar: Extracting \"'lude-1.1/src/orig/src/man2html'\" \(4814 characters\)
  1819.   sed "s/^X//" >'lude-1.1/src/orig/src/man2html' <<'END_OF_FILE'
  1820. X#! /usr/local/bin/perl
  1821. X#
  1822. X# Program to convert the man pages into HTML World Wide Web format.
  1823. X# Copyright (C) 1993 Michel Dagenais
  1824. X#
  1825. X#
  1826. X# This file is part of Lude
  1827. X#
  1828. X# Lude is free software; you can redistribute it and/or modify
  1829. X# it under the terms of the GNU General Public License as published by
  1830. X# the Free Software Foundation; either version 2, or (at your option)
  1831. X# any later version.
  1832. X#
  1833. X# Lude is distributed in the hope that it will be useful,
  1834. X# but WITHOUT ANY WARRANTY; without even the implied warranty of
  1835. X# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  1836. X# GNU General Public License for more details.
  1837. X#
  1838. X# You should have received a copy of the GNU General Public License
  1839. X# along with Lude; see the file COPYING.  If not, write to
  1840. X# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
  1841. X#
  1842. X#
  1843. X##########################################################################
  1844. X#
  1845. X# This script expects a man page filename as argument. This filename
  1846. X# has an extra .man extension at the end to specify that it is a man page
  1847. X#
  1848. X
  1849. Xif ( $#ARGV != 0 ) {
  1850. X   print STDERR "man2html: wrong number of arguments (man2html filename)\n";
  1851. X   exit(1);
  1852. X }
  1853. X
  1854. X$_ = $ARGV[0];
  1855. X
  1856. X$prefix = '';
  1857. X$section = '';
  1858. X$name = '';
  1859. X$ext = '';
  1860. X
  1861. X($prefix,$section,$name,$ext) = 
  1862. X        /(.+\/)([^\/]+\/)([^\/]+)\.([^\.]+)\.man$/;
  1863. X
  1864. X
  1865. Xif ( $name eq '' ) {
  1866. X   print STDERR "man2html: filename $ARGV[0] could not be parsed\n";
  1867. X   print STDERR "valid filename example: /usr/local/man/man1/man2html.1.man\n";
  1868. X   exit(1);
  1869. X }
  1870. X
  1871. X#
  1872. X# Check if the file exists.
  1873. X#
  1874. X
  1875. X$found = 0;
  1876. X
  1877. Xif ( -e "$prefix$section$name.$ext" ) { 
  1878. X   $found = 1; 
  1879. X }
  1880. Xelse { 
  1881. X   $ext =~ tr/A-Z/a-z/;
  1882. X   if ( -e "$prefix$section$name.$ext" ) { $found = 1; }
  1883. X }
  1884. X
  1885. X#
  1886. X# check if similar files can be found
  1887. X#
  1888. X
  1889. Xif( $found == 0 ) {
  1890. X
  1891. X   if( $ext =~ /([0-9ln]).*/ ) { $num = $1; }
  1892. X   else { $num = "1"; }
  1893. X
  1894. X#
  1895. X# try variants for the extension, then for the prefix, then for the section
  1896. X#
  1897. X
  1898. X   $filelist = `ls $prefix$section$name.* 2>/dev/null`;
  1899. X
  1900. X   if( $filelist =~ /^\s*$/ ) {
  1901. X      $filelist = `ls ${prefix}man$num/$name.* 2>/dev/null`;
  1902. X    }
  1903. X
  1904. X   if( $filelist =~ /^\s*$/ ) {
  1905. X      $filelist = `ls /usr/man/man$num/$name.* 2>/dev/null`;
  1906. X    }
  1907. X
  1908. X   if( $filelist =~ /^\s*$/ ) {
  1909. X      $filelist = `ls /usr/local/man/man$num/$name.* 2>/dev/null`;
  1910. X    }
  1911. X
  1912. X   if( $filelist =~ /^\s*$/ ) {
  1913. X      $filelist = `ls /usr/man/man[nl]/$name.* 2>/dev/null`;
  1914. X    }
  1915. X
  1916. X   if( $filelist =~ /^\s*$/ ) {
  1917. X      $filelist = `ls /usr/local/man/man[nl]/$name.* 2>/dev/null`;
  1918. X    }
  1919. X
  1920. X   if( $filelist =~ /^\s*$/ ) {
  1921. X      $filelist = `ls ${prefix}man*/$name.* 2>/dev/null`;
  1922. X    }
  1923. X
  1924. X   if( $filelist =~ /^\s*$/ ) {
  1925. X      $filelist = `ls /usr/man/man*/$name.* 2>/dev/null`;
  1926. X    }
  1927. X
  1928. X   if( $filelist =~ /^\s*$/ ) {
  1929. X      $filelist = `ls /usr/local/man/man*/$name.* 2>/dev/null`;
  1930. X    }
  1931. X
  1932. X   if( $filelist =~ /^\s*$/ ) {
  1933. X      print STDERR "man2html: could not find file $prefix$section$name.$ext\n";
  1934. X      exit(1);
  1935. X    }
  1936. X
  1937. X#
  1938. X# We have found something. If more than one file was found, offer a menu.
  1939. X#
  1940. X
  1941. X   @files = split(/[\s\n]+/,$filelist);
  1942. X
  1943. X#   if( $#files == 0 ) { 
  1944. X#      ($prefix,$section,$name,$ext) = 
  1945. X#        ($files[0] =~ /(.+\/)([^\/]+\/)([^\/]+)\.([^\.]+)$/);
  1946. X#    }
  1947. X#   else {
  1948. X      print "<TITLE>$name</TITLE>\n";
  1949. X      print "\n<H2>MAN page $prefix$section$name.$ext was not found</H2>\n";
  1950. X      print "But other man pages with the same base name were found:\n";
  1951. X      print "\n<DL>\n";
  1952. X      foreach $filename (@files) {
  1953. X         ($prefix,$section,$name,$ext) = 
  1954. X        ($filename =~ /(.+\/)([^\/]+\/)([^\/]+)\.([^\.]+)$/);
  1955. X         print "<DT><A HREF=${filename}.man>$name.$ext</A><DD>  ($filename)\n";
  1956. X       }
  1957. X      print "</DL>\n";
  1958. X      exit(0);
  1959. X#    }
  1960. X }
  1961. X
  1962. X#
  1963. X# At this point we have a single file to process
  1964. X#
  1965. X
  1966. Xprint "<TITLE>$name</TITLE>\n<H1>$name($ext)</H1>\n";
  1967. Xprint "\n<PRE>\n";
  1968. X
  1969. Xchdir $prefix;
  1970. X
  1971. Xopen(MFILE, "nroff -man -Tcrt $prefix$section$name.$ext |")
  1972. X  || die "man2html: failing to execute nroff -man $prefix$section$name.$ext\n";
  1973. X
  1974. X#
  1975. X# eat up the first header
  1976. X#
  1977. X
  1978. Xwhile (<MFILE>) {
  1979. X    if( /^[A-Z]/ ) { last; }
  1980. X }
  1981. X
  1982. X#
  1983. X# process the rest of the file
  1984. X#
  1985. X
  1986. X$seealso = 0;
  1987. X
  1988. Xwhile (<MFILE>) {
  1989. X   s/_\010//go;
  1990. X
  1991. X#
  1992. X# remove the page numbering and eat up to next header
  1993. X#
  1994. X
  1995. X   if( /^[a-zA-Z].*change.*[\s]+.*[0-9]$/ ) {
  1996. X      while (<MFILE>) {
  1997. X     if( /^[A-Z]/ ) { last; }
  1998. X       }
  1999. X      next;
  2000. X    }
  2001. X
  2002. X#
  2003. X# process the headings
  2004. X#
  2005. X
  2006. X   if( /^[a-zA-Z]/ ) {
  2007. X      if( $seealso == 1 ) { $seealso = 0; }
  2008. X      else { print "\n</PRE>\n"; }
  2009. X
  2010. X      chop $_;
  2011. X      print "\n<H2>$_</H2>\n";
  2012. X
  2013. X      if( /^SEE ALSO/i ) { $seealso = 1; }
  2014. X      else { print "\n<PRE>\n"; }
  2015. X      next;
  2016. X    }
  2017. X
  2018. X   if ( $seealso == 1 ) {
  2019. X      s/([a-zA-Z][a-zA-Z0-9_\-]*)\(([0-9lnLN])([a-zA-Z0-9]*)\)/<A HREF=${prefix}man$2\/$1\.$2${3}.man>$1\($2$3\)<\/A>/g;
  2020. X    }
  2021. X   print;
  2022. X }
  2023. X
  2024. Xif( $seealso == 0 ) { print "\n</PRE>\n"; }
  2025. X
  2026. Xclose(MFILE);
  2027. Xexit(0);
  2028. X
  2029. X
  2030. X
  2031. END_OF_FILE
  2032.   if test 4814 -ne `wc -c <'lude-1.1/src/orig/src/man2html'`; then
  2033.     echo shar: \"'lude-1.1/src/orig/src/man2html'\" unpacked with wrong size!
  2034.   fi
  2035.   chmod +x 'lude-1.1/src/orig/src/man2html'
  2036.   # end of 'lude-1.1/src/orig/src/man2html'
  2037. fi
  2038. echo shar: End of archive 10 \(of 12\).
  2039. cp /dev/null ark10isdone
  2040. MISSING=""
  2041. for I in 1 2 3 4 5 6 7 8 9 10 11 12 ; do
  2042.     if test ! -f ark${I}isdone ; then
  2043.     MISSING="${MISSING} ${I}"
  2044.     fi
  2045. done
  2046. if test "${MISSING}" = "" ; then
  2047.     echo You have unpacked all 12 archives.
  2048.     rm -f ark[1-9]isdone ark[1-9][0-9]isdone
  2049. else
  2050.     echo You still must unpack the following archives:
  2051.     echo "        " ${MISSING}
  2052. fi
  2053. exit 0
  2054. exit 0 # Just in case...
  2055.