# PaCkAgE DaTaStReAm UVTcaspar 1 358 # end of header 07070100012279000081a4000000650000000100000001426c02460000014a0000005500000004000000000000000000000012ff330889UVTcaspar/pkginfoPKG=UVTcaspar NAME=caspar VERSION=20050424_1 ARCH=all CATEGORY=application VENDOR=Joost van Baal, http://mdcc.cx/caspar DESC=Makefile snippets for common tasks EMAIL=joostvb-caspar.mdcc.cx PSTAMP=Joost van Baal BASEDIR=/ CLASSES=none UVTCVSVERSION=$Id: pkginfo.in,v 1.4 2005/04/24 19:53:28 joostvb Exp $ UVTCOMMENT=see pkginfo(4) 07070100012273000081a4000000650000000100000001426c024600000a190000005500000004000000000000000000000011ff330889UVTcaspar/pkgmap: 1 358 1 i pkginfo 330 26538 1114374726 1 d none usr/local/include/caspar 0755 root bin 1 d none usr/local/include/caspar/mk 0755 root bin 1 s none usr/local/include/caspar/mk/caspar.mk=/usr/local/share/caspar/mk/caspar.mk 1 s none usr/local/include/caspar/mk/docbook.mk=/usr/local/share/caspar/mk/docbook.mk 1 s none usr/local/include/caspar/mk/pod.mk=/usr/local/share/caspar/mk/pod.mk 1 f none usr/local/man/man7/caspar-typesetting.7 0755 root bin 3530 22531 1114374725 1 f none usr/local/man/man7/caspar.7 0755 root bin 9307 48432 1114374725 1 d none usr/local/share/caspar 0755 root bin 1 d none usr/local/share/caspar/mk 0755 root bin 1 f none usr/local/share/caspar/mk/caspar.mk 0755 root bin 2141 33192 1114374725 1 f none usr/local/share/caspar/mk/docbook.mk 0755 root bin 3280 49241 1114374725 1 f none usr/local/share/caspar/mk/pod.mk 0755 root bin 1525 50434 1114374725 1 d none usr/local/share/doc/caspar 0755 root bin 1 f none usr/local/share/doc/caspar/AUTHORS 0755 root bin 81 6929 1114374726 1 f none usr/local/share/doc/caspar/COPYING 0755 root bin 17992 29528 1114374726 1 f none usr/local/share/doc/caspar/ChangeLog 0755 root bin 8481 62170 1114374726 1 f none usr/local/share/doc/caspar/ChangeLog.2002 0755 root bin 4067 28 1114374725 1 f none usr/local/share/doc/caspar/NEWS 0755 root bin 2899 35085 1114374726 1 f none usr/local/share/doc/caspar/README 0755 root bin 3985 11325 1114374726 1 f none usr/local/share/doc/caspar/README.Solaris 0755 root bin 1007 13563 1114374726 1 f none usr/local/share/doc/caspar/THANKS 0755 root bin 489 44618 1114374726 1 f none usr/local/share/doc/caspar/TODO 0755 root bin 1227 37556 1114374726 1 f none usr/local/share/doc/caspar/caspar-typesetting.azm 0755 root bin 3471 44915 1114374725 1 f none usr/local/share/doc/caspar/caspar-typesetting.html 0755 root bin 6838 45660 1114374725 1 f none usr/local/share/doc/caspar/caspar-typesetting.ps 0755 root bin 12917 62668 1114374725 1 f none usr/local/share/doc/caspar/caspar-typesetting.txt 0755 root bin 2633 20385 1114374725 1 f none usr/local/share/doc/caspar/caspar.azm 0755 root bin 8796 61521 1114374725 1 f none usr/local/share/doc/caspar/caspar.html 0755 root bin 15445 59755 1114374725 1 f none usr/local/share/doc/caspar/caspar.ps 0755 root bin 25707 54044 1114374725 1 f none usr/local/share/doc/caspar/caspar.txt 0755 root bin 7686 43385 1114374725 1 d none usr/local/share/sgml/caspar 0755 root bin 1 f none usr/local/share/sgml/caspar/html.dsl 0755 root bin 1153 28289 1114374726 1 f none usr/local/share/sgml/caspar/print.dsl 0755 root bin 5321 10498 1114374726 07070100000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000b00000000TRAILER!!!07070100012279000081a4000000650000000100000001426c02460000014a000000550000000400000000000000000000000800000000pkginfoPKG=UVTcaspar NAME=caspar VERSION=20050424_1 ARCH=all CATEGORY=application VENDOR=Joost van Baal, http://mdcc.cx/caspar DESC=Makefile snippets for common tasks EMAIL=joostvb-caspar.mdcc.cx PSTAMP=Joost van Baal BASEDIR=/ CLASSES=none UVTCVSVERSION=$Id: pkginfo.in,v 1.4 2005/04/24 19:53:28 joostvb Exp $ UVTCOMMENT=see pkginfo(4) 07070100012273000081a4000000650000000100000001426c024600000a19000000550000000400000000000000000000000700000000pkgmap: 1 358 1 i pkginfo 330 26538 1114374726 1 d none usr/local/include/caspar 0755 root bin 1 d none usr/local/include/caspar/mk 0755 root bin 1 s none usr/local/include/caspar/mk/caspar.mk=/usr/local/share/caspar/mk/caspar.mk 1 s none usr/local/include/caspar/mk/docbook.mk=/usr/local/share/caspar/mk/docbook.mk 1 s none usr/local/include/caspar/mk/pod.mk=/usr/local/share/caspar/mk/pod.mk 1 f none usr/local/man/man7/caspar-typesetting.7 0755 root bin 3530 22531 1114374725 1 f none usr/local/man/man7/caspar.7 0755 root bin 9307 48432 1114374725 1 d none usr/local/share/caspar 0755 root bin 1 d none usr/local/share/caspar/mk 0755 root bin 1 f none usr/local/share/caspar/mk/caspar.mk 0755 root bin 2141 33192 1114374725 1 f none usr/local/share/caspar/mk/docbook.mk 0755 root bin 3280 49241 1114374725 1 f none usr/local/share/caspar/mk/pod.mk 0755 root bin 1525 50434 1114374725 1 d none usr/local/share/doc/caspar 0755 root bin 1 f none usr/local/share/doc/caspar/AUTHORS 0755 root bin 81 6929 1114374726 1 f none usr/local/share/doc/caspar/COPYING 0755 root bin 17992 29528 1114374726 1 f none usr/local/share/doc/caspar/ChangeLog 0755 root bin 8481 62170 1114374726 1 f none usr/local/share/doc/caspar/ChangeLog.2002 0755 root bin 4067 28 1114374725 1 f none usr/local/share/doc/caspar/NEWS 0755 root bin 2899 35085 1114374726 1 f none usr/local/share/doc/caspar/README 0755 root bin 3985 11325 1114374726 1 f none usr/local/share/doc/caspar/README.Solaris 0755 root bin 1007 13563 1114374726 1 f none usr/local/share/doc/caspar/THANKS 0755 root bin 489 44618 1114374726 1 f none usr/local/share/doc/caspar/TODO 0755 root bin 1227 37556 1114374726 1 f none usr/local/share/doc/caspar/caspar-typesetting.azm 0755 root bin 3471 44915 1114374725 1 f none usr/local/share/doc/caspar/caspar-typesetting.html 0755 root bin 6838 45660 1114374725 1 f none usr/local/share/doc/caspar/caspar-typesetting.ps 0755 root bin 12917 62668 1114374725 1 f none usr/local/share/doc/caspar/caspar-typesetting.txt 0755 root bin 2633 20385 1114374725 1 f none usr/local/share/doc/caspar/caspar.azm 0755 root bin 8796 61521 1114374725 1 f none usr/local/share/doc/caspar/caspar.html 0755 root bin 15445 59755 1114374725 1 f none usr/local/share/doc/caspar/caspar.ps 0755 root bin 25707 54044 1114374725 1 f none usr/local/share/doc/caspar/caspar.txt 0755 root bin 7686 43385 1114374725 1 d none usr/local/share/sgml/caspar 0755 root bin 1 f none usr/local/share/sgml/caspar/html.dsl 0755 root bin 1153 28289 1114374726 1 f none usr/local/share/sgml/caspar/print.dsl 0755 root bin 5321 10498 1114374726 07070100012280000041ed000000650000000100000003426c024600000000000000550000000400000000000000000000000600000000reloc07070100012283000041ed000000650000000100000003426c024600000000000000550000000400000000000000000000000a00000000reloc/usr07070100012287000041ed000000650000000100000004426c024600000000000000550000000400000000000000000000001000000000reloc/usr/local07070100012288000041ed000000650000000100000003426c024600000000000000550000000400000000000000000000001400000000reloc/usr/local/man0707010001228a000041ed000000650000000100000002426c024600000000000000550000000400000000000000000000001900000000reloc/usr/local/man/man70707010001228c000081a4000000650000000100000001426c024500000dca000000550000000400000000000000000000002eff330898reloc/usr/local/man/man7/caspar-typesetting.7.\" Copyright (c) 2005 Joost van Baal .TH "caspar-typesetting" 7 "24 Apr 2005" "caspar-typesetting 20050424" "Caspar" .po 2m .de ZI .\" Zoem Indent/Itemize macro I. .br 'in +\\$1 .nr xa 0 .nr xa -\\$1 .nr xb \\$1 .nr xb -\\w'\\$2' \h'|\\n(xau'\\$2\h'\\n(xbu'\\ .. .de ZJ .br .\" Zoem Indent/Itemize macro II. 'in +\\$1 'in +\\$2 .nr xa 0 .nr xa -\\$2 .nr xa -\\w'\\$3' .nr xb \\$2 \h'|\\n(xau'\\$3\h'\\n(xbu'\\ .. .if n .ll -2m .am SH .ie n .in 4m .el .in 8m .. .SH NAME caspar-typesetting - Makefile snippets for common typesetting tasks .SH SYNOPSIS In a Makefile, do .di ZV .in 0 .nf \fC include caspar/mk/docbook\&.mk .fi \fR .in .di .ne \n(dnu .nf \fC .ZV .fi \fR or .di ZV .in 0 .nf \fC include caspar/mk/pod\&.mk .fi \fR .in .di .ne \n(dnu .nf \fC .ZV .fi \fR \&. .SH DESCRIPTION The caspar \fIdocbook\&.mk\fP and \fIpod\&.mk\fP files are Makefile snippets for common typesetting tasks, like typesetting LaTeX (see [3]), DocBook XML, DocBook SGML (see [2]) and POD (see [1]) documents\&. You just have to type make, instead of stuff like jade -t tex -d caspar/print\&.dsl /usr/share/sgml/declaration/xml\&.dcl foobar\&.dbx\&. .SH USAGE In a directory where you maintain \&.dbx (Docbook XML) or \&.tex (LaTeX) files, do .di ZV .in 0 .nf \fC $ echo include caspar/mk/docbook\&.mk > Makefile $ vi karenina\&.dbx $ make karenina\&.view $ make karenina\&.print $ vi svejk\&.tex $ make svejk\&.view $ make svejk\&.print $ make $ make clean .fi \fR .in .di .ne \n(dnu .nf \fC .ZV .fi \fR Other targets: filename\&.ps, filename\&.pdf, filename\&.2ps, filename\&.html, filename\&.printbig, filename\&.dvi\&. Variables you might like to set in your Makefile: XMLDCL (default is /usr/share/sgml/declaration/xml\&.dcl; if you\&'re not on a Debian GNU/Linux system, you\&'ll likely have to adjust this), HTML_DSL, PRINT_DSL\&. In a directory where you maintain \&.pod files, do .di ZV .in 0 .nf \fC $ echo include caspar/mk/pod\&.mk > Makefile $ vi lire\&.pod $ perldoc \&./lire\&.pod $ make lire\&.pdf $ make $ less lire\&.overstrike-txt $ make clean .fi \fR .in .di .ne \n(dnu .nf \fC .ZV .fi \fR Other targets: filename\&.ps, filename\&.html, filename\&.txt, \&.\&.\&. (Similar to the ones supplied by \fIdocbook\&.mk\fP)\&. .SH EXAMPLES Some examples: Overriding the caspar-supplied DSSSL files: Create your own print\&.dls and html\&.dsl, in the same directory as your Docbook XML files\&. Your Makefile should read: .di ZV .in 0 .nf \fC PRINT_DSL = print\&.dsl HTML_DSL = html\&.dsl include caspar/mk/docbook\&.mk .fi \fR .in .di .ne \n(dnu .nf \fC .ZV .fi \fR Overriding the standard html-to-text convertor: .di ZV .in 0 .nf \fC $ W3M=lynx make svejk\&.txt .fi \fR .in .di .ne \n(dnu .nf \fC .ZV .fi \fR \&. .SH FILES \fIcaspar/mk/docbook\&.mk\fP, \fIcaspar/mk/pod\&.mk\fP .SH ENVIRONMENT For \fIdocbook\&.mk\fP: files: XMLDCL, HTML_DSL, PRINT_DSL; utilities: JADE, PDFJADETEX, PDFLATEX, JADETEX, LATEX, W3M, DVIPS, PSNUP, LPR, GV; settings: JADE_MAXERRORS\&. These variables can get adjusted in Makefile, as well as in the shell environment\&. \fIpod\&.mk\fP Uses no environment variables\&. .SH AUTHOR Joost van Baal .SH SEE ALSO \fBcaspar(7)\fP [1] perlpod(1) about Perl\&'s Plain Old Documentation format [2] \fIDocBook: The Definitive Guide\fP on http://docbook\&.org/, [3] The LaTeX Project Homepage on http://www\&.latex-project\&.org/\&. Some comments on advanced usage are in the files \fIdocbook\&.mk\fP and \fIpod\&.mk\fP itself\&. 0707010001228d000081a4000000650000000100000001426c02450000245b0000005500000004000000000000000000000022ff330898reloc/usr/local/man/man7/caspar.7.\" Copyright (c) 2005 Joost van Baal .TH "caspar" 7 "24 Apr 2005" "caspar 20050424" "Caspar" .po 2m .de ZI .\" Zoem Indent/Itemize macro I. .br 'in +\\$1 .nr xa 0 .nr xa -\\$1 .nr xb \\$1 .nr xb -\\w'\\$2' \h'|\\n(xau'\\$2\h'\\n(xbu'\\ .. .de ZJ .br .\" Zoem Indent/Itemize macro II. 'in +\\$1 'in +\\$2 .nr xa 0 .nr xa -\\$2 .nr xa -\\w'\\$3' .nr xb \\$2 \h'|\\n(xau'\\$3\h'\\n(xbu'\\ .. .if n .ll -2m .am SH .ie n .in 4m .el .in 8m .. .SH NAME caspar - Makefile snippets for common tasks .SH SYNOPSIS In a Makefile, do either .di ZV .in 0 .nf \fC include caspar/mk/caspar\&.mk .fi \fR .in .di .ne \n(dnu .nf \fC .ZV .fi \fR or .di ZV .in 0 .nf \fC include caspar/mk/docbook\&.mk .fi \fR .in .di .ne \n(dnu .nf \fC .ZV .fi \fR or .di ZV .in 0 .nf \fC include caspar/mk/pod\&.mk .fi \fR .in .di .ne \n(dnu .nf \fC .ZV .fi \fR \&. .SH DESCRIPTION Caspar offers Makefile snippets for common tasks, like installing configuration files, or typesetting LaTeX, DocBook XML and DocBook SGML documents\&. The typesetting functionality is delivered by \fIdocbook\&.mk\fP and \fIpod\&.mk\fP\&. This is documented in \fBcaspar-typesetting(7)\fP\&. The installing-stuff functionality functionality is delivered by \fIcaspar\&.mk\fP\&. (That\&'s what the rest of the manual will talk about\&.) It enables one to run \&'make install\&' from within a tree which typically holds configuration files, managed using CVS (or Subversion or any other version control system, for that matter)\&. It is useful in cases like this: all configuration files of some host are under version control, and, after commiting a change to CVS, you want to be able to easily install the new configuration file on the host\&. With \fBcaspar\fP, all you have to do is specify the hostname in one place, and specify the name of the target directory in each CVS directory\&. .SH USAGE Within a CVS tree, create a file \fIinclude/install\&.mk\fP, with contents like e\&.g\&. .di ZV .in 0 .nf \fC csp_SUH = root@some\&.host\&.somewhere include caspar/mk/caspar\&.mk .fi \fR .in .di .ne \n(dnu .nf \fC .ZV .fi \fR \&. Within each other directory of the CVS tree which holds files, create a Makefile, which looks like e\&.g\&. .di ZV .in 0 .nf \fC csp_SCPDIR = /some/dir/ectory/ include \&.\&./\&.\&./include/install\&.mk .fi \fR .in .di .ne \n(dnu .nf \fC .ZV .fi \fR \&. If you\&'d like to use the \fIinstall-recursive\fP target too, in directories which hold subdirectories (but not files), you\&'ll have to create a Makefile which looks something like .di ZV .in 0 .nf \fC include \&.\&./\&.\&./include/install\&.mk .fi \fR .in .di .ne \n(dnu .nf \fC .ZV .fi \fR \&. From within the CVS tree, one can call: .di ZV .in 0 .nf \fC make -install make install make load make make install-recursive .fi \fR .in .di .ne \n(dnu .nf \fC .ZV .fi \fR The \fIinstall-recursive\fP target descends down the tree, and calls make install in each subdirectory\&. .SH VARIABLES The variables one can set in a calling Makefile are: .ZI 8m "csp_CP" \& .br cp binary, just "cp" by default .in -8m .ZI 8m "csp_CPFLAGS" \& .br extra arguments to pass to cp invocation, none by default .in -8m .ZI 8m "csp_SCP" \& .br scp binary, just "scp" by default .in -8m .ZI 8m "csp_SCPFLAGS" \& .br extra arguments to pass to scp invocation, e\&.g\&. \&'-i \&.ssh/id_rsa-root\&' .in -8m .ZI 8m "csp_SUH" \& .br ssh-reachable user@host (Secure User at Host) .in -8m .ZI 8m "csp_SUHS" \& .br space separated list of ssh-reachable user@host items (Secure User at HostS) .in -8m .ZI 8m "csp_CPDIR" \& .br directory to which we can cp(1), instead of scp (CoPy DIRectory) .in -8m .ZI 8m "csp_CPDIRS" \& .br space separated list of directories to which we can copy (CoPy DIRectorieS) .in -8m .ZI 8m "csp_SCPDIR" \& .br directory on ssh reachable host, with trailing / (Secure CoPy DIRectory) .in -8m .ZI 8m "csp_SUHDIRS" \& .br this is the list $(csp_SUH):$(dir) for each $(dir) in $(csp_SUHS) (or where dir = $(csp_SCPDIR), in case csp_SUHS is not set)\&. However, more items can get added to this list on the fly\&. .in -8m .ZI 8m "csp_LOAD" \& .br targets which should depend on the \&`load\&' target\&. .in -8m .ZI 8m "csp_EXTRAFILES" \& .br extra files which should be installed\&. Can be used to include files starting with a dot\&. .in -8m .ZI 8m "csp_TABOOFILES" \& .br files which should never be installed\&. Set to Makefile \&.%\&.swp %~ #%# pod2htmd\&.tmp pod2htmi\&.tmp by default\&. .in -8m .ZI 8m "csp_TABOOFILES_ADD" \& .br extra files which should never be installed; added to list in csp_TABOOFILES\&. .in -8m .ZI 8m "csp_TABOOFILES_SKIP" \& .br files which should be installed, even if in initial csp_TABOOFILES list\&. Removed from csp_TABOOFILES list\&. .in -8m .ZI 8m "csp_TABOODIRS" \& .br directories to exclude in install-recursive target\&. set to CVS \&.svn by default\&. .in -8m .ZI 8m "csp_TABOODIRS_ADD, csp_TABOODIRS_SKIP" \& .br see csp_TABOOFILES equivalents\&. .in -8m .SH EXAMPLES Some examples: Using csp_CPDIR and csp_LOAD: \fIusername/etc/Makefile\fP is .di ZV .in 0 .nf \fC csp_CPDIR = $(HOME)/etc/ csp_LOAD = crontab-load include \&.\&./include/install\&.mk crontab-load: crontab $(csp_CPDIR)/crontab .fi \fR .in .di .ne \n(dnu .nf \fC .ZV .fi \fR while \fI\&.\&./include/install\&.mk\fP is just .di ZV .in 0 .nf \fC include caspar/mk/caspar\&.mk .fi \fR .in .di .ne \n(dnu .nf \fC .ZV .fi \fR \&. Using csp_SCPDIR and csp_LOAD: \fIetc/Makefile\fP is .di ZV .in 0 .nf \fC csp_SCPDIR = /etc/ csp_LOAD = aliases-load include \&.\&./include/install\&.mk aliases-load: ssh $(csp_SUH) "cd /etc; postalias aliases; postfix reload" .fi \fR .in .di .ne \n(dnu .nf \fC .ZV .fi \fR while \fI\&.\&./include/install\&.mk\fP is .di ZV .in 0 .nf \fC csp_SUH = root@some\&.host\&.somewhere include caspar/mk/caspar\&.mk .fi \fR .in .di .ne \n(dnu .nf \fC .ZV .fi \fR Using the csp_TABOOFILES_{ADD,SKIP} variables is handy if you want to \fIinstall\fP a \fIMakefile\fP, instead of using it: Create \fIMakefile\fP just as you\&'d like to have it installed on the remote location\&. Now, create \fIGNUmakefile\fP as e\&.g\&. .di ZV .in 0 .nf \fC csp_TABOOFILES_SKIP = Makefile csp_TABOOFILES_ADD = GNUmakefile csp_SCPDIR = /etc/foobar/ csp_SUH = root@some\&.host\&.somewhere load: ssh $(csp_SUH) "make -C $(csp_SCPDIR)" .fi \fR .in .di .ne \n(dnu .nf \fC .ZV .fi \fR Now, make install and make load will do the right thing\&. Using the csp_EXTRAFILES variable is handy if you want to install files with a leading dot\&. E\&.g\&.: .di ZV .in 0 .nf \fC csp_EXTRAFILES = \&.bashrc csp_SUHDIRS = root@some\&.host\&.somewhere: .fi \fR .in .di .ne \n(dnu .nf \fC .ZV .fi \fR More advanced tricks: supply e\&.g\&. .di ZV .in 0 .nf \fC csp_SUHS = root@localhost root@some\&.host\&.somewhere .fi \fR .in .di .ne \n(dnu .nf \fC .ZV .fi \fR in \fIinstall\&.mk\fP, to install on multiple hosts\&. Run .di ZV .in 0 .nf \fC csp_SUH=joe@otherhost make filename-install .fi \fR .in .di .ne \n(dnu .nf \fC .ZV .fi \fR to install filename as joe@otherhost, instead of the default as given in \fIinstall\&.mk\fP\&. When you don\&'t want to ssh to root@some\&.host\&.somewhere directly, you could do .di ZV .in 0 .nf \fC sudo rsync -az /path/to/your/config_archive /etc .fi \fR .in .di .ne \n(dnu .nf \fC .ZV .fi \fR \&. .SH FILES \fIcaspar/mk/caspar\&.mk\fP, \fIcaspar/mk/docbook\&.mk\fP, \fIcaspar/mk/pod\&.mk\fP .SH ENVIRONMENT For \fIcaspar\&.mk\fP: csp_CPDIR, csp_CP, csp_CPFLAGS, csp_LOAD, csp_SCP, csp_SCPFLAGS, csp_SUH, csp_SUHS, \&.\&.\&. .SH BUGS See TODO and/or BUGS, distributed with the caspar package\&. (And online at http://mdcc\&.cx/pub/caspar/caspar-latest/TODO\&.) .SH TRIVIA caspar is named after Caspar the Friendly Ghost, since that\&'s the title of the Daniel Johnston song I was listening to when deciding to package my homegrown scripts\&. .SH AUTHOR Joost van Baal .SH SEE ALSO \fBcaspar-typesetting(7)\fP The caspar homepage is at http://mdcc\&.cx/caspar/ \&. The \&`cvs-conf\&' package ( http://project\&.tuxfamily\&.org/cvs-conf, http://packages\&.debian\&.org/stable/utils/cvs-conf\&.html ) probably offers about the same functionality as \fIcaspar\&.mk\fP\&. However, this package seems largely unmaintained (between September 2002 and May 2004, at least)\&. docbookmk, by Michael Wiedmann ( http://www\&.miwie\&.org/docbkmake/ ) offers probably a superset of Caspar\&'s \fIdocbook\&.mk\fP functionality\&. SUP, the Software Upgrade Protocol and it\&'s implementation by Carnegie Mellon University offers another way to distribute (configuration)files\&. Beware though: between Nov 1996 and June 2004, no new release has been published\&. The Debian ( ftp://ftp\&.debian\&.org/debian/pool/main/s/sup/ ) and NetBSD packages are likely still maintained, though\&. cfengine ( http://www\&.cfengine\&.org/ ), by Mark Burgess e\&.a\&., builds expert systems to administrate and configure large computer networks: it delivers a very big superset of caspar\&'s installation mechanism\&. The svk version control system is said to be quite usable for handling configuration file management (without a separate install mechanism like caspar)\&. See also this discussion on the Debian development list\&. 0707010001228e000041ed000000650000000100000005426c0246000000000000005500000004000000000000000000000016ff330898reloc/usr/local/share0707010001228f000041ed000000650000000100000003426c024600000000000000550000000400000000000000000000001dff330898reloc/usr/local/share/caspar07070100012290000041ed000000650000000100000002426c0246000000000000005500000004000000000000000000000020ff330898reloc/usr/local/share/caspar/mk07070100012291000081a4000000650000000100000001426c02450000085d000000550000000400000000000000000000002aff33089freloc/usr/local/share/caspar/mk/caspar.mk# $Id: caspar.mk,v 1.20 2005/04/20 08:51:38 joostvb Exp $ # Copyright (C) 2002, 2003, 2004, 2005 Joost van Baal # # This file is part of caspar. Caspar is free software; you can redistribute # it and/or modify it under the terms of the GNU General Public License as # published by the Free Software Foundation; either version 2 of the License, # or (at your option) any later version. You should have received a copy of # the GNU General Public License along with this file (see COPYING). # see caspar(7) for usage ifdef csp_SCPDIR ifdef csp_SUHS csp_SUHDIRS ?= $(patsubst %,%:$(csp_SCPDIR),$(csp_SUHS)) endif ifdef csp_SUH csp_SUHDIRS ?= $(csp_SUH):$(csp_SCPDIR) endif endif # possibility to choose own cp(1) and scp(1) csp_CP ?= cp csp_SCP ?= scp # extra arguments for cp(1) and scp(1) csp_CPFLAGS ?= csp_SCPFLAGS ?= csp_CPDIRS ?= $(csp_CPDIR) csp_EXTRAFILES ?= csp_TABOOFILES_DEFAULT ?= Makefile .%.swp %~ \#%\# pod2htmd.tmp pod2htmi.tmp csp_TABOOFILES ?= $(filter-out $(csp_TABOOFILES_SKIP), $(csp_TABOOFILES_DEFAULT)) $(csp_TABOOFILES_ADD) csp_TABOODIRS_DEFAULT ?= CVS .svn csp_TABOODIRS ?= $(filter-out $(csp_TABOODIRS_SKIP), $(csp_TABOODIRS_DEFAULT)) $(csp_TABOODIRS_ADD) RULES = $(foreach dir,$(csp_SUHDIRS),$(csp_SCP) $(csp_SCPFLAGS) "$(subst -install,,$@)" $(dir);) \ $(foreach dir,$(csp_CPDIRS),$(csp_CP) $(csp_CPFLAGS) "$(subst -install,,$@)" $(dir);) # files, not directories FILES := $(shell for f in *; do test -f $$f && echo $$f; done) # exclude editor backup files and other stuff FILES := $(filter-out $(csp_TABOOFILES), $(FILES)) $(csp_EXTRAFILES) TARGETS := $(patsubst %,%-install,$(FILES)) TARGETS := $(filter-out $(csp_LOAD), $(TARGETS)) DIRS := $(shell for d in *; do test -d $$d && echo $$d; done) DIRS := $(filter-out $(csp_TABOODIRS), $(DIRS)) define do-recursive for subdir in $(DIRS); \ do \ (cd $$subdir && $(MAKE) -$(MAKEFLAGS) install-recursive); \ done endef all: install load install: $(TARGETS) load: $(csp_LOAD) $(TARGETS): $(RULES) install-recursive: install $(do-recursive) .PHONY: $(TARGETS) .PHONY: $(csp_LOAD) 07070100012292000081a4000000650000000100000001426c024500000cd0000000550000000400000000000000000000002bff33089freloc/usr/local/share/caspar/mk/docbook.mk# $Id: docbook.mk,v 1.11 2004/09/09 11:36:36 joostvb Exp $ # Copyright (C) 2002, 2003 Joost van Baal # # This file is part of caspar. Caspar is free software; you can redistribute # it and/or modify it under the terms of the GNU General Public License as # published by the Free Software Foundation; either version 2 of the License, # or (at your option) any later version. You should have received a copy of # the GNU General Public License along with this file (see COPYING). # See caspar-typesetting(7) for usage information. # see also /usr/local/src/debian/maint-guide/maint-guide-1.0.2/Makefile # for a debiandoc-sgml example. XMLDCL ?= /usr/share/sgml/declaration/xml.dcl # my jade looks in "caspar/print.dsl", # "/usr/local/share/sgml/caspar/print.dsl", # "/usr/local/lib/sgml/caspar/print.dsl", # "/usr/share/sgml/caspar/print.dsl" # when i specify -d caspar/print.dsl # # when using your own print.dsl, your Makefile could read # # PRINT_DSL = print.dsl # include caspar/mk/docbook.mk # # HTML_DSL ?= caspar/html.dsl PRINT_DSL ?= caspar/print.dsl # JADE = /usr/bin/jade JADE ?= jade # jade's -E option. the jade default is 200. we choose a maximum # of 10 errors: we don't wanna have our console spammed by errormessages JADE_MAXERRORS ?= 10 PDFJADETEX ?= pdfjadetex PDFLATEX ?= pdflatex JADETEX ?= jadetex LATEX ?= latex W3M ?= w3m DVIPS ?= dvips PSNUP ?= psnup LPR ?= lpr # gnome-gv might do well too GV ?= gv SGML2HTML_RULE = $(JADE) -E$(JADE_MAXERRORS) -t sgml -d $(HTML_DSL) $< XML2HTML_RULE = $(JADE) -E$(JADE_MAXERRORS) -t sgml -d $(HTML_DSL) \ $(XMLDCL) $< # lynx doesn't deal well with too wide blurbs of :( HTML2TXT_RULE = $(W3M) -dump $< > $@ SGML2JTEX_RULE = $(JADE) -E$(JADE_MAXERRORS) -t tex -d $(PRINT_DSL) \ -o $@ $< XML2JTEX_RULE = $(JADE) -E$(JADE_MAXERRORS) -t tex -d $(PRINT_DSL) \ -o $@ $(XMLDCL) $< # run three times for toc processing JTEX2DVI_RULE = $(JADETEX) $< && $(JADETEX) $< && $(JADETEX) $< && \ rm -f $*.log $*.out $*.aux # rm -f: intermediate files might not exist JTEX2PDF_RULE = $(PDFJADETEX) $< && $(PDFJADETEX) $< && $(PDFJADETEX) $< && \ rm -f $*.log $*.out $*.aux # One of the GNU Make implicit rules makes N.dvi from N.tex with the # command $(TEX) TEX2DVI_RULE = $(LATEX) $< && $(LATEX) $< && $(LATEX) $< && \ rm -f $*.log $*.aux DVI2PS_RULE = $(DVIPS) -f < $< > $@ TEX2PDF_RULE = $(PDFLATEX) $< && $(PDFLATEX) $< && $(PDFLATEX) $< && \ rm -f $*.log $*.aux PS22PS_RULE = $(PSNUP) -2 $< $@ # create nice default target sources := $(basename $(wildcard *.dbx *.tex *.sgml)) outputs := $(addsuffix .ps,$(sources)) $(addsuffix .pdf,$(sources)) \ $(addsuffix .html,$(sources)) $(addsuffix .txt,$(sources)) typeset: $(outputs) %.jtex: %.sgml $(SGML2JTEX_RULE) %.jtex: %.dbx $(XML2JTEX_RULE) %.dvi: %.jtex $(JTEX2DVI_RULE) %.dvi: %.tex $(TEX2DVI_RULE) %.ps: %.dvi $(DVI2PS_RULE) %.pdf: %.tex $(TEX2PDF_RULE) %.pdf: %.jtex $(JTEX2PDF_RULE) %.html: %.sgml $(SGML2HTML_RULE) %.html: %.dbx $(XML2HTML_RULE) %.txt: %.html $(HTML2TXT_RULE) %.2ps: %.ps $(PS22PS_RULE) %.view: %.ps $(GV) $< %.print: %.2ps $(LPR) $< %.printbig: %.ps $(LPR) $< clean: -rm *.aux *.log *.dvi *.jtex .PRECIOUS: %.ps %.html 07070100012293000081a4000000650000000100000001426c0245000005f50000005500000004000000000000000000000027ff33089freloc/usr/local/share/caspar/mk/pod.mk# pod.mk - typeset documentation from .pod files . See perlpod(1) for # information on Perl's pod, Plain Old Documention . # # See caspar-typesetting(7) for usage info. # # this Makefile snippet needs GNU Make # Copyright (C) 2003 Joost van Baal # # This file is part of caspar. Caspar is free software; you can redistribute # it and/or modify it under the terms of the GNU General Public License as # published by the Free Software Foundation; either version 2 of the License, # or (at your option) any later version. You should have received a copy of # the GNU General Public License along with this file (see COPYING). # $Id: pod.mk,v 1.4 2004/09/09 11:25:11 joostvb Exp $ PODS := $(shell for f in *.pod; do test -f $$f && echo -n $$f " "; done) BASES := $(basename $(PODS)) TXTS := $(patsubst %,%.txt,$(BASES)) OVERSTRIKES := $(patsubst %,%.overstrike-txt,$(BASES)) HTMLS := $(patsubst %,%.html,$(BASES)) TROFFS := $(patsubst %,%.7,$(BASES)) PSS := $(patsubst %,%.ps,$(BASES)) PDFS := $(patsubst %,%.pdf,$(BASES)) typeset: $(TXTS) $(HTMLS) $(TROFFS) $(PSS) $(PDFS) %.7: %.pod pod2man $< $@ %.html: %.pod pod2html --infile=$< --outfile=$@ # view install.overstrike-txt with less(1) %.overstrike-txt: %.pod pod2text --overstrike $< $@ %.txt: %.pod pod2text $< $@ # two pages on one sheet: # a2ps -o $@ $< %.ps: %.7 man -l -Tps $< > $@ %.pdf: %.ps ps2pdf $< $@ clean: -rm -f $(PDFS) $(PSS) $(HTMLS) $(TXTS) $(OVERSTRIKES) $(TROFFS) 07070100012295000041ed000000650000000100000003426c024600000000000000550000000400000000000000000000001aff33089freloc/usr/local/share/doc07070100012296000041ed000000650000000100000002426c0246000000000000005500000004000000000000000000000021ff33089freloc/usr/local/share/doc/caspar07070100012297000081a4000000650000000100000001426c0246000000510000005500000004000000000000000000000029ff3308a0reloc/usr/local/share/doc/caspar/AUTHORScaspar is written by Joost van Baal < joostvb *dash* caspar *at* mdcc *dot* cx > 07070100012298000081a4000000650000000100000001426c0246000046480000005500000004000000000000000000000029ff3308a0reloc/usr/local/share/doc/caspar/COPYING GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program 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. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public 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. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. , 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License. 07070100012299000081a4000000650000000100000001426c024600002121000000550000000400000000000000000000002bff3308a0reloc/usr/local/share/doc/caspar/ChangeLog2005-04-24 17:46 joostvb * NEWS: release 20050424 2005-04-24 17:41 joostvb * TODO, doc/caspar.azm: more notes about alternatives to caspar(7) 2005-04-20 10:53 joostvb * doc/caspar.azm: document new defaults 2005-04-20 10:51 joostvb * doc/caspar.azm, mk/caspar.mk: just the csp_EXTRAFILES variable is enough for this functionality. got rid of csp_EXTRAFILES_SKIP and csp_EXTRAFILES_ADD 2005-04-19 17:46 joostvb * THANKS: thanks Guus 2005-04-19 17:44 joostvb * doc/caspar.azm: add example of csp_EXTRAFILES usage 2005-04-19 17:39 joostvb * doc/caspar.azm: apply patch by Guus Sliepen documenting csp_EXTRAFILES*, Message-ID: <20050419151213.GJ22475@sliepen.eu.org> 2005-04-19 17:32 joostvb * mk/caspar.mk: fix typo in guus patch 2005-04-19 17:31 joostvb * mk/caspar.mk: applied patch by Guus Sliepen, Message-ID: <20050419145647.GI22475@sliepen.eu.org>: add suppport for csp_EXTRAFILES, csp_EXTRAFILES_SKIP, csp_EXTRAFILES_ADD 2005-03-02 09:42 joostvb * NEWS, TODO: release 20050302 2005-03-02 08:24 joostvb * mk/caspar.mk: CVS typically is not a file: removed from csp_TABOOFILES_DEFAULT 2005-03-02 08:23 joostvb * doc/caspar.azm: fix escaping, manpage gets typesetted completely again 2005-03-01 22:01 joostvb * TODO: aargh. borken manpage 2005-03-01 21:54 joostvb * NEWS: release 20050301 2005-03-01 21:53 joostvb * mk/Makefile.am: cosmetics 2005-03-01 21:41 joostvb * NEWS, TODO: give some hints on how to upgrade old-style Makefiles 2005-03-01 21:40 joostvb * doc/caspar.azm: document install-recursive make target 2005-02-28 22:55 joostvb * mk/caspar.mk: no longer supply backward compatibility with caspar <= 20030825 2005-02-28 22:46 joostvb * TODO, doc/caspar.azm: supply example for TABOOFILES hack 2005-02-23 10:36 joostvb * doc/caspar.azm, mk/caspar.mk: INCLUDE doesnt seem a natural name. Use SKIP and ADD. Documented new variables 2005-02-23 10:29 joostvb * mk/caspar.mk: new variabled csp_TABOO{FILES,DIRS}_{INCLUDE,EXCLUDE}, to tweak csp_TABOO{FILES,DIRS}. Thanks to Wessel Dankers 2005-02-23 10:09 joostvb * TODO: perhaps csp_TABOODIRS could use more documentation 2005-02-16 10:15 joostvb * TODO: you might not need caspar 2004-09-09 13:38 joostvb * doc/caspar.azm: document new csp_TABOO{FILES,DIRS} variables 2004-09-09 13:36 joostvb * mk/docbook.mk: use "typeset" as default target: cooperate nice with caspar.mk 2004-09-09 13:25 joostvb * mk/: caspar.mk, pod.mk: new variables: csp_TABOOFILES and csp_TABOODIRS 2004-09-09 13:20 joostvb * mk/caspar.mk: never install pod2html item cache and pod2html directory cache 2004-08-15 22:28 joostvb * TODO: have submitted at GNU directory 2004-08-07 15:11 joostvb * TODO: gnu directory hassle... 2004-08-07 12:17 joostvb * caspar.azm: remove old cruft 2004-07-21 17:34 joostvb * TODO, mk/Makefile.am: another shot at making the symlink creation work for binary packagers 2004-07-21 16:58 joostvb * NEWS: release 20040721 2004-07-21 16:56 joostvb * TODO: more documentation needed 2004-07-21 16:55 joostvb * README: announce upload to Debian archive 2004-07-21 16:36 joostvb * bootstrap: be verbose about possible problems 1970-01-01 01:00 * .cvsignore: [no log message] 1970-01-01 01:00 * .cvsignore: [no log message] 2004-07-21 16:32 joostvb * Makefile.am: the dist and distcheck targets no build both tar.gz and tar.bz2 2004-07-21 16:21 joostvb * mk/Makefile.am, configure.ac: use $(LN_S), not ln -s: more portable. honor $(DESTDIR): automake >= 1.7 compliant 2004-07-21 13:21 joostvb * bootstrap: added warning about pkg-config and aclocal 1.8 not cooperating 2004-07-11 18:39 joostvb * AUTHORS, README, TODO: cleaning up TODO file 1970-01-01 01:00 * .cvsignore: [no log message] 2004-07-03 06:08 joostvb * TODO: more ideas for improvements 2004-06-19 10:01 joostvb * doc/caspar.azm: added note about yet another possible alternative: sup 2004-05-31 15:48 joostvb * NEWS: release 20040531 2004-05-31 15:47 joostvb * README: notes on cvs commit email messages for developers 2004-05-31 15:46 joostvb * bootstrap: minor tweak in build system 2004-05-31 15:44 joostvb * doc/include.zmm: nice header in manpage, even with zoem > 03-265 2004-05-31 15:06 joostvb * NEWS: documented new variable names and ui change 2004-05-31 15:05 joostvb * mk/caspar.mk: some more cleanup in var names 2004-05-31 15:04 joostvb * doc/caspar.azm: document new variable names, with csp_ prefix 2004-05-30 16:44 joostvb * mk/caspar.mk: renamed variables (the user interface): now have csp_ prefix 2004-03-11 17:19 joostvb * TODO: more ideas 2004-03-11 17:18 joostvb * mk/docbook.mk: added comment about using GNU Make built-in implicit rules 2004-03-11 17:17 joostvb * mk/caspar.mk: added experimental install-recursive target 2004-03-11 17:15 joostvb * sgml/print.dsl: added comments on changing default font-size 2004-02-26 12:35 joostvb * TODO: more to do 2003-12-17 23:02 joostvb * NEWS, README: notes on CVS move to Alioth 2003-12-15 07:08 joostvb * doc/caspar.azm, mk/caspar.mk: fixed copyright 2003-11-12 15:11 joostvb * doc/caspar.azm: added link to cvs-conf project page 2003-11-12 15:00 joostvb * doc/caspar.azm: DIR and SDIR should have trailing /, tnx Fruit 2003-11-04 17:38 joostvb * mk/pod.mk: dont remove *.txt and friends which are not generated from pod 2003-08-22 15:50 joostvb * doc/caspar.azm: notes on new variables added 2003-08-22 15:46 joostvb * mk/caspar.mk: caspar.mk now honors CPFLAGS and SCPFLAGS: extra arguments for cp and scp 2003-08-09 16:53 joostvb * Makefile.am, doc/Makefile.am: fixed bugs in automake 1.7 build hooks 2003-08-09 16:53 joostvb * doc/: caspar-typesetting.azm, caspar.azm: use zoem linking of manpages 2003-08-09 16:31 joostvb * ChangeLog: now autogenerated 2003-08-09 16:30 joostvb * doc/caspar-typesetting.azm: manpage, from comments in docbook.mk and pod.mk 2003-08-09 16:30 joostvb * doc/include.zmm: zoem include macros 2003-08-09 16:29 joostvb * doc/ChangeLog.2002: splitted off new autogenerated ChangeLog 2003-08-09 16:24 joostvb * doc/Makefile.am, doc/caspar.azm, mk/docbook.mk, mk/pod.mk: moved comments in source files to proper manpage: caspar-typesetting(7) added 2003-08-09 16:23 joostvb * THANKS, configure.ac, setversion: tnx stijn for zoem build enviroment hooks 2003-08-09 15:41 joostvb * .cvsignore, Makefile.am, NEWS, bootstrap, doc/Makefile.am: ChangeLog now is automagically generated from CVS. NEWS actually will have content 2003-08-09 15:05 joostvb * doc/Makefile.am: distribute plain ascii too 2003-08-09 15:04 joostvb * README: lots of info moved to doc/caspar.azm 2003-08-09 14:56 joostvb * doc/: .cvsignore, Makefile.am, caspar.azm: zoemized caspar README file 2003-08-09 12:40 joostvb * .cvsignore, README, caspar.azm: converting README to zoem format 2003-08-06 13:07 joostvb * mk/caspar.mk: applied patch from Anton Sluijtman to exclude emacs backup files 2003-08-03 00:06 joostvb * ChangeLog, mk/Makefile.am, sgml/Makefile.am: aargh 2003-08-02 23:41 joostvb * ChangeLog, Makefile.am, bootstrap, configure.ac, configure.in, setversion, mk/caspar.mk: new build system 2003-07-24 12:06 joostvb * TODO: done, not released yet 2003-07-24 11:57 joostvb * mk/docbook.mk: use pdflatex for generating pdf from LaTeX, make sure tocs gets created from LaTeX source 2003-07-24 11:50 joostvb * TODO: generating pdf from LaTeX is broken 2003-07-18 11:01 joostvb * mk/docbook.mk: run pdfjadetex 3 times: fixes toc. rm -f intermediate files: no sure wether they will get created. added license referal 2003-07-16 11:43 joostvb * mk/docbook.mk: use pdfjadetex for generating pdf: fonts look better 2003-07-14 22:29 joostvb * TODO: more stuff todo added 2003-04-27 12:20 joostvb * TODO, sgml/html.dsl: did some toc investigations 2003-03-31 22:03 joostvb * mk/docbook.mk: sane default target for docbook stuff 2003-02-12 12:26 joostvb * mk/caspar.mk: added SUHS hack 2003-02-05 23:42 joostvb * mk/caspar.mk: ommitting SDIR results in scp to get skipped 2002-11-22 09:13 joostvb * ChangeLog, README: rsync note 2002-03-24 16:44 joostvb * TODO: added reference to cfenginge, tnx flacoste 070701000122ad000081a4000000650000000100000001426c024500000fe30000005500000004000000000000000000000030ff3308a0reloc/usr/local/share/doc/caspar/ChangeLog.2002caspar (20030803) * mk/Makefile.am, sgml/Makefile.am: bugfix. new build system needs new PACKAGE variable. stuff got installed in /usr/share/mk/ (not /usr/share/caspar/mk/) -- Joost van Baal Sun, 03 Aug 2003 00:06:34 +0200 caspar (20030802) * more bugfixes: generating pdf from LaTeX was broken since caspar 20030716. * mk/docbook.mk: now uses pdflatex for generating PDF directly from LaTeX (without intermediate PostScript). calls latex 3 times: make sure tocs get created. no longer uses ps2pdf. * mk/caspar.mk: get rid of non-portable 'echo -n': this made caspar fail on Solaris. Tnx Piet Lauwen for bugreport and suggestion for fix. * Makefile.am, bootstrap, setversion, configure.ac/configure.in: moved to autoconf 2.53 style, renamed configure.in to configure.ac: new autotools naming convention. (Now uses same build system as AD1810 Firewall ( http://mdcc.cx/ad1810-firewall/ ). -- Joost van Baal Sat, 02 Aug 2003 23:26:06 +0200 caspar (20030718) * bugfix release * mk/docbook.mk: run pdfjadetex 3 times: fixes toc. rm -f intermediate files: no sure wether they will get created. added license referal -- Joost van Baal Fri, 18 Jul 2003 11:12:43 +0200 caspar (20030716) * TODO: I'd like a TOC in HTML output from DocBook. (Even while we're doing nochunks mode) * README: added link to http://www.miwie.org/docbkmake/ , which seems similar to docbook.mk in it's goals * mk/docbook.mk: use pdfjadetex for generating pdf: fonts look better -- Joost van Baal Wed, 16 Jul 2003 21:03:17 +0200 caspar (20030331) * mk/caspar.mk: ommitting SDIR results in scp to get skipped * mk/caspar.mk: added SUHS hack: now possible to install on multiple hosts. * mk/docbook.mk: sane default target added. * mk/Makefile.am: some fiddling to get make distcheck working with automake 1.7 * README: documented new tricks. -- Joost van Baal Mon, 31 Mar 2003 22:04:18 +0200 caspar (20030203) * TODO: Found bug in caspar.mk. * README: Added note about cvs-conf. Added pointer to Debian package. Added note about usage with rsync. * mk/pod.mk: Added: support for typesetting Perl's Plain Old Documentation. -- Joost van Baal Mon, 03 Feb 2003 16:23:09 +0100 caspar (20020331) * mk/docbook.mk: jade will quit after max 10 errors, not 200: we will be able to see the very first error without having to scroll back. Added support for DocBook SGML sourcefiles. Added some more comments on usage. * README: updated. -- Joost van Baal Sun, 31 Mar 2002 12:04:31 +0200 caspar (20020313) * mk/docbook.mk: clean target more robust: `-rm' instead of `rm'. Now uses caspar/{html,print}.dsl. * sgml/{html,print}.dsl: added. Used by mk/docbook.mk. -- Joost van Baal Wed, 13 Mar 2002 13:09:09 +0100 caspar (20020301) * README: added requirements section. * mk/docbook.mk: added: useful for generating PostScript and stuff from LaTeX or DocBook XML sources. -- Joost van Baal Fri, 1 Mar 2002 16:18:54 +0100 caspar (20020227) * README: finally got to document it. * mk/caspar.mk: renamed `DIR' to `SDIR'; renamed XXTARGETS to LOAD: more descriptive name. * mk/caspar.mk: used to be called mk/install.mk. * mk/caspar.mk: added target `load'. added variable CDIR. got rid of obsolete comments. -- Joost van Baal Wed, 27 Feb 2002 18:06:16 +0100 caspar (20020226) * mk/install.mk: we conditionally set SRDIRS using SUH and DIR: now Makefiles can use these two vars too. * mk/install.mk: Now CPDIRS uses -install as targetname, as SRDIRS already did. * First tarball build; preliminary release -- Joost van Baal Tue, 26 Feb 2002 18:36:49 +0100 070701000122ae000081a4000000650000000100000001426c024600000b530000005500000004000000000000000000000026ff3308a0reloc/usr/local/share/doc/caspar/NEWSRefer to ChangeLog for detailed per-file info. caspar version 20050424 - New variable csp_EXTRAFILES added. This enables one to succesfully run e.g. make .bashrc-install . Aren't you all happy now? Thanks Guus Sliepen for the patch. - In order to have csp_EXTRAFILES behave nice, .%.swp is added to csp_TABOOFILES_DEFAULT and .svn is added to csp_TABOODIRS_DEFAULT. caspar version 20050302 - Fixed caspar(7) manpage: the last part was not typesetted. Duh. caspar version 20050301 - BEWARE! BACKWARDS INCOMPATIBILITY! mk/caspar.mk is no longer supply backward compatibility with caspar <= 20030825. If you use old-style Makefiles, you'll have to fix these now. See the 20040531 NEWS item for details. A crude way to update your Makefiles would be to run something along the lines of: % find . -name Makefile | while read f; \ do sed -i 's/SDIR/csp_SCPDIR/g; s/(SUH)/(csp_SUH)/g; \ s/^LOAD /csp_LOAD /; s/(SUHS)/(csp_SUHS)/g; \ s/^SUH /csp_SUH /; s/^SUHS /csp_SUHS /' $f; done % find . -name install.mk | while read f; \ do sed -i 's/^SRDIRS /csp_SUHDIRS /g' $f; done This kinda worked for me. YMMV. - New variables csp_TABOO{DIRS,FILES}_{ADD,SKIP} in caspar.mk. See caspar(7). caspar version 20040721 - This release is planned to get shipped with Debian: it will be available from the Debian archive. - No functional changes, just some minor documentation updates and tweaks of the build system (interesting only for people building a tarball from CVS). caspar version 20040531 - The caspar CVS is moved to http://alioth.debian.org/. Thanks to the Alioth admins! - Experimental install-recursive target added. If you'd like to play with it, you won't need to adjust your Makefile's. Just type `make install-recursive' and decide wether you like this feature. - BEWARE! Change in user interface! caspar.mk variables have been renamed: new name old name ======== ======== csp_CP CP csp_CPFLAGS CPFLAGS csp_CPDIR CDIR csp_CPDIRS CPDIRS csp_LOAD LOAD csp_SCP SCP csp_SCPFLAGS SCPFLAGS csp_SCPDIR SDIR csp_SUH SUH csp_SUHS SUHS csp_SUHDIRS SRDIRS This is done to make sure no unexpected name clashes occur. For now, we offer a backward compatibility hack: your old Makefile's will continue to work. However, you're advised to switch to the new user interface a.s.a.p. caspar version 20030825 - CPFLAGS and SCPFLAGS added to caspar.mk. See caspar(7), as well as the caspar.mk file itself. caspar version 20030809 - Added manpages caspar(7) and caspar-typesetting(7). Installed in /usr[/local]/share/doc/caspar too, in various formats. caspar version 20030803 - See doc/ChangeLog.2002 for news about caspar 20030803 and earlier # $Id: NEWS,v 1.14 2005/04/24 15:46:48 joostvb Exp $ 070701000122af000081a4000000650000000100000001426c024600000f910000005500000004000000000000000000000028ff3308a0reloc/usr/local/share/doc/caspar/README$Id: README,v 1.17 2004/07/21 14:55:40 joostvb Exp $ caspar - Makefile snippets for common tasks See doc/caspar.txt for general information about this package, see INSTALL for generic installation instructions. The caspar homepage is at http://mdcc.cx/caspar/ . Feedback (bugs, feature requests, etc.) can be sent to joostvb *dash* caspar *at* mdcc *dot* cx. After install, directories /usr/local/share/doc/caspar/, /usr/local/share/caspar/mk/ /usr/local/include/caspar/mk/ /usr/local/share/sgml/caspar/ are created and populated, and manpages caspar(7) and caspar-typesetting(7) are installed. - requirements, packages - - - - - - - - - - - - - - - - - - - - - - - - - GNU make. For the typesetting functionality, one needs Jade, LaTeX, W3M, Ghostscript, and Docbook DSSSL. A Debian caspar package (for e.g. Debian GNU/Linux) is available from `deb http://mdcc.cx/debian local contrib'. It is expected to get distributed with the Debian system real soon now; once that's true, http://packages.debian.org/caspar should show something interesting. If you're interested in a caspar RPM, the spec file on http://mdcc.cx/pub/caspar/caspar.spec might be helpful. - gimme some of the stuff you've been smoking! - - - - - - - - - - - - - - - - "What've you been smoking!? A completely fullblown autoconfiscated tarball for just a eeny weeny Makefile snippet, to be able to install my hosts configuration files from CVS!? I'm not gonna install that! No way!" Well, there's no accounting for taste... If I use the same files on many hosts, I prefer to install them from a tarball. If you were asked to work with a caspar-ized CVS tree, you can work around installing the tarball by doing something like this: cd ~/cvs/kingkong/include kingkong is a CVS module, holding files which should get installed on host kingkong. Create a file install.mk there, which looks like csp_SUH = admin@kingkong.example.org include caspar/mk/caspar.mk Now, do echo caspar >> .cvsignore mkdir -p caspar/mk and copy caspar.mk to the just created directory caspar/mk/ . - hacking on caspar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Thanks to the volunteer admins of http://alioth.debian.org/ , anonymous CVS access to the caspar sources is available. See http://alioth.debian.org/projects/caspar/ for more information. CVS commits messages are being emailed, using syncmail. Contact the author if you'd like to get these messages in your mailbox. - some thoughts on include path - - - - - - - - - - - - - - - - - - - - - - - - The default GNU make include path is .:PREFIX/include:/usr/gnu/include: /usr/local/include:/usr/include . See make.info, node `Include'. FHS however says: '/usr/include [...] is where all of the system's general-use include files for the C and C++ programming languages should be placed.' This makes GNU make somewhat incompatible with the FHS :( . GNU make could better use something like '/usr/share/mk' in its default include path. We work around this by creating the following symlink when being 'make install'-ed: /usr/local/include/caspar/mk/caspar.mk -> /usr/local/share/caspar/mk/caspar.mk . This enables us to be able to call include caspar/mk/caspar.mk from a Makefile. - some thoughts on implicit rules - - - - - - - - - - - - - - - - - - - - - - - Add our implicit pattern rules to Make built-in implicit rules? When no ./Makefile exists, but ./foo.c does, make knows what to do when asked to ``make foo''. Furthermore, in absence of ./Makefile, ``TEX=latex make blah.dvi'' does something sane with blah.tex. It'd be cool if we could add to Make's built-in implicit rules, and have our implicit rules work, even if no Makefile exists in the current directory. However, I don't think this is possible with current (3.80-6) Make. The built-in implicit rules are compiled in make binary, so adding the caspar ones to some magic directory will likely not work. 070701000122b0000081a4000000650000000100000001426c0246000003ef0000005500000004000000000000000000000030ff3308a0reloc/usr/local/share/doc/caspar/README.Solaris# $Id: README.Solaris,v 1.6 2005/04/24 19:54:37 joostvb Exp $ # $Source: /cvsroot/caspar/caspar/solaris/pkg/README.Solaris,v $ This is a caspar Solaris package. Caspar is available from http://mdcc.cx/caspar/ . This package is available from http://mdcc.cx/pub/caspar/ . For this package to be useful, you need GNU make. See caspar's README file (installed by this package in /usr/local/share/doc/caspar/README) for more details. TODO ==== Deal with (autogenerated?) list of package files. ChangeLog ========= caspar (20050424_1) * New upstream. * Use CSBS_ARCH hook, needs CSBS >= csbs--mainline--0.1--patch-26 to build from CVS. -- Joost van Baal Sun, 24 Apr 2005 20:11:47 +0200 caspar (20050302_2) * Added bootstrap: nice for package developers. -- Joost van Baal Wed, 09 Mar 2005 16:25:01 +0100 caspar (20050302_1) * Initial package for Solaris. -- Joost van Baal Fri, 04 Mar 2005 22:01:17 +0100 070701000122b1000081a4000000650000000100000001426c0246000001e90000005500000004000000000000000000000028ff3308a0reloc/usr/local/share/doc/caspar/THANKSStijn van Dongen, for writing zoem, and inventing the zoem-ized hooks in the build environment. Joost Kooij, for helping with the embrionic caspar mk/ implementation, looooong ago. Francis J. Lacoste, for helping me writing print.dsl and html.dsl. Guus Sliepen, for contributing an excellent and much wanted patch. Anton Sluijtman, for offering a patch to caspar.mk, adding useful functionality. Tilburg University (http://www.uvt.nl/), for using this software, and giving comments. 070701000122b2000081a4000000650000000100000001426c0246000004cb0000005500000004000000000000000000000026ff3308a0reloc/usr/local/share/doc/caspar/TODO$Id: TODO,v 1.36 2005/04/24 15:41:35 joostvb Exp $ --- typesetting stuff --- - get toc printed in html mode. even while using nochunks mode. - license should be printed, see rh vs deb doc. - add zoem.mk, for zoem ( http://micans.org/zoem ) typesetting. --- install stuff --- - this whole thing could probably better use rsync, or, alternatively, perhaps all caspar functionality could be incorporated in cfengine. See caspar(7). - add support for sudo, rsync, install(1) - The function $(subst -install,,$@) in caspar.mk breaks when filename itself has the substring -install. We might have to use sed here, and strip only a _trailing_ '-install' from the maketarget. - load stuff: - Add a better hook for the -load target: more generic please. - Create a ``load-recursive'' target. - supply daemons.mk: csp_SSHDEBIANLOAD csp_URUKREDHATLOAD , etc, to use in load targets - install-recursive should call mkdir if appropriate - The scp invocation is inefficient: % make -n README.txt-install net.txt-install scp "README.txt" pong:/data/www/doc/doc/; scp "net.txt" pong:/data/www/doc/doc/; Should be: scp "README.txt" "net.txt" pong:/data/www/doc/doc/; $@ vs $? might be helpful. 070701000122b3000081a4000000650000000100000001426c024500000d8f0000005500000004000000000000000000000038ff3308a0reloc/usr/local/share/doc/caspar/caspar-typesetting.azm\: vim:syntax=tex \: $Id: caspar-typesetting.azm,v 1.3 2004/05/31 13:45:42 joostvb Exp $ \: this is a manpage in zoem format. see http://micans.org/zoem/ and man_zmm(7) \def{"man::synstyle"}{long} \def{"man::defstyle"}{long} \import{man.zmm} \import{./include.zmm} \set{"man::name"}{caspar-typesetting} \set{"man::html-title"}{caspar-typesetting} \"man::preamble" \${html}{\"man::maketoc"} \def{"docbook.mk"}{\it{docbook.mk}} \def{"pod.mk"}{\it{pod.mk}} \sec{name}{NAME} \par caspar-typesetting - Makefile snippets for common typesetting tasks \sec{synopsis}{SYNOPSIS} In a Makefile, do \verbatim{ include caspar/mk/docbook.mk } or \verbatim{ include caspar/mk/pod.mk } . \sec{description}{DESCRIPTION} The caspar \"docbook.mk" and \"pod.mk" files are Makefile snippets for common typesetting tasks, like typesetting LaTeX (see \publref{latex}), DocBook XML, DocBook SGML (see \publref{dbx}) and POD (see \publref{pod}) documents. You just have to type \tt{make}, instead of stuff like \tt{jade -t tex -d caspar/print.dsl /usr/share/sgml/declaration/xml.dcl foobar.dbx}. \sec{usage}{USAGE} In a directory where you maintain .dbx (Docbook XML) or .tex (LaTeX) files, do \verbatim{ $ echo include caspar/mk/docbook.mk > Makefile $ vi karenina.dbx $ make karenina.view $ make karenina.print $ vi svejk.tex $ make svejk.view $ make svejk.print $ make $ make clean } Other targets: \tt{filename.ps}, \tt{filename.pdf}, \tt{filename.2ps}, \tt{filename.html}, \tt{filename.printbig}, \tt{filename.dvi}. \par Variables you might like to set in your Makefile: \tt{XMLDCL} (default is \tt{/usr/share/sgml/declaration/xml.dcl}; if you're not on a Debian GNU/Linux system, you'll likely have to adjust this), \tt{HTML_DSL}, \tt{PRINT_DSL}. \par In a directory where you maintain .pod files, do \verbatim{ $ echo include caspar/mk/pod.mk > Makefile $ vi lire.pod $ perldoc ./lire.pod $ make lire.pdf $ make $ less lire.overstrike-txt $ make clean } Other targets: \tt{filename.ps}, \tt{filename.html}, \tt{filename.txt}, ... (Similar to the ones supplied by \"docbook.mk"). \sec{examples}{EXAMPLES} Some examples: Overriding the caspar-supplied DSSSL files: Create your own print.dls and html.dsl, in the same directory as your Docbook XML files. Your Makefile should read: \verbatim{ PRINT_DSL = print.dsl HTML_DSL = html.dsl include caspar/mk/docbook.mk } Overriding the standard html-to-text convertor: \verbatim{ $ W3M=lynx make svejk.txt } . \sec{files}{FILES} \par \it{caspar/mk/docbook.mk}, \it{caspar/mk/pod.mk} \sec{environment}{ENVIRONMENT} For \"docbook.mk": files: \tt{XMLDCL}, \tt{HTML_DSL}, \tt{PRINT_DSL}; utilities: \tt{JADE}, \tt{PDFJADETEX}, \tt{PDFLATEX}, \tt{JADETEX}, \tt{LATEX}, \tt{W3M}, \tt{DVIPS}, \tt{PSNUP}, \tt{LPR}, \tt{GV}; settings: \tt{JADE_MAXERRORS}. These variables can get adjusted in Makefile, as well as in the shell environment. \par \"pod.mk" Uses no environment variables. \sec{author}{AUTHOR} \"man::author" \sec{seealso}{SEE ALSO} \sibref{caspar}{caspar(7)} \par \publanch{pod} perlpod(1) about Perl's Plain Old Documentation format \par \publanch{dbx} \it{DocBook: The Definitive Guide} on \httpref{http://docbook.org/}, \par \publanch{latex} The LaTeX Project Homepage on \httpref{http://www.latex-project.org/}. \par Some comments on advanced usage are in the files \"docbook.mk" and \"pod.mk" itself. \"man::postamble" 070701000122b4000081a4000000650000000100000001426c024500001ab60000005500000004000000000000000000000039ff3308a0reloc/usr/local/share/doc/caspar/caspar-typesetting.html caspar-typesetting

24 Apr 2005    caspar-typesetting 20050424

1.  
2.  
3.  
4.  
5.  
6.  
7.  
8.  
9.  

NAME

caspar-typesetting - Makefile snippets for common typesetting tasks

SYNOPSIS

In a Makefile, do
  include caspar/mk/docbook.mk
or
  include caspar/mk/pod.mk
.

DESCRIPTION

The caspar docbook.mk and pod.mk files are Makefile snippets for common typesetting tasks, like typesetting LaTeX (see [3]), DocBook XML, DocBook SGML (see [2]) and POD (see [1]) documents. You just have to type make, instead of stuff like jade -t tex -d caspar/print.dsl /usr/share/sgml/declaration/xml.dcl foobar.dbx.

USAGE

In a directory where you maintain .dbx (Docbook XML) or .tex (LaTeX) files, do
   $ echo include caspar/mk/docbook.mk > Makefile

   $ vi karenina.dbx
   $ make karenina.view
   $ make karenina.print

   $ vi svejk.tex
   $ make svejk.view
   $ make svejk.print

   $ make
   $ make clean
Other targets: filename.ps, filename.pdf, filename.2ps, filename.html, filename.printbig, filename.dvi.

Variables you might like to set in your Makefile: XMLDCL (default is /usr/share/sgml/declaration/xml.dcl; if you're not on a Debian GNU/Linux system, you'll likely have to adjust this), HTML_DSL, PRINT_DSL.

In a directory where you maintain .pod files, do

   $ echo include caspar/mk/pod.mk > Makefile
   $ vi lire.pod
   $ perldoc ./lire.pod
   $ make lire.pdf
   $ make
   $ less lire.overstrike-txt
   $ make clean
Other targets: filename.ps, filename.html, filename.txt, ... (Similar to the ones supplied by docbook.mk).

EXAMPLES

Some examples: Overriding the caspar-supplied DSSSL files: Create your own print.dls and html.dsl, in the same directory as your Docbook XML files. Your Makefile should read:
 PRINT_DSL = print.dsl
 HTML_DSL = html.dsl
 include caspar/mk/docbook.mk
Overriding the standard html-to-text convertor:
 $ W3M=lynx make svejk.txt
.

FILES

caspar/mk/docbook.mk, caspar/mk/pod.mk

ENVIRONMENT

For docbook.mk: files: XMLDCL, HTML_DSL, PRINT_DSL; utilities: JADE, PDFJADETEX, PDFLATEX, JADETEX, LATEX, W3M, DVIPS, PSNUP, LPR, GV; settings: JADE_MAXERRORS. These variables can get adjusted in Makefile, as well as in the shell environment.

pod.mk Uses no environment variables.

AUTHOR

Joost van Baal

SEE ALSO

caspar(7)

[1] perlpod(1) about Perl's Plain Old Documentation format

[2] DocBook: The Definitive Guide on http://docbook.org/,

[3] The LaTeX Project Homepage on http://www.latex-project.org/.

Some comments on advanced usage are in the files docbook.mk and pod.mk itself. 070701000122b5000081a4000000650000000100000001426c0245000032750000005500000004000000000000000000000037ff3308a0reloc/usr/local/share/doc/caspar/caspar-typesetting.ps%!PS-Adobe-3.0 %%Creator: groff version 1.18.1 %%CreationDate: Sun Apr 24 17:45:32 2005 %%DocumentNeededResources: font Times-Roman %%+ font Times-Bold %%+ font Courier %%+ font Times-Italic %%DocumentSuppliedResources: procset grops 1.18 1 %%Pages: 2 %%PageOrder: Ascend %%Orientation: Portrait %%EndComments %%BeginProlog %%BeginResource: procset grops 1.18 1 /setpacking where{ pop currentpacking true setpacking }if /grops 120 dict dup begin /SC 32 def /A/show load def /B{0 SC 3 -1 roll widthshow}bind def /C{0 exch ashow}bind def /D{0 exch 0 SC 5 2 roll awidthshow}bind def /E{0 rmoveto show}bind def /F{0 rmoveto 0 SC 3 -1 roll widthshow}bind def /G{0 rmoveto 0 exch ashow}bind def /H{0 rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def /I{0 exch rmoveto show}bind def /J{0 exch rmoveto 0 SC 3 -1 roll widthshow}bind def /K{0 exch rmoveto 0 exch ashow}bind def /L{0 exch rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def /M{rmoveto show}bind def /N{rmoveto 0 SC 3 -1 roll widthshow}bind def /O{rmoveto 0 exch ashow}bind def /P{rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def /Q{moveto show}bind def /R{moveto 0 SC 3 -1 roll widthshow}bind def /S{moveto 0 exch ashow}bind def /T{moveto 0 exch 0 SC 5 2 roll awidthshow}bind def /SF{ findfont exch [exch dup 0 exch 0 exch neg 0 0]makefont dup setfont [exch/setfont cvx]cvx bind def }bind def /MF{ findfont [5 2 roll 0 3 1 roll neg 0 0]makefont dup setfont [exch/setfont cvx]cvx bind def }bind def /level0 0 def /RES 0 def /PL 0 def /LS 0 def /MANUAL{ statusdict begin/manualfeed true store end }bind def /PLG{ gsave newpath clippath pathbbox grestore exch pop add exch pop }bind def /BP{ /level0 save def 1 setlinecap 1 setlinejoin 72 RES div dup scale LS{ 90 rotate }{ 0 PL translate }ifelse 1 -1 scale }bind def /EP{ level0 restore showpage }bind def /DA{ newpath arcn stroke }bind def /SN{ transform .25 sub exch .25 sub exch round .25 add exch round .25 add exch itransform }bind def /DL{ SN moveto SN lineto stroke }bind def /DC{ newpath 0 360 arc closepath }bind def /TM matrix def /DE{ TM currentmatrix pop translate scale newpath 0 0 .5 0 360 arc closepath TM setmatrix }bind def /RC/rcurveto load def /RL/rlineto load def /ST/stroke load def /MT/moveto load def /CL/closepath load def /Fr{ setrgbcolor fill }bind def /Fk{ setcmykcolor fill }bind def /Fg{ setgray fill }bind def /FL/fill load def /LW/setlinewidth load def /Cr/setrgbcolor load def /Ck/setcmykcolor load def /Cg/setgray load def /RE{ findfont dup maxlength 1 index/FontName known not{1 add}if dict begin { 1 index/FID ne{def}{pop pop}ifelse }forall /Encoding exch def dup/FontName exch def currentdict end definefont pop }bind def /DEFS 0 def /EBEGIN{ moveto DEFS begin }bind def /EEND/end load def /CNT 0 def /level1 0 def /PBEGIN{ /level1 save def translate div 3 1 roll div exch scale neg exch neg exch translate 0 setgray 0 setlinecap 1 setlinewidth 0 setlinejoin 10 setmiterlimit []0 setdash /setstrokeadjust where{ pop false setstrokeadjust }if /setoverprint where{ pop false setoverprint }if newpath /CNT countdictstack def userdict begin /showpage{}def }bind def /PEND{ clear countdictstack CNT sub{end}repeat level1 restore }bind def end def /setpacking where{ pop setpacking }if %%EndResource %%IncludeResource: font Times-Roman %%IncludeResource: font Times-Bold %%IncludeResource: font Courier %%IncludeResource: font Times-Italic grops begin/DEFS 1 dict def DEFS begin/u{.001 mul}bind def end/RES 72 def/PL 841.89 def/LS false def/ENC0[/asciicircum/asciitilde/Scaron /Zcaron/scaron/zcaron/Ydieresis/trademark/quotesingle/Euro/.notdef /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef /.notdef/.notdef/.notdef/space/exclam/quotedbl/numbersign/dollar/percent /ampersand/quoteright/parenleft/parenright/asterisk/plus/comma/hyphen /period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon /semicolon/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O /P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright/circumflex /underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y /z/braceleft/bar/braceright/tilde/.notdef/quotesinglbase/guillemotleft /guillemotright/bullet/florin/fraction/perthousand/dagger/daggerdbl /endash/emdash/ff/fi/fl/ffi/ffl/dotlessi/dotlessj/grave/hungarumlaut /dotaccent/breve/caron/ring/ogonek/quotedblleft/quotedblright/oe/lslash /quotedblbase/OE/Lslash/.notdef/exclamdown/cent/sterling/currency/yen /brokenbar/section/dieresis/copyright/ordfeminine/guilsinglleft /logicalnot/minus/registered/macron/degree/plusminus/twosuperior /threesuperior/acute/mu/paragraph/periodcentered/cedilla/onesuperior /ordmasculine/guilsinglright/onequarter/onehalf/threequarters /questiondown/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE /Ccedilla/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex /Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis /multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn /germandbls/agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla /egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis /eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/divide/oslash /ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis]def /Times-Italic@0 ENC0/Times-Italic RE/Courier@0 ENC0/Courier RE /Times-Bold@0 ENC0/Times-Bold RE/Times-Roman@0 ENC0/Times-Roman RE %%EndProlog %%Page: 1 1 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF<636173706172>20 48 Q 133.395 <2d7479706573657474696e672837292043617370617220636173706172>-.2 F <2d7479706573657474696e67283729>-.2 E/F1 10.95/Times-Bold@0 SF -.219 <4e41>20 84 S<4d45>.219 E F0<636173706172>100 96 Q <2d7479706573657474696e67202d204d616b>-.2 E<658c6c6520736e69707065747320 666f7220636f6d6d6f6e207479706573657474696e67207461736b73>-.1 E F1 <53594e4f50534953>20 112.8 Q F0<496e2061204d616b>100 124.8 Q <658c6c652c20646f>-.1 E/F2 10/Courier@0 SF <696e636c756465206361737061722f6d6b2f646f63626f6f6b2e6d6b>112 160.8 Q F0 <6f72>100 184.8 Q F2<696e636c756465206361737061722f6d6b2f706f642e6d6b> 112 220.8 Q F0<2e>100 244.8 Q F1<4445534352495054494f4e>20 261.6 Q F0 1.26<54686520636173706172>100 273.6 R/F3 10/Times-Italic@0 SF <646f63626f6f6b2e6d6b>3.76 E F0<616e64>3.759 E F3<706f642e6d6b>3.759 E F0 1.259<8c6c657320617265204d616b>3.759 F 1.259<658c6c6520736e6970706574 7320666f7220636f6d6d6f6e207479706573657474696e67207461736b732c>-.1 F <6c696b>100 285.6 Q 3.015<6574>-.1 G .515<79706573657474696e67204c6154> -3.015 F .516<65582028736565205b335d292c20446f63426f6f6b20584d4c2c20446f 63426f6f6b2053474d4c2028736565205b325d2920616e6420504f442028736565205b31 5d29>-.7 F 2.155<646f63756d656e74732e2059>100 297.6 R 2.155 <6f75206a757374206861>-1.1 F 2.455 -.15<76652074>-.2 H 4.655<6f74>.15 G 2.155<797065206d616b>-4.655 F 2.155 <652c20696e7374656164206f662073747566>-.1 F 4.655<666c>-.25 G<696b> -4.655 E 4.654<656a>-.1 G 2.154<616465202d74207465>-4.654 F 4.654<782d> -.15 G 4.654<6463>-4.654 G<61737061722f7072696e742e64736c>-4.654 E<2f75 73722f73686172652f73676d6c2f6465636c61726174696f6e2f786d6c2e64636c20666f 6f6261722e6462782e>100 309.6 Q F1<555341>20 326.4 Q<4745>-.602 E F0<496e 2061206469726563746f727920776865726520796f75206d61696e7461696e202e646278 2028446f63626f6f6b20584d4c29206f72202e7465>100 338.4 Q 2.5<7828>-.15 G <4c6154>-2.5 E<655829208c6c65732c20646f>-.7 E F2 6<2465>118 374.4 S<6368 6f20696e636c756465206361737061722f6d6b2f646f63626f6f6b2e6d6b203e204d616b 6566696c65>-6 E 6<2476>118 398.4 S 6<696b>-6 G<6172656e696e612e646278>-6 E 6<246d>118 410.4 S<616b65206b6172656e696e612e76696577>-6 E 6<246d>118 422.4 S<616b65206b6172656e696e612e7072696e74>-6 E 6<2476>118 446.4 S 6 <6973>-6 G<76656a6b2e746578>-6 E 6<246d>118 458.4 S <616b65207376656a6b2e76696577>-6 E 6<246d>118 470.4 S <616b65207376656a6b2e7072696e74>-6 E 6<246d>118 494.4 S<616b65>-6 E 6 <246d>118 506.4 S<616b6520636c65616e>-6 E F0 2.72<4f7468657220746172>100 530.4 R 2.72<676574733a208c6c656e616d652e70732c208c6c656e616d652e706466 2c208c6c656e616d652e3270732c208c6c656e616d652e68746d6c2c208c6c656e616d65 2e7072696e746269672c208c6c652d>-.18 F<6e616d652e6476692e>100 542.4 Q -1.11<5661>100 566.4 S .695<726961626c657320796f75206d69676874206c696b> 1.11 F 3.195<6574>-.1 G 3.195<6f73>-3.195 G .695 <657420696e20796f7572204d616b>-3.195 F .695 <658c6c653a20584d4c44434c2028646566>-.1 F .695 <61756c74206973202f7573722f73686172652f73676d6c2f6465636c6172612d>-.1 F 1.302<74696f6e2f786d6c2e64636c3b20696620796f7527>100 578.4 R 1.302<7265 206e6f74206f6e20612044656269616e20474e552f4c696e75782073797374656d2c2079 6f7527>-.5 F 1.302<6c6c206c696b>-.1 F 1.302<656c79206861>-.1 F 1.602 -.15<76652074>-.2 H 3.803<6f61>.15 G 1.303<646a7573742074686973292c> -3.803 F<48544d4c5f44534c2c205052494e545f44534c2e>100 590.4 Q<496e206120 6469726563746f727920776865726520796f75206d61696e7461696e202e706f64208c6c 65732c20646f>100 614.4 Q<636173706172>20 768 Q <2d7479706573657474696e67203230303530343234>-.2 E <3234204170722032303035>93.665 E<31>203.725 E 0 Cg EP %%Page: 2 2 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF<636173706172>20 48 Q 133.395 <2d7479706573657474696e672837292043617370617220636173706172>-.2 F <2d7479706573657474696e67283729>-.2 E/F1 10/Courier@0 SF 6<2465>118 84 S <63686f20696e636c756465206361737061722f6d6b2f706f642e6d6b203e204d616b65 66696c65>-6 E 6<2476>118 96 S 6<696c>-6 G<6972652e706f64>-6 E 6<2470>118 108 S<65726c646f63202e2f6c6972652e706f64>-6 E 6<246d>118 120 S <616b65206c6972652e706466>-6 E 6<246d>118 132 S<616b65>-6 E 6<246c>118 144 S<657373206c6972652e6f766572737472696b652d747874>-6 E 6<246d>118 156 S<616b6520636c65616e>-6 E F0 .591<4f7468657220746172>100 180 R .591<6765 74733a208c6c656e616d652e70732c208c6c656e616d652e68746d6c2c208c6c656e616d 652e7478742c202e2e2e>-.18 F .591 <2853696d696c617220746f20746865206f6e657320737570706c696564206279>5.591 F/F2 10/Times-Italic@0 SF<646f632d>3.09 E<626f6f6b2e6d6b>100 192 Q F0 <292e>A/F3 10.95/Times-Bold@0 SF<4558414d504c4553>20 208.8 Q F0 1.859 <536f6d652065>100 220.8 R 1.859<78616d706c65733a204f76>-.15 F 1.859 <6572726964696e672074686520636173706172>-.15 F 1.859 <2d737570706c69656420445353534c208c6c65733a2043726561746520796f7572206f> -.2 F 1.859<776e207072696e742e646c7320616e64>-.25 F<68746d6c2e64736c2c20 696e207468652073616d65206469726563746f727920617320796f757220446f63626f6f 6b20584d4c208c6c65732e2059>100 232.8 Q<6f7572204d616b>-1.1 E <658c6c652073686f756c6420726561643a>-.1 E F1 <5052494e545f44534c203d207072696e742e64736c>106 268.8 Q <48544d4c5f44534c203d2068746d6c2e64736c>106 280.8 Q <696e636c756465206361737061722f6d6b2f646f63626f6f6b2e6d6b>106 292.8 Q F0 <4f76>100 316.8 Q <6572726964696e6720746865207374616e646172642068746d6c2d746f2d7465>-.15 E <787420636f6e>-.15 E -.15<7665>-.4 G<72746f723a>.15 E F1 6<2457>106 352.8 S<334d3d6c796e78206d616b65207376656a6b2e747874>-6 E F0<2e>100 376.8 Q F3<46494c4553>20 393.6 Q F2 <6361737061722f6d6b2f646f63626f6f6b2e6d6b>100 405.6 Q F0<2c>A F2 <6361737061722f6d6b2f706f642e6d6b>2.5 E F3<454e564952>20 422.4 Q <4f4e4d454e54>-.329 E F0 -.15<466f>100 434.4 S<72>.15 E F2 <646f63626f6f6b2e6d6b>3.218 E F0 3.218<3a8c>C .717<6c65733a20584d4c4443 4c2c2048544d4c5f44534c2c205052494e545f44534c3b207574696c69746965733a204a> -3.218 F .717<4144452c205044464a>-.6 F<4144455445582c>-.6 E<5044464c41> 100 446.4 Q .532<5445582c204a>-1.11 F .532<4144455445582c204c41>-.6 F .532<5445582c2057334d2c2044>-1.11 F .532<564950532c2050534e5550>-.4 F 3.032<2c4c>-1.11 G .532<50522c204756>-3.032 F 3.033<3b73>-.74 G .533 <657474696e67733a204a>-3.033 F<4144455f4d415845522d>-.6 E -.4<524f>100 458.4 S<52532e2054686573652076>.4 E <61726961626c65732063616e206765742061646a757374656420696e204d616b>-.25 E <658c6c652c2061732077656c6c20617320696e20746865207368656c6c20656e>-.1 E <7669726f6e6d656e742e>-.4 E F2<706f642e6d6b>100 482.4 Q F0 <55736573206e6f20656e>2.5 E<7669726f6e6d656e742076>-.4 E <61726961626c65732e>-.25 E F3 -.548<4155>20 499.2 S<54484f52>.548 E F0 <4a6f6f73742076>100 511.2 Q<616e204261616c>-.25 E F3<53454520414c534f>20 528 Q/F4 10/Times-Bold@0 SF<636173706172283729>100 540 Q F0 <5b315d207065726c706f642831292061626f7574205065726c27>100 564 Q 2.5 <7350>-.55 G<6c61696e204f6c6420446f63756d656e746174696f6e20666f726d6174> -2.5 E<5b325d>100 588 Q F2 <446f63426f6f6b3a205468652044658c6e6974697665204775696465>2.5 E F0 <6f6e20687474703a2f2f646f63626f6f6b2e6f72>2.5 E<672f2c>-.18 E <5b335d20546865204c6154>100 612 Q<65582050726f6a65637420486f6d6570616765 206f6e20687474703a2f2f7777772e6c617465>-.7 E<782d70726f6a6563742e6f72> -.15 E<672f2e>-.18 E<536f6d6520636f6d6d656e7473206f6e20616476>100 636 Q <616e6365642075736167652061726520696e20746865208c6c6573>-.25 E F2 <646f63626f6f6b2e6d6b>2.5 E F0<616e64>2.5 E F2<706f642e6d6b>2.5 E F0 <697473656c662e>2.5 E<636173706172>20 768 Q <2d7479706573657474696e67203230303530343234>-.2 E <3234204170722032303035>93.665 E<32>203.725 E 0 Cg EP %%Trailer end %%EOF 070701000122b6000081a4000000650000000100000001426c024500000a490000005500000004000000000000000000000038ff3308a0reloc/usr/local/share/doc/caspar/caspar-typesetting.txt24 Apr 2005 caspar-typesetting 20050424 1. NAME 2. SYNOPSIS 3. DESCRIPTION 4. USAGE 5. EXAMPLES 6. FILES 7. ENVIRONMENT 8. AUTHOR 9. SEE ALSO NAME caspar-typesetting - Makefile snippets for common typesetting tasks SYNOPSIS In a Makefile, do include caspar/mk/docbook.mk or include caspar/mk/pod.mk . DESCRIPTION The caspar docbook.mk and pod.mk files are Makefile snippets for common typesetting tasks, like typesetting LaTeX (see [3]), DocBook XML, DocBook SGML (see [2]) and POD (see [1]) documents. You just have to type make, instead of stuff like jade -t tex -d caspar/print.dsl /usr/share/sgml/declaration/xml.dcl foobar.dbx. USAGE In a directory where you maintain .dbx (Docbook XML) or .tex (LaTeX) files, do $ echo include caspar/mk/docbook.mk > Makefile $ vi karenina.dbx $ make karenina.view $ make karenina.print $ vi svejk.tex $ make svejk.view $ make svejk.print $ make $ make clean Other targets: filename.ps, filename.pdf, filename.2ps, filename.html, filename.printbig, filename.dvi. Variables you might like to set in your Makefile: XMLDCL (default is /usr/share /sgml/declaration/xml.dcl; if you're not on a Debian GNU/Linux system, you'll likely have to adjust this), HTML_DSL, PRINT_DSL. In a directory where you maintain .pod files, do $ echo include caspar/mk/pod.mk > Makefile $ vi lire.pod $ perldoc ./lire.pod $ make lire.pdf $ make $ less lire.overstrike-txt $ make clean Other targets: filename.ps, filename.html, filename.txt, ... (Similar to the ones supplied by docbook.mk). EXAMPLES Some examples: Overriding the caspar-supplied DSSSL files: Create your own print.dls and html.dsl, in the same directory as your Docbook XML files. Your Makefile should read: PRINT_DSL = print.dsl HTML_DSL = html.dsl include caspar/mk/docbook.mk Overriding the standard html-to-text convertor: $ W3M=lynx make svejk.txt . FILES caspar/mk/docbook.mk, caspar/mk/pod.mk ENVIRONMENT For docbook.mk: files: XMLDCL, HTML_DSL, PRINT_DSL; utilities: JADE, PDFJADETEX, PDFLATEX, JADETEX, LATEX, W3M, DVIPS, PSNUP, LPR, GV; settings: JADE_MAXERRORS. These variables can get adjusted in Makefile, as well as in the shell environment. pod.mk Uses no environment variables. AUTHOR Joost van Baal SEE ALSO caspar(7) [1] perlpod(1) about Perl's Plain Old Documentation format [2] DocBook: The Definitive Guide on http://docbook.org/, [3] The LaTeX Project Homepage on http://www.latex-project.org/. Some comments on advanced usage are in the files docbook.mk and pod.mk itself. 070701000122b7000081a4000000650000000100000001426c02450000225c000000550000000400000000000000000000002cff3308a0reloc/usr/local/share/doc/caspar/caspar.azm\: vim:syntax=tex \: $Id: caspar.azm,v 1.20 2005/04/24 15:41:35 joostvb Exp $ \: this is a manpage in zoem format. see http://micans.org/zoem/ and man_zmm(7) \def{"man::synstyle"}{long} \def{"man::defstyle"}{long} \import{man.zmm} \import{./include.zmm} \set{"man::name"}{caspar} \set{"man::html-title"}{caspar} \"man::preamble" \${html}{\"man::maketoc"} \def{"docbook.mk"}{\it{docbook.mk}} \def{"pod.mk"}{\it{pod.mk}} \def{"caspar.mk"}{\it{caspar.mk}} \def{caspar}{\bf{caspar}} \def{"install.mk"}{\it{install.mk}} \sec{name}{NAME} \par caspar - Makefile snippets for common tasks \sec{synopsis}{SYNOPSIS} In a Makefile, do either \verbatim{ include caspar/mk/caspar.mk } or \verbatim{ include caspar/mk/docbook.mk } or \verbatim{ include caspar/mk/pod.mk } . \sec{description}{DESCRIPTION} Caspar offers Makefile snippets for common tasks, like installing configuration files, or typesetting LaTeX, DocBook XML and DocBook SGML documents. \par The typesetting functionality is delivered by \"docbook.mk" and \"pod.mk". This is documented in \sibref{caspar-typesetting}{caspar-typesetting(7)}. \par The installing-stuff functionality functionality is delivered by \"caspar.mk". (That's what the rest of the manual will talk about.) It enables one to run 'make install' from within a tree which typically holds configuration files, managed using CVS (or Subversion or any other version control system, for that matter). \par It is useful in cases like this: all configuration files of some host are under version control, and, after commiting a change to CVS, you want to be able to easily install the new configuration file on the host. \par With \caspar, all you have to do is specify the hostname in one place, and specify the name of the target directory in each CVS directory. \par \sec{usage}{USAGE} Within a CVS tree, create a file \it{include/install.mk}, with contents like e.g. \verbatim{ csp_SUH = root@some.host.somewhere include caspar/mk/caspar.mk } . Within each other directory of the CVS tree which holds files, create a Makefile, which looks like e.g. \verbatim{ csp_SCPDIR = /some/dir/ectory/ include ../../include/install.mk } . If you'd like to use the \it{install-recursive} target too, in directories which hold subdirectories (but not files), you'll have to create a Makefile which looks something like \verbatim{ include ../../include/install.mk } . From within the CVS tree, one can call: \verbatim{ make -install make install make load make make install-recursive } The \it{install-recursive} target descends down the tree, and calls \tt{make install} in each subdirectory. \sec{variables}{VARIABLES} The variables one can set in a calling Makefile are: \begin{itemize}{ {contiguous}{1} {w1}{7} } \item{\tt{csp_CP}} cp binary, just "cp" by default \item{\tt{csp_CPFLAGS}} extra arguments to pass to cp invocation, none by default \item{\tt{csp_SCP}} scp binary, just "scp" by default \item{\tt{csp_SCPFLAGS}} extra arguments to pass to scp invocation, e.g. '\tt{-i .ssh/id_rsa-root}' \item{\tt{csp_SUH}} ssh-reachable user@host (Secure User at Host) \item{\tt{csp_SUHS}} space separated list of ssh-reachable user@host items (Secure User at HostS) \item{\tt{csp_CPDIR}} directory to which we can cp(1), instead of scp (CoPy DIRectory) \item{\tt{csp_CPDIRS}} space separated list of directories to which we can copy (CoPy DIRectorieS) \item{\tt{csp_SCPDIR}} directory on ssh reachable host, with trailing / (Secure CoPy DIRectory) \item{\tt{csp_SUHDIRS}} this is the list \tt{$(csp_SUH):$(dir)} for each \tt{$(dir)} in \tt{$(csp_SUHS)} (or where \tt{dir = $(csp_SCPDIR)}, in case \tt{csp_SUHS} is not set). However, more items can get added to this list on the fly. \item{\tt{csp_LOAD}} targets which should depend on the `load' target. \item{\tt{csp_EXTRAFILES}} extra files which should be installed. Can be used to include files starting with a dot. \item{\tt{csp_TABOOFILES}} files which should never be installed. Set to \tt{Makefile .%.swp %~ #%# pod2htmd.tmp pod2htmi.tmp} by default. \item{\tt{csp_TABOOFILES_ADD}} extra files which should never be installed; added to list in \tt{csp_TABOOFILES}. \item{\tt{csp_TABOOFILES_SKIP}} files which should be installed, even if in initial \tt{csp_TABOOFILES} list. Removed from \tt{csp_TABOOFILES} list. \item{\tt{csp_TABOODIRS}} directories to exclude in install-recursive target. set to \tt{CVS .svn} by default. \item{\tt{csp_TABOODIRS_ADD}, \tt{csp_TABOODIRS_SKIP}} see \tt{csp_TABOOFILES} equivalents. \end{itemize} \sec{examples}{EXAMPLES} Some examples: \par Using \tt{csp_CPDIR} and \tt{csp_LOAD}: \it{username/etc/Makefile} is \verbatim{ csp_CPDIR = $(HOME)/etc/ csp_LOAD = crontab-load include ../include/install.mk crontab-load: crontab $(csp_CPDIR)/crontab } while \it{../include/install.mk} is just \verbatim{ include caspar/mk/caspar.mk } . Using \tt{csp_SCPDIR} and \tt{csp_LOAD}: \it{etc/Makefile} is \verbatim{ csp_SCPDIR = /etc/ csp_LOAD = aliases-load include ../include/install.mk aliases-load: ssh $(csp_SUH) "cd /etc; postalias aliases; postfix reload" } while \it{../include/install.mk} is \verbatim{ csp_SUH = root@some.host.somewhere include caspar/mk/caspar.mk } Using the csp_TABOOFILES_{ADD,SKIP} variables is handy if you want to \it{install} a \it{Makefile}, instead of using it: Create \it{Makefile} just as you'd like to have it installed on the remote location. Now, create \it{GNUmakefile} as e.g. \verbatim{ csp_TABOOFILES_SKIP = Makefile csp_TABOOFILES_ADD = GNUmakefile csp_SCPDIR = /etc/foobar/ csp_SUH = root@some.host.somewhere load: ssh $(csp_SUH) "make -C $(csp_SCPDIR)" } Now, \tt{make install} and \tt{make load} will do the right thing. Using the csp_EXTRAFILES variable is handy if you want to install files with a leading dot. E.g.: \verbatim{ csp_EXTRAFILES = .bashrc csp_SUHDIRS = root@some.host.somewhere: } \par More advanced tricks: supply e.g. \verbatim{ csp_SUHS = root@localhost root@some.host.somewhere } in \it{install.mk}, to install on multiple hosts. Run \verbatim{ csp_SUH=joe@otherhost make filename-install } to install filename as \tt{joe@otherhost}, instead of the default as given in \it{install.mk}. \par When you don't want to ssh to \tt{root@some.host.somewhere} directly, you could do \verbatim{ sudo rsync -az /path/to/your/config_archive /etc } . \sec{files}{FILES} \par \it{caspar/mk/caspar.mk}, \it{caspar/mk/docbook.mk}, \it{caspar/mk/pod.mk} \sec{environment}{ENVIRONMENT} For \"caspar.mk": \tt{csp_CPDIR}, \tt{csp_CP}, \tt{csp_CPFLAGS}, \tt{csp_LOAD}, \tt{csp_SCP}, \tt{csp_SCPFLAGS}, \tt{csp_SUH}, \tt{csp_SUHS}, ... \sec{bugs}{BUGS} See TODO and/or BUGS, distributed with the caspar package. (And online at \httpref{http://mdcc.cx/pub/caspar/caspar-latest/TODO}.) \sec{trivia}{TRIVIA} caspar is named after Caspar the Friendly Ghost, since that's the title of the Daniel Johnston song I was listening to when deciding to package my homegrown scripts. \sec{author}{AUTHOR} \"man::author" \sec{seealso}{SEE ALSO} \sibref{caspar-typesetting}{caspar-typesetting(7)} \par The caspar homepage is at \httpref{http://mdcc.cx/caspar/} . \par The `cvs-conf' package ( \httpref{http://project.tuxfamily.org/cvs-conf}, \httpref{http://packages.debian.org/stable/utils/cvs-conf.html} ) probably offers about the same functionality as \"caspar.mk". However, this package seems largely unmaintained (between September 2002 and May 2004, at least). \par docbookmk, by Michael Wiedmann ( \httpref{http://www.miwie.org/docbkmake/} ) offers probably a superset of Caspar's \"docbook.mk" functionality. \par SUP, the Software Upgrade Protocol and it's implementation by Carnegie Mellon University offers another way to distribute (configuration)files. Beware though: between Nov 1996 and June 2004, no new release has been published. The Debian ( \httpref{ftp://ftp.debian.org/debian/pool/main/s/sup/} ) and NetBSD packages are likely still maintained, though. \par cfengine ( \httpref{http://www.cfengine.org/} ), by Mark Burgess e.a., builds expert systems to administrate and configure large computer networks: it delivers a very big superset of caspar's installation mechanism. \par The \aref{http://svk.elixus.org/}{svk} version control system is said to be quite usable for handling configuration file management (without a separate install mechanism like caspar). See also \aref{http://lists.debian.org/debian-devel/2005/02/thrd2.html#00495}{this discussion on the Debian development list}. \"man::postamble" 070701000122b8000081a4000000650000000100000001426c024500003c55000000550000000400000000000000000000002dff3308a0reloc/usr/local/share/doc/caspar/caspar.html caspar

24 Apr 2005    caspar 20050424

1.  
2.  
3.  
4.  
5.  
6.  
7.  
8.  
9.  
10.  
11.  
12.  

NAME

caspar - Makefile snippets for common tasks

SYNOPSIS

In a Makefile, do either
  include caspar/mk/caspar.mk
or
  include caspar/mk/docbook.mk
or
  include caspar/mk/pod.mk
.

DESCRIPTION

Caspar offers Makefile snippets for common tasks, like installing configuration files, or typesetting LaTeX, DocBook XML and DocBook SGML documents.

The typesetting functionality is delivered by docbook.mk and pod.mk. This is documented in caspar-typesetting(7).

The installing-stuff functionality functionality is delivered by caspar.mk. (That's what the rest of the manual will talk about.) It enables one to run 'make install' from within a tree which typically holds configuration files, managed using CVS (or Subversion or any other version control system, for that matter).

It is useful in cases like this: all configuration files of some host are under version control, and, after commiting a change to CVS, you want to be able to easily install the new configuration file on the host.

With caspar, all you have to do is specify the hostname in one place, and specify the name of the target directory in each CVS directory.

USAGE

Within a CVS tree, create a file include/install.mk, with contents like e.g.
 csp_SUH = root@some.host.somewhere
 include caspar/mk/caspar.mk
. Within each other directory of the CVS tree which holds files, create a Makefile, which looks like e.g.
 csp_SCPDIR = /some/dir/ectory/
 include ../../include/install.mk
. If you'd like to use the install-recursive target too, in directories which hold subdirectories (but not files), you'll have to create a Makefile which looks something like
 include ../../include/install.mk
. From within the CVS tree, one can call:
  make <filename>-install
  make install
  make load
  make
  make install-recursive
The install-recursive target descends down the tree, and calls make install in each subdirectory.

VARIABLES

The variables one can set in a calling Makefile are:
csp_CP
   
cp binary, just "cp" by default
csp_CPFLAGS
   
extra arguments to pass to cp invocation, none by default
csp_SCP
   
scp binary, just "scp" by default
csp_SCPFLAGS
   
extra arguments to pass to scp invocation, e.g. '-i .ssh/id_rsa-root'
csp_SUH
   
ssh-reachable user@host (Secure User at Host)
csp_SUHS
   
space separated list of ssh-reachable user@host items (Secure User at HostS)
csp_CPDIR
   
directory to which we can cp(1), instead of scp (CoPy DIRectory)
csp_CPDIRS
   
space separated list of directories to which we can copy (CoPy DIRectorieS)
csp_SCPDIR
   
directory on ssh reachable host, with trailing / (Secure CoPy DIRectory)
csp_SUHDIRS
   
this is the list $(csp_SUH):$(dir) for each $(dir) in $(csp_SUHS) (or where dir = $(csp_SCPDIR), in case csp_SUHS is not set). However, more items can get added to this list on the fly.
csp_LOAD
   
targets which should depend on the `load' target.
csp_EXTRAFILES
   
extra files which should be installed. Can be used to include files starting with a dot.
csp_TABOOFILES
   
files which should never be installed. Set to Makefile .%.swp %~ #%# pod2htmd.tmp pod2htmi.tmp by default.
csp_TABOOFILES_ADD
   
extra files which should never be installed; added to list in csp_TABOOFILES.
csp_TABOOFILES_SKIP
   
files which should be installed, even if in initial csp_TABOOFILES list. Removed from csp_TABOOFILES list.
csp_TABOODIRS
   
directories to exclude in install-recursive target. set to CVS .svn by default.
csp_TABOODIRS_ADD, csp_TABOODIRS_SKIP
   
see csp_TABOOFILES equivalents.

EXAMPLES

Some examples:

Using csp_CPDIR and csp_LOAD: username/etc/Makefile is

  csp_CPDIR = $(HOME)/etc/
  csp_LOAD = crontab-load
  include ../include/install.mk

  crontab-load:
        crontab $(csp_CPDIR)/crontab
while ../include/install.mk is just
  include caspar/mk/caspar.mk
. Using csp_SCPDIR and csp_LOAD: etc/Makefile is
  csp_SCPDIR = /etc/
  csp_LOAD = aliases-load
  include ../include/install.mk

  aliases-load:
      ssh $(csp_SUH) "cd /etc; postalias aliases; postfix reload"
while ../include/install.mk is
  csp_SUH = root@some.host.somewhere
  include caspar/mk/caspar.mk
Using the csp_TABOOFILES_{ADD,SKIP} variables is handy if you want to install a Makefile, instead of using it: Create Makefile just as you'd like to have it installed on the remote location. Now, create GNUmakefile as e.g.
  csp_TABOOFILES_SKIP = Makefile
  csp_TABOOFILES_ADD = GNUmakefile

  csp_SCPDIR = /etc/foobar/
  csp_SUH = root@some.host.somewhere

  load:
        ssh $(csp_SUH) "make -C $(csp_SCPDIR)"
Now, make install and make load will do the right thing. Using the csp_EXTRAFILES variable is handy if you want to install files with a leading dot. E.g.:
  csp_EXTRAFILES = .bashrc
  csp_SUHDIRS = root@some.host.somewhere:

More advanced tricks: supply e.g.

 csp_SUHS = root@localhost root@some.host.somewhere
in install.mk, to install on multiple hosts. Run
 csp_SUH=joe@otherhost make filename-install
to install filename as joe@otherhost, instead of the default as given in install.mk.

When you don't want to ssh to root@some.host.somewhere directly, you could do

 sudo rsync -az /path/to/your/config_archive /etc
.

FILES

caspar/mk/caspar.mk, caspar/mk/docbook.mk, caspar/mk/pod.mk

ENVIRONMENT

For caspar.mk: csp_CPDIR, csp_CP, csp_CPFLAGS, csp_LOAD, csp_SCP, csp_SCPFLAGS, csp_SUH, csp_SUHS, ...

BUGS

See TODO and/or BUGS, distributed with the caspar package. (And online at http://mdcc.cx/pub/caspar/caspar-latest/TODO.)

TRIVIA

caspar is named after Caspar the Friendly Ghost, since that's the title of the Daniel Johnston song I was listening to when deciding to package my homegrown scripts.

AUTHOR

Joost van Baal

SEE ALSO

caspar-typesetting(7)

The caspar homepage is at http://mdcc.cx/caspar/ .

The `cvs-conf' package ( http://project.tuxfamily.org/cvs-conf, http://packages.debian.org/stable/utils/cvs-conf.html ) probably offers about the same functionality as caspar.mk. However, this package seems largely unmaintained (between September 2002 and May 2004, at least).

docbookmk, by Michael Wiedmann ( http://www.miwie.org/docbkmake/ ) offers probably a superset of Caspar's docbook.mk functionality.

SUP, the Software Upgrade Protocol and it's implementation by Carnegie Mellon University offers another way to distribute (configuration)files. Beware though: between Nov 1996 and June 2004, no new release has been published. The Debian ( ftp://ftp.debian.org/debian/pool/main/s/sup/ ) and NetBSD packages are likely still maintained, though.

cfengine ( http://www.cfengine.org/ ), by Mark Burgess e.a., builds expert systems to administrate and configure large computer networks: it delivers a very big superset of caspar's installation mechanism.

The svk version control system is said to be quite usable for handling configuration file management (without a separate install mechanism like caspar). See also this discussion on the Debian development list. 070701000122b9000081a4000000650000000100000001426c02450000646b000000550000000400000000000000000000002bff3308a0reloc/usr/local/share/doc/caspar/caspar.ps%!PS-Adobe-3.0 %%Creator: groff version 1.18.1 %%CreationDate: Sun Apr 24 17:45:32 2005 %%DocumentNeededResources: font Times-Roman %%+ font Times-Bold %%+ font Courier %%+ font Times-Italic %%DocumentSuppliedResources: procset grops 1.18 1 %%Pages: 5 %%PageOrder: Ascend %%Orientation: Portrait %%EndComments %%BeginProlog %%BeginResource: procset grops 1.18 1 /setpacking where{ pop currentpacking true setpacking }if /grops 120 dict dup begin /SC 32 def /A/show load def /B{0 SC 3 -1 roll widthshow}bind def /C{0 exch ashow}bind def /D{0 exch 0 SC 5 2 roll awidthshow}bind def /E{0 rmoveto show}bind def /F{0 rmoveto 0 SC 3 -1 roll widthshow}bind def /G{0 rmoveto 0 exch ashow}bind def /H{0 rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def /I{0 exch rmoveto show}bind def /J{0 exch rmoveto 0 SC 3 -1 roll widthshow}bind def /K{0 exch rmoveto 0 exch ashow}bind def /L{0 exch rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def /M{rmoveto show}bind def /N{rmoveto 0 SC 3 -1 roll widthshow}bind def /O{rmoveto 0 exch ashow}bind def /P{rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def /Q{moveto show}bind def /R{moveto 0 SC 3 -1 roll widthshow}bind def /S{moveto 0 exch ashow}bind def /T{moveto 0 exch 0 SC 5 2 roll awidthshow}bind def /SF{ findfont exch [exch dup 0 exch 0 exch neg 0 0]makefont dup setfont [exch/setfont cvx]cvx bind def }bind def /MF{ findfont [5 2 roll 0 3 1 roll neg 0 0]makefont dup setfont [exch/setfont cvx]cvx bind def }bind def /level0 0 def /RES 0 def /PL 0 def /LS 0 def /MANUAL{ statusdict begin/manualfeed true store end }bind def /PLG{ gsave newpath clippath pathbbox grestore exch pop add exch pop }bind def /BP{ /level0 save def 1 setlinecap 1 setlinejoin 72 RES div dup scale LS{ 90 rotate }{ 0 PL translate }ifelse 1 -1 scale }bind def /EP{ level0 restore showpage }bind def /DA{ newpath arcn stroke }bind def /SN{ transform .25 sub exch .25 sub exch round .25 add exch round .25 add exch itransform }bind def /DL{ SN moveto SN lineto stroke }bind def /DC{ newpath 0 360 arc closepath }bind def /TM matrix def /DE{ TM currentmatrix pop translate scale newpath 0 0 .5 0 360 arc closepath TM setmatrix }bind def /RC/rcurveto load def /RL/rlineto load def /ST/stroke load def /MT/moveto load def /CL/closepath load def /Fr{ setrgbcolor fill }bind def /Fk{ setcmykcolor fill }bind def /Fg{ setgray fill }bind def /FL/fill load def /LW/setlinewidth load def /Cr/setrgbcolor load def /Ck/setcmykcolor load def /Cg/setgray load def /RE{ findfont dup maxlength 1 index/FontName known not{1 add}if dict begin { 1 index/FID ne{def}{pop pop}ifelse }forall /Encoding exch def dup/FontName exch def currentdict end definefont pop }bind def /DEFS 0 def /EBEGIN{ moveto DEFS begin }bind def /EEND/end load def /CNT 0 def /level1 0 def /PBEGIN{ /level1 save def translate div 3 1 roll div exch scale neg exch neg exch translate 0 setgray 0 setlinecap 1 setlinewidth 0 setlinejoin 10 setmiterlimit []0 setdash /setstrokeadjust where{ pop false setstrokeadjust }if /setoverprint where{ pop false setoverprint }if newpath /CNT countdictstack def userdict begin /showpage{}def }bind def /PEND{ clear countdictstack CNT sub{end}repeat level1 restore }bind def end def /setpacking where{ pop setpacking }if %%EndResource %%IncludeResource: font Times-Roman %%IncludeResource: font Times-Bold %%IncludeResource: font Courier %%IncludeResource: font Times-Italic grops begin/DEFS 1 dict def DEFS begin/u{.001 mul}bind def end/RES 72 def/PL 841.89 def/LS false def/ENC0[/asciicircum/asciitilde/Scaron /Zcaron/scaron/zcaron/Ydieresis/trademark/quotesingle/Euro/.notdef /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef /.notdef/.notdef/.notdef/space/exclam/quotedbl/numbersign/dollar/percent /ampersand/quoteright/parenleft/parenright/asterisk/plus/comma/hyphen /period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon /semicolon/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O /P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright/circumflex /underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y /z/braceleft/bar/braceright/tilde/.notdef/quotesinglbase/guillemotleft /guillemotright/bullet/florin/fraction/perthousand/dagger/daggerdbl /endash/emdash/ff/fi/fl/ffi/ffl/dotlessi/dotlessj/grave/hungarumlaut /dotaccent/breve/caron/ring/ogonek/quotedblleft/quotedblright/oe/lslash /quotedblbase/OE/Lslash/.notdef/exclamdown/cent/sterling/currency/yen /brokenbar/section/dieresis/copyright/ordfeminine/guilsinglleft /logicalnot/minus/registered/macron/degree/plusminus/twosuperior /threesuperior/acute/mu/paragraph/periodcentered/cedilla/onesuperior /ordmasculine/guilsinglright/onequarter/onehalf/threequarters /questiondown/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE /Ccedilla/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex /Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis /multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn /germandbls/agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla /egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis /eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/divide/oslash /ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis]def /Times-Italic@0 ENC0/Times-Italic RE/Courier@0 ENC0/Courier RE /Times-Bold@0 ENC0/Times-Bold RE/Times-Roman@0 ENC0/Times-Roman RE %%EndProlog %%Page: 1 1 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF 180.415 <6361737061722837292043617370617220636173706172283729>20 48 R/F1 10.95 /Times-Bold@0 SF -.219<4e41>20 84 S<4d45>.219 E F0 <636173706172202d204d616b>100 96 Q <658c6c6520736e69707065747320666f7220636f6d6d6f6e207461736b73>-.1 E F1 <53594e4f50534953>20 112.8 Q F0<496e2061204d616b>100 124.8 Q <658c6c652c20646f20656974686572>-.1 E/F2 10/Courier@0 SF <696e636c756465206361737061722f6d6b2f6361737061722e6d6b>112 160.8 Q F0 <6f72>100 184.8 Q F2 <696e636c756465206361737061722f6d6b2f646f63626f6f6b2e6d6b>112 220.8 Q F0 <6f72>100 244.8 Q F2<696e636c756465206361737061722f6d6b2f706f642e6d6b> 112 280.8 Q F0<2e>100 304.8 Q F1<4445534352495054494f4e>20 321.6 Q F0 .43<436173706172206f66>100 333.6 R .43<66657273204d616b>-.25 F .429 <658c6c6520736e69707065747320666f7220636f6d6d6f6e207461736b732c206c696b> -.1 F 2.929<6569>-.1 G .429<6e7374616c6c696e6720636f6e8c6775726174696f6e 208c6c65732c206f7220747970657365742d>-2.929 F<74696e67204c6154>100 345.6 Q<65582c20446f63426f6f6b20584d4c20616e6420446f63426f6f6b2053474d4c20646f 63756d656e74732e>-.7 E 1.351<546865207479706573657474696e672066756e6374 696f6e616c6974792069732064656c69>100 369.6 R -.15<7665>-.25 G 1.352 <726564206279>.15 F/F3 10/Times-Italic@0 SF<646f63626f6f6b2e6d6b>3.852 E F0<616e64>3.852 E F3<706f642e6d6b>3.852 E F0 6.352<2e54>C 1.352 <68697320697320646f63756d656e74656420696e>-6.352 F/F4 10/Times-Bold@0 SF <636173706172>100 381.6 Q<2d7479706573657474696e67283729>-.37 E F0<2e>A .891<54686520696e7374616c6c696e672d73747566>100 405.6 R 3.391<6666>-.25 G .891 <756e6374696f6e616c6974792066756e6374696f6e616c6974792069732064656c69> -3.391 F -.15<7665>-.25 G .891<726564206279>.15 F F3<6361737061722e6d6b> 3.391 E F0 5.891<2e28>C<5468617427>-5.891 E 3.391<7377>-.55 G .891 <686174207468652072657374>-3.391 F .129<6f6620746865206d616e75616c207769 6c6c2074616c6b2061626f75742e2920497420656e61626c6573206f6e6520746f207275 6e20276d616b>100 417.6 R 2.629<6569>-.1 G .129<6e7374616c6c272066726f6d 2077697468696e2061207472656520776869636820747970692d>-2.629 F .579<6361 6c6c7920686f6c647320636f6e8c6775726174696f6e208c6c65732c206d616e61676564 207573696e672043565320286f7220537562>100 429.6 R -.15<7665>-.15 G .578 <7273696f6e206f7220616e>.15 F 3.078<796f>-.15 G .578<746865722076>-3.078 F .578<657273696f6e20636f6e74726f6c>-.15 F <73797374656d2c20666f722074686174206d6174746572292e>100 441.6 Q .536 <49742069732075736566756c20696e206361736573206c696b>100 465.6 R 3.036 <6574>-.1 G .537<6869733a20616c6c20636f6e8c6775726174696f6e208c6c657320 6f6620736f6d6520686f73742061726520756e6465722076>-3.036 F .537 <657273696f6e20636f6e74726f6c2c20616e642c>-.15 F .167<616674657220636f6d 6d6974696e672061206368616e676520746f204356532c20796f752077>100 477.6 R .166<616e7420746f2062652061626c6520746f20656173696c7920696e7374616c6c20 746865206e65>-.1 F 2.666<7763>-.25 G .166 <6f6e8c6775726174696f6e208c6c65>-2.666 F<6f6e2074686520686f73742e>100 489.6 Q -.4<5769>100 513.6 S<7468>.4 E F4<636173706172>3.267 E F0 3.267 <2c61>C .767<6c6c20796f75206861>-3.267 F 1.067 -.15<76652074>-.2 H 3.267 <6f64>.15 G 3.267<6f69>-3.267 G 3.267<7373>-3.267 G .767<70656369667920 74686520686f73746e616d6520696e206f6e6520706c6163652c20616e64207370656369 667920746865206e616d65206f66>-3.267 F<74686520746172>100 525.6 Q<676574 206469726563746f727920696e206561636820435653206469726563746f72792e>-.18 E F1<555341>20 554.4 Q<4745>-.602 E F0 -.4<5769>100 566.4 S <7468696e20612043565320747265652c206372656174652061208c6c65>.4 E F3 <696e636c7564652f696e7374616c6c2e6d6b>2.5 E F0 2.5<2c77>C <69746820636f6e74656e7473206c696b>-2.5 E 2.5<6565>-.1 G<2e672e>-2.5 E F2 <6373705f535548203d20726f6f7440736f6d652e686f73742e736f6d657768657265> 106 602.4 Q<696e636c756465206361737061722f6d6b2f6361737061722e6d6b>106 614.4 Q F0 3.157<2e57>100 638.4 S .657<697468696e2065616368206f74686572 206469726563746f7279206f662074686520435653207472656520776869636820686f6c 6473208c6c65732c206372656174652061204d616b>-3.557 F .656 <658c6c652c207768696368206c6f6f6b73>-.1 F<6c696b>100 650.4 Q 2.5<6565> -.1 G<2e672e>-2.5 E F2 <6373705f534350444952203d202f736f6d652f6469722f6563746f72792f>106 686.4 Q<696e636c756465202e2e2f2e2e2f696e636c7564652f696e7374616c6c2e6d6b>106 698.4 Q F0 5.04<2e49>100 722.4 S 2.54<6679>-5.04 G<6f7527>-2.54 E 2.54 <646c>-.5 G<696b>-2.54 E 2.54<6574>-.1 G 2.54<6f75>-2.54 G .041 <736520746865>-2.54 F F3<696e7374616c6c2d72>2.541 E<65637572>-.37 E <73697665>-.1 E F0<746172>2.541 E .041<67657420746f6f2c20696e2064697265 63746f7269657320776869636820686f6c64207375626469726563746f72696573202862> -.18 F<7574>-.2 E<636173706172203230303530343234>20 768 Q <3234204170722032303035>140.685 E<31>203.725 E 0 Cg EP %%Page: 2 2 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF 180.415 <6361737061722837292043617370617220636173706172283729>20 48 R <6e6f74208c6c6573292c20796f7527>100 84 Q<6c6c206861>-.1 E .3 -.15 <76652074>-.2 H 2.5<6f63>.15 G<72656174652061204d616b>-2.5 E <658c6c65207768696368206c6f6f6b7320736f6d657468696e67206c696b>-.1 E<65> -.1 E/F1 10/Courier@0 SF <696e636c756465202e2e2f2e2e2f696e636c7564652f696e7374616c6c2e6d6b>106 120 Q F0 2.5<2e46>100 144 S<726f6d2077697468696e207468652043565320747265 652c206f6e652063616e2063616c6c3a>-2.5 E F1 <6d616b65203c66696c656e616d653e2d696e7374616c6c>112 180 Q <6d616b6520696e7374616c6c>112 192 Q<6d616b65206c6f6164>112 204 Q <6d616b65>112 216 Q<6d616b6520696e7374616c6c2d726563757273697665>112 228 Q F0<546865>100 252 Q/F2 10/Times-Italic@0 SF<696e7374616c6c2d72>2.5 E <65637572>-.37 E<73697665>-.1 E F0<746172>2.5 E <6765742064657363656e647320646f>-.18 E <776e2074686520747265652c20616e642063616c6c73206d616b>-.25 E 2.5<6569> -.1 G<6e7374616c6c20696e2065616368207375626469726563746f72792e>-2.5 E/F3 10.95/Times-Bold@0 SF -1.478<5641>20 268.8 S<524941424c4553>1.478 E F0 <5468652076>100 280.8 Q<61726961626c6573206f6e652063616e2073657420696e20 612063616c6c696e67204d616b>-.25 E<658c6c65206172653a>-.1 E<6373705f4350> 100 304.8 Q<63702062696e617279>180 316.8 Q 2.5<2c6a>-.65 G <757374202263702220627920646566>-2.5 E<61756c74>-.1 E <6373705f4350464c41>100 328.8 Q<4753>-.4 E -.15<6578>180 340.8 S <747261206172>.15 E<67756d656e747320746f207061737320746f20637020696e> -.18 E -.2<766f>-.4 G<636174696f6e2c206e6f6e6520627920646566>.2 E <61756c74>-.1 E<6373705f534350>100 352.8 Q<7363702062696e617279>180 364.8 Q 2.5<2c6a>-.65 G<75737420227363702220627920646566>-2.5 E <61756c74>-.1 E<6373705f534350464c41>100 376.8 Q<4753>-.4 E -.15<6578> 180 388.8 S<747261206172>.15 E <67756d656e747320746f207061737320746f2073637020696e>-.18 E -.2<766f>-.4 G<636174696f6e2c20652e672e>.2 E <272d69202e7373682f69645f7273612d726f6f7427>5 E<6373705f535548>100 400.8 Q<7373682d726561636861626c65207573657240686f7374202853656375726520557365 7220617420486f737429>180 412.8 Q<6373705f53554853>100 424.8 Q 3.3<737061 636520736570617261746564206c697374206f66207373682d726561636861626c652075 73657240686f7374206974656d7320285365637572652055736572206174>180 436.8 R <486f73745329>180 448.8 Q<6373705f4350444952>100 460.8 Q<6469726563746f 727920746f2077686963682077652063616e2063702831292c20696e7374656164206f66 207363702028436f5079204449526563746f727929>180 472.8 Q <6373705f435044495253>100 484.8 Q .162<73706163652073657061726174656420 6c697374206f66206469726563746f7269657320746f2077686963682077652063616e20 636f70>180 496.8 R 2.662<7928>-.1 G .162 <436f5079204449526563746f7269655329>-2.662 F<6373705f534350444952>100 508.8 Q<6469726563746f7279206f6e2073736820726561636861626c6520686f73742c 207769746820747261696c696e67202f202853656375726520436f507920444952656374 6f727929>180 520.8 Q<6373705f53554844495253>100 532.8 Q .656<7468697320 697320746865206c6973742024286373705f535548293a24286469722920666f72206561 63682024286469722920696e2024286373705f535548532920286f72207768657265>180 544.8 R .742<646972203d2024286373705f534350444952292c20696e206361736520 6373705f53554853206973206e6f7420736574292e>180 556.8 R<486f>5.742 E <7765>-.25 E -.15<7665>-.25 G 1.542 -.4<722c206d>.15 H .742 <6f7265206974656d73>.4 F<63616e2067657420616464656420746f2074686973206c 697374206f6e20746865208d792e>180 568.8 Q<6373705f4c4f>100 580.8 Q<4144> -.35 E<746172>180 592.8 Q<676574732077686963682073686f756c6420646570656e 64206f6e2074686520606c6f61642720746172>-.18 E<6765742e>-.18 E <6373705f455854524146494c4553>100 604.8 Q -.15<6578>180 616.8 S 1.19 <747261208c6c65732077686963682073686f756c6420626520696e7374616c6c65642e> .15 F 1.19<43616e206265207573656420746f20696e636c756465208c6c6573207374 617274696e67>6.19 F<77697468206120646f742e>180 628.8 Q<6373705f54>100 640.8 Q<41424f4f46494c4553>-.93 E 2.694 <8c6c65732077686963682073686f756c64206e65>180 652.8 R -.15<7665>-.25 G 5.194<7262>.15 G 5.194<6569>-5.194 G 2.695 <6e7374616c6c65642e2053657420746f204d616b>-5.194 F 2.695 <658c6c65202e252e73777020257e20232523>-.1 F <706f643268746d642e746d7020706f643268746d692e746d7020627920646566>180 664.8 Q<61756c742e>-.1 E<6373705f54>100 676.8 Q <41424f4f46494c45535f414444>-.93 E -.15<6578>180 688.8 S 7.579 <747261208c6c65732077686963682073686f756c64206e65>.15 F -.15<7665>-.25 G 10.079<7262>.15 G 10.079<6569>-10.079 G 7.579 <6e7374616c6c65643b20616464656420746f206c69737420696e>-10.079 F <6373705f54>180 700.8 Q<41424f4f46494c45532e>-.93 E<6373705f54>100 712.8 Q<41424f4f46494c45535f534b4950>-.93 E 2.044 <8c6c65732077686963682073686f756c6420626520696e7374616c6c65642c2065>180 724.8 R -.15<7665>-.25 G 4.544<6e69>.15 G 4.544<6669>-4.544 G 4.544 <6e69>-4.544 G 2.044<6e697469616c206373705f54>-4.544 F 2.044 <41424f4f46494c4553206c6973742e>-.93 F<636173706172203230303530343234>20 768 Q<3234204170722032303035>140.685 E<32>203.725 E 0 Cg EP %%Page: 3 3 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF 180.415 <6361737061722837292043617370617220636173706172283729>20 48 R<52656d6f> 180 84 Q -.15<7665>-.15 G 2.5<6466>.15 G<726f6d206373705f54>-2.5 E <41424f4f46494c4553206c6973742e>-.93 E<6373705f54>100 96 Q <41424f4f44495253>-.93 E<6469726563746f7269657320746f2065>180 108 Q <78636c75646520696e20696e7374616c6c2d72656375727369>-.15 E .3 -.15 <76652074>-.25 H<6172>.15 E 2.5<6765742e20736574>-.18 F <746f20435653202e73766e20627920646566>2.5 E<61756c742e>-.1 E<6373705f54> 100 120 Q<41424f4f444952535f4144442c206373705f54>-.93 E <41424f4f444952535f534b4950>-.93 E<736565206373705f54>180 132 Q <41424f4f46494c45532065717569>-.93 E -.25<7661>-.25 G<6c656e74732e>.25 E /F1 10.95/Times-Bold@0 SF<4558414d504c4553>20 148.8 Q F0<536f6d652065> 100 160.8 Q<78616d706c65733a>-.15 E <5573696e67206373705f435044495220616e64206373705f4c4f>100 184.8 Q <41443a>-.35 E/F2 10/Times-Italic@0 SF<757365726e616d652f6574632f4d616b> 2.5 E<658c6c65>-.1 E F0<6973>2.5 E/F3 10/Courier@0 SF <6373705f4350444952203d202428484f4d45292f6574632f>112 220.8 Q <6373705f4c4f4144203d2063726f6e7461622d6c6f6164>112 232.8 Q <696e636c756465202e2e2f696e636c7564652f696e7374616c6c2e6d6b>112 244.8 Q <63726f6e7461622d6c6f61643a>112 268.8 Q <63726f6e7461622024286373705f4350444952292f63726f6e746162>148 280.8 Q F0 <7768696c65>100 304.8 Q F2<2e2e2f696e636c7564652f696e7374616c6c2e6d6b> 2.5 E F0<6973206a757374>2.5 E F3 <696e636c756465206361737061722f6d6b2f6361737061722e6d6b>112 340.8 Q F0 5 <2e55>100 364.8 S<73696e67206373705f53435044495220616e64206373705f4c4f> -5 E<41443a>-.35 E F2<6574632f4d616b>2.5 E<658c6c65>-.1 E F0<6973>2.5 E F3<6373705f534350444952203d202f6574632f>112 400.8 Q <6373705f4c4f4144203d20616c69617365732d6c6f6164>112 412.8 Q <696e636c756465202e2e2f696e636c7564652f696e7374616c6c2e6d6b>112 424.8 Q <616c69617365732d6c6f61643a>112 448.8 Q<7373682024286373705f535548292022 6364202f6574633b20706f7374616c69617320616c69617365733b20706f737466697820 72656c6f616422>136 460.8 Q F0<7768696c65>100 484.8 Q F2 <2e2e2f696e636c7564652f696e7374616c6c2e6d6b>2.5 E F0<6973>2.5 E F3 <6373705f535548203d20726f6f7440736f6d652e686f73742e736f6d657768657265> 112 520.8 Q<696e636c756465206361737061722f6d6b2f6361737061722e6d6b>112 532.8 Q F0 .124<5573696e6720746865206373705f54>100 556.8 R .124 <41424f4f46494c45535f7b4144442c534b49507d2076>-.93 F .123 <61726961626c65732069732068616e647920696620796f752077>-.25 F .123 <616e7420746f>-.1 F F2<696e7374616c6c>2.623 E F0<61>2.623 E F2<4d616b> 2.623 E<658c6c65>-.1 E F0<2c>A .436 <696e7374656164206f66207573696e672069743a20437265617465>100 568.8 R F2 <4d616b>2.936 E<658c6c65>-.1 E F0 .436<6a75737420617320796f7527>2.936 F 2.936<646c>-.5 G<696b>-2.936 E 2.937<6574>-.1 G 2.937<6f68>-2.937 G -2.25 -.2<61762065>-2.937 H .437<697420696e7374616c6c6564206f6e20746865 2072656d6f7465206c6f636174696f6e2e>3.137 F<4e6f>100 580.8 Q 1.3 -.65 <772c2063>-.25 H<7265617465>.65 E F2<474e556d616b>2.5 E<658c6c65>-.1 E F0<617320652e672e>2.5 E F3 <6373705f5441424f4f46494c45535f534b4950203d204d616b6566696c65>112 616.8 Q<6373705f5441424f4f46494c45535f414444203d20474e556d616b6566696c65>112 628.8 Q<6373705f534350444952203d202f6574632f666f6f6261722f>112 652.8 Q <6373705f535548203d20726f6f7440736f6d652e686f73742e736f6d657768657265> 112 664.8 Q<6c6f61643a>112 688.8 Q<7373682024286373705f5355482920226d61 6b65202d432024286373705f5343504449522922>148 700.8 Q F0<4e6f>100 724.8 Q 1.593 -.65<772c206d>-.25 H<616b>.65 E 2.793<6569>-.1 G .293 <6e7374616c6c20616e64206d616b>-2.793 F 2.793<656c>-.1 G .293 <6f61642077696c6c20646f20746865207269676874207468696e672e>-2.793 F .292 <5573696e6720746865206373705f455854524146494c45532076>5.293 F <61726961626c65>-.25 E<636173706172203230303530343234>20 768 Q <3234204170722032303035>140.685 E<33>203.725 E 0 Cg EP %%Page: 4 4 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF 180.415 <6361737061722837292043617370617220636173706172283729>20 48 R <69732068616e647920696620796f752077>100 84 Q<616e7420746f20696e7374616c 6c208c6c657320776974682061206c656164696e6720646f742e20452e672e3a>-.1 E /F1 10/Courier@0 SF<6373705f455854524146494c4553203d202e626173687263>112 120 Q<6373705f53554844495253203d20726f6f7440736f6d652e686f73742e736f6d65 77686572653a>112 132 Q F0<4d6f726520616476>100 156 Q <616e63656420747269636b733a20737570706c7920652e672e>-.25 E F1<6373705f53 554853203d20726f6f74406c6f63616c686f737420726f6f7440736f6d652e686f73742e 736f6d657768657265>106 192 Q F0<696e>100 216 Q/F2 10/Times-Italic@0 SF <696e7374616c6c2e6d6b>2.5 E F0 2.5<2c74>C 2.5<6f69>-2.5 G <6e7374616c6c206f6e206d756c7469706c6520686f7374732e2052756e>-2.5 E F1<63 73705f5355483d6a6f65406f74686572686f7374206d616b652066696c656e616d652d69 6e7374616c6c>106 252 Q F0<746f20696e7374616c6c208c6c656e616d65206173206a 6f65406f74686572686f73742c20696e7374656164206f662074686520646566>100 276 Q<61756c74206173206769>-.1 E -.15<7665>-.25 G 2.5<6e69>.15 G<6e>-2.5 E F2<696e7374616c6c2e6d6b>2.5 E F0<2e>A<5768656e20796f7520646f6e27>100 300 Q 2.5<7477>-.18 G <616e7420746f2073736820746f20726f6f7440736f6d652e686f73742e736f6d65>-2.6 E<7768657265206469726563746c79>-.25 E 2.5<2c79>-.65 G <6f7520636f756c6420646f>-2.5 E F1<7375646f207273796e63202d617a202f706174 682f746f2f796f75722f636f6e6669675f61726368697665202f657463>106 336 Q F0 <2e>100 360 Q/F3 10.95/Times-Bold@0 SF<46494c4553>20 376.8 Q F2 <6361737061722f6d6b2f6361737061722e6d6b>100 388.8 Q F0<2c>A F2 <6361737061722f6d6b2f646f63626f6f6b2e6d6b>2.5 E F0<2c>A F2 <6361737061722f6d6b2f706f642e6d6b>2.5 E F3<454e564952>20 405.6 Q <4f4e4d454e54>-.329 E F0 -.15<466f>100 417.6 S<72>.15 E F2 <6361737061722e6d6b>3.984 E F0 3.984<3a63>C 1.484 <73705f43504449522c206373705f4350>-3.984 F 3.984<2c63>-1.11 G <73705f4350464c41>-3.984 E 1.484<47532c206373705f4c4f>-.4 F 1.485 <41442c206373705f534350>-.35 F 3.985<2c63>-1.11 G<73705f534350464c41> -3.985 E<47532c>-.4 E<6373705f5355482c206373705f535548532c202e2e2e>100 429.6 Q F3 -.11<4255>20 446.4 S<4753>.11 E F0 7.064<5365652054>100 458.4 R 7.064<4f444f20616e642f6f722042>-.18 F 7.064<5547532c2064697374726962> -.1 F 7.063<7574656420776974682074686520636173706172207061636b6167652e20 28416e64206f6e6c696e65206174>-.2 F <687474703a2f2f6d6463632e63782f7075622f6361737061722f636173706172>100 470.4 Q<2d6c61746573742f54>-.2 E<4f444f2e29>-.18 E F3<545249564941>20 487.2 Q F0 1.351<636173706172206973206e616d6564206166746572204361737061 722074686520467269656e646c792047686f73742c2073696e6365207468617427>100 499.2 R 3.851<7374>-.55 G 1.352 <6865207469746c65206f66207468652044616e69656c204a6f686e73746f6e>-3.851 F <736f6e6720492077>100 511.2 Q<6173206c697374656e696e6720746f207768656e20 6465636964696e6720746f207061636b616765206d7920686f6d65>-.1 E<67726f>-.15 E<776e20736372697074732e>-.25 E F3 -.548<4155>20 528 S<54484f52>.548 E F0<4a6f6f73742076>100 540 Q<616e204261616c>-.25 E F3<53454520414c534f>20 556.8 Q/F4 10/Times-Bold@0 SF<636173706172>100 568.8 Q <2d7479706573657474696e67283729>-.37 E F0<5468652063617370617220686f6d65 7061676520697320617420687474703a2f2f6d6463632e63782f6361737061722f202e> 100 592.8 Q 2.374<54686520606376732d636f6e6627207061636b6167652028206874 74703a2f2f70726f6a6563742e74757866>100 616.8 R<616d696c792e6f72>-.1 E 2.374<672f6376732d636f6e662c20687474703a2f2f7061636b616765732e6465626961 6e2e6f72>-.18 F<672f7374612d>-.18 E 1.436<626c652f7574696c732f6376732d63 6f6e662e68746d6c20292070726f6261626c79206f66>100 628.8 R 1.436<66657273 2061626f7574207468652073616d652066756e6374696f6e616c697479206173>-.25 F F2<6361737061722e6d6b>3.936 E F0 3.936<2e48>C -.25<6f77>-3.936 G -2.15 -.25<65762065>.25 H -.4<722c>.25 G <74686973207061636b616765207365656d73206c6172>100 640.8 Q<67656c7920756e 6d61696e7461696e656420286265747765656e2053657074656d62657220323030322061 6e64204d617920323030342c206174206c65617374292e>-.18 E 2.171 <646f63626f6f6b6d6b2c206279204d69636861656c2057>100 664.8 R 2.171 <6965646d616e6e202820687474703a2f2f7777772e6d697769652e6f72>-.4 F <672f646f63626b6d616b>-.18 E 2.171<652f2029206f66>-.1 F 2.171 <666572732070726f6261626c792061>-.25 F <7375706572736574206f662043617370617227>100 676.8 Q<73>-.55 E F2 <646f63626f6f6b2e6d6b>2.5 E F0<66756e6374696f6e616c6974792e>2.5 E <535550>100 700.8 Q 4.147<2c74>-1.11 G 1.647<686520536f667477>-4.147 F 1.647<61726520557067726164652050726f746f636f6c20616e6420697427>-.1 F 4.147<7369>-.55 G 1.647<6d706c656d656e746174696f6e206279204361726e65> -4.147 F 1.648<676965204d656c6c6f6e20556e69>-.15 F -.15<7665>-.25 G <7273697479>.15 E<6f66>100 712.8 Q 1.89<6665727320616e6f746865722077> -.25 F 1.889<617920746f2064697374726962>-.1 F 1.889 <7574652028636f6e8c6775726174696f6e298c6c65732e204265>-.2 F -.1<7761> -.25 G 1.889<72652074686f7567683a206265747765656e204e6f>.1 F 4.389<7631> -.15 G 1.889<39393620616e64>-4.389 F 14.664 <4a756e6520323030342c206e6f206e65>100 724.8 R 17.164<7772>-.25 G 14.664< 656c6561736520686173206265656e207075626c69736865642e20546865204465626961 6e2028>-17.164 F<636173706172203230303530343234>20 768 Q <3234204170722032303035>140.685 E<34>203.725 E 0 Cg EP %%Page: 5 5 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF 180.415 <6361737061722837292043617370617220636173706172283729>20 48 R <6674703a2f2f6674702e64656269616e2e6f72>100 84 Q 1.073<672f64656269616e 2f706f6f6c2f6d61696e2f732f7375702f202920616e64204e6574425344207061636b61 67657320617265206c696b>-.18 F 1.072 <656c79207374696c6c206d61696e7461696e65642c>-.1 F<74686f7567682e>100 96 Q .822 <6366656e67696e65202820687474703a2f2f7777772e6366656e67696e652e6f72>100 120 R .822<672f20292c206279204d61726b20427572>-.18 F .823 <6765737320652e612e2c2062>-.18 F .823<75696c64732065>-.2 F .823 <78706572742073797374656d7320746f2061646d696e69732d>-.15 F .637 <747261746520616e6420636f6e8c67757265206c6172>100 132 R .637 <676520636f6d7075746572206e657477>-.18 F .637 <6f726b733a2069742064656c69>-.1 F -.15<7665>-.25 G .636<727320612076>.15 F .636<65727920626967207375706572736574206f662063617370617227>-.15 F 3.136<7369>-.55 G<6e7374616c6c612d>-3.136 E <74696f6e206d656368616e69736d2e>100 144 Q .194<5468652073766b2076>100 168 R .194<657273696f6e20636f6e74726f6c2073797374656d206973207361696420 746f20626520717569746520757361626c6520666f722068616e646c696e6720636f6e8c 6775726174696f6e208c6c65206d616e6167652d>-.15 F .562<6d656e742028776974 686f7574206120736570617261746520696e7374616c6c206d656368616e69736d206c69 6b>100 180 R 3.062<6563>-.1 G .562<6173706172292e2053656520616c736f2074 6869732064697363757373696f6e206f6e207468652044656269616e>-3.062 F<6465> 100 192 Q -.15<7665>-.25 G<6c6f706d656e74206c6973742e>.15 E <636173706172203230303530343234>20 768 Q<3234204170722032303035>140.685 E<35>203.725 E 0 Cg EP %%Trailer end %%EOF 070701000122ba000081a4000000650000000100000001426c024500001e06000000550000000400000000000000000000002cff3308a0reloc/usr/local/share/doc/caspar/caspar.txt24 Apr 2005 caspar 20050424 1. NAME 2. SYNOPSIS 3. DESCRIPTION 4. USAGE 5. VARIABLES 6. EXAMPLES 7. FILES 8. ENVIRONMENT 9. BUGS 10. TRIVIA 11. AUTHOR 12. SEE ALSO NAME caspar - Makefile snippets for common tasks SYNOPSIS In a Makefile, do either include caspar/mk/caspar.mk or include caspar/mk/docbook.mk or include caspar/mk/pod.mk . DESCRIPTION Caspar offers Makefile snippets for common tasks, like installing configuration files, or typesetting LaTeX, DocBook XML and DocBook SGML documents. The typesetting functionality is delivered by docbook.mk and pod.mk. This is documented in caspar-typesetting(7). The installing-stuff functionality functionality is delivered by caspar.mk. (That's what the rest of the manual will talk about.) It enables one to run 'make install' from within a tree which typically holds configuration files, managed using CVS (or Subversion or any other version control system, for that matter). It is useful in cases like this: all configuration files of some host are under version control, and, after commiting a change to CVS, you want to be able to easily install the new configuration file on the host. With caspar, all you have to do is specify the hostname in one place, and specify the name of the target directory in each CVS directory. USAGE Within a CVS tree, create a file include/install.mk, with contents like e.g. csp_SUH = root@some.host.somewhere include caspar/mk/caspar.mk . Within each other directory of the CVS tree which holds files, create a Makefile, which looks like e.g. csp_SCPDIR = /some/dir/ectory/ include ../../include/install.mk . If you'd like to use the install-recursive target too, in directories which hold subdirectories (but not files), you'll have to create a Makefile which looks something like include ../../include/install.mk . From within the CVS tree, one can call: make -install make install make load make make install-recursive The install-recursive target descends down the tree, and calls make install in each subdirectory. VARIABLES The variables one can set in a calling Makefile are: csp_CP cp binary, just "cp" by default csp_CPFLAGS extra arguments to pass to cp invocation, none by default csp_SCP scp binary, just "scp" by default csp_SCPFLAGS extra arguments to pass to scp invocation, e.g. '-i .ssh/ id_rsa-root' csp_SUH ssh-reachable user@host (Secure User at Host) csp_SUHS space separated list of ssh-reachable user@host items (Secure User at HostS) csp_CPDIR directory to which we can cp(1), instead of scp (CoPy DIRectory) csp_CPDIRS space separated list of directories to which we can copy (CoPy DIRectorieS) csp_SCPDIR directory on ssh reachable host, with trailing / (Secure CoPy DIRectory) csp_SUHDIRS this is the list $(csp_SUH):$(dir) for each $(dir) in $ (csp_SUHS) (or where dir = $(csp_SCPDIR), in case csp_SUHS is not set). However, more items can get added to this list on the fly. csp_LOAD targets which should depend on the `load' target. csp_EXTRAFILES extra files which should be installed. Can be used to include files starting with a dot. csp_TABOOFILES files which should never be installed. Set to Makefile .%.swp %~ #%# pod2htmd.tmp pod2htmi.tmp by default. csp_TABOOFILES_ADD extra files which should never be installed; added to list in csp_TABOOFILES. csp_TABOOFILES_SKIP files which should be installed, even if in initial csp_TABOOFILES list. Removed from csp_TABOOFILES list. csp_TABOODIRS directories to exclude in install-recursive target. set to CVS .svn by default. csp_TABOODIRS_ADD, csp_TABOODIRS_SKIP see csp_TABOOFILES equivalents. EXAMPLES Some examples: Using csp_CPDIR and csp_LOAD: username/etc/Makefile is csp_CPDIR = $(HOME)/etc/ csp_LOAD = crontab-load include ../include/install.mk crontab-load: crontab $(csp_CPDIR)/crontab while ../include/install.mk is just include caspar/mk/caspar.mk . Using csp_SCPDIR and csp_LOAD: etc/Makefile is csp_SCPDIR = /etc/ csp_LOAD = aliases-load include ../include/install.mk aliases-load: ssh $(csp_SUH) "cd /etc; postalias aliases; postfix reload" while ../include/install.mk is csp_SUH = root@some.host.somewhere include caspar/mk/caspar.mk Using the csp_TABOOFILES_{ADD,SKIP} variables is handy if you want to install a Makefile, instead of using it: Create Makefile just as you'd like to have it installed on the remote location. Now, create GNUmakefile as e.g. csp_TABOOFILES_SKIP = Makefile csp_TABOOFILES_ADD = GNUmakefile csp_SCPDIR = /etc/foobar/ csp_SUH = root@some.host.somewhere load: ssh $(csp_SUH) "make -C $(csp_SCPDIR)" Now, make install and make load will do the right thing. Using the csp_EXTRAFILES variable is handy if you want to install files with a leading dot. E.g.: csp_EXTRAFILES = .bashrc csp_SUHDIRS = root@some.host.somewhere: More advanced tricks: supply e.g. csp_SUHS = root@localhost root@some.host.somewhere in install.mk, to install on multiple hosts. Run csp_SUH=joe@otherhost make filename-install to install filename as joe@otherhost, instead of the default as given in install.mk. When you don't want to ssh to root@some.host.somewhere directly, you could do sudo rsync -az /path/to/your/config_archive /etc . FILES caspar/mk/caspar.mk, caspar/mk/docbook.mk, caspar/mk/pod.mk ENVIRONMENT For caspar.mk: csp_CPDIR, csp_CP, csp_CPFLAGS, csp_LOAD, csp_SCP, csp_SCPFLAGS, csp_SUH, csp_SUHS, ... BUGS See TODO and/or BUGS, distributed with the caspar package. (And online at http: //mdcc.cx/pub/caspar/caspar-latest/TODO.) TRIVIA caspar is named after Caspar the Friendly Ghost, since that's the title of the Daniel Johnston song I was listening to when deciding to package my homegrown scripts. AUTHOR Joost van Baal SEE ALSO caspar-typesetting(7) The caspar homepage is at http://mdcc.cx/caspar/ . The `cvs-conf' package ( http://project.tuxfamily.org/cvs-conf, http:// packages.debian.org/stable/utils/cvs-conf.html ) probably offers about the same functionality as caspar.mk. However, this package seems largely unmaintained (between September 2002 and May 2004, at least). docbookmk, by Michael Wiedmann ( http://www.miwie.org/docbkmake/ ) offers probably a superset of Caspar's docbook.mk functionality. SUP, the Software Upgrade Protocol and it's implementation by Carnegie Mellon University offers another way to distribute (configuration)files. Beware though: between Nov 1996 and June 2004, no new release has been published. The Debian ( ftp://ftp.debian.org/debian/pool/main/s/sup/ ) and NetBSD packages are likely still maintained, though. cfengine ( http://www.cfengine.org/ ), by Mark Burgess e.a., builds expert systems to administrate and configure large computer networks: it delivers a very big superset of caspar's installation mechanism. The svk version control system is said to be quite usable for handling configuration file management (without a separate install mechanism like caspar). See also this discussion on the Debian development list. 070701000122bb000041ed000000650000000100000003426c024600000000000000550000000400000000000000000000001bff3308a0reloc/usr/local/share/sgml070701000122bc000041ed000000650000000100000002426c0246000000000000005500000004000000000000000000000022ff3308a0reloc/usr/local/share/sgml/caspar070701000122bd000081a4000000650000000100000001426c024600000481000000550000000400000000000000000000002bff3308a1reloc/usr/local/share/sgml/caspar/html.dsl ]> ;; See dbparam.dsl for definitions of refentries (define %section-autolabel% #t) ;; Sections are enumerated (define %chapter-autolabel% #t) ;; Chapters are enumerated (define nochunks #t) ;; Dont make multiple pages (define rootchunk #t) ;; Do make a 'root' page (define %use-id-as-filename% #t) ;; Use book id as filename (define %html-ext% ".html") ;; give it a proper html extension ;; %generate-set-toc% and %generate-book-toc% are #t in dbparam.dsl ;; %generate-book-titlepage% and %generate-article-titlepage% are #t ;; %generate-part-toc-on-titlepage% is #t ;; it seems toc is generated, but not printed in nochunks mode 070701000122c1000081a4000000650000000100000001426c0246000014c9000000550000000400000000000000000000002cff3308a1reloc/usr/local/share/sgml/caspar/print.dsl ]> ;; See dbparam.dsl for definitions of refentries (define %section-autolabel% #t) ;; Sections are enumerated (define %chapter-autolabel% #t) ;; Chapters are enumerated (define %generate-article-toc% #t) ;; A Table of Contents should ;; be produced for Articles (define %generate-article-titlepage-on-separate-page% #f) (define %generate-article-titlepage% #t) (define %generate-article-toc-on-titlepage% #t) ;; (define %visual-acuity% "normal") ;; General measure of document text ;; size. See dbparam.dsl. bf-size maps ;; visual-acuity to normal-param text ;; size. normal is 10pt, presbyopic is ;; 12pt. ;; we want it to look like default LaTeX. One could also choose ;; "Times New Roman" here. (define %title-font-family% "Computer Modern") ;; The font family used in titles (define %body-font-family% "Computer Modern") ;; The font family used in body text (define %default-quadding% 'justify) ;; The default quadding ('start', ;; 'center', 'justify', or 'end'). (define %body-start-indent% 0em) ;; The default indent of body text. ;; Some elements may have more or ;; less indentation. 4pi is default ;; value ;; we have vertical whitespace between paragraphs ;; (define %para-indent% 2em) ;; First line start-indent for ;; paragraphs (other than the first) (define article-titlepage-recto-style (style font-family-name: %title-font-family% font-size: (HSIZE 1))) ;; overrule font of title on ;; titlepage, see dbttlpg.dsl. tnx ;;; setting to HSIZE 2 or 5 has no effect... ;; flacoste (define (article-titlepage-recto-elements) (list (normalize "title") (normalize "subtitle") (normalize "corpauthor") (normalize "authorgroup") (normalize "author") (normalize "abstract"))) ;; (normalize "revhistory"))) ;; revhistory added ;; article-titlepage-recto-elements in dbttlpg.dsl (define (toc-depth nd) 2) ;; see dbautoc.dsl, default 1 for ;; article, 7 for book (define (first-page-inner-footer gi) (cond ((equal? (normalize gi) (normalize "dedication")) (empty-sosofo)) ((equal? (normalize gi) (normalize "lot")) (empty-sosofo)) ((equal? (normalize gi) (normalize "part")) (empty-sosofo)) ((equal? (normalize gi) (normalize "toc")) (empty-sosofo)) (else (with-mode footer-copyright-mode (process-node-list (select-elements (children (current-node)) (normalize "articleinfo"))))))) (define (page-inner-footer gi) (cond ((equal? (normalize gi) (normalize "dedication")) (empty-sosofo)) ((equal? (normalize gi) (normalize "lot")) (empty-sosofo)) ((equal? (normalize gi) (normalize "part")) (empty-sosofo)) ((equal? (normalize gi) (normalize "toc")) (empty-sosofo)) (else (with-mode footer-id-mode (process-node-list (select-elements (children (current-node)) (normalize "articleinfo"))))))) (mode footer-id-mode ;; Prevent elements with PCDATA content ;; from being processed (element title (empty-sosofo)) (element subtitle (empty-sosofo)) (element copyright (empty-sosofo)) (element author (empty-sosofo)) (element revnumber (empty-sosofo)) (element date (empty-sosofo)) (element revremark (process-children-trim)) (default (process-children-trim))) (define (make-footer-rule) (make rule orientation: 'escapement position-point-shift: 0.75cm length: 5cm layer: 1 line-thickness: 0.4pt)) (mode footer-copyright-mode ;; Prevent elements with PCDATA content ;; from being processed (element title (empty-sosofo)) (element subtitle (empty-sosofo)) (element author (empty-sosofo)) (element revnumber (empty-sosofo)) (element date (empty-sosofo)) (element revhistory (empty-sosofo)) (element copyright (let ((year (select-elements (children (current-node)) (normalize "year"))) (holder (select-elements (children (current-node)) (normalize "holder")))) (make sequence (make-footer-rule) (literal "Copyright © ") (process-node-list year) (literal " ") (process-node-list holder)))) (default (process-children-trim))) 07070100000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000b00000000TRAILER!!!