From: Kern Sibbald Date: Sun, 23 Mar 2014 14:35:13 +0000 (+0100) Subject: More updates to newfeatures X-Git-Tag: Release-7.0.0~8 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=ae96f5655c443e7aa8f6fdf0018b595ddaafbe4d;p=bacula%2Fdocs More updates to newfeatures --- diff --git a/docs/Makefile b/docs/Makefile index 7ffd9dc9..d97814ba 100644 --- a/docs/Makefile +++ b/docs/Makefile @@ -125,9 +125,6 @@ web: @echo "All manuals built ..." -bacula-web: - (cd bacula-web; make) - fr: french french: @@ -164,14 +161,13 @@ $(basedir)/$(VERNAME).lsm: LSM.in $(srcdir)/../autoconf/Make.common.in $(srcdir) clean: $(RMF) *~ 1 2 3 bacula-doc*.tar.gz - (cd bacula-web; make clean) find . -type l -exec rm {} \; @for I in ${all_dirs}; \ do (cd $$I; echo "==>Entering directory `pwd`"; ${MAKE} $@ || exit 1); done + (cd manuals/en/pdf-and-html; $(RMF) -r *.aux *.out *.idx *.toc *.cdx *.ddx *.fdx *.log *.sdx) mini-clean: $(RMF) *~ 1 2 3 bacula-doc*.tar.gz - (cd bacula-web; make clean) find . -type l -exec rm {} \; @for I in ${all_dirs}; \ do (cd $$I; echo "==>Entering directory `pwd`"; ${MAKE} $@ || exit 1); done @@ -183,7 +179,6 @@ distclean: clean $(RMF) -r CVS html-manual/CVS home-page/CVS techlogs/CVS $(RMF) -rf autom4te.cache bacula-doc-* config.log config.out $(RMF) -f config.status kernsconfig - (cd bacula-web; make distclean) @for I in ${all_dirs}; \ do (cd $$I; echo "==>Entering directory `pwd`"; ${MAKE} $@ || exit 1); done @echo "Removing the HTML directories..." diff --git a/docs/bacula-web/Makefile b/docs/bacula-web/Makefile deleted file mode 100644 index 587cc598..00000000 --- a/docs/bacula-web/Makefile +++ /dev/null @@ -1,101 +0,0 @@ -# -# -# Makefile for LaTeX -# -# To build everything do -# make tex -# make web -# make html -# make dvipdf -# -# or simply -# -# make -# - -IMAGES=../images - -first_rule: bacula - -bacula: tex web html dvipdf - -.SUFFIXES: .tex .html -.PHONY: -.DONTCARE: - - -tex: - @cp -fp ${IMAGES}/*.eps . - @cp -fp ${IMAGES}/hires/*.eps . - touch bacula-web.idx bacula-webi-general.tex - -latex -interaction=batchmode bacula-web.tex - makeindex bacula-web.idx >/dev/null 2>/dev/null - -latex -interaction=batchmode bacula-web.tex - -pdf: - @echo "Making bacula-web pdf manual" - @cp -fp ${IMAGES}/*.eps . - @cp -fp ${IMAGES}/hires/*.eps . - dvipdf bacula-web.dvi bacula-web.pdf - @rm -f *.eps *.old - -dvipdf: - @echo "Making bacula-web pdfm" - @cp -fp ${IMAGES}/*.eps . - @cp -fp ${IMAGES}/hires/*.eps . - dvipdfm -p a4 bacula-web.dvi - @rm -f *.eps *.old - -html: - @echo "Making bacula-web html manual" - @cp -fp ${IMAGES}/*.eps . - @cp -fp ${IMAGES}/hires/*.eps . - @rm -f next.eps next.png prev.eps prev.png up.eps up.png - @(if [ -e imagename_translations ] ; then \ - ./translate_images.pl --from_meaningful_names bacula-web.html; \ - fi) - latex2html -white -no_subdir -split 0 -toc_stars -white -notransparent \ - -init_file latex2html-init.pl bacula-web >tex.out 2>&1 - ./translate_images.pl --to_meaningful_names bacula-web.html - @rm -f *.gif *.jpg *.old - -web: - @echo "Making bacula-web web manual" - @mkdir -p bacula-web - @rm -f bacula-web/* - @cp -fp ${IMAGES}/*.eps . - @rm -f next.eps next.png prev.eps prev.png up.eps up.png - @cp -fp ${IMAGES}/*.eps ${IMAGES}/*.png bacula-web/ - @rm -f bacula-web/next.eps bacula-web/next.png bacula-web/prev.eps bacula-web/prev.png bacula-web/up.eps bacula-web/up.png - @(if [ -e bacula-web/imagename_translations ] ; then \ - ./translate_images.pl --to_meaningful_names bacula-web/Bacula_Users_Guide.html; \ - fi) - @rm -rf bacula-web/*.html - latex2html -split 4 -local_icons -t "Bacula-web Guide" -long_titles 4 \ - -contents_in_nav -toc_stars -white -notransparent bacula-web >/dev/null - ./translate_images.pl --to_meaningful_names bacula-web/Bacula_web_Guide.html - @cp -f bacula-web/Bacula_web_Guide.html bacula-web/index.html - @rm -f *.gif *.jpg bacula-web/*.eps *.old - -texcheck: - ./check_tex.pl bacula-web.tex - -main_configs: - pic2graph -density 100 main_configs.png - -clean: - @rm -f 1 2 3 - @rm -f *.png *.gif *.jpg *.eps - @rm -f *.pdf *.aux *.cp *.fn *.ky *.log *.pg - @rm -f *.html *.backup *.pdf *.ps *.dvi *.ilg *.lof *.lot - @rm -f *.cdx *.cnd *.ddx *.ddn *.fdx *.fnd *.ind *.sdx *.snd - @rm -f *.dnd imagename_translations - @rm -f *.old WARNINGS *.out *.toc *.idx - @rm -f images.pl labels.pl internals.pl - @rm -rf bacula-web - @rm -f images.tex bacula-webi-general.tex - - -distclean: clean - @rm -f images.tex bacula-webi-general.tex - @rm -f version.tex Makefile diff --git a/docs/bacula-web/bacula-web.css b/docs/bacula-web/bacula-web.css deleted file mode 100644 index d1824aff..00000000 --- a/docs/bacula-web/bacula-web.css +++ /dev/null @@ -1,30 +0,0 @@ -/* Century Schoolbook font is very similar to Computer Modern Math: cmmi */ -.MATH { font-family: "Century Schoolbook", serif; } -.MATH I { font-family: "Century Schoolbook", serif; font-style: italic } -.BOLDMATH { font-family: "Century Schoolbook", serif; font-weight: bold } - -/* implement both fixed-size and relative sizes */ -SMALL.XTINY { font-size : xx-small } -SMALL.TINY { font-size : x-small } -SMALL.SCRIPTSIZE { font-size : smaller } -SMALL.FOOTNOTESIZE { font-size : small } -SMALL.SMALL { } -BIG.LARGE { } -BIG.XLARGE { font-size : large } -BIG.XXLARGE { font-size : x-large } -BIG.HUGE { font-size : larger } -BIG.XHUGE { font-size : xx-large } - -/* heading styles */ -H1 { } -H2 { } -H3 { } -H4 { } -H5 { } - -/* mathematics styles */ -DIV.displaymath { } /* math displays */ -TD.eqno { } /* equation-number cells */ - - -/* document-specific styles come next */ diff --git a/docs/bacula-web/bacula-web.tex b/docs/bacula-web/bacula-web.tex deleted file mode 100644 index d0b2fa0a..00000000 --- a/docs/bacula-web/bacula-web.tex +++ /dev/null @@ -1,69 +0,0 @@ -%% -%% - -\documentclass[11pt,a4paper]{report} -\usepackage{html} -\usepackage{float} -\usepackage{graphicx} -\usepackage{bacula} -\usepackage{longtable} -\usepackage{makeidx} -\usepackage{index} -\usepackage{setspace} -\usepackage{hyperref} - - -\makeindex -\newindex{general}{idx}{ind}{General Index} - -\sloppy - -\begin{document} -\sloppy - -\newfont{\bighead}{cmr17 at 36pt} -\parskip 10pt -\parindent 0pt - -\title{\includegraphics{./bacula-logo.eps} \\ \bigskip - \begin{center} - \large{It comes in the night and sucks - the essence from your computers. } - \end{center} -} - -\author{Kern Sibbald} -\date{\vspace{1.0in}\today \\ - This manual documents Bacula-web version \input{version} \\ - The Bacula-web program was written by Juan Luis Frances\\ - \vspace{0.2in}\\ - Copyright \copyright 2005-2008, Free Software Foundation Europe e.V. - \\ - \vspace{0.2in}\\ - Permission is granted to copy, distribute and/or modify this document under the terms of the \\ - GNU Free Documentation License, Version 1.2 published by the Free Software Foundation; \\ - with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. \\ - A copy of the license is included in the section entitled "GNU Free Documentation License". -} - -\maketitle - -\clearpage -\tableofcontents -\clearpage -\listoffigures -\clearpage -\listoftables -\clearpage - -\include{general} -\include{fdl} - -% The following line tells link_resolver.pl to not include these files: -% nolinks developersi baculai-dir baculai-fd baculai-sd baculai-console baculai-main - -% pull in the index -\clearpage -\printindex - -\end{document} diff --git a/docs/bacula-web/bacula.perl b/docs/bacula-web/bacula.perl deleted file mode 100755 index de7a7e2c..00000000 --- a/docs/bacula-web/bacula.perl +++ /dev/null @@ -1,599 +0,0 @@ -# This file contains subroutines for use by the latex2html system. -# This file is executed due to a \usepackage{bacula} statement -# in the LaTeX source. The subroutines here impliment functionality -# specific to the generation of html manuals for the Bacula project. -# Some of the added functionality is designed to extend the capabiltites -# of latex2html and some is to change its behavior. - - -# Returns the minimum of any number of numeric arguments. -sub min { - my $tmp = shift; - while ($test = shift) { - $tmp = $test if ($test < $tmp); - } - return $tmp; -} - -# These two are copied from -# /usr/lib/latex2html/style/hthtml.perl, -# from the subroutine do_cmd_htmladdnormallink. -# They have been renamed, then removed the -# name argument and reversed the other two arguments. -sub do_cmd_elink{ - local($_) = @_; - local($text, $url, $href); - local($opt, $dummy) = &get_next_optional_argument; - $text = &missing_braces unless - ((s/$next_pair_pr_rx/$text = $2; ''/eo) - ||(s/$next_pair_rx/$text = $2; ''/eo)); - $url = &missing_braces unless - ((s/$next_pair_pr_rx/$url = $2; ''/eo) - ||(s/$next_pair_rx/$url = $2; ''/eo)); - $*=1; s/^\s+/\n/; $*=0; - $href = &make_href($url,$text); - print "\nHREF:$href" if ($VERBOSITY > 3); - join ('',$href,$_); -} - -sub do_cmd_ilink { - local($_) = @_; - local($text); - local($opt, $dummy) = &get_next_optional_argument; - $text = &missing_braces unless - ((s/$next_pair_pr_rx/$text = $2; ''/eo) - ||(s/$next_pair_rx/$text = $2; ''/eo)); - &process_ref($cross_ref_mark,$cross_ref_mark,$text); -} - -sub do_cmd_lt { join('',"\<",$_[0]); } -sub do_cmd_gt { join('',"\>",$_[0]); } - -# KEC Copied from latex2html.pl and modified to prevent -# filename collisions. This is done with a static hash of -# already-used filenames. An integer is appended to the -# filename if a collision would result without it. -# The addition of the integer is done by removing -# character(s) before .html if adding the integer would result -# in a filename longer than 32 characters. Usually just removing -# the character before .html would resolve the collision, but we -# add the integer anyway. The first integer that resolves the -# collision is used. -# If a filename is desired that is 'index.html' or any case -# variation of that, it is changed to index_page.html, -# index_page1.html, etc. - - -#RRM Extended to allow customised filenames, set $CUSTOM_TITLES -# or long title from the section-name, set $LONG_TITLES -# -{ my %used_names; # Static hash. -sub make_name { - local($sec_name, $packed_curr_sec_id) = @_; - local($title,$making_name,$saved) = ('',1,''); - my $final_name; - if ($LONG_TITLES) { - $saved = $_; - # This alerts the subroutine textohtmlindex not to increment its index counter on the next call. - &do_cmd_textohtmlindex("\001noincrement"); - &process_command($sections_rx, $_) if /^$sections_rx/; - $title = &make_bacula_title($TITLE) - unless ((! $TITLE) || ($TITLE eq $default_title)); - $_ = $saved; - } elsif ($CUSTOM_TITLES) { - $saved = $_; - # This alerts the subroutine textohtmlindex not to increment its index counter on the next call. - &do_cmd_textohtmlindex("\001noincrement"); - &process_command($sections_rx, $_) if /^$sections_rx/; - $title = &custom_title_hook($TITLE) - unless ((! $TITLE) || ($TITLE eq $default_title)); - $_ = $saved; - } - if ($title) { - #ensure no more than 32 characters, including .html extension - $title =~ s/^(.{1,27}).*$/$1/; - ++$OUT_NODE; - $final_name = join("", ${PREFIX}, $title, $EXTN); - } else { - # Remove 0's from the end of $packed_curr_sec_id - $packed_curr_sec_id =~ s/(_0)*$//; - $packed_curr_sec_id =~ s/^\d+$//o; # Top level file - $final_name = join("",($packed_curr_sec_id ? - "${PREFIX}$NODE_NAME". ++$OUT_NODE : $sec_name), $EXTN); - } - - # Change the name from index to index_page to avoid conflicts with - # index.html. - $final_name =~ s/^(index)\.html$/$1_Page.html/i; - - # If the $final_name is already used, put an integer before the - # # .html to make it unique. - my $integer = 0; - my $saved_name = $final_name; - while (exists($used_names{$final_name})) { - $final_name = $saved_name; - my ($filename,$ext) = $final_name =~ /(.*)(\..*)$/; - my $numlen = length(++$integer); - - # If the filename (after adding the integer) would be longer than - # 32 characters, insert the integer within it. - if (((my $namelen = length($final_name)) + $numlen) >= 32) { - substr($filename,-$numlen) = $integer; - } else { - $filename .= $integer; - } - $final_name = $filename . $ext; - } - - # Save the $final_name in the hash to mark it as being used. - $used_names{$final_name} = undef; - - # Save the first name evaluated here. This is the name of the top-level html file, and - # can be used to produce the index.html hard link at the end. - $OVERALL_TITLE = $final_name if (!defined $OVERALL_TITLE); - - return $final_name; -} -} - -sub make_bacula_title { - local($_)= @_; - local($num_words) = $LONG_TITLES; - #RRM: scan twice for short words, due to the $4 overlap - # Cannot use \b , else words break at accented letters - $_ =~ s/(^|\s)\s*($GENERIC_WORDS)(\'|(\s))/$4/ig; - $_ =~ s/(^|\s)\s*($GENERIC_WORDS)(\'|(\s))/$4/ig; - #remove leading numbering, unless that's all there is. - local($sec_num); - if (!(/^\d+(\.\d*)*\s*$/)&&(s/^\s*(\d+(\.\d*)*)\s*/$sec_num=$1;''/e)) - { $num_words-- }; - &remove_markers; s/<[^>]*>//g; #remove tags - #revert entities, etc. to TeX-form... - s/([\200-\377])/"\&#".ord($1).";"/eg; - $_ = &revert_to_raw_tex($_); - - # get $LONG_TITLES number of words from what remains - $_ = &get_bacula_words($_, $num_words) if ($num_words); - # ...and cleanup accents, spaces and punctuation - $_ = join('', ($SHOW_SECTION_NUMBERS ? $sec_num : ''), $_); - s/\\\W\{?|\}//g; - s/\s/_/g; - s/\'s/s/ig; # Replace 's with just the s. - s/\W/_/g; - s/__+/_/g; - s/_+$//; - $_; -} - - #JCL(jcl-tcl) - # changed completely - # KEC 2-21-05 Changed completely again. - # - # We take the first real words specified by $min from the string. - # REmove all markers and markups. - # Split the line into words. - # Determine how many words we should process. - # Return if no words to process. - # Determine lengths of the words. - # Reduce the length of the longest words in the list until the - # total length of all the words is acceptable. - # Put the words back together and return the result. - # -sub get_bacula_words { - local($_, $min) = @_; - local($words,$i); - local($id,%markup); - # KEC - my ($oalength,@lengths,$last,$thislen); - my $maxlen = 28; - - #no limit if $min is negative - $min = 1000 if ($min < 0); - - &remove_anchors; - #strip unwanted HTML constructs - s/<\/?(P|BR|H)[^>]*>/ /g; - #remove leading white space and \001 characters - s/^\s+|\001//g; - #lift html markup - s/(<[^>]*>(#[^#]*#)?)//ge; - - # Split $_ into a list of words. - my @wrds = split /\s+|\-{3,}/; - $last = &min($min - 1,$#wrds); - return '' if ($last < 0); - - # Get a list of word lengths up to the last word we're to process. - # Add one to each for the separator. - @lengths = map (length($_)+1,@wrds[0..$last]); - - $thislen = $maxlen + 1; # One more than the desired max length. - do { - $thislen--; - @lengths = map (&min($_,$thislen),@lengths); - $oalength = 0; - foreach (@lengths) {$oalength += $_;} - } until ($oalength <= $maxlen); - $words = join(" ",map (substr($wrds[$_],0,$lengths[$_]-1),0..$last)); - return $words; -} - -sub do_cmd_htmlfilename { - my $input = shift; - - my ($id,$filename) = $input =~ /^<#(\d+)#>(.*?)<#\d+#>/; -} - -# KEC 2-26-05 -# do_cmd_addcontentsline adds support for the addcontentsline latex command. It evaluates -# the arguments to the addcontentsline command and determines where to put the information. Three -# global lists are kept: for table of contents, list of tables, and list of figures entries. -# Entries are saved in the lists in the order they are encountered so they can be retrieved -# in the same order. -my (%toc_data); -sub do_cmd_addcontentsline { - &do_cmd_real_addcontentsline(@_); -} -sub do_cmd_real_addcontentsline { - my $data = shift; - my ($extension,$pat,$unit,$entry); - - # The data is sent to us as fields delimited by their ID #'s. Extract the - # fields. The first is the extension of the file to which the cross-reference - # would be written by LaTeX, such as {toc}, {lot} or {lof}. The second is either - # {section}, {subsection}, etc. for a toc entry, or , {table}, or {figure} - # for a lot, or lof extension (must match the first argument), and - # the third is the name of the entry. The position in the document represents - # and anchor that must be built to provide the linkage from the entry. - $extension = &missing_braces unless ( - ($data =~ s/$next_pair_pr_rx/$extension=$2;''/eo) - ||($data =~ s/$next_pair_rx/$extension=$2;''/eo)); - $unit = &missing_braces unless ( - ($data =~ s/$next_pair_pr_rx/$unit=$2;''/eo) - ||($data =~ s/$next_pair_rx/$unit=$2;''/eo)); - $entry = &missing_braces unless ( - ($data =~ s/$next_pair_pr_rx/$pat=$1;$entry=$2;''/eo) - ||($data =~ s/$next_pair_rx/$pat=$1;$entry=$2;''/eo)); - - $contents_entry = &make_contents_entry($extension,$pat,$entry,$unit); - return ($contents_entry . $data); -} - -# Creates and saves a contents entry (toc, lot, lof) to strings for later use, -# and returns the entry to be inserted into the stream. -# -sub make_contents_entry { - local($extension,$br_id, $str, $unit) = @_; - my $words = ''; - my ($thisref); - - # If TITLE is not yet available use $before. - $TITLE = $saved_title if (($saved_title)&&(!($TITLE)||($TITLE eq $default_title))); - $TITLE = $before unless $TITLE; - # Save the reference - if ($SHOW_SECTION_NUMBERS) { - $words = &get_first_words($TITLE, 1); - } else { - $words = &get_first_words($TITLE, 4); - } - $words = 'no title' unless $words; - - # - # any \label in the $str will have already - # created a label where the \addcontentsline occurred. - # This has to be removed, so that the desired label - # will be found on the toc page. - # - if ($str =~ /tex2html_anchor_mark/ ) { - $str =~ s/><\/A>]+)>$cross_ref_mark/ - do { ($label,$id) = ($1,$2); - $ref_label = $external_labels{$label} unless - ($ref_label = $ref_files{$label}); - '"' . "$ref_label#$label" . '">' . - &get_ref_mark($label,$id)} - /geo; - } - $str =~ s/<\#[^\#>]*\#>//go; - #RRM - # recognise \char combinations, for a \backslash - # - $str =~ s/\&\#;\'134/\\/g; # restore \\s - $str =~ s/\&\#;\`
/\\/g; # ditto - $str =~ s/\&\#;*SPMquot;92/\\/g; # ditto - - $thisref = &make_named_href('',"$CURRENT_FILE#$br_id",$str); - $thisref =~ s/\n//g; - - # Now we build the actual entry that will go in the lot and lof. - # If this is the first entry, we have to put a leading newline. - if ($unit eq 'table' ) { - if (!$table_captions) { $table_captions = "\n";} - $table_captions .= "
  • $thisref\n"; - } elsif ($unit eq 'figure') { - if (!$figure_captions) { $figure_captions = "\n"; } - $figure_captions .= "
  • $thisref\n"; - } - "$anchor_invisible_mark<\/A>"; -} - -# This is needed to keep latex2html from trying to make an image for the registered -# trademark symbol (R). This wraps the command in a deferred wrapper so it can be -# processed as a normal command later on. If this subroutine is not put in latex2html -# invokes latex to create an image for the symbol, which looks bad. -sub wrap_cmd_textregistered { - local($cmd, $_) = @_; - (&make_deferred_wrapper(1).$cmd.&make_deferred_wrapper(0),$_) -} - -# KEC -# Copied from latex2html.pl and modified to create a file of image translations. -# The problem is that latex2html creates new image filenames like imgXXX.png, where -# XXX is a number sequentially assigned. This is fine but makes for very unfriendly -# image filenames. I looked into changing this behavior and it seems very much embedded -# into the latex2html code, not easy to change without risking breaking something. -# So I'm taking the approach here to write out a file of image filename translations, -# to reference the original filenames from the new filenames. THis was post-processing -# can be done outside of latex2html to rename the files and substitute the meaningful -# image names in the html code generated by latex2html. This post-processing is done -# by a program external to latex2html. -# -# What we do is this: This subroutine is called to output images.tex, a tex file passed to -# latex to convert the original images to .ps. The string $latex_body contains info for -# each image file, in the form of a unique id and the orininal filename. We extract both, use -# the id is used to look up the new filename in the %id_map hash. The new and old filenames -# are output into the file 'filename_translations' separated by \001. -# -sub make_image_file { - do { - print "\nWriting image file ...\n"; - open(ENV,">.$dd${PREFIX}images.tex") - || die "\nCannot write '${PREFIX}images.tex': $!\n"; - print ENV &make_latex($latex_body); - print ENV "\n"; - close ENV; - ©_file($FILE, "bbl"); - ©_file($FILE, "aux"); - } if ((%latex_body) && ($latex_body =~ /newpage/)); -} - - -# KEC -# Copied from latex2html.pl and modified to create a file of image translations. - -# The problem is that latex2html creates new image filenames like imgXXX.png, where -# XXX is a number sequentially assigned. This is fine but makes for very unfriendly -# image filenames. I looked into changing this behavior and it seems very much embedded -# into the latex2html code, not easy to change without risking breaking something. -# So I'm taking the approach here to write out a file of image filename translations, -# to reference the original filenames from the new filenames. THis post-processing -# can be done outside of latex2html to rename the files and substitute the meaningful -# image names in the html code generated by latex2html. This post-processing is done -# by a program external to latex2html. -# -# What we do is this: This subroutine is called to output process images. Code has been inserted -# about 100 lines below this to create the list of filenames to translate. See comments there for -# details. -# - -# Generate images for unknown environments, equations etc, and replace -# the markers in the main text with them. -# - $cached_env_img maps encoded contents to image URL's -# - $id_map maps $env$id to page numbers in the generated latex file and after -# the images are generated, maps page numbers to image URL's -# - $page_map maps page_numbers to image URL's (temporary map); -# Uses global variables $id_map and $cached_env_img, -# $new_page_num and $latex_body - - -sub make_images { - local($name, $contents, $raw_contents, $uucontents, $page_num, - $uucontents, %page_map, $img); - # It is necessary to run LaTeX this early because we need the log file - # which contains information used to determine equation alignment - if ( $latex_body =~ /newpage/) { - print "\n"; - if ($LATEX_DUMP) { - # dump a pre-compiled format - if (!(-f "${PREFIX}images.fmt")) { - print "$INILATEX ./${PREFIX}images.tex\n" - if (($DEBUG)||($VERBOSITY > 1)); - print "dumping ${PREFIX}images.fmt\n" - unless ( L2hos->syswait("$INILATEX ./${PREFIX}images.tex")); - } - local ($img_fmt) = (-f "${PREFIX}images.fmt"); - if ($img_fmt) { - # use the pre-compiled format - print "$TEX \"&./${PREFIX}images\" ./${PREFIX}images.tex\n" - if (($DEBUG)||($VERBOSITY > 1)); - L2hos->syswait("$TEX \"&./${PREFIX}images\" ./${PREFIX}images.tex"); - } elsif (-f "${PREFIX}images.dvi") { - print "${PREFIX}images.fmt failed, proceeding anyway\n"; - } else { - print "${PREFIX}images.fmt failed, trying without it\n"; - print "$LATEX ./${PREFIX}images.tex\n" - if (($DEBUG)||($VERBOSITY > 1)); - L2hos->syswait("$LATEX ./${PREFIX}images.tex"); - } - } else { &make_latex_images() } -# local($latex_call) = "$LATEX .$dd${PREFIX}images.tex"; -# print "$latex_call\n" if (($DEBUG)||($VERBOSITY > 1)); -# L2hos->syswait("$latex_call"); -## print "$LATEX ./${PREFIX}images.tex\n" if (($DEBUG)||($VERBOSITY > 1)); -## L2hos->syswait("$LATEX ./${PREFIX}images.tex"); -## } - $LaTeXERROR = 0; - &process_log_file("./${PREFIX}images.log"); # Get image size info - } - if ($NO_IMAGES) { - my $img = "image.$IMAGE_TYPE"; - my $img_path = "$LATEX2HTMLDIR${dd}icons$dd$img"; - L2hos->Copy($img_path, ".$dd$img") - if(-e $img_path && !-e $img); - } - elsif ((!$NOLATEX) && ($latex_body =~ /newpage/) && !($LaTeXERROR)) { - print "\nGenerating postscript images using dvips ...\n"; - &make_tmp_dir; # sets $TMPDIR and $DESTDIR - $IMAGE_PREFIX =~ s/^_//o if ($TMPDIR); - - local($dvips_call) = - "$DVIPS -S1 -i $DVIPSOPT -o$TMPDIR$dd$IMAGE_PREFIX .${dd}${PREFIX}images.dvi\n"; - print $dvips_call if (($DEBUG)||($VERBOSITY > 1)); - - if ((($PREFIX=~/\./)||($TMPDIR=~/\./)) && not($DVIPS_SAFE)) { - print " *** There is a '.' in $TMPDIR or $PREFIX filename;\n" - . " dvips will fail, so image-generation is aborted ***\n"; - } else { - &close_dbm_database if $DJGPP; - L2hos->syswait($dvips_call) && print "Error: $!\n"; - &open_dbm_database if $DJGPP; - } - - # append .ps suffix to the filenames - if(opendir(DIR, $TMPDIR || '.')) { - # use list-context instead; thanks De-Wei Yin - my @ALL_IMAGE_FILES = grep /^$IMAGE_PREFIX\d+$/o, readdir(DIR); - foreach (@ALL_IMAGE_FILES) { - L2hos->Rename("$TMPDIR$dd$_", "$TMPDIR$dd$_.ps"); - } - closedir(DIR); - } else { - print "\nError: Cannot read dir '$TMPDIR': $!\n"; - } - } - do {print "\n\n*** LaTeXERROR"; return()} if ($LaTeXERROR); - return() if ($LaTeXERROR); # empty .dvi file - L2hos->Unlink(".$dd${PREFIX}images.dvi") unless $DEBUG; - - print "\n *** updating image cache\n" if ($VERBOSITY > 1); - while ( ($uucontents, $_) = each %cached_env_img) { - delete $cached_env_img{$uucontents} - if ((/$PREFIX$img_rx\.$IMAGE_TYPE/o)&&!($DESTDIR&&$NO_SUBDIR)); - $cached_env_img{$uucontents} = $_ - if (s/$PREFIX$img_rx\.new/$PREFIX$1.$IMAGE_TYPE/go); - } - - # Modified from the original latex2html to translate image filenames to meaningful ones. - # KEC 5-22-05. - print "\nWriting imagename_translations file\n"; - open KC,">imagename_translations" or die "Cannot open filename translation file for writing"; - my ($oldname_kc,$newname_kc,$temp_kc,%done_kc); - while ((undef,$temp_kc) = each %id_map) { - # Here we generate the file containing the list if old and new filenames. - # The old and new names are extracted from variables in scope at the time - # this is run. The values of the %id_map has contain either the number of the - # image file to be created (if an old image file doesn't exist) or the tag to be placed - # inside the html file (if an old image file does exist). We extract the info in either - # case. - if ($temp_kc =~ /^\d+\#\d+$/) { - my $kcname; - $kcname = $orig_name_map{$temp_kc}; - $kcname =~ s/\*/star/; - ($oldname_kc) = $img_params{$kcname} =~ /ALT=\"\\includegraphics\{(.*?)\}/s; - ($newname_kc) = split (/#/,$temp_kc); - $newname_kc = "img" . $newname_kc . ".png"; - } else { - ($newname_kc,$oldname_kc) = $temp_kc =~ /SRC=\"(.*?)\".*ALT=\"\\includegraphics\{(.*?)\}/s; - } - # If this is a math-type image, $oldname_kc will be blank. Don't do anything in that case since - # there is no meaningful image filename. - if (!exists($done_kc{$newname_kc}) and $oldname_kc) { - print KC "$newname_kc\001$oldname_kc\n"; - } - $done_kc{$newname_kc} = ''; - } - close KC; - - print "\n *** removing unnecessary images ***\n" if ($VERBOSITY > 1); - while ( ($name, $page_num) = each %id_map) { - $contents = $latex_body{$name}; - - if ($page_num =~ /^\d+\#\d+$/) { # If it is a page number - do { # Extract the page, convert and save it - $img = &extract_image($page_num,$orig_name_map{$page_num}); - if ($contents =~ /$htmlimage_rx/) { - $uucontents = &special_encoding($env,$2,$contents); - } elsif ($contents =~ /$htmlimage_pr_rx/) { - $uucontents = &special_encoding($env,$2,$contents); - } else { - $uucontents = &encode(&addto_encoding($contents,$contents)); - } - if (($HTML_VERSION >=3.2)||!($contents=~/$order_sensitive_rx/)){ - $cached_env_img{$uucontents} = $img; - } else { - # Blow it away so it is not saved for next time - delete $cached_env_img{$uucontents}; - print "\nimage $name not recycled, contents may change (e.g. numbering)"; - } - $page_map{$page_num} = $img; - } unless ($img = $page_map{$page_num}); # unless we've just done it - $id_map{$name} = $img; - } else { - $img = $page_num; # it is already available from previous runs - } - print STDOUT " *** image done ***\n" if ($VERBOSITY > 2); - } - &write_warnings( - "\nOne of the images is more than one page long.\n". - "This may cause the rest of the images to get out of sync.\n\n") - if (-f sprintf("%s%.3d%s", $IMAGE_PREFIX, ++$new_page_num, ".ps")); - print "\n *** no more images ***\n" if ($VERBOSITY > 1); - # MRO: The following cleanup seems to be incorrect: The DBM is - # still open at this stage, this causes a lot of unlink errors - # - #do { &cleanup; print "\n *** clean ***\n" if ($VERBOSITY > 1);} - # unless $DJGPP; -} - -## KEC: Copied &text_cleanup here to modify it. It was filtering out double -# dashes such as {-}{-}sysconfig. This would be used as an illustration -# of a command-line arguement. It was being changed to a single dash. - -# This routine must be called once on the text only, -# else it will "eat up" sensitive constructs. -sub text_cleanup { - # MRO: replaced $* with /m - s/(\s*\n){3,}/\n\n/gom; # Replace consecutive blank lines with one - s/<(\/?)P>\s*(\w)/<$1P>\n$2/gom; # clean up paragraph starts and ends - s/$O\d+$C//go; # Get rid of bracket id's - s/$OP\d+$CP//go; # Get rid of processed bracket id's - # KEC: This is the line causing trouble... - #s/()?/(length($1) || length($2)) ? "$1--$2" : "-"/ge; - s/()?/(length($1) || length($2)) ? "$1--$2" : $&/ge; - # Spacing commands - s/\\( |$)/ /go; - #JKR: There should be no more comments in the source now. - #s/([^\\]?)%/$1/go; # Remove the comment character - # Cannot treat \, as a command because , is a delimiter ... - s/\\,/ /go; - # Replace tilde's with non-breaking spaces - s/ *~/ /g; - - ### DANGEROUS ?? ### - # remove redundant (not

    ) empty tags, incl. with attributes - s/\n?<([^PD >][^>]*)>\s*<\/\1>//g; - s/\n?<([^PD >][^>]*)>\s*<\/\1>//g; - # remove redundant empty tags (not

    or or ) - s/<\/(TT|[^PTH][A-Z]+)><\1>//g; - s/<([^PD ]+)(\s[^>]*)?>\n*<\/\1>//g; - - -#JCL(jcl-hex) -# Replace ^^ special chars (according to p.47 of the TeX book) -# Useful when coming from the .aux file (german umlauts, etc.) - s/\^\^([^0-9a-f])/chr((64+ord($1))&127)/ge; - s/\^\^([0-9a-f][0-9a-f])/chr(hex($1))/ge; -} - - - - -1; # Must be present as the last line. - diff --git a/docs/bacula-web/bacula.sty b/docs/bacula-web/bacula.sty deleted file mode 100644 index 5dc91583..00000000 --- a/docs/bacula-web/bacula.sty +++ /dev/null @@ -1,66 +0,0 @@ -%% bacula.sty -%% Provides macros and other stuff for the bacula manual -%% -%% Original Creation -- K. Cunningham 2005-01-09 -%% -%% -%% -%% New Commands Currently implemented: -%% -%% \elink{target}{text} -%% Inserts the text indicated (highlighted) and provides -%% an external hyperlink to the target. -%% -%% -%% \ilink{target}{text} -%% Inserts the text indicated (highlighted) and provides -%% an internal hyperlink to the target. Target must be a -%% \label somewhere in the same document. -%% -%% \lt -%% Inserts a less-than character (<). -%% -%% \gt -%% Inserts a greater-than character (>). -%% -%% -\ProvidesPackage{bacula}[2005/01/09] -%% -%% -\newcommand*{\elink}[2]{% - \htmladdnormallink{#1}{#2}% -} -%% -\newcommand*{\ilink}[2]{% - \htmlref{#1}{#2}% -} -%% -\newcommand{\lt}{$<$} -\newcommand{\gt}{$>$} - -%% copied from /usr/share/texmf/tex/latex/base/book.cls, and -%% modified to suit. KEC 4-28-05 -%% KEC: Removed the two-column arrangement, and added \newpage -\renewenvironment{theindex} - {\if@twocolumn - \@restonecolfalse - \else - \@restonecoltrue - \fi -%% KEC: Switch to one column. -%% \columnseprule \z@ -%% \columnsep 35\p@ -%% \twocolumn[\@makeschapterhead{\indexname}]% - \@mkboth{\MakeUppercase\indexname}% - {\MakeUppercase\indexname}% - \clearpage - \subsection*{\indexname} - \addcontentsline{toc}{subsection}{\indexname} - \thispagestyle{plain}\parindent\z@ - \parskip\z@ \@plus .3\p@\relax - \let\item\@idxitem} - {\if@restonecol\onecolumn\else\clearpage\fi} %% Is this needed??? - -%% -\endinput -%% diff --git a/docs/bacula-web/check_tex.pl b/docs/bacula-web/check_tex.pl deleted file mode 100755 index e12d51be..00000000 --- a/docs/bacula-web/check_tex.pl +++ /dev/null @@ -1,152 +0,0 @@ -#!/usr/bin/perl -w -# Finds potential problems in tex files, and issues warnings to the console -# about what it finds. Takes a list of files as its only arguments, -# and does checks on all the files listed. The assumption is that these are -# valid (or close to valid) LaTeX files. It follows \include statements -# recursively to pick up any included tex files. -# -# -# -# Currently the following checks are made: -# -# -- Multiple hyphens not inside a verbatim environment (or \verb). These -# should be placed inside a \verb{} contruct so they will not be converted -# to single hyphen by latex and latex2html. - - -# Original creation 3-8-05 by Karl Cunningham karlc -at- keckec -dot- com -# -# - -use strict; - -# The following builds the test string to identify and change multiple -# hyphens in the tex files. Several constructs are identified but only -# multiple hyphens are changed; the others are fed to the output -# unchanged. -my $b = '\\\\begin\\*?\\s*\\{\\s*'; # \begin{ -my $e = '\\\\end\\*?\\s*\\{\\s*'; # \end{ -my $c = '\\s*\\}'; # closing curly brace - -# This captures entire verbatim environments. These are passed to the output -# file unchanged. -my $verbatimenv = $b . "verbatim" . $c . ".*?" . $e . "verbatim" . $c; - -# This captures \verb{..{ constructs. They are passed to the output unchanged. -my $verb = '\\\\verb\\*?(.).*?\\1'; - -# This captures multiple hyphens with a leading and trailing space. These are not changed. -my $hyphsp = '\\s\\-{2,}\\s'; - -# This identifies other multiple hyphens. -my $hyphens = '\\-{2,}'; - -# This identifies \hyperpage{..} commands, which should be ignored. -my $hyperpage = '\\\\hyperpage\\*?\\{.*?\\}'; - -# This builds the actual test string from the above strings. -#my $teststr = "$verbatimenv|$verb|$tocentry|$hyphens"; -my $teststr = "$verbatimenv|$verb|$hyphsp|$hyperpage|$hyphens"; - - -sub get_includes { - # Get a list of include files from the top-level tex file. The first - # argument is a pointer to the list of files found. The rest of the - # arguments is a list of filenames to check for includes. - my $files = shift; - my ($fileline,$includefile,$includes); - - while (my $filename = shift) { - # Get a list of all the html files in the directory. - open my $if,"<$filename" or die "Cannot open input file $filename\n"; - $fileline = 0; - $includes = 0; - while (<$if>) { - chomp; - $fileline++; - # If a file is found in an include, process it. - if (($includefile) = /\\include\s*\{(.*?)\}/) { - $includes++; - # Append .tex to the filename - $includefile .= '.tex'; - - # If the include file has already been processed, issue a warning - # and don't do it again. - my $found = 0; - foreach (@$files) { - if ($_ eq $includefile) { - $found = 1; - last; - } - } - if ($found) { - print "$includefile found at line $fileline in $filename was previously included\n"; - } else { - # The file has not been previously found. Save it and - # recursively process it. - push (@$files,$includefile); - get_includes($files,$includefile); - } - } - } - close IF; - } -} - - -sub check_hyphens { - my (@files) = @_; - my ($filedata,$this,$linecnt,$before); - - # Build the test string to check for the various environments. - # We only do the conversion if the multiple hyphens are outside of a - # verbatim environment (either \begin{verbatim}...\end{verbatim} or - # \verb{--}). Capture those environments and pass them to the output - # unchanged. - - foreach my $file (@files) { - # Open the file and load the whole thing into $filedata. A bit wasteful but - # easier to deal with, and we don't have a problem with speed here. - $filedata = ""; - open IF,"<$file" or die "Cannot open input file $file"; - while () { - $filedata .= $_; - } - close IF; - - # Set up to process the file data. - $linecnt = 1; - - # Go through the file data from beginning to end. For each match, save what - # came before it and what matched. $filedata now becomes only what came - # after the match. - # Chech the match to see if it starts with a multiple-hyphen. If so - # warn the user. Keep track of line numbers so they can be output - # with the warning message. - while ($filedata =~ /$teststr/os) { - $this = $&; - $before = $`; - $filedata = $'; - $linecnt += $before =~ tr/\n/\n/; - - # Check if the multiple hyphen is present outside of one of the - # acceptable constructs. - if ($this =~ /^\-+/) { - print "Possible unwanted multiple hyphen found in line ", - "$linecnt of file $file\n"; - } - $linecnt += $this =~ tr/\n/\n/; - } - } -} -################################################################## -# MAIN #### -################################################################## - -my (@includes,$cnt); - -# Examine the file pointed to by the first argument to get a list of -# includes to test. -get_includes(\@includes,@ARGV); - -check_hyphens(@includes); diff --git a/docs/bacula-web/fdl.tex b/docs/bacula-web/fdl.tex deleted file mode 100644 index ea027bba..00000000 --- a/docs/bacula-web/fdl.tex +++ /dev/null @@ -1,511 +0,0 @@ -%---------The file header--------------------------------------------- - -\usepackage[english]{babel} %language selection -\usepackage[T1]{fontenc} - -\pagenumbering{arabic} - -\usepackage{hyperref} -\hypersetup{colorlinks, - citecolor=black, - filecolor=black, - linkcolor=black, - urlcolor=black, - pdftex} - - -%--------------------------------------------------------------------- -\section*{GNU Free Documentation License} -\index[general]{GNU ree Documentation License} -\index[general]{License!GNU ree Documentation} -\addcontentsline{toc}{section}{GNU ree Documentation License} - -%\label{label_fdl} - - \begin{center} - - Version 1.2, November 2002 - - - Copyright \copyright 2000,2001,2002 Free Software Foundation, Inc. - - \bigskip - - 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - - \bigskip - - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. -\end{center} - - -\begin{center} -{\bf\large Preamble} -\end{center} - -The purpose of this License is to make a manual, textbook, or other -functional and useful document "free" in the sense of freedom: to -assure everyone the effective freedom to copy and redistribute it, -with or without modifying it, either commercially or noncommercially. -Secondarily, this License preserves for the author and publisher a way -to get credit for their work, while not being considered responsible -for modifications made by others. - -This License is a kind of "copyleft", which means that derivative -works of the document must themselves be free in the same sense. It -complements the GNU General Public License, which is a copyleft -license designed for free software. - -We have designed this License in order to use it for manuals for free -software, because free software needs free documentation: a free -program should come with manuals providing the same freedoms that the -software does. But this License is not limited to software manuals; -it can be used for any textual work, regardless of subject matter or -whether it is published as a printed book. We recommend this License -principally for works whose purpose is instruction or reference. - - -\begin{center} -{\Large\bf 1. APPLICABILITY AND DEFINITIONS} -\addcontentsline{toc}{section}{1. APPLICABILITY AND DEFINITIONS} -\end{center} - -This License applies to any manual or other work, in any medium, that -contains a notice placed by the copyright holder saying it can be -distributed under the terms of this License. Such a notice grants a -world-wide, royalty-free license, unlimited in duration, to use that -work under the conditions stated herein. The \textbf{"Document"}, below, -refers to any such manual or work. Any member of the public is a -licensee, and is addressed as \textbf{"you"}. You accept the license if you -copy, modify or distribute the work in a way requiring permission -under copyright law. - -A \textbf{"Modified Version"} of the Document means any work containing the -Document or a portion of it, either copied verbatim, or with -modifications and/or translated into another language. - -A \textbf{"Secondary Section"} is a named appendix or a front-matter section of -the Document that deals exclusively with the relationship of the -publishers or authors of the Document to the Document's overall subject -(or to related matters) and contains nothing that could fall directly -within that overall subject. (Thus, if the Document is in part a -textbook of mathematics, a Secondary Section may not explain any -mathematics.) The relationship could be a matter of historical -connection with the subject or with related matters, or of legal, -commercial, philosophical, ethical or political position regarding -them. - -The \textbf{"Invariant Sections"} are certain Secondary Sections whose titles -are designated, as being those of Invariant Sections, in the notice -that says that the Document is released under this License. If a -section does not fit the above definition of Secondary then it is not -allowed to be designated as Invariant. The Document may contain zero -Invariant Sections. If the Document does not identify any Invariant -Sections then there are none. - -The \textbf{"Cover Texts"} are certain short passages of text that are listed, -as Front-Cover Texts or Back-Cover Texts, in the notice that says that -the Document is released under this License. A Front-Cover Text may -be at most 5 words, and a Back-Cover Text may be at most 25 words. - -A \textbf{"Transparent"} copy of the Document means a machine-readable copy, -represented in a format whose specification is available to the -general public, that is suitable for revising the document -straightforwardly with generic text editors or (for images composed of -pixels) generic paint programs or (for drawings) some widely available -drawing editor, and that is suitable for input to text formatters or -for automatic translation to a variety of formats suitable for input -to text formatters. A copy made in an otherwise Transparent file -format whose markup, or absence of markup, has been arranged to thwart -or discourage subsequent modification by readers is not Transparent. -An image format is not Transparent if used for any substantial amount -of text. A copy that is not "Transparent" is called \textbf{"Opaque"}. - -Examples of suitable formats for Transparent copies include plain -ASCII without markup, Texinfo input format, LaTeX input format, SGML -or XML using a publicly available DTD, and standard-conforming simple -HTML, PostScript or PDF designed for human modification. Examples of -transparent image formats include PNG, XCF and JPG. Opaque formats -include proprietary formats that can be read and edited only by -proprietary word processors, SGML or XML for which the DTD and/or -processing tools are not generally available, and the -machine-generated HTML, PostScript or PDF produced by some word -processors for output purposes only. - -The \textbf{"Title Page"} means, for a printed book, the title page itself, -plus such following pages as are needed to hold, legibly, the material -this License requires to appear in the title page. For works in -formats which do not have any title page as such, "Title Page" means -the text near the most prominent appearance of the work's title, -preceding the beginning of the body of the text. - -A section \textbf{"Entitled XYZ"} means a named subunit of the Document whose -title either is precisely XYZ or contains XYZ in parentheses following -text that translates XYZ in another language. (Here XYZ stands for a -specific section name mentioned below, such as \textbf{"Acknowledgements"}, -\textbf{"Dedications"}, \textbf{"Endorsements"}, or \textbf{"History"}.) -To \textbf{"Preserve the Title"} -of such a section when you modify the Document means that it remains a -section "Entitled XYZ" according to this definition. - -The Document may include Warranty Disclaimers next to the notice which -states that this License applies to the Document. These Warranty -Disclaimers are considered to be included by reference in this -License, but only as regards disclaiming warranties: any other -implication that these Warranty Disclaimers may have is void and has -no effect on the meaning of this License. - - -\begin{center} -{\Large\bf 2. VERBATIM COPYING} -\addcontentsline{toc}{section}{2. VERBATIM COPYING} -\end{center} - -You may copy and distribute the Document in any medium, either -commercially or noncommercially, provided that this License, the -copyright notices, and the license notice saying this License applies -to the Document are reproduced in all copies, and that you add no other -conditions whatsoever to those of this License. You may not use -technical measures to obstruct or control the reading or further -copying of the copies you make or distribute. However, you may accept -compensation in exchange for copies. If you distribute a large enough -number of copies you must also follow the conditions in section 3. - -You may also lend copies, under the same conditions stated above, and -you may publicly display copies. - - -\begin{center} -{\Large\bf 3. COPYING IN QUANTITY} -\addcontentsline{toc}{section}{3. COPYING IN QUANTITY} -\end{center} - - -If you publish printed copies (or copies in media that commonly have -printed covers) of the Document, numbering more than 100, and the -Document's license notice requires Cover Texts, you must enclose the -copies in covers that carry, clearly and legibly, all these Cover -Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on -the back cover. Both covers must also clearly and legibly identify -you as the publisher of these copies. The front cover must present -the full title with all words of the title equally prominent and -visible. You may add other material on the covers in addition. -Copying with changes limited to the covers, as long as they preserve -the title of the Document and satisfy these conditions, can be treated -as verbatim copying in other respects. - -If the required texts for either cover are too voluminous to fit -legibly, you should put the first ones listed (as many as fit -reasonably) on the actual cover, and continue the rest onto adjacent -pages. - -If you publish or distribute Opaque copies of the Document numbering -more than 100, you must either include a machine-readable Transparent -copy along with each Opaque copy, or state in or with each Opaque copy -a computer-network location from which the general network-using -public has access to download using public-standard network protocols -a complete Transparent copy of the Document, free of added material. -If you use the latter option, you must take reasonably prudent steps, -when you begin distribution of Opaque copies in quantity, to ensure -that this Transparent copy will remain thus accessible at the stated -location until at least one year after the last time you distribute an -Opaque copy (directly or through your agents or retailers) of that -edition to the public. - -It is requested, but not required, that you contact the authors of the -Document well before redistributing any large number of copies, to give -them a chance to provide you with an updated version of the Document. - - -\begin{center} -{\Large\bf 4. MODIFICATIONS} -\addcontentsline{toc}{section}{4. MODIFICATIONS} -\end{center} - -You may copy and distribute a Modified Version of the Document under -the conditions of sections 2 and 3 above, provided that you release -the Modified Version under precisely this License, with the Modified -Version filling the role of the Document, thus licensing distribution -and modification of the Modified Version to whoever possesses a copy -of it. In addition, you must do these things in the Modified Version: - -\begin{itemize} -\item[A.] - Use in the Title Page (and on the covers, if any) a title distinct - from that of the Document, and from those of previous versions - (which should, if there were any, be listed in the History section - of the Document). You may use the same title as a previous version - if the original publisher of that version gives permission. - -\item[B.] - List on the Title Page, as authors, one or more persons or entities - responsible for authorship of the modifications in the Modified - Version, together with at least five of the principal authors of the - Document (all of its principal authors, if it has fewer than five), - unless they release you from this requirement. - -\item[C.] - State on the Title page the name of the publisher of the - Modified Version, as the publisher. - -\item[D.] - Preserve all the copyright notices of the Document. - -\item[E.] - Add an appropriate copyright notice for your modifications - adjacent to the other copyright notices. - -\item[F.] - Include, immediately after the copyright notices, a license notice - giving the public permission to use the Modified Version under the - terms of this License, in the form shown in the Addendum below. - -\item[G.] - Preserve in that license notice the full lists of Invariant Sections - and required Cover Texts given in the Document's license notice. - -\item[H.] - Include an unaltered copy of this License. - -\item[I.] - Preserve the section Entitled "History", Preserve its Title, and add - to it an item stating at least the title, year, new authors, and - publisher of the Modified Version as given on the Title Page. If - there is no section Entitled "History" in the Document, create one - stating the title, year, authors, and publisher of the Document as - given on its Title Page, then add an item describing the Modified - Version as stated in the previous sentence. - -\item[J.] - Preserve the network location, if any, given in the Document for - public access to a Transparent copy of the Document, and likewise - the network locations given in the Document for previous versions - it was based on. These may be placed in the "History" section. - You may omit a network location for a work that was published at - least four years before the Document itself, or if the original - publisher of the version it refers to gives permission. - -\item[K.] - For any section Entitled "Acknowledgements" or "Dedications", - Preserve the Title of the section, and preserve in the section all - the substance and tone of each of the contributor acknowledgements - and/or dedications given therein. - -\item[L.] - Preserve all the Invariant Sections of the Document, - unaltered in their text and in their titles. Section numbers - or the equivalent are not considered part of the section titles. - -\item[M.] - Delete any section Entitled "Endorsements". Such a section - may not be included in the Modified Version. - -\item[N.] - Do not retitle any existing section to be Entitled "Endorsements" - or to conflict in title with any Invariant Section. - -\item[O.] - Preserve any Warranty Disclaimers. -\end{itemize} - -If the Modified Version includes new front-matter sections or -appendices that qualify as Secondary Sections and contain no material -copied from the Document, you may at your option designate some or all -of these sections as invariant. To do this, add their titles to the -list of Invariant Sections in the Modified Version's license notice. -These titles must be distinct from any other section titles. - -You may add a section Entitled "Endorsements", provided it contains -nothing but endorsements of your Modified Version by various -parties--for example, statements of peer review or that the text has -been approved by an organization as the authoritative definition of a -standard. - -You may add a passage of up to five words as a Front-Cover Text, and a -passage of up to 25 words as a Back-Cover Text, to the end of the list -of Cover Texts in the Modified Version. Only one passage of -Front-Cover Text and one of Back-Cover Text may be added by (or -through arrangements made by) any one entity. If the Document already -includes a cover text for the same cover, previously added by you or -by arrangement made by the same entity you are acting on behalf of, -you may not add another; but you may replace the old one, on explicit -permission from the previous publisher that added the old one. - -The author(s) and publisher(s) of the Document do not by this License -give permission to use their names for publicity for or to assert or -imply endorsement of any Modified Version. - - -\begin{center} -{\Large\bf 5. COMBINING DOCUMENTS} -\addcontentsline{toc}{section}{5. COMBINING DOCUMENTS} -\end{center} - - -You may combine the Document with other documents released under this -License, under the terms defined in section 4 above for modified -versions, provided that you include in the combination all of the -Invariant Sections of all of the original documents, unmodified, and -list them all as Invariant Sections of your combined work in its -license notice, and that you preserve all their Warranty Disclaimers. - -The combined work need only contain one copy of this License, and -multiple identical Invariant Sections may be replaced with a single -copy. If there are multiple Invariant Sections with the same name but -different contents, make the title of each such section unique by -adding at the end of it, in parentheses, the name of the original -author or publisher of that section if known, or else a unique number. -Make the same adjustment to the section titles in the list of -Invariant Sections in the license notice of the combined work. - -In the combination, you must combine any sections Entitled "History" -in the various original documents, forming one section Entitled -"History"; likewise combine any sections Entitled "Acknowledgements", -and any sections Entitled "Dedications". You must delete all sections -Entitled "Endorsements". - -\begin{center} -{\Large\bf 6. COLLECTIONS OF DOCUMENTS} -\addcontentsline{toc}{section}{6. COLLECTIONS OF DOCUMENTS} -\end{center} - -You may make a collection consisting of the Document and other documents -released under this License, and replace the individual copies of this -License in the various documents with a single copy that is included in -the collection, provided that you follow the rules of this License for -verbatim copying of each of the documents in all other respects. - -You may extract a single document from such a collection, and distribute -it individually under this License, provided you insert a copy of this -License into the extracted document, and follow this License in all -other respects regarding verbatim copying of that document. - - -\begin{center} -{\Large\bf 7. AGGREGATION WITH INDEPENDENT WORKS} -\addcontentsline{toc}{section}{7. AGGREGATION WITH INDEPENDENT WORKS} -\end{center} - - -A compilation of the Document or its derivatives with other separate -and independent documents or works, in or on a volume of a storage or -distribution medium, is called an "aggregate" if the copyright -resulting from the compilation is not used to limit the legal rights -of the compilation's users beyond what the individual works permit. -When the Document is included in an aggregate, this License does not -apply to the other works in the aggregate which are not themselves -derivative works of the Document. - -If the Cover Text requirement of section 3 is applicable to these -copies of the Document, then if the Document is less than one half of -the entire aggregate, the Document's Cover Texts may be placed on -covers that bracket the Document within the aggregate, or the -electronic equivalent of covers if the Document is in electronic form. -Otherwise they must appear on printed covers that bracket the whole -aggregate. - - -\begin{center} -{\Large\bf 8. TRANSLATION} -\addcontentsline{toc}{section}{8. TRANSLATION} -\end{center} - - -Translation is considered a kind of modification, so you may -distribute translations of the Document under the terms of section 4. -Replacing Invariant Sections with translations requires special -permission from their copyright holders, but you may include -translations of some or all Invariant Sections in addition to the -original versions of these Invariant Sections. You may include a -translation of this License, and all the license notices in the -Document, and any Warranty Disclaimers, provided that you also include -the original English version of this License and the original versions -of those notices and disclaimers. In case of a disagreement between -the translation and the original version of this License or a notice -or disclaimer, the original version will prevail. - -If a section in the Document is Entitled "Acknowledgements", -"Dedications", or "History", the requirement (section 4) to Preserve -its Title (section 1) will typically require changing the actual -title. - - -\begin{center} -{\Large\bf 9. TERMINATION} -\addcontentsline{toc}{section}{9. TERMINATION} -\end{center} - - -You may not copy, modify, sublicense, or distribute the Document except -as expressly provided for under this License. Any other attempt to -copy, modify, sublicense or distribute the Document is void, and will -automatically terminate your rights under this License. However, -parties who have received copies, or rights, from you under this -License will not have their licenses terminated so long as such -parties remain in full compliance. - - -\begin{center} -{\Large\bf 10. FUTURE REVISIONS OF THIS LICENSE} -\addcontentsline{toc}{section}{10. FUTURE REVISIONS OF THIS LICENSE} -\end{center} - - -The Free Software Foundation may publish new, revised versions -of the GNU Free Documentation License from time to time. Such new -versions will be similar in spirit to the present version, but may -differ in detail to address new problems or concerns. See -http://www.gnu.org/copyleft/. - -Each version of the License is given a distinguishing version number. -If the Document specifies that a particular numbered version of this -License "or any later version" applies to it, you have the option of -following the terms and conditions either of that specified version or -of any later version that has been published (not as a draft) by the -Free Software Foundation. If the Document does not specify a version -number of this License, you may choose any version ever published (not -as a draft) by the Free Software Foundation. - - -\begin{center} -{\Large\bf ADDENDUM: How to use this License for your documents} -\addcontentsline{toc}{section}{ADDENDUM: How to use this License for your documents} -\end{center} - -To use this License in a document you have written, include a copy of -the License in the document and put the following copyright and -license notices just after the title page: - -\bigskip -\begin{quote} - Copyright \copyright YEAR YOUR NAME. - Permission is granted to copy, distribute and/or modify this document - under the terms of the GNU Free Documentation License, Version 1.2 - or any later version published by the Free Software Foundation; - with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. - A copy of the license is included in the section entitled "GNU - Free Documentation License". -\end{quote} -\bigskip - -If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, -replace the "with...Texts." line with this: - -\bigskip -\begin{quote} - with the Invariant Sections being LIST THEIR TITLES, with the - Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST. -\end{quote} -\bigskip - -If you have Invariant Sections without Cover Texts, or some other -combination of the three, merge those two alternatives to suit the -situation. - -If your document contains nontrivial examples of program code, we -recommend releasing these examples in parallel under your choice of -free software license, such as the GNU General Public License, -to permit their use in free software. - -%--------------------------------------------------------------------- diff --git a/docs/bacula-web/fix_tex.pl b/docs/bacula-web/fix_tex.pl deleted file mode 100755 index 98657576..00000000 --- a/docs/bacula-web/fix_tex.pl +++ /dev/null @@ -1,184 +0,0 @@ -#!/usr/bin/perl -w -# Fixes various things within tex files. - -use strict; - -my %args; - - -sub get_includes { - # Get a list of include files from the top-level tex file. - my (@list,$file); - - foreach my $filename (@_) { - $filename or next; - # Start with the top-level latex file so it gets checked too. - push (@list,$filename); - - # Get a list of all the html files in the directory. - open IF,"<$filename" or die "Cannot open input file $filename"; - while () { - chomp; - push @list,"$1.tex" if (/\\include\{(.*?)\}/); - } - - close IF; - } - return @list; -} - -sub convert_files { - my (@files) = @_; - my ($linecnt,$filedata,$output,$itemcnt,$indentcnt,$cnt); - - $cnt = 0; - foreach my $file (@files) { - # Open the file and load the whole thing into $filedata. A bit wasteful but - # easier to deal with, and we don't have a problem with speed here. - $filedata = ""; - open IF,"<$file" or die "Cannot open input file $file"; - while () { - $filedata .= $_; - } - close IF; - - # We look for a line that starts with \item, and indent the two next lines (if not blank) - # by three spaces. - my $linecnt = 3; - $indentcnt = 0; - $output = ""; - # Process a line at a time. - foreach (split(/\n/,$filedata)) { - $_ .= "\n"; # Put back the return. - # If this line is less than the third line past the \item command, - # and the line isn't blank and doesn't start with whitespace - # add three spaces to the start of the line. Keep track of the number - # of lines changed. - if ($linecnt < 3 and !/^\\item/) { - if (/^[^\n\s]/) { - $output .= " " . $_; - $indentcnt++; - } else { - $output .= $_; - } - $linecnt++; - } else { - $linecnt = 3; - $output .= $_; - } - /^\\item / and $linecnt = 1; - } - - - # This is an item line. We need to process it too. If inside a \begin{description} environment, convert - # \item {\bf xxx} to \item [xxx] or \item [{xxx}] (if xxx contains '[' or ']'. - $itemcnt = 0; - $filedata = $output; - $output = ""; - my ($before,$descrip,$this,$between); - - # Find any \begin{description} environment - while ($filedata =~ /(\\begin[\s\n]*\{[\s\n]*description[\s\n]*\})(.*?)(\\end[\s\n]*\{[\s\n]*description[\s\n]*\})/s) { - $output .= $` . $1; - $filedata = $3 . $'; - $descrip = $2; - - # Search for \item {\bf xxx} - while ($descrip =~ /\\item[\s\n]*\{[\s\n]*\\bf[\s\n]*/s) { - $descrip = $'; - $output .= $`; - ($between,$descrip) = find_matching_brace($descrip); - if (!$descrip) { - $linecnt = $output =~ tr/\n/\n/; - print STDERR "Missing matching curly brace at line $linecnt in $file\n" if (!$descrip); - } - - # Now do the replacement. - $between = '{' . $between . '}' if ($between =~ /\[|\]/); - $output .= "\\item \[$between\]"; - $itemcnt++; - } - $output .= $descrip; - } - $output .= $filedata; - - # If any hyphens or \item commnads were converted, save the file. - if ($indentcnt or $itemcnt) { - open OF,">$file" or die "Cannot open output file $file"; - print OF $output; - close OF; - print "$indentcnt indent", ($indentcnt == 1) ? "" : "s"," added in $file\n"; - print "$itemcnt item", ($itemcnt == 1) ? "" : "s"," Changed in $file\n"; - } - - $cnt += $indentcnt + $itemcnt; - } - return $cnt; -} - -sub find_matching_brace { - # Finds text up to the next matching brace. Assumes that the input text doesn't contain - # the opening brace, but we want to find text up to a matching closing one. - # Returns the text between the matching braces, followed by the rest of the text following - # (which does not include the matching brace). - # - my $str = shift; - my ($this,$temp); - my $cnt = 1; - - while ($cnt) { - # Ignore verbatim constructs involving curly braces, or if the character preceding - # the curly brace is a backslash. - if ($str =~ /\\verb\*?\{.*?\{|\\verb\*?\}.*?\}|\{|\}/s) { - $this .= $`; - $str = $'; - $temp = $&; - - if ((substr($this,-1,1) eq '\\') or - $temp =~ /^\\verb/) { - $this .= $temp; - next; - } - - $cnt += ($temp eq '{') ? 1 : -1; - # If this isn't the matching curly brace ($cnt > 0), include the brace. - $this .= $temp if ($cnt); - } else { - # No matching curly brace found. - return ($this . $str,''); - } - } - return ($this,$str); -} - -sub check_arguments { - # Checks command-line arguments for ones starting with -- puts them into - # a hash called %args and removes them from @ARGV. - my $args = shift; - my $i; - - for ($i = 0; $i < $#ARGV; $i++) { - $ARGV[$i] =~ /^\-+/ or next; - $ARGV[$i] =~ s/^\-+//; - $args{$ARGV[$i]} = ""; - delete ($ARGV[$i]); - - } -} - -################################################################## -# MAIN #### -################################################################## - -my @includes; -my $cnt; - -check_arguments(\%args); -die "No Files given to Check\n" if ($#ARGV < 0); - -# Examine the file pointed to by the first argument to get a list of -# includes to test. -@includes = get_includes(@ARGV); - -$cnt = convert_files(@includes); -print "No lines changed\n" unless $cnt; diff --git a/docs/bacula-web/general.tex b/docs/bacula-web/general.tex deleted file mode 100644 index cd48842a..00000000 --- a/docs/bacula-web/general.tex +++ /dev/null @@ -1,220 +0,0 @@ -%% -%% - -\section*{What is Bacula-web?} -\label{_ChapterStart1} -\index[general]{Bacula-web!What is } -\index[general]{What is Bacula-web? } -\addcontentsline{toc}{section}{What is Bacula-web?} - - -Bacula-web is a php based web program that provides you a -summarized output of jobs that have already run. It obtains -its information from your Bacula catalog database. Aside from a -nice graphical display, it provides summaries of your -jobs, as well as graphs of job usage. This is a fairly high -level Bacula management tool. - -\section*{Requirements} -\index[general]{Requirements} -\addcontentsline{toc}{section}{Requirements} - -\begin{itemize} -\item You must have a web server -\item You must have PHP installed and working - with your web server. We have tested - php versions 4.3.4 and 5.0.4. For more information - on php, please see: - \elink{http://www.php.net}{http://www.php.net}. -\item The following packages should be installed - or configured as part of PHP. - \begin{itemize} - \item Gettext (optional) - \item GD 2.x or greater - \item TrueType (optional) - \item Pear DB (http://pear.php.net/package/DB) - \item MySQL or PostgreSQL (SQLite is not supported) - \item The dbsize contrib package if you use PostgreSQL - \end{itemize} -\item Bacula must also be installed and working, but does not - need to be running to use Bacula-web. -\item Your MySQL or PostgreSQL program must be running. -\end{itemize} - -\section*{Installation} -\index[general]{Installation} -\addcontentsline{toc}{section}{Installation} - -\begin{itemize} -\item Copy the bacula-web distribution to the root - directory or a subdirectory of your web server root. -\item Edit {\bf configs/bacula.conf} and put your preferences - as well as ensuring that the database configuration parameters - point to the Bacula database you are using. -\item Make sure that {\bf short_open_tag} is turned on in your - php.ini file. -\end{item} - - -\section*{Testing the Installation} -\index[general]{Testing the Installation} -\addcontentsline{toc}{section}{Testing the Installation} - -\begin{itemize} -\item Run {\bf test.php} from your web browser. - It should produce output that looks like: -\begin{verbatim} -Checking system for dependencies... - - Checking gettext: YES Language support enabled - Checking Pear(DB): YES Pear DB enabled - Checking GD: YES GD support enabled - - - Please, click the link below to test your graph system capabilities - (Bacula-web only use PNG): Test -\end{verbatim} - -\item If gettext, Pear(DB) and GD all indicate yes, then things are going - in the right direction. If not, you should correct each one before - proceeding. - -\item If Pear(DB) is not installed and you have PHP 4.3.11 or newer, you - can use the command: - -\begin{verbatim} -pear install DB -\end{verbatim} -to install it. - -After installing it, check by doing: - -\begin{verbatim} -pear list -\end{verbatim} - -On my machine (Kern), I get: -\begin{verbatim} -Installed packages: -=================== -Package Version State -Archive_Tar 1.1 stable -Console_Getopt 1.2 stable -DB 1.7.6 stable -HTML_Template_IT 1.1 stable -HTTP 1.3.5 stable -Mail 1.1.4 stable -Net_SMTP 1.2.6 stable -Net_Socket 1.0.6 stable -Net_UserAgent_Detect 2.0.1 stable -PEAR 1.3.5 stable -XML_Parser 1.2.6 stable -XML_RPC 1.4.0 stable -\end{verbatim} - - - -\item When everything is installed, click on the {\bf Test} link at the - bottom, which will bring up a new page with a number of PHPlot test graphs, - using GD. It should be pretty obvious if they work, if not, you must - correct the problems. - -\item If your graphs are not being reproduced, check that your PHP was built - with the {\bf --with-gd} option, and possibly with {\bf --with-png-dir=DIR} - where DIR is the path to the {\bf libpng} installation directory. - -\item One of the most common problem is improper configuration of the - variables in {\bf bacula.config} that define the database. If you see - nothing but a blank screen or error messages, please recheck your database - definitions paying careful attention to ensure that the database name and - password are correct and that the database engine is running. - -\item If you get an error such as {\bf DB Error: not found} assuming your - database is MySQL, try using the following command: - - mysql -h\lt{}host\gt{} -u\lt{}login\gt{} -p \lt{}db_name\gt{} - - where, \lt{}host\gt{}, \lt{}login\gt{}, and \lt{}db_name\gt{} are - the values you put in your {\bf bacula.conf} file under the - DATABASE section as in: -\begin{verbatim} -[.DATABASE] -host = 192.168.1.120 - -login = bacula-user -pass = -db_name = bacula -db_type = mysql -\end{verbatim} - - in this case, the mysql command would be: - - mysql -h192.168.1.120 -ubacula-user -p bacula - -\item If you get an error such as {\bf DB Error: connection failed} assuming your - database is PostgreSQL, make sure that TCP/IP-Connections to your - bacula database are allowed via pg_hba.conf. - - -\item If nothing seems to be working and you are using SELinix, please - remember that you must have the correct contexts for the bacula-web - files. Assuming you have installed the files in - /var/www/html/bacula-web, you can most likely fix the contexts with - a command such as: - - chcon -t httpd_sys_content_t /var/www/html/bacula-web/ -R - -\end{itemize} - -\section*{Screen Shots} -\index[general]{Screen Shots} -\addcontentsline{toc}{section}{Screen Shots} - -\includegraphics{./bweb-index.eps} \\ -\includegraphics{./bweb-report.eps} \\ - - - -\section*{Notes} -\index[general]{Notes} -\addcontentsline{toc}{section}{Notes} -The output from bacula-web is best viewed with a resolution of -1024x768 or better. Most browsers will produce good results including -MS Internet Explorer. - -If you have configured bacula-web for a language other than English, -and the language changes are not being correctly displayed, restart -your web server. - -\section*{Bugs} -\index[general]{Bugs} -\addcontentsline{toc}{section}{Bugs} - -\begin{itemize} -\item In the Pie graphs, the margins don't work. It is a phplot bug. -\item The total elapsed time "calculation" is rudimentary. If you have 2 -or more concurrent jobs this is not real. -\end{itemize} - -Submit your bugs at this link: -\elink{http://indpnday.com/bacula_stuff/bacula-web/mantisbt/login_page.php} -{http://indpnday.com/bacula_stuff/bacula-web/mantisbt/login_page.php}. - - -\section*{Translations} -\index[general]{Translations} -\addcontentsline{toc}{section}{Translations} -If you want add a new language not supported by bacula-web please, follow -the following instructions: - -Extract strings with this command (tsmarty2c.php is with bacula-web -package):\\ - -\begin{verbatim} -./tsmarty2c.php templates > lang.c -xgettext lang.c -\end{verbatim} - -Now you must have this file: messages.po \\ -Edit messages.po to have your translations, then -send us a copy of the file.\\ diff --git a/docs/bacula-web/index.perl b/docs/bacula-web/index.perl deleted file mode 100644 index bc4e1b60..00000000 --- a/docs/bacula-web/index.perl +++ /dev/null @@ -1,564 +0,0 @@ -# This module does multiple indices, supporting the style of the LaTex 'index' -# package. - -# Version Information: -# 16-Feb-2005 -- Original Creation. Karl E. Cunningham -# 14-Mar-2005 -- Clarified and Consolodated some of the code. -# Changed to smoothly handle single and multiple indices. - -# Two LaTeX index formats are supported... -# --- SINGLE INDEX --- -# \usepackage{makeidx} -# \makeindex -# \index{entry1} -# \index{entry2} -# \index{entry3} -# ... -# \printindex -# -# --- MULTIPLE INDICES --- -# -# \usepackage{makeidx} -# \usepackage{index} -# \makeindex -- latex2html doesn't care but LaTeX does. -# \newindex{ref1}{ext1}{ext2}{title1} -# \newindex{ref2}{ext1}{ext2}{title2} -# \newindex{ref3}{ext1}{ext2}{title3} -# \index[ref1]{entry1} -# \index[ref1]{entry2} -# \index[ref3]{entry3} -# \index[ref2]{entry4} -# \index{entry5} -# \index[ref3]{entry6} -# ... -# \printindex[ref1] -# \printindex[ref2] -# \printindex[ref3] -# \printindex -# ___________________ -# -# For the multiple-index style, each index is identified by the ref argument to \newindex, \index, -# and \printindex. A default index is allowed, which is indicated by omitting the optional -# argument. The default index does not require a \newindex command. As \index commands -# are encountered, their entries are stored according -# to the ref argument. When the \printindex command is encountered, the stored index -# entries for that argument are retrieved and printed. The title for each index is taken -# from the last argument in the \newindex command. -# While processing \index and \printindex commands, if no argument is given the index entries -# are built into a default index. The title of the default index is simply "Index". -# This makes the difference between single- and multiple-index processing trivial. -# -# Another method can be used by omitting the \printindex command and just using \include to -# pull in index files created by the makeindex program. These files will start with -# \begin{theindex}. This command is used to determine where to print the index. Using this -# approach, the indices will be output in the same order as the newindex commands were -# originally found (see below). Using a combination of \printindex and \include{indexfile} has not -# been tested and may produce undesireable results. -# -# The index data are stored in a hash for later sorting and output. As \printindex -# commands are handled, the order in which they were found in the tex filea is saved, -# associated with the ref argument to \printindex. -# -# We use the original %index hash to store the index data into. We append a \002 followed by the -# name of the index to isolate the entries in different indices from each other. This is necessary -# so that different indices can have entries with the same name. For the default index, the \002 is -# appended without the name. -# -# Since the index order in the output cannot be determined if the \include{indexfile} -# command is used, the order will be assumed from the order in which the \newindex -# commands were originally seen in the TeX files. This order is saved as well as the -# order determined from any printindex{ref} commands. If \printindex commnads are used -# to specify the index output, that order will be used. If the \include{idxfile} command -# is used, the order of the original newindex commands will be used. In this case the -# default index will be printed last since it doesn't have a corresponding \newindex -# command and its order cannot be determined. Mixing \printindex and \include{idxfile} -# commands in the same file is likely to produce less than satisfactory results. -# -# -# The hash containing index data is named %indices. It contains the following data: -#{ -# 'title' => { -# $ref1 => $indextitle , -# $ref2 => $indextitle , -# ... -# }, -# 'newcmdorder' => [ ref1, ref2, ..., * ], # asterisk indicates the position of the default index. -# 'printindorder' => [ ref1, ref2, ..., * ], # asterisk indicates the position of the default index. -#} - - -# Globals to handle multiple indices. -my %indices; - -# This tells the system to use up to 7 words in index entries. -$WORDS_IN_INDEX = 10; - -# KEC 2-18-05 -# Handles the \newindex command. This is called if the \newindex command is -# encountered in the LaTex source. Gets the index ref and title from the arguments. -# Saves the index ref and title. -# Note that we are called once to handle multiple \newindex commands that are -# newline-separated. -sub do_cmd_newindex { - my $data = shift; - # The data is sent to us as fields delimited by their ID #'s. We extract the - # fields. - foreach my $line (split("\n",$data)) { - my @fields = split (/(?:\<\#\d+?\#\>)+/,$line); - - # The index name and title are the second and fourth fields in the data. - if ($line =~ /^ \001 - # @ -> \002 - # | -> \003 - $* = 1; $str =~ s/\n\s*/ /g; $* = 0; # remove any newlines - # protect \001 occurring with images - $str =~ s/\001/\016/g; # 0x1 to 0xF - $str =~ s/\\\\/\011/g; # Double backslash -> 0xB - $str =~ s/\\;SPMquot;/\012/g; # \;SPMquot; -> 0xC - $str =~ s/;SPMquot;!/\013/g; # ;SPMquot; -> 0xD - $str =~ s/!/\001/g; # Exclamation point -> 0x1 - $str =~ s/\013/!/g; # 0xD -> Exclaimation point - $str =~ s/;SPMquot;@/\015/g; # ;SPMquot;@ to 0xF - $str =~ s/@/\002/g; # At sign -> 0x2 - $str =~ s/\015/@/g; # 0xF to At sign - $str =~ s/;SPMquot;\|/\017/g; # ;SMPquot;| to 0x11 - $str =~ s/\|/\003/g; # Vertical line to 0x3 - $str =~ s/\017/|/g; # 0x11 to vertical line - $str =~ s/;SPMquot;(.)/\1/g; # ;SPMquot; -> whatever the next character is - $str =~ s/\012/;SPMquot;/g; # 0x12 to ;SPMquot; - $str =~ s/\011/\\\\/g; # 0x11 to double backslash - local($key_part, $pageref) = split("\003", $str, 2); - - # For any keys of the form: blablabla!blablabla, which want to be split at the - # exclamation point, replace the ! with a comma and a space. We don't do it - # that way for this index. - $key_part =~ s/\001/, /g; - local(@keys) = split("\001", $key_part); - # If TITLE is not yet available use $before. - $TITLE = $saved_title if (($saved_title)&&(!($TITLE)||($TITLE eq $default_title))); - $TITLE = $before unless $TITLE; - # Save the reference - local($words) = ''; - if ($SHOW_SECTION_NUMBERS) { $words = &make_idxnum; } - elsif ($SHORT_INDEX) { $words = &make_shortidxname; } - else { $words = &make_idxname; } - local($super_key) = ''; - local($sort_key, $printable_key, $cur_key); - foreach $key (@keys) { - $key =~ s/\016/\001/g; # revert protected \001s - ($sort_key, $printable_key) = split("\002", $key); - # - # RRM: 16 May 1996 - # any \label in the printable-key will have already - # created a label where the \index occurred. - # This has to be removed, so that the desired label - # will be found on the Index page instead. - # - if ($printable_key =~ /tex2html_anchor_mark/ ) { - $printable_key =~ s/><\/A>$cross_ref_mark/ - $printable_key =~ s/$cross_ref_mark#([^#]+)#([^>]+)>$cross_ref_mark/ - do { ($label,$id) = ($1,$2); - $ref_label = $external_labels{$label} unless - ($ref_label = $ref_files{$label}); - '"' . "$ref_label#$label" . '">' . - &get_ref_mark($label,$id)} - /geo; - } - $printable_key =~ s/<\#[^\#>]*\#>//go; - #RRM - # recognise \char combinations, for a \backslash - # - $printable_key =~ s/\&\#;\'134/\\/g; # restore \\s - $printable_key =~ s/\&\#;\`
    /\\/g; # ditto - $printable_key =~ s/\&\#;*SPMquot;92/\\/g; # ditto - # - # $sort_key .= "@$printable_key" if !($printable_key); # RRM - $sort_key .= "@$printable_key" if !($sort_key); # RRM - $sort_key =~ tr/A-Z/a-z/; - if ($super_key) { - $cur_key = $super_key . "\001" . $sort_key; - $sub_index{$super_key} .= $cur_key . "\004"; - } else { - $cur_key = $sort_key; - } - - # Append the $index_name to the current key with a \002 delimiter. This will - # allow the same index entry to appear in more than one index. - $index_key = $cur_key . "\002$index_name"; - - $index{$index_key} .= ""; - - # - # RRM, 15 June 1996 - # if there is no printable key, but one is known from - # a previous index-entry, then use it. - # - if (!($printable_key) && ($printable_key{$index_key})) - { $printable_key = $printable_key{$index_key}; } -# if (!($printable_key) && ($printable_key{$cur_key})) -# { $printable_key = $printable_key{$cur_key}; } - # - # do not overwrite the printable_key if it contains an anchor - # - if (!($printable_key{$index_key} =~ /tex2html_anchor_mark/ )) - { $printable_key{$index_key} = $printable_key || $key; } -# if (!($printable_key{$cur_key} =~ /tex2html_anchor_mark/ )) -# { $printable_key{$cur_key} = $printable_key || $key; } - - $super_key = $cur_key; - } - # - # RRM - # page-ranges, from |( and |) and |see - # - if ($pageref) { - if ($pageref eq "\(" ) { - $pageref = ''; - $next .= " from "; - } elsif ($pageref eq "\)" ) { - $pageref = ''; - local($next) = $index{$index_key}; -# local($next) = $index{$cur_key}; - # $next =~ s/[\|] *$//; - $next =~ s/(\n )?\| $//; - $index{$index_key} = "$next to "; -# $index{$cur_key} = "$next to "; - } - } - - if ($pageref) { - $pageref =~ s/\s*$//g; # remove trailing spaces - if (!$pageref) { $pageref = ' ' } - $pageref =~ s/see/see <\/i> /g; - # - # RRM: 27 Dec 1996 - # check if $pageref corresponds to a style command. - # If so, apply it to the $words. - # - local($tmp) = "do_cmd_$pageref"; - if (defined &$tmp) { - $words = &$tmp("<#0#>$words<#0#>"); - $words =~ s/<\#[^\#]*\#>//go; - $pageref = ''; - } - } - # - # RRM: 25 May 1996 - # any \label in the pageref section will have already - # created a label where the \index occurred. - # This has to be removed, so that the desired label - # will be found on the Index page instead. - # - if ($pageref) { - if ($pageref =~ /tex2html_anchor_mark/ ) { - $pageref =~ s/><\/A>
    $cross_ref_mark/ - $pageref =~ s/$cross_ref_mark#([^#]+)#([^>]+)>$cross_ref_mark/ - do { ($label,$id) = ($1,$2); - $ref_files{$label} = ''; # ???? RRM - if ($index_labels{$label}) { $ref_label = ''; } - else { $ref_label = $external_labels{$label} - unless ($ref_label = $ref_files{$label}); - } - '"' . "$ref_label#$label" . '">' . &get_ref_mark($label,$id)}/geo; - } - $pageref =~ s/<\#[^\#>]*\#>//go; - - if ($pageref eq ' ') { $index{$index_key}='@'; } - else { $index{$index_key} .= $pageref . "\n | "; } - } else { - local($thisref) = &make_named_href('',"$CURRENT_FILE#$br_id",$words); - $thisref =~ s/\n//g; - $index{$index_key} .= $thisref."\n | "; - } - #print "\nREF: $sort_key : $index_key :$index{$index_key}"; - - #join('',"$anchor_invisible_mark<\/A>",$_); - - "$anchor_invisible_mark<\/A>"; -} - - -# KEC. -- Copied from makeidx.perl, then modified to do multiple indices. -# Feeds the index entries to the output. This is called for each index to be built. -# -# Generates a list of lookup keys for index entries, from both %printable_keys -# and %index keys. -# Sorts the keys according to index-sorting rules. -# Removes keys with a 0x01 token. (duplicates?) -# Builds a string to go to the index file. -# Adds the index entries to the string if they belong in this index. -# Keeps track of which index is being worked on, so only the proper entries -# are included. -# Places the index just built in to the output at the proper place. -{ my $index_number = 0; -sub add_real_idx { - print "\nDoing the index ... Index Number $index_number\n"; - local($key, @keys, $next, $index, $old_key, $old_html); - my ($idx_ref,$keyref); - # RRM, 15.6.96: index constructed from %printable_key, not %index - @keys = keys %printable_key; - - while (/$idx_mark/) { - # Get the index reference from what follows the $idx_mark and - # remove it from the string. - s/$idxmark\002(.*?)\002/$idxmark/; - $idx_ref = $1; - $index = ''; - # include non- makeidx index-entries - foreach $key (keys %index) { - next if $printable_key{$key}; - $old_key = $key; - if ($key =~ s/###(.*)$//) { - next if $printable_key{$key}; - push (@keys, $key); - $printable_key{$key} = $key; - if ($index{$old_key} =~ /HREF="([^"]*)"/i) { - $old_html = $1; - $old_html =~ /$dd?([^#\Q$dd\E]*)#/; - $old_html = $1; - } else { $old_html = '' } - $index{$key} = $index{$old_key} . $old_html."\n | "; - }; - } - @keys = sort makeidx_keysort @keys; - @keys = grep(!/\001/, @keys); - my $cnt = 0; - foreach $key (@keys) { - my ($keyref) = $key =~ /.*\002(.*)/; - next unless ($idx_ref eq $keyref); # KEC. - $index .= &add_idx_key($key); - $cnt++; - } - print "$cnt Index Entries Added\n"; - $index = '

    '.$index unless ($index =~ /^\s*/); - $index_number++; # KEC. - if ($SHORT_INDEX) { - print "(compact version with Legend)"; - local($num) = ( $index =~ s/\ 50 ) { - s/$idx_mark/$preindex
    \n$index\n<\/DL>$preindex/o; - } else { - s/$idx_mark/$preindex
    \n$index\n<\/DL>/o; - } - } else { - s/$idx_mark/
    \n$index\n<\/DL>/o; } - } -} -} - -# KEC. Copied from latex2html.pl and modified to support multiple indices. -# The bibliography and the index should be treated as separate sections -# in their own HTML files. The \bibliography{} command acts as a sectioning command -# that has the desired effect. But when the bibliography is constructed -# manually using the thebibliography environment, or when using the -# theindex environment it is not possible to use the normal sectioning -# mechanism. This subroutine inserts a \bibliography{} or a dummy -# \textohtmlindex command just before the appropriate environments -# to force sectioning. -sub add_bbl_and_idx_dummy_commands { - local($id) = $global{'max_id'}; - - s/([\\]begin\s*$O\d+$C\s*thebibliography)/$bbl_cnt++; $1/eg; - ## if ($bbl_cnt == 1) { - s/([\\]begin\s*$O\d+$C\s*thebibliography)/$id++; "\\bibliography$O$id$C$O$id$C $1"/geo; - #} - $global{'max_id'} = $id; - # KEC. Modified to global substitution to place multiple index tokens. - s/[\\]begin\s*($O\d+$C)\s*theindex/\\textohtmlindex$1/go; - # KEC. Modified to pick up the optional argument to \printindex - s/[\\]printindex\s*(\[.*?\])?/ - do { (defined $1) ? "\\textohtmlindex $1" : "\\textohtmlindex []"; } /ego; - &lib_add_bbl_and_idx_dummy_commands() if defined(&lib_add_bbl_and_idx_dummy_commands); -} - -# KEC. Copied from latex2html.pl and modified to support multiple indices. -# For each textohtmlindex mark found, determine the index titles and headers. -# We place the index ref in the header so the proper index can be generated later. -# For the default index, the index ref is blank. -# -# One problem is that this routine is called twice.. Once for processing the -# command as originally seen, and once for processing the command when -# doing the name for the index file. We can detect that by looking at the -# id numbers (or ref) surrounding the \theindex command, and not incrementing -# index_number unless a new id (or ref) is seen. This has the side effect of -# having to unconventionally start the index_number at -1. But it works. -# -# Gets the title from the list of indices. -# If this is the first index, save the title in $first_idx_file. This is what's referenced -# in the navigation buttons. -# Increment the index_number for next time. -# If the indexname command is defined or a newcommand defined for indexname, do it. -# Save the index TITLE in the toc -# Save the first_idx_file into the idxfile. This goes into the nav buttons. -# Build index_labels if needed. -# Create the index headings and put them in the output stream. - -{ my $index_number = 0; # Will be incremented before use. - my $first_idx_file; # Static - my $no_increment = 0; - -sub do_cmd_textohtmlindex { - local($_) = @_; - my ($idxref,$idxnum,$index_name); - - # We get called from make_name with the first argument = "\001noincrement". This is a sign - # to not increment $index_number the next time we are called. We get called twice, once - # my make_name and once by process_command. Unfortunately, make_name calls us just to set the name - # but doesn't use the result so we get called a second time by process_command. This works fine - # except for cases where there are multiple indices except if they aren't named, which is the case - # when the index is inserted by an include command in latex. In these cases we are only able to use - # the index number to decide which index to draw from, and we don't know how to increment that index - # number if we get called a variable number of times for the same index, as is the case between - # making html (one output file) and web (multiple output files) output formats. - if (/\001noincrement/) { - $no_increment = 1; - return; - } - - # Remove (but save) the index reference - s/^\s*\[(.*?)\]/{$idxref = $1; "";}/e; - - # If we have an $idxref, the index name was specified. In this case, we have all the - # information we need to carry on. Otherwise, we need to get the idxref - # from the $index_number and set the name to "Index". - if ($idxref) { - $index_name = $indices{'title'}{$idxref}; - } else { - if (defined ($idxref = $indices{'newcmdorder'}->[$index_number])) { - $index_name = $indices{'title'}{$idxref}; - } else { - $idxref = ''; - $index_name = "Index"; - } - } - - $idx_title = "Index"; # The name displayed in the nav bar text. - - # Only set $idxfile if we are at the first index. This will point the - # navigation panel to the first index file rather than the last. - $first_idx_file = $CURRENT_FILE if ($index_number == 0); - $idxfile = $first_idx_file; # Pointer for the Index button in the nav bar. - $toc_sec_title = $index_name; # Index link text in the toc. - $TITLE = $toc_sec_title; # Title for this index, from which its filename is built. - if (%index_labels) { &make_index_labels(); } - if (($SHORT_INDEX) && (%index_segment)) { &make_preindex(); } - else { $preindex = ''; } - local $idx_head = $section_headings{'textohtmlindex'}; - local($heading) = join('' - , &make_section_heading($TITLE, $idx_head) - , $idx_mark, "\002", $idxref, "\002" ); - local($pre,$post) = &minimize_open_tags($heading); - $index_number++ unless ($no_increment); - $no_increment = 0; - join('',"
    \n" , $pre, $_); -} -} - -# Returns an index key, given the key passed as the first argument. -# Not modified for multiple indices. -sub add_idx_key { - local($key) = @_; - local($index, $next); - if (($index{$key} eq '@' )&&(!($index_printed{$key}))) { - if ($SHORT_INDEX) { $index .= "

    \n
    ".&print_key."\n
    "; } - else { $index .= "

    \n
    ".&print_key."\n
    "; } - } elsif (($index{$key})&&(!($index_printed{$key}))) { - if ($SHORT_INDEX) { - $next = "
    ".&print_key."\n : ". &print_idx_links; - } else { - $next = "
    ".&print_key."\n
    ". &print_idx_links; - } - $index .= $next."\n"; - $index_printed{$key} = 1; - } - - if ($sub_index{$key}) { - local($subkey, @subkeys, $subnext, $subindex); - @subkeys = sort(split("\004", $sub_index{$key})); - if ($SHORT_INDEX) { - $index .= "
    ".&print_key unless $index_printed{$key}; - $index .= "
    \n"; - } else { - $index .= "
    ".&print_key."\n
    " unless $index_printed{$key}; - $index .= "
    \n"; - } - foreach $subkey (@subkeys) { - $index .= &add_sub_idx_key($subkey) unless ($index_printed{$subkey}); - } - $index .= "
    \n"; - } - return $index; -} - -1; # Must be present as the last line. diff --git a/docs/bacula-web/latex2html-init.pl b/docs/bacula-web/latex2html-init.pl deleted file mode 100644 index 14b5c319..00000000 --- a/docs/bacula-web/latex2html-init.pl +++ /dev/null @@ -1,10 +0,0 @@ -# This file serves as a place to put initialization code and constants to -# affect the behavior of latex2html for generating the bacula manuals. - -# $LINKPOINT specifies what filename to use to link to when creating -# index.html. Not that this is a hard link. -$LINKPOINT='"$OVERALL_TITLE"'; - - -# The following must be the last line of this file. -1; diff --git a/docs/bacula-web/mtx-changer.txt b/docs/bacula-web/mtx-changer.txt deleted file mode 100644 index 10ef6d1c..00000000 --- a/docs/bacula-web/mtx-changer.txt +++ /dev/null @@ -1,215 +0,0 @@ -#!/bin/sh -# -# Bacula interface to mtx autoloader -# -# Created OCT/31/03 by Alexander Kuehn, derived from Ludwig Jaffe's script -# -# Works with the HP C1537A L708 DDS3 -# -#set -x -# these are the labels of the tapes in each virtual slot, not the slots! -labels="PSE-0001 PSE-0002 PSE-0003 PSE-0004 PSE-0005 PSE-0006 PSE-0007 PSE-0008 PSE-0009 PSE-0010 PSE-0011 PSE-0012" - -# who to send a mail to? -recipient=root@localhost -logfile=/var/log/mtx.log - -# Delay in seconds how often to check whether a new tape has been inserted -TAPEDELAY=10 # the default is every 10 seconds -echo `date` ":" $@ >>$logfile - -# change this if mt is not in the path (use different quotes!) -mt=`which mt` -grep=`which grep` -# -# how to run the console application? -console="/usr/local/sbin/console -c /usr/local/etc/console.conf" - -command="$1" - -#TAPEDRIVE0 holds the device/name of your 1st and only drive (Bacula supports only 1 drive currently) -#Read TAPEDRIVE from command line parameters -if [ -z "$2" ] ; then - TAPEDRIVE0=/dev/nsa0 -else - TAPEDRIVE0=$2 -fi - -#Read slot from command line parameters -if [ -z "$3" ] ; then - slot=`expr 1` -else - slot=`expr $3` -fi - -if [ -z "$command" ] ; then - echo "" - echo "The mtx-changer script for Bacula" - echo "---------------------------------" - echo "" - echo "usage: mtx-changer [slot]" - echo " mtx-changer" - echo "" - echo "Valid commands:" - echo "" - echo "unload Unloads a tape into the slot" - echo " from where it was loaded." - echo "load Loads a tape from the slot " - echo "list Lists full storage slots" - echo "loaded Gives slot from where the tape was loaded." - echo " 0 means the tape drive is empty." - echo "slots Gives Number of avialable slots." - echo "volumes List avialable slots and the label of the." - echo " tape in it (slot:volume)" - echo "Example:" - echo " mtx-changer load /dev/nst0 1 loads a tape from slot1" - echo " mtx-changer %a %o %S " - echo "" - exit 0 -fi - - -case "$command" in - unload) - # At first do mt -f /dev/st0 offline to unload the tape - # - # Check if you want to fool me - echo "unmount"|$console >/dev/null 2>/dev/null - echo "mtx-changer: Checking if drive is loaded before we unload. Request unload" >>$logfile - if $mt -f $TAPEDRIVE0 status >/dev/null 2>/dev/null ; then # mt says status ok - echo "mtx-changer: Doing mt -f $TAPEDRIVE0 rewoffl to rewind and unload the tape!" >>$logfile - $mt -f $TAPEDRIVE0 rewoffl - else - echo "mtx-changer: *** Don't fool me! *** The Drive $TAPEDRIVE0 is empty." >>$logfile - fi - exit 0 - ;; - - load) - #Let's check if drive is loaded before we load it - echo "mtx-changer: Checking if drive is loaded before we load. I Request loaded" >>$logfile - LOADEDVOL=`echo "status Storage"|$console|$grep $TAPEDRIVE0|grep ^Device|grep -v "not open."|grep -v "ERR="|grep -v "no Bacula volume is mounted"|sed -e s/^.*Volume\ //|cut -d\" -f2` -# if [ -z "$LOADEDVOL" ] ; then # this is wrong, becaus Bacula would try to use the tape if we mount it! -# LOADEDVOL=`echo "mount"|$console|$grep $TAPEDRIVE0|grep Device|grep -v "not open."|grep -v "ERR="|sed -e s/^.*Volume\ //|cut -d\" -f2` -# if [ -z "$LOADEDVOL" ] ; then -# echo "mtx-changer: The Drive $TAPEDRIVE0 is empty." >>$logfile -# else # restore state? -# if [ $LOADEDVOL = $3 ] ; then # requested Volume mounted -> exit -# echo "mtx-changer: *** Don't fool me! *** Tape $LOADEDVOL is already in drive $TAPEDRIVE0!" >>$logfile -# exit -# else # oops, wrong volume -# echo "unmount"|$console >/dev/null 2>/dev/null -# fi -# fi -# fi - if [ -z "$LOADEDVOL" ] ; then - echo "unmount"|$console >/dev/null 2>/dev/null - LOADEDVOL=0 - else - #Check if you want to fool me - if [ $LOADEDVOL = $3 ] ; then - echo "mtx-changer: *** Don't fool me! *** Tape $LOADEDVOL is already in drive $TAPEDRIVE0!" >>$logfile - exit - fi - echo "mtx-changer: The Drive $TAPEDRIVE0 is loaded with the tape $LOADEDVOL" >>$logfile - echo "mtx-changer: Unmounting..." >>$logfile - echo "unmount"|$console >/dev/null 2>/dev/null - fi - echo "mtx-changer: Unloading..." >>$logfile - echo "mtx-changer: Doing mt -f $TAPEDRIVE0 rewoffl to rewind and unload the tape!" >>$logfile - mt -f $TAPEDRIVE0 rewoffl 2>/dev/null - #Now we can load the drive as desired - echo "mtx-changer: Doing mtx -f $1 $2 $3" >>$logfile - # extract label for the mail - count=`expr 1` - for label in $labels ; do - if [ $slot -eq $count ] ; then volume=$label ; fi - count=`expr $count + 1` - done - - mail -s "Bacula needs volume $volume." $recipient </dev/null 2>/dev/null - while [ $? -ne 0 ] ; do - sleep $TAPEDELAY - $mt status >/dev/null 2>/dev/null - done - mail -s "Bacula says thank you." $recipient <>$logfile - echo "Loading finished." ; >>$logfile - echo "$slot" - exit 0 - ;; - - list) - echo "mtx-changer: Requested list" >>$logfile - LOADEDVOL=`echo "status Storage"|$console|$grep $TAPEDRIVE0|grep ^Device|grep -v "not open."|grep -v "ERR="|grep -v "no Bacula volume is mounted"|sed -e s/^.*Volume\ //|cut -d\" -f2` - if [ -z $LOADEDVOL ] ; then # try mounting - LOADEDVOL=`echo "mount"|$console|$grep $TAPEDRIVE0|grep Device|grep -v "not open."|grep -v "ERR="|sed -e s/^.*Volume\ //|cut -d\" -f2` - if [ -z $LOADEDVOL ] ; then # no luck - LOADEDVOL="_no_tape" - else # restore state - echo "unmount"|$console >/dev/null 2>/dev/null - fi - fi - count=`expr 1` - for label in $labels ; do - if [ "$label" != "$LOADEDVOL" ] ; then - printf "$count " - fi - count=`expr $count + 1` - done - printf "\n" - ;; - - loaded) - echo "mtx-changer: Request loaded, dev $TAPEDRIVE0" >>$logfile - LOADEDVOL=`echo "status Storage"|$console|$grep $TAPEDRIVE0|grep ^Device|grep -v "not open."|grep -v "ERR="|grep -v "no Bacula volume is mounted"|sed -e s/^.*Volume\ //|cut -d\" -f2` - if [ -z $LOADEDVOL ] ; then - LOADEDVOL=`echo "mount"|$console|$grep $TAPEDRIVE0|grep Device|grep -v "not open."|grep -v "ERR="|grep -v "no Bacula volume is mounted"|sed -e s/^.*Volume\ //|cut -d\" -f2` - if [ -z "$LOADEDVOL" ] ; then # no luck - echo "$TAPEDRIVE0 not mounted!" >>$logfile - else # restore state - echo "unmount"|$console >/dev/null 2>/dev/null - fi - fi - if [ -z "$LOADEDVOL" ] ; then - LOADEDVOL="_no_tape" >>$logfile - echo "0" - else - count=`expr 1` - for label in $labels ; do - if [ $LOADEDVOL = $label ] ; then echo $count ; fi - count=`expr $count + 1` - done - fi - exit 0 - ;; - - slots) - echo "mtx-changer: Request slots" >>$logfile - count=`expr 0` - for label in $labels ; do - count=`expr $count + 1` - done - echo $count - ;; - - volumes) - echo "mtx-changer: Request volumes" >>$logfile - count=`expr 1` - for label in $labels ; do - printf "$count:$label " - count=`expr $count + 1` - done - printf "\n" - ;; -esac diff --git a/docs/bacula-web/setup.sm b/docs/bacula-web/setup.sm deleted file mode 100644 index 7c88dc61..00000000 --- a/docs/bacula-web/setup.sm +++ /dev/null @@ -1,23 +0,0 @@ -/* - * html2latex - */ - -available { - sun4_sunos.4 - sun4_solaris.2 - rs_aix.3 - rs_aix.4 - sgi_irix -} - -description { - From Jeffrey Schaefer, Geometry Center. Translates HTML document to LaTeX -} - -install { - bin/html2latex /afs/rpi.edu/dept/acs/rpinfo/filters/GChtml2latex/html2latex - bin/html2latex.tag /afs/rpi.edu/dept/acs/rpinfo/filters/GChtml2latex/html2latex.tag - bin/html2latex-local.tag /afs/rpi.edu/dept/acs/rpinfo/filters/GChtml2latex/html2latex-local.tag - bin/webtex2latex.tag /afs/rpi.edu/dept/acs/rpinfo/filters/GChtml2latex/webtex2latex.tag - man/man1/html2latex.1 /afs/rpi.edu/dept/acs/rpinfo/filters/GChtml2latex/html2latex.1 -} diff --git a/docs/bacula-web/translate_images.pl b/docs/bacula-web/translate_images.pl deleted file mode 100755 index c7225118..00000000 --- a/docs/bacula-web/translate_images.pl +++ /dev/null @@ -1,185 +0,0 @@ -#!/usr/bin/perl -w -# -use strict; - -# Used to change the names of the image files generated by latex2html from imgxx.png -# to meaningful names. Provision is made to go either from or to the meaningful names. -# The meaningful names are obtained from a file called imagename_translations, which -# is generated by extensions to latex2html in the make_image_file subroutine in -# bacula.perl. - -# Opens the file imagename_translations and reads the contents into a hash. -# The hash is creaed with the imgxx.png files as the key if processing TO -# meaningful filenames, and with the meaningful filenames as the key if -# processing FROM meaningful filenames. -# Then opens the html file(s) indicated in the command-line arguments and -# changes all image references according to the translations described in the -# above file. Finally, it renames the image files. -# -# Original creation: 3-27-05 by Karl Cunningham. -# Modified 5-21-05 to go FROM and TO meaningful filenames. -# -my $TRANSFILE = "imagename_translations"; -my $path; - -# Loads the contents of $TRANSFILE file into the hash referenced in the first -# argument. The hash is loaded to translate old to new if $direction is 0, -# otherwise it is loaded to translate new to old. In this context, the -# 'old' filename is the meaningful name, and the 'new' filename is the -# imgxx.png filename. It is assumed that the old image is the one that -# latex2html has used as the source to create the imgxx.png filename. -# The filename extension is taken from the file -sub read_transfile { - my ($trans,$direction) = @_; - - if (!open IN,"<$path$TRANSFILE") { - print "WARNING: Cannot open image translation file $path$TRANSFILE for reading\n"; - print " Image filename translation aborted\n\n"; - exit 0; - } - - while () { - chomp; - my ($new,$old) = split(/\001/); - - # Old filenames will usually have a leading ./ which we don't need. - $old =~ s/^\.\///; - - # The filename extension of the old filename must be made to match - # the new filename because it indicates the encoding format of the image. - my ($ext) = $new =~ /(\.[^\.]*)$/; - $old =~ s/\.[^\.]*$/$ext/; - if ($direction == 0) { - $trans->{$new} = $old; - } else { - $trans->{$old} = $new; - } - } - close IN; -} - -# Translates the image names in the file given as the first argument, according to -# the translations in the hash that is given as the second argument. -# The file contents are read in entirely into a string, the string is processed, and -# the file contents are then written. No particular care is taken to ensure that the -# file is not lost if a system failure occurs at an inopportune time. It is assumed -# that the html files being processed here can be recreated on demand. -# -# Links to other files are added to the %filelist for processing. That way, -# all linked files will be processed (assuming they are local). -sub translate_html { - my ($filename,$trans,$filelist) = @_; - my ($contents,$out,$this,$img,$dest); - my $cnt = 0; - - # If the filename is an external link ignore it. And drop any file:// from - # the filename. - $filename =~ /^(http|ftp|mailto)\:/ and return 0; - $filename =~ s/^file\:\/\///; - # Load the contents of the html file. - if (!open IF,"<$path$filename") { - print "WARNING: Cannot open $path$filename for reading\n"; - print " Image Filename Translation aborted\n\n"; - exit 0; - } - - while () { - $contents .= $_; - } - close IF; - - # Now do the translation... - # First, search for an image filename. - while ($contents =~ /\<\s*IMG[^\>]*SRC=\"/si) { - $contents = $'; - $out .= $` . $&; - - # The next thing is an image name. Get it and translate it. - $contents =~ /^(.*?)\"/s; - $contents = $'; - $this = $&; - $img = $1; - # If the image is in our list of ones to be translated, do it - # and feed the result to the output. - $cnt += $this =~ s/$img/$trans->{$img}/ if (defined($trans->{$img})); - $out .= $this; - } - $out .= $contents; - - # Now send the translated text to the html file, overwriting what's there. - open OF,">$path$filename" or die "Cannot open $path$filename for writing\n"; - print OF $out; - close OF; - - # Now look for any links to other files and add them to the list of files to do. - while ($out =~ /\<\s*A[^\>]*HREF=\"(.*?)\"/si) { - $out = $'; - $dest = $1; - # Drop an # and anything after it. - $dest =~ s/\#.*//; - $filelist->{$dest} = '' if $dest; - } - return $cnt; -} - -# REnames the image files spefified in the %translate hash. -sub rename_images { - my $translate = shift; - my ($response); - - foreach (keys(%$translate)) { - if (! $translate->{$_}) { - print " WARNING: No destination Filename for $_\n"; - } else { - $response = `mv -f $path$_ $path$translate->{$_} 2>&1`; - $response and print "ERROR from system $response\n"; - } - } -} - -################################################# -############# MAIN ############################# -################################################ - -# %filelist starts out with keys from the @ARGV list. As files are processed, -# any links to other files are added to the %filelist. A hash of processed -# files is kept so we don't do any twice. - -# The first argument must be either --to_meaningful_names or --from_meaningful_names - -my (%translate,$search_regex,%filelist,%completed,$thisfile); -my ($cnt,$direction); - -my $arg0 = shift(@ARGV); -$arg0 =~ /^(--to_meaningful_names|--from_meaningful_names)$/ or - die "ERROR: First argument must be either \'--to_meaningful_names\' or \'--from_meaningful_names\'\n"; - -$direction = ($arg0 eq '--to_meaningful_names') ? 0 : 1; - -(@ARGV) or die "ERROR: Filename(s) to process must be given as arguments\n"; - -# Use the first argument to get the path to the file of translations. -my $tmp = $ARGV[0]; -($path) = $tmp =~ /(.*\/)/; -$path = '' unless $path; - -read_transfile(\%translate,$direction); - -foreach (@ARGV) { - # Strip the path from the filename, and use it later on. - if (s/(.*\/)//) { - $path = $1; - } else { - $path = ''; - } - $filelist{$_} = ''; - - while ($thisfile = (keys(%filelist))[0]) { - $cnt += translate_html($thisfile,\%translate,\%filelist) if (!exists($completed{$thisfile})); - delete($filelist{$thisfile}); - $completed{$thisfile} = ''; - } - print "translate_images.pl: $cnt image filenames translated ",($direction)?"from":"to"," meaningful names\n"; -} - -rename_images(\%translate); diff --git a/docs/bacula-web/uploaddoc b/docs/bacula-web/uploaddoc deleted file mode 100755 index 02668a12..00000000 --- a/docs/bacula-web/uploaddoc +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh - -ftp -i ftp.sectoor.de < + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + FD + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + DefaultConnection Sequence + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SD + FD + DIR + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LAN + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SD + DIR + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Connection SequencewithSD Calls Clientdirective + LAN + + + diff --git a/docs/images/svg/sd-to-sd.svg b/docs/images/svg/sd-to-sd.svg new file mode 100644 index 00000000..18b9cdd0 --- /dev/null +++ b/docs/images/svg/sd-to-sd.svg @@ -0,0 +1,4919 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + J + Job + + + Jc/m + Copy / M igrate + SD2 + SD1 + FD + DIR + + + A + + + + B + + + Copy / Migrate from SD1 to SD2 + + + B + + + + A + + Backup from FD to SD1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LAN + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/thanks.pdf b/docs/images/thanks.pdf index e42e2aeb..08e6c516 100644 Binary files a/docs/images/thanks.pdf and b/docs/images/thanks.pdf differ diff --git a/docs/images/tray-icon.pdf b/docs/images/tray-icon.pdf index a0a670a5..d01eb354 100644 Binary files a/docs/images/tray-icon.pdf and b/docs/images/tray-icon.pdf differ diff --git a/docs/images/up.pdf b/docs/images/up.pdf index 8329c1b4..da55671f 100644 Binary files a/docs/images/up.pdf and b/docs/images/up.pdf differ diff --git a/docs/images/view-only.pdf b/docs/images/view-only.pdf index 89f11390..3356e483 100644 Binary files a/docs/images/view-only.pdf and b/docs/images/view-only.pdf differ diff --git a/docs/images/win32-config.pdf b/docs/images/win32-config.pdf index 936a53eb..a77f4336 100644 Binary files a/docs/images/win32-config.pdf and b/docs/images/win32-config.pdf differ diff --git a/docs/images/win32-finish.pdf b/docs/images/win32-finish.pdf index 7b9bb1e3..a35ae68c 100644 Binary files a/docs/images/win32-finish.pdf and b/docs/images/win32-finish.pdf differ diff --git a/docs/images/win32-installation-type.pdf b/docs/images/win32-installation-type.pdf index 13656db5..7e36556e 100644 Binary files a/docs/images/win32-installation-type.pdf and b/docs/images/win32-installation-type.pdf differ diff --git a/docs/images/win32-installing.pdf b/docs/images/win32-installing.pdf index 68998cf3..86dfa300 100644 Binary files a/docs/images/win32-installing.pdf and b/docs/images/win32-installing.pdf differ diff --git a/docs/images/win32-location.pdf b/docs/images/win32-location.pdf index ab3504b5..a7f71198 100644 Binary files a/docs/images/win32-location.pdf and b/docs/images/win32-location.pdf differ diff --git a/docs/images/win32-menu.pdf b/docs/images/win32-menu.pdf index c27c9671..69318dcb 100644 Binary files a/docs/images/win32-menu.pdf and b/docs/images/win32-menu.pdf differ diff --git a/docs/images/win32-nsis.pdf b/docs/images/win32-nsis.pdf index 9000474a..ae46c1e7 100644 Binary files a/docs/images/win32-nsis.pdf and b/docs/images/win32-nsis.pdf differ diff --git a/docs/images/win32-pkg.pdf b/docs/images/win32-pkg.pdf index 8d87ff38..32b3a872 100644 Binary files a/docs/images/win32-pkg.pdf and b/docs/images/win32-pkg.pdf differ diff --git a/docs/images/win32-service-ok.pdf b/docs/images/win32-service-ok.pdf index 44a841f7..c5ab64a6 100644 Binary files a/docs/images/win32-service-ok.pdf and b/docs/images/win32-service-ok.pdf differ diff --git a/docs/images/win32-service.pdf b/docs/images/win32-service.pdf index 1d166f73..35992f31 100644 Binary files a/docs/images/win32-service.pdf and b/docs/images/win32-service.pdf differ diff --git a/docs/images/win32-start.pdf b/docs/images/win32-start.pdf index be6428e7..fe7c5c8f 100644 Binary files a/docs/images/win32-start.pdf and b/docs/images/win32-start.pdf differ diff --git a/docs/images/win32-welcome.pdf b/docs/images/win32-welcome.pdf index cf69de32..d8f10063 100644 Binary files a/docs/images/win32-welcome.pdf and b/docs/images/win32-welcome.pdf differ diff --git a/docs/images/xp-control-panel.pdf b/docs/images/xp-control-panel.pdf index b62e7c49..1b78ef00 100644 Binary files a/docs/images/xp-control-panel.pdf and b/docs/images/xp-control-panel.pdf differ diff --git a/docs/images/xp-windows-firewall-advanced-settings-after.pdf b/docs/images/xp-windows-firewall-advanced-settings-after.pdf index 4ea8d276..783b4e47 100644 Binary files a/docs/images/xp-windows-firewall-advanced-settings-after.pdf and b/docs/images/xp-windows-firewall-advanced-settings-after.pdf differ diff --git a/docs/images/xp-windows-firewall-advanced-settings-before.pdf b/docs/images/xp-windows-firewall-advanced-settings-before.pdf index 85b417e6..684709fb 100644 Binary files a/docs/images/xp-windows-firewall-advanced-settings-before.pdf and b/docs/images/xp-windows-firewall-advanced-settings-before.pdf differ diff --git a/docs/images/xp-windows-firewall-advanced-settings-service-details.pdf b/docs/images/xp-windows-firewall-advanced-settings-service-details.pdf index 84cb8798..27fe932d 100644 Binary files a/docs/images/xp-windows-firewall-advanced-settings-service-details.pdf and b/docs/images/xp-windows-firewall-advanced-settings-service-details.pdf differ diff --git a/docs/images/xp-windows-firewall-advanced.pdf b/docs/images/xp-windows-firewall-advanced.pdf index 40c8d28b..6565c907 100644 Binary files a/docs/images/xp-windows-firewall-advanced.pdf and b/docs/images/xp-windows-firewall-advanced.pdf differ diff --git a/docs/images/xp-windows-firewall.pdf b/docs/images/xp-windows-firewall.pdf index 499ec1ca..e66d36c9 100644 Binary files a/docs/images/xp-windows-firewall.pdf and b/docs/images/xp-windows-firewall.pdf differ diff --git a/docs/manuals/en/main/newfeatures.tex b/docs/manuals/en/main/newfeatures.tex index 5c817af1..519db8b4 100644 --- a/docs/manuals/en/main/newfeatures.tex +++ b/docs/manuals/en/main/newfeatures.tex @@ -4,6 +4,27 @@ Community version of Bacula that is not yet released. \section{New Features in 7.0.0} +\subsection{Storage daemon to Storage daemon} +Bacula version 7.0 permits SD to SD transfer of Copy and Migration +Jobs. This permits what is commonly referred to as replication or +off-site transfer of Bacula backups. It occurs automatically, if +the source SD and destination SD of a Copy or Migration job are +different. The following picture shows how this works. + +\includegraphics[width=0.8\linewidth]{sd-to-sd} + +\subsection{SD Calls Client} +If the {\bf SD Calls Client} directive is set to true in a Client resource +any Backup, Restore, Verify, Copy, or Migration Job where the client +is involved, the client will wait for the Storage daemon to contact it. +By default this directive is set to false, and the Client will call +the Storage daemon. This directive can be useful if your Storage daemon +is behind a firewall that permits outgoing connections but not incoming +one. The following picture shows the communications connection paths in +both cases. + +\includegraphics[width=0.8\linewidth]{sd-calls-client} + \subsection{Data Encryption Cipher Configuration} Bacula version 7.0 and later now allows to configure the data encryption cipher and the digest algorithm. The cipher was forced to AES