From 8adf0d1bfa10199ff6174235fde0291236820246 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Franti=C5=A1ek=20Dvo=C5=99=C3=A1k?= Date: Tue, 24 Apr 2012 15:46:33 +0000 Subject: [PATCH] Prepare to build documentation. --- emi.canl.canl-c/Makefile | 22 +- emi.canl.canl-c/doc/src/emi.cls | 491 ++++++++++++++++++++++++ emi.canl.canl-c/doc/src/images/EMI_Logo_std.pdf | Bin 0 -> 34764 bytes emi.canl.canl-c/doc/src/images/cesnet.pdf | Bin 0 -> 4518 bytes 4 files changed, 511 insertions(+), 2 deletions(-) create mode 100644 emi.canl.canl-c/doc/src/emi.cls create mode 100644 emi.canl.canl-c/doc/src/images/EMI_Logo_std.pdf create mode 100644 emi.canl.canl-c/doc/src/images/cesnet.pdf diff --git a/emi.canl.canl-c/Makefile b/emi.canl.canl-c/Makefile index a71388e..e875a16 100644 --- a/emi.canl.canl-c/Makefile +++ b/emi.canl.canl-c/Makefile @@ -7,13 +7,17 @@ libdir=lib -include Makefile.inc -include ${top_srcdir}/project/version.properties -VPATH=${top_srcdir}/src/:${top_srcdir}/src/proxy/:${top_srcdir}/examples +VPATH=${top_srcdir}/src/:${top_srcdir}/src/proxy/:${top_srcdir}/examples:${top_srcdir}/doc/src +KPATH = TEXINPUTS=".:${top_srcdir}/doc/src//:" +KPATHBIB = BIBINPUTS=".:$(VPATH)//:" LIBCARES_LIBS?=-lcares LIBSSL_LIBS?=-lssl CC=gcc YACC=bison -y LEX=flex +PDFLATEX = $(KPATH) pdflatex +BIBTEX = $(KPATHBIB) bibtex COMPILE=libtool --mode=compile ${CC} ${CFLAGS} LINK=libtool --mode=link ${CC} ${LDFLAGS} @@ -72,6 +76,8 @@ major:=${shell \ all: ${LIBCANL} server client proxy delegation +doc: canl.pdf + ${LIBCANL}:\ canl.lo canl_err.lo canl_dns.lo canl_ssl.lo canl_cert.lo canl_cred.lo \ canl_err_desc.lo doio.lo evaluate.lo list.lo normalize.lo proxycertinfo.lo \ @@ -92,6 +98,14 @@ ${LIBCANL}:\ %.lo: %.c ${HEAD_CANL} ${COMPILE} -c $< ${CFLAGS_LIB} -o $@ +%.pdf: %.tex + $(PDFLATEX) $< + $(BIBTEX) `basename $< .tex` + $(PDFLATEX) $< + $(PDFLATEX) $< + +canl.tex: ver.tex + client: ${OBJ_CLI} ${LINK} $< ${LFLAGS_CLI} -o $@ @@ -122,6 +136,9 @@ canl_err.h: canl_error_codes canl_err_desc.c: canl_error_codes canl_error_desc ${top_srcdir}/src/gen_err_desc.pl $^ > $@ +ver.tex: + printf "\134def\134version{${module.version}}\n" > ver.tex + check: install: all @@ -144,7 +161,8 @@ stage: all clean: rm -rfv *.o *.lo ${LIBCANL} .libs client server proxy delegation \ - ${top_srcdir}/*.c ${top_srcdir}/*.h lex.backup stage + ${top_srcdir}/*.c ${top_srcdir}/*.h lex.backup stage \ + canl.aux canl.log canl.pdf canl.out canl.toc ver.tex distclean: rm -rvf Makefile.inc config.status project/changelog *.spec debian/ diff --git a/emi.canl.canl-c/doc/src/emi.cls b/emi.canl.canl-c/doc/src/emi.cls new file mode 100644 index 0000000..e51e47b --- /dev/null +++ b/emi.canl.canl-c/doc/src/emi.cls @@ -0,0 +1,491 @@ +% emi.cls: +% Branched from egee.cls 1.6 +% revision 2.0 [based on word template] +% Emidio Giorgio -- emidio.giorgio@ct.infn.it +% March 31, 2011 + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% License +% +% This work is licensed under Creative Commons Attribution-ShareAlike 3.0. +% http://creativecommons.org/licenses/by/3.0/ +% You are free: +% * to Share Ñ to copy, distribute and transmit the work +% * to Remix Ñ to adapt the work +% +% Under the following conditions: +% * Attribution. You must attribute the work in the manner specified by the author or licensor +% (but not in any way that suggests that they endorse you or your use of the work). +% * Share Alike. If you alter, transform, or build upon this work, you may distribute the resulting +% work only under the same, similar or a compatible license. +% +% * For any reuse or distribution, you must make clear to others the license terms of this work. +% The best way to do this is with a link to this web page : http://creativecommons.org/licenses/by/3.0/ +% * Any of the above conditions can be waived if you get permission from the copyright holder. +% * Nothing in this license impairs or restricts the author's moral rights. +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\NeedsTeXFormat{LaTeX2e} +\ProvidesClass{emi}[2011/03/24 EMI LaTeX Class] +\typeout{EMI LaTeX class -- 2011/03/24} +% +%% Interface - example of an option, should we want to use these later. +%\newif\ifmonotitle\monotitlefalse + +%\DeclareOption{mono}{\monotitletrue} + +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}} +\ProcessOptions + + +% Inherit! +\LoadClass[11pt]{article} + +% Necessary packages: +\RequirePackage{lastpage} +\RequirePackage{tabularx} +\RequirePackage{pslatex} +\RequirePackage{times} +\RequirePackage{verbatim} +\RequirePackage{geometry} +\RequirePackage{url} + +\usepackage[hang,bf,small]{caption} +\usepackage[T1]{fontenc} +\usepackage[scaled]{helvet} +\usepackage{multirow} +\renewcommand*\familydefault{\sfdefault} +% +% We now define a new \if command to test for PDF being enabled. +% It is important because loading graphicx overrides the definition +% of \pdfoutput and sets it to true even when PDF is not enabled. +% Use \ifpdf instead of \ifx\pdfoutput\undefined hereafter. +% + +\newif\ifpdf +\ifx\pdfoutput\undefined + \pdffalse + % \typeout{PDF _not_ defined} +\else + \pdfoutput=1 + \pdftrue + % \typeout{PDF _is_ defined} +\fi + +\ifpdf + \usepackage[pdftex, + pdfpagemode={UseOutlines},bookmarks=true,bookmarksopen=true, + bookmarksopenlevel=0,bookmarksnumbered=true, + hypertexnames=false,colorlinks,linkcolor={blue}, + citecolor={blue},urlcolor={red}, + pdfstartview={FitV}]{hyperref} +\else + \usepackage[hypertex]{hyperref} +\fi + +\ifpdf + \usepackage[pdftex]{graphicx} + \pdfcompresslevel 9 + \pdfadjustspacing 1 +\else + \usepackage[dvips]{graphicx} +\fi + +\usepackage{color} + +\def\footsize{5mm} + +%% +%% PAGE GEOMETRY DEFINITIONS +%% +% From Template file +\geometry{centering,includeheadfoot} +%\geometry{a4paper,top=12.5mm,headheight=12.5mm,headsep=5mm,foot=\footsize,footskip=13.3mm,bottom=12.5mm} +\geometry{a4paper,top=15.5mm,headheight=20mm,headsep=5mm,foot=\footsize,footskip=13.3mm,bottom=12.5mm} +\geometry{right=25mm,left=25mm} + + + +% APM -- I don't think these are right, my impression is above is correct +%\geometry{a4paper,margin=0.98in,headheight=0.72in} + + +%% +%% PAGE COLOUR DEFINITIONS +%% + + + +% paulm's prefered name ... +\def\bibname{References} + +\setlength{\parindent}{0pt} +\setlength{\parskip}{1.4mm plus 0.4mm minus 0.2mm} + +\def\@defaultfooter{ + \def\@oddfoot{\vbox to \footsize {% + {\color{blue}\hrule width \textwidth height 1pt depth 0pt}% + \vfil + %\small\hbox to \textwidth{\ISTNumber% + \small\hbox to \textwidth{% + %\hfil + %\hbox{\colorbox{yellow}{\MakeUppercase{\@Dissemination}}}% + \hfil + \hbox{\thepage/\pageref{LastPage}}}% + }% + }% +} + + +\def\ps@title{% + \@defaultfooter + \def\@oddhead{\hbox to \textwidth{\EMILogo\hfil\LargeCESNETLogo}} +} + +\def\ps@headings{% + \@defaultfooter + \def\@oddhead{\vbox to \headheight{% +%\hrule width \textwidth height 1pt\relax + \vbox to 0.75\headheight{% + \hbox to \textwidth{% + \hbox to 0pt{\EMILogo\hss}% + \hfil + +%% \hbox to 8cm{% +%% \vbox to 0.75\headheight{% +%% \vfil +%% \parbox{8cm}{% +%% \centering\color{blue}% +%% \textbf{\MakeUppercase{\@title}}% +%% %\ifx\@Subtitle\@empty\else +%% % \par\textbf{\scriptsize\@Subtitle}% +%% %\fi +%% }% +%% \vfil +%% }% +%% \hss}% + + \hfil +%\hbox to 0pt{\vrule width 1pt height 10pt depth 0pt \hss}% +%% {\scriptsize\setlength{\parskip}{0pt}\setlength{\topsep}{0pt}% +%% % \vbox to 0.75\headheight{% +%% \parbox{4cm}{x% +%% \begin{flushright}% +%% \textit{Doc. Identifier}:\\ +%% \textbf{\@DocIdentifier}\\ +%% \vfil +%% \textit{Date}: \textbf{\@Date} +%% \end{flushright}% +%% }% +%% % }% +%% }% + +\hbox to 0pt{\hss\vbox to 0.75\headheight{%\hrule +\small +\parfillskip0pt +\leftskip 0pt plus 1fil +\parskip0ex +\textsc{Title}: +\par +\textbf{\@title} + + +\textit{Date}: \textbf{\@Date} +\vfil +%\hrule +}}% +% \hbox to 4cm{\scriptsize +% \vbox to 0.75\headheight{% +% \parbox{4cm}{ +% \halign{\hfill####\cr +% \textit{Doc. Identifier}:\cr +% \textbf{\@DocIdentifier}\cr +% % \noalign{\vfil} +% \textit{Date}: \textbf{\@Date}\cr +% }}% +% \vfil +% }% +% }% + }% + }% +%\hrule width \textwidth height 1pt\relax + \vfil\vskip 2.5mm\relax + {\color{blue}\hrule width \textwidth height 1pt depth 0pt}% + }% + }% +} + +\pagestyle{headings} + +\setlength{\captionmargin}{1cm} + +% image file extensions respective to the output format +\ifpdf + \DeclareGraphicsExtensions{.jpg,.pdf,.png} + \pdfcompresslevel=9 + \pdfinfo{ /Title (EMI) } +\else + \DeclareGraphicsExtensions{.eps} +\fi + +\def\frontboxwidth{11cm}% + +\definecolor{MyTeal}{rgb}{0,0.46,0.46} +\definecolor{blue}{rgb}{0.05,0.26,0.5} +%\definecolor{blue}{rgb}{0.1,0.1,0.5} %% egee blue +\definecolor{lightgrey}{gray}{0.65} + +%% +%% Define our title page +%% +\AtBeginDocument{ +\pagestyle{title}% +\hbox{}% Force top of page +\vfill +{\centering + \fontsize{30}{50}{\textbf{\textsc{\textcolor{blue}{European Middleware Initiative}}}}\\[40mm]% + %\Huge{\textbf{\textsc{\textcolor{blue}{European Middleware Initiative}}}}\\[20mm]% + + \fontsize{22}{28}{\textbf{\textsc{\@title}}}\\[2mm]% + %\ifx\@Subtitle\@empty\else + % \normalsize\textsf{\@Subtitle}\\[10mm]% + %\fi +} +\vfill + +\begin{center} +\hbox to \textwidth{ + + \vbox{ + + {\color{MyTeal}\hrule width \frontboxwidth height 1mm depth 0pt} + + \hbox to \frontboxwidth{\sf + \begin{tabularx}{\frontboxwidth}{l>{\raggedright\arraybackslash}X} +\\ + Document version: & \textbf{\@DocVersion}\\[3mm] + EMI Component Version: & \textbf{\@EMICompVersion}\\[3mm] + Date: & \textbf{\@Date}\\[3mm] + %Document status: & \textbf{\@DocStatus}\\[3mm] + + \end{tabularx} + + } + + {\color{MyTeal}\hrule width \frontboxwidth height 1mm depth 0pt} + %}%centering + } + +} +\end{center} + +%\vfill +%{\sf\underline{Abstract}: \@Abstract} +\vfill +\newpage % end of the first page +\pagestyle{headings} +\setcounter{tocdepth}{3} +} % End of AtBeginningDocument + + +% +% EMI style small-capital section titles. +% +% The numbering is aligned with the WinWord style, +% although it is not common in the english typography... +% +\newcommand{\sectionbreak}{\newpage} +%\renewcommand{\thesection}{\arabic{section}.} +%\renewcommand{\thesubsection}{\thesection\arabic{subsection}.} +%\renewcommand{\thesubsubsection}{\thesubsection\arabic{subsubsection}.} + +\renewcommand\section{\@startsection {section}{1}{\z@}% + {-3.5ex \@plus -1ex \@minus -.2ex}% + {2.3ex \@plus.2ex}% + {\normalfont\Large\bfseries\sffamily\scshape}} + +\renewcommand\subsection{\@startsection{subsection}{2}{\z@}% + {-3.25ex\@plus -1ex \@minus -.2ex}% + {1.5ex \@plus .2ex}% + {\normalfont\large\bfseries\sffamily\scshape}} +\renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}% + {-3.25ex\@plus -1ex \@minus -.2ex}% + {1.5ex \@plus .2ex}% + {\normalfont\normalsize\bfseries\sffamily\scshape}} + + + +%% APM NEED TO REDEFINE section +%\titleformat{\section}{\Large\bfseries\sffamily\scshape}{\thesection}{1em}{} +%\titlecontents{section} [2em] {\vspace*{4pt}} +% {\large \sc \bfseries \contentslabel{2em}} +% {\large \sc \bfseries \hspace*{-2em}} +% {\large \textbf{\titlerule*[1ex]{.}\contentspage}} [\vspace*{4pt}] + +%\titleformat{\subsection}{\large\bfseries\sffamily\scshape}{\thesubsection}{1em}{} +%\titlecontents{subsection} [5em] {} +% {\sc \contentslabel{3em}} +% {\sc \hspace*{-3em}} +% {\titlerule*[1ex]{.}\contentspage} + + +% +% common constants +% +%\def\ISTNumber{INFSO-RI-508833} +\newsavebox{\@EMILogo} +%\savebox{\@EMILogo}{\includegraphics[height=0.75\headheight]{EMI_Logo_std}} +\savebox{\@EMILogo}{\includegraphics[height=0.95\headheight]{EMI_Logo_std}} +\def\EMILogo{\usebox{\@EMILogo}} +%\def\LargeEMILogo{\includegraphics[height=\headheight]{EMI_Logo_std}} +\def\SmallEMILogo{\includegraphics[height=\headheight]{EMI_Logo_std}} +\def\LargeCESNETLogo{\includegraphics[height=\headheight]{cesnet}} +% DEL \def\ISTLogo{\includegraphics[height=\headheight]{isi}} + +% +% parameters to be supplied by the author +% +% EG : subtitle seems no more needed +%\def\Subtitle#1{\gdef\@Subtitle{#1}} +%\gdef\@Subtitle{\@latex@warning@no@line{No \noexpand\Subtitle given}} + +%\def\DeliverableId#1{\gdef\@DeliverableId{#1}} +%\gdef\@DeliverableId{\@latex@warning@no@line{No \noexpand\DeliverableId given}} + + +\def\DocVersion#1{\gdef\@DocVersion{#1}} +\gdef\@DocVersion{\@latex@warning@no@line{No \noexpand\DocVersion given % + (e.g. 0.1.2)}} + +\def\EMICompVersion#1{\gdef\@EMICompVersion{#1}} +\gdef\@EMICompVersion{\@latex@warning@no@line{No \noexpand\EMICompVersion given % + (e.g. 1.2.3)}} + +\def\Date#1{\gdef\@Date{#1}} +\gdef\@Date{\@latex@warning@no@line{No \noexpand\Date given % + (e.g. 01/04/2010)}} + +%\def\Activity#1{\gdef\@Activity{#1}} +%\gdef\@Activity{\@latex@warning@no@line{No \noexpand\Activity given % +% (e.g. NA2 Dissemination and Outreach )}} + +%\def\LeadPartner#1{\gdef\@LeadPartner{#1}} +%\gdef\@LeadPartner{\@latex@warning@no@line{No \noexpand\LeadPartner given % +% (e.g. CERN, RAL )}} + +%\def\DocStatus#1{\gdef\@DocStatus{#1}} +%\gdef\@DocStatus{\@latex@warning@no@line{No \noexpand\DocStatus given % +% (e.g. DRAFT, WORKING, DELIVERED)}} + +%\def\Dissemination#1{\gdef\@Dissemination{#1}} +%\gdef\@Dissemination{\@latex@warning@no@line{No \noexpand\Dissemination given % +% (e.g. PUBLIC, INTERNAL, ...)}} + + +\long\def\Abstract#1{\gdef\@Abstract{#1}} +\gdef\@Abstract{\@latex@warning@no@line{No \noexpand\Abstract given}} + +%% +%% Define the abstract using an environment abstract + +% +% This will produce the mailto link in the PDF file +% +% +% We use the URL package, which does this nicely. The old way (\HTTP) was +% a bit buggy as it had problems with '~'s and '_'s +% +\urlstyle{sf} +\ifpdf + \newcommand{\Email}[1]{\href{mailto:#1}{<{#1}>}} + \newcommand{\HTTP}[1]{\href{#1}{\url{#1}}} +\else + \newcommand{\Email}[1]{\textsf{<{#1}>}} + \newcommand{\HTTP}[1]{\url{#1}} +\fi + + +% +% We now redifine \part and \section so that the table of contents +% has the sections/parts in upper case. +% +% Note: need to use \uppercase because \MakeUppercase is not robust +% +\def\@part[#1]#2{% + \ifnum \c@secnumdepth >\m@ne + \refstepcounter{part}% + \addcontentsline{toc}{part}{\thepart\hspace{1em}\uppercase{#1}}% + \else + \addcontentsline{toc}{part}{\uppercase{#1}}% + \fi + {\parindent \z@ \raggedright + \interlinepenalty \@M + \normalfont + \ifnum \c@secnumdepth >\m@ne + \Large\bfseries \partname\nobreakspace\thepart + \par\nobreak + \fi + \huge \bfseries #2% + \markboth{}{}\par}% + \nobreak + \vskip 3ex + \@afterheading} + +\def\@sect#1#2#3#4#5#6[#7]#8{% + \ifnum #2>\c@secnumdepth + \let\@svsec\@empty + \else + \refstepcounter{#1}% + \protected@edef\@svsec{\@seccntformat{#1}\relax}% + \fi + \@tempskipa #5\relax + \ifdim \@tempskipa>\z@ + \begingroup + #6{% + \@hangfrom{\hskip #3\relax\@svsec}% + \interlinepenalty \@M #8\@@par}% + \endgroup + \csname #1mark\endcsname{\uppercase{#7}}% + \addcontentsline{toc}{#1}{% + \ifnum #2>\c@secnumdepth \else + \protect\numberline{\csname the#1\endcsname}% + \fi + \texorpdfstring{\uppercase{#7}}{#7}}% + \else + \def\@svsechd{% + #6{\hskip #3\relax + \@svsec #8}% + \csname #1mark\endcsname{\uppercase{#7}}% + \addcontentsline{toc}{#1}{% + \ifnum #2>\c@secnumdepth \else + \protect\numberline{\csname the#1\endcsname}% + \fi + \texorpdfstring{\uppercase{#7}}{#7}}}% + \fi + \@xsect{#5}} + +% \addcontentsline{toc} expands to \contentsline{NAME} +% which in turn expands to \l@NAME. So, to specify +% the table of contents, we must define \l@chapter, \l@section, +% \l@subsection, ... ; to specify the list of figures, we must define +% \l@figure; and so on. Most of these can be defined with the +% \@dottedtocline command, which produces a contents line with dots +% between the title and the page number. It works as follows: +% +% \@dottedtocline{LEVEL}{INDENT}{NUMWIDTH} +% LEVEL : An entry is produced only if LEVEL < or = value of +% 'tocdepth' counter. Note, \chapter is level 0, \section +% is level 1, etc. +% INDENT : The indentation from the outer left margin of the start of +% the contents line. +% NUMWIDTH : The width of a box in which the section number is to go, +% if TITLE includes a \numberline command. +% + +\def\l@part{\@dottedtocline{1}{4em}{2.0em}} +\def\l@subsection{\@dottedtocline{2}{1.5em}{2.3em}} +\def\l@subsubsection{\@dottedtocline{3}{3.8em}{3.2em}} +\def\l@paragraph{\@dottedtocline{4}{7.0em}{4.1em}} +\def\l@subparagraph{\@dottedtocline{5}{10em}{5em}} + diff --git a/emi.canl.canl-c/doc/src/images/EMI_Logo_std.pdf b/emi.canl.canl-c/doc/src/images/EMI_Logo_std.pdf new file mode 100644 index 0000000000000000000000000000000000000000..2e79001001bf2dba006668ab874cc789e55c7219 GIT binary patch literal 34764 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 literal 0 HcmV?d00001 diff --git a/emi.canl.canl-c/doc/src/images/cesnet.pdf b/emi.canl.canl-c/doc/src/images/cesnet.pdf new file mode 100644 index 0000000000000000000000000000000000000000..9b07738d8c962af32dcfad0e592bba658aff31e6 GIT binary patch literal 4518 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