Annotation of doc/gutshtml/SessionFour.html, revision 1.1
1.1 ! www 1: <html>
! 2: <head>
! 3: <meta name=Title
! 4: content="Session Four: How to install, Proper Debug Cycle for Handlers, Coding/Documentation Guidelines (Guy)">
! 5: <meta http-equiv=Content-Type content="text/html; charset=macintosh">
! 6: <title>Session Four: How to install, Proper Debug Cycle for Handlers, Coding/Documentation
! 7: Guidelines (Guy)</title>
! 8: <style><!--
! 9: .MsoPlainText
! 10: {font-size:10.0pt;
! 11: font-family:"Courier New";}
! 12: .Section1
! 13: {page:Section1;}
! 14: .Section2
! 15: {page:Section2;}
! 16: -->
! 17: </style>
! 18: </head>
! 19: <body bgcolor=#FFFFFF link=blue vlink=purple class="Normal" lang=EN-US>
! 20: <div class=Section1>
! 21: <h2>Session Four: How to install, Proper Debug Cycle for Handlers, Coding/Documentation
! 22: Guidelines (Guy)</h2>
! 23: <h3><a name="_Toc421867078">lpml.dtd</a></h3>
! 24: <p class=MsoPlainText><span style='font-size:8.0pt'><!--</span></p>
! 25: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 26: Linux Packaging Markup Language version 1.0.</span></p>
! 27: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 28: Date: May 3, 2001</span></p>
! 29: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 30: Author: Scott Harrison</span></p>
! 31: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 32: Linux Packaging Markup Language aims to capture</span></p>
! 33: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 34: a source code development tree and effectively map</span></p>
! 35: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 36: that to a compilation and installation process for</span></p>
! 37: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 38: generating software packages and updating a run-time</span></p>
! 39: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 40: system. This language helps handle dependency information,</span></p>
! 41: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 42: file globbing, file permissions, file ownerships,</span></p>
! 43: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 44: different targets for different linux distributions,</span></p>
! 45: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 46: preservation of configuration information, directory</span></p>
! 47: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 48: permissions, directory ownerships, compilation commands,</span></p>
! 49: <p class=MsoPlainText><span style='font-size:8.0pt'> and,
! 50: ultimately, system software status reports.</span></p>
! 51: <p class=MsoPlainText><span style='font-size:8.0pt'>--></span></p>
! 52: <p class=MsoPlainText><span style='font-size:8.0pt'><!--</span></p>
! 53: <p class=MsoPlainText><span style='font-size:8.0pt'>Copyright Michigan State
! 54: University Board of Trustees</span></p>
! 55: <p class=MsoPlainText><span style='font-size:8.0pt'>This file is part of the
! 56: LearningOnline Network with CAPA (LON-CAPA).</span></p>
! 57: <p class=MsoPlainText><span style='font-size:8.0pt'>LON-CAPA is free software;
! 58: you can redistribute it and/or modify</span></p>
! 59: <p class=MsoPlainText><span style='font-size:8.0pt'>it under the terms of the
! 60: GNU General Public License as published by</span></p>
! 61: <p class=MsoPlainText><span style='font-size:8.0pt'>the Free Software Foundation;
! 62: either version 2 of the License, or</span></p>
! 63: <p class=MsoPlainText><span style='font-size:8.0pt'>(at your option) any later
! 64: version.</span></p>
! 65: <p class=MsoPlainText><span style='font-size:8.0pt'>LON-CAPA is distributed
! 66: in the hope that it will be useful,</span></p>
! 67: <p class=MsoPlainText><span style='font-size:8.0pt'>but WITHOUT ANY WARRANTY;
! 68: without even the implied warranty of</span></p>
! 69: <p class=MsoPlainText><span style='font-size:8.0pt'>MERCHANTABILITY or FITNESS
! 70: FOR A PARTICULAR PURPOSE. See the</span></p>
! 71: <p class=MsoPlainText><span style='font-size:8.0pt'>GNU General Public License
! 72: for more details.</span></p>
! 73: <p class=MsoPlainText><span style='font-size:8.0pt'>You should have received
! 74: a copy of the GNU General Public License</span></p>
! 75: <p class=MsoPlainText><span style='font-size:8.0pt'>along with LON-CAPA; if
! 76: not, write to the Free Software</span></p>
! 77: <p class=MsoPlainText><span style='font-size:8.0pt'>Foundation, Inc., 59 Temple
! 78: Place, Suite 330, Boston, MA 02111-1307 USA</span></p>
! 79: <p class=MsoPlainText><span style='font-size:8.0pt'>/home/httpd/html/adm/gpl.txt</span></p>
! 80: <p class=MsoPlainText><span style='font-size:8.0pt'>http://www.lon-capa.org/</span></p>
! 81: <p class=MsoPlainText><span style='font-size:8.0pt'>--></span></p>
! 82: <p class=MsoPlainText><span style='font-size:8.0pt'><!ENTITY % lpml.Version</span></p>
! 83: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 84: "-//TUX//DTD lpml 1.0 Final//EN"</span></p>
! 85: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 86: ></span></p>
! 87: <p class=MsoPlainText><span style='font-size:8.0pt'><!-- Typical usage: --></span></p>
! 88: <p class=MsoPlainText><span style='font-size:8.0pt'><!-- <!DOCTYPE lpml
! 89: PUBLIC "-//TUX/DTD LPML 1.0 Final//EN"</span></p>
! 90: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 91: "http://lpml.sourceforge.net/DTD/lpml.dtd"> --></span></p>
! 92: <p class=MsoPlainText><span style='font-size:8.0pt'><!-- <lpml> --></span></p>
! 93: <p class=MsoPlainText><span style='font-size:8.0pt'><!-- ... --></span></p>
! 94: <p class=MsoPlainText><span style='font-size:8.0pt'><!-- </lpml> --></span></p>
! 95: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT categoryname
! 96: (#PCDATA)></span></p>
! 97: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT targetroot
! 98: (#PCDATA)></span></p>
! 99: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT sourceroot
! 100: (#PCDATA)></span></p>
! 101: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT target (#PCDATA)></span></p>
! 102: <p class=MsoPlainText><span style='font-size:8.0pt'><!ATTLIST target</span></p>
! 103: <p class=MsoPlainText><span style='font-size:8.0pt'> dist
! 104: CDATA #REQUIRED</span></p>
! 105: <p class=MsoPlainText><span style='font-size:8.0pt'> ></span></p>
! 106: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT source (#PCDATA)></span></p>
! 107: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT targetdir (#PCDATA)></span></p>
! 108: <p class=MsoPlainText><span style='font-size:8.0pt'><!ATTLIST targetdir</span></p>
! 109: <p class=MsoPlainText><span style='font-size:8.0pt'> dist
! 110: CDATA #REQUIRED</span></p>
! 111: <p class=MsoPlainText><span style='font-size:8.0pt'> ></span></p>
! 112: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT sourcedir (#PCDATA)></span></p>
! 113: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT glob (#PCDATA)></span></p>
! 114: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT build (#PCDATA)></span></p>
! 115: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT buildlink (#PCDATA)></span></p>
! 116: <p class=MsoPlainText><span style='font-size:8.0pt'><!-- </span></p>
! 117: <p class=MsoPlainText><span style='font-size:8.0pt'>The trigger attribute of
! 118: the build element is meant</span></p>
! 119: <p class=MsoPlainText><span style='font-size:8.0pt'>to only have one of two
! 120: possible values:</span></p>
! 121: <p class=MsoPlainText><span style='font-size:8.0pt'> "always run",
! 122: or</span></p>
! 123: <p class=MsoPlainText><span style='font-size:8.0pt'> "run if dependencies
! 124: change"</span></p>
! 125: <p class=MsoPlainText><span style='font-size:8.0pt'>Note that you must type
! 126: this text exactly in for the</span></p>
! 127: <p class=MsoPlainText><span style='font-size:8.0pt'>attribute value to be understood
! 128: and processed correctly</span></p>
! 129: <p class=MsoPlainText><span style='font-size:8.0pt'>by the lpml "make build"
! 130: parser.</span></p>
! 131: <p class=MsoPlainText><span style='font-size:8.0pt'>--></span></p>
! 132: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT lpml</span></p>
! 133: <p class=MsoPlainText><span style='font-size:8.0pt'> (targetroot|sourceroot|specialnotices|files|categories|directories|rpm)+></span></p>
! 134: <p class=MsoPlainText><span style='font-size:8.0pt'><!ATTLIST build</span></p>
! 135: <p class=MsoPlainText><span style='font-size:8.0pt'> trigger CDATA
! 136: #REQUIRED</span></p>
! 137: <p class=MsoPlainText><span style='font-size:8.0pt'>></span></p>
! 138: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT specialnotices
! 139: (specialnotice)+></span></p>
! 140: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT categories
! 141: (category)+></span></p>
! 142: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT directories
! 143: (directory)+></span></p>
! 144: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT files (file|fileglob|link)+></span></p>
! 145: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT dependencies
! 146: (#PCDATA)></span></p>
! 147: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT note (#PCDATA|table|b|br)*></span></p>
! 148: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT b (#PCDATA)></span></p>
! 149: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT specialnotice
! 150: (#PCDATA)></span></p>
! 151: <p class=MsoPlainText><span style='font-size:8.0pt'><!ATTLIST specialnotice</span></p>
! 152: <p class=MsoPlainText><span style='font-size:8.0pt'> dist
! 153: CDATA #REQUIRED</span></p>
! 154: <p class=MsoPlainText><span style='font-size:8.0pt'> ></span></p>
! 155: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT category (chmod,chown,abbreviation)></span></p>
! 156: <p class=MsoPlainText><span style='font-size:8.0pt'><!ATTLIST category</span></p>
! 157: <p class=MsoPlainText><span style='font-size:8.0pt'> type
! 158: CDATA #REQUIRED</span></p>
! 159: <p class=MsoPlainText><span style='font-size:8.0pt'> name
! 160: CDATA #REQUIRED</span></p>
! 161: <p class=MsoPlainText><span style='font-size:8.0pt'> ></span></p>
! 162: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT chown (#PCDATA)></span></p>
! 163: <p class=MsoPlainText><span style='font-size:8.0pt'><!ATTLIST chown</span></p>
! 164: <p class=MsoPlainText><span style='font-size:8.0pt'> dist
! 165: CDATA #REQUIRED</span></p>
! 166: <p class=MsoPlainText><span style='font-size:8.0pt'> ></span></p>
! 167: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT chmod (#PCDATA)></span></p>
! 168: <p class=MsoPlainText><span style='font-size:8.0pt'><!ATTLIST chmod</span></p>
! 169: <p class=MsoPlainText><span style='font-size:8.0pt'> dist
! 170: CDATA #REQUIRED</span></p>
! 171: <p class=MsoPlainText><span style='font-size:8.0pt'> ></span></p>
! 172: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT abbreviation
! 173: (#PCDATA)></span></p>
! 174: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT br EMPTY></span></p>
! 175: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT nobr EMPTY></span></p>
! 176: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT table (#PCDATA|tr)*></span></p>
! 177: <p class=MsoPlainText><span style='font-size:8.0pt'><!ATTLIST table</span></p>
! 178: <p class=MsoPlainText><span style='font-size:8.0pt'> cellpadding
! 179: CDATA #IMPLIED</span></p>
! 180: <p class=MsoPlainText><span style='font-size:8.0pt'> cellspacing
! 181: CDATA #IMPLIED</span></p>
! 182: <p class=MsoPlainText><span style='font-size:8.0pt'> border
! 183: CDATA #IMPLIED</span></p>
! 184: <p class=MsoPlainText><span style='font-size:8.0pt'> ></span></p>
! 185: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT tr (#PCDATA|td)*></span></p>
! 186: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT td (#PCDATA|br|ul|tt|nobr)*></span></p>
! 187: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT description
! 188: (#PCDATA|br|tt|u)*></span></p>
! 189: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT ul (#PCDATA|li)*></span></p>
! 190: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT li (#PCDATA)></span></p>
! 191: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT tt (#PCDATA)></span></p>
! 192: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT u (#PCDATA)></span></p>
! 193: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT status (#PCDATA)></span></p>
! 194: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT linkto (#PCDATA)></span></p>
! 195: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT directory (targetdir+,categoryname,description?)></span></p>
! 196: <p class=MsoPlainText><span style='font-size:8.0pt'><!ATTLIST directory</span></p>
! 197: <p class=MsoPlainText><span style='font-size:8.0pt'> dist
! 198: CDATA #REQUIRED</span></p>
! 199: <p class=MsoPlainText><span style='font-size:8.0pt'> ></span></p>
! 200: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT file (source,target+,categoryname,description?,buildlink?,</span></p>
! 201: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 202: note?,build?,status?,dependencies?)></span></p>
! 203: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT link (linkto,target,categoryname,description?,</span></p>
! 204: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 205: note?,build?,status?,dependencies?)></span></p>
! 206: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT fileglob (glob,sourcedir,targetdir,categoryname,</span></p>
! 207: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 208: description?,note?,build?,buildlink?,status?,dependencies?,filenames?)></span></p>
! 209: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT filenames (#PCDATA)></span></p>
! 210: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT rpm (rpmSummary,rpmName,rpmVersion,rpmRelease,rpmVendor,</span></p>
! 211: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 212: rpmBuildRoot,rpmCopyright,rpmGroup,rpmSource,rpmAutoReqProv,</span></p>
! 213: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 214: rpmdescription,rpmpre,rpmRequires)></span></p>
! 215: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT rpmSummary
! 216: (#PCDATA)></span></p>
! 217: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT rpmName (#PCDATA)></span></p>
! 218: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT rpmVersion
! 219: (#PCDATA)></span></p>
! 220: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT rpmRelease
! 221: (#PCDATA)></span></p>
! 222: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT rpmVendor (#PCDATA)></span></p>
! 223: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT rpmBuildRoot
! 224: (#PCDATA)></span></p>
! 225: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT rpmCopyright
! 226: (#PCDATA)></span></p>
! 227: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT rpmGroup (#PCDATA)></span></p>
! 228: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT rpmSource (#PCDATA)></span></p>
! 229: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT rpmAutoReqProv
! 230: (#PCDATA)></span></p>
! 231: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT rpmdescription
! 232: (#PCDATA)></span></p>
! 233: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT rpmpre (#PCDATA)></span></p>
! 234: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT rpmRequires
! 235: (item)+></span></p>
! 236: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT item (#PCDATA)></span></p>
! 237: <h3><a name="_Toc421867079">piml.dtd</a></h3>
! 238: <p class=MsoPlainText><span style='font-size:8.0pt'><!--</span></p>
! 239: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 240: Post Installation Markup Language version 1.0.</span></p>
! 241: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 242: Date: January 24, 2002</span></p>
! 243: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 244: Author: Scott Harrison</span></p>
! 245: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 246: Post Installation Markup Language works to perform</span></p>
! 247: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 248: 'intelligent' modifications of existing files on</span></p>
! 249: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 250: a software system. This allows for the reconfiguring</span></p>
! 251: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 252: of existing configuration files without having the</span></p>
! 253: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 254: overlap of files between software packages. PIML</span></p>
! 255: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 256: also allows you to have file permission/ownership</span></p>
! 257: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 258: specifications different than that specified by the</span></p>
! 259: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 260: original software package.</span></p>
! 261: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 262: For instance, Apache web server configuration files</span></p>
! 263: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 264: are a popular target for many different software applications.</span></p>
! 265: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 266: A preferred approach is to simply append an 'Include ...'</span></p>
! 267: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 268: line to the Apache web server configuration files.</span></p>
! 269: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 270: Post Installation Markup Language is meant to be</span></p>
! 271: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 272: a natural wrapper to target installations generated</span></p>
! 273: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 274: by LPML (Linux Packaging Markup Language).</span></p>
! 275: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 276: Usages of Post Installation Markup Language are:</span></p>
! 277: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 278: * immediately after installation with LPML</span></p>
! 279: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 280: * generating '%post' syntax for RPMs</span></p>
! 281: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 282: * generating post-installation syntax for Debian packages.</span></p>
! 283: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 284: Dependency checking is supported as a poor man's probing....</span></p>
! 285: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 286: There is no point in reconfiguring a file that isn't installed,</span></p>
! 287: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 288: or is missing a system component for successful operation.</span></p>
! 289: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 290: Another neat use of PIML is to allow for invocation of various</span></p>
! 291: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 292: processes after installation.</span></p>
! 293: <p class=MsoPlainText><span style='font-size:8.0pt'>--></span></p>
! 294: <p class=MsoPlainText><span style='font-size:8.0pt'><!--</span></p>
! 295: <p class=MsoPlainText><span style='font-size:8.0pt'>Copyright Michigan State
! 296: University Board of Trustees</span></p>
! 297: <p class=MsoPlainText><span style='font-size:8.0pt'>This file is part of the
! 298: LearningOnline Network with CAPA (LON-CAPA).</span></p>
! 299: <p class=MsoPlainText><span style='font-size:8.0pt'>LON-CAPA is free software;
! 300: you can redistribute it and/or modify</span></p>
! 301: <p class=MsoPlainText><span style='font-size:8.0pt'>it under the terms of the
! 302: GNU General Public License as published by</span></p>
! 303: <p class=MsoPlainText><span style='font-size:8.0pt'>the Free Software Foundation;
! 304: either version 2 of the License, or</span></p>
! 305: <p class=MsoPlainText><span style='font-size:8.0pt'>(at your option) any later
! 306: version.</span></p>
! 307: <p class=MsoPlainText><span style='font-size:8.0pt'>LON-CAPA is distributed
! 308: in the hope that it will be useful,</span></p>
! 309: <p class=MsoPlainText><span style='font-size:8.0pt'>but WITHOUT ANY WARRANTY;
! 310: without even the implied warranty of</span></p>
! 311: <p class=MsoPlainText><span style='font-size:8.0pt'>MERCHANTABILITY or FITNESS
! 312: FOR A PARTICULAR PURPOSE. See the</span></p>
! 313: <p class=MsoPlainText><span style='font-size:8.0pt'>GNU General Public License
! 314: for more details.</span></p>
! 315: <p class=MsoPlainText><span style='font-size:8.0pt'>You should have received
! 316: a copy of the GNU General Public License</span></p>
! 317: <p class=MsoPlainText><span style='font-size:8.0pt'>along with LON-CAPA; if
! 318: not, write to the Free Software</span></p>
! 319: <p class=MsoPlainText><span style='font-size:8.0pt'>Foundation, Inc., 59 Temple
! 320: Place, Suite 330, Boston, MA 02111-1307 USA</span></p>
! 321: <p class=MsoPlainText><span style='font-size:8.0pt'>/home/httpd/html/adm/gpl.txt</span></p>
! 322: <p class=MsoPlainText><span style='font-size:8.0pt'>http://www.lon-capa.org/</span></p>
! 323: <p class=MsoPlainText><span style='font-size:8.0pt'>--></span></p>
! 324: <p class=MsoPlainText><span style='font-size:8.0pt'><!ENTITY % piml.Version</span></p>
! 325: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 326: "-//TUX//DTD piml 1.0 Final//EN"></span></p>
! 327: <p class=MsoPlainText><span style='font-size:8.0pt'><!-- Typical usage:</span></p>
! 328: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 329: <!DOCTYPE piml PUBLIC "-//TUX//DTD PIML 1.0 Final//EN"</span></p>
! 330: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 331: "http://lpml.sourceforge.net/DTD/piml.dtd"></span></p>
! 332: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 333: <piml></span></p>
! 334: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 335: </piml></span></p>
! 336: <p class=MsoPlainText><span style='font-size:8.0pt'> --></span></p>
! 337: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT categoryname
! 338: (#PCDATA)></span></p>
! 339: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT targetroot
! 340: (#PCDATA)></span></p>
! 341: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT target (#PCDATA)></span></p>
! 342: <p class=MsoPlainText><span style='font-size:8.0pt'><!ATTLIST target</span></p>
! 343: <p class=MsoPlainText><span style='font-size:8.0pt'> dist
! 344: CDATA #REQUIRED</span></p>
! 345: <p class=MsoPlainText><span style='font-size:8.0pt'> ></span></p>
! 346: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT piml (targetroot|specialnotices|files|categories)+></span></p>
! 347: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT specialnotices
! 348: (specialnotice)+></span></p>
! 349: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT categories
! 350: (category)+></span></p>
! 351: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT files (file)+></span></p>
! 352: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT dependencies
! 353: (#PCDATA)></span></p>
! 354: <p class=MsoPlainText><span style='font-size:8.0pt'><!ATTLIST dependencies</span></p>
! 355: <p class=MsoPlainText><span style='font-size:8.0pt'> dist
! 356: CDATA #REQUIRED</span></p>
! 357: <p class=MsoPlainText><span style='font-size:8.0pt'> ></span></p>
! 358: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT note (#PCDATA)></span></p>
! 359: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT specialnotice
! 360: (#PCDATA)></span></p>
! 361: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT category (chmod,chown,abbreviation)></span></p>
! 362: <p class=MsoPlainText><span style='font-size:8.0pt'><!ATTLIST category</span></p>
! 363: <p class=MsoPlainText><span style='font-size:8.0pt'> type
! 364: CDATA #REQUIRED</span></p>
! 365: <p class=MsoPlainText><span style='font-size:8.0pt'> name
! 366: CDATA #REQUIRED</span></p>
! 367: <p class=MsoPlainText><span style='font-size:8.0pt'> ></span></p>
! 368: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT chown (#PCDATA)></span></p>
! 369: <p class=MsoPlainText><span style='font-size:8.0pt'><!ATTLIST chown</span></p>
! 370: <p class=MsoPlainText><span style='font-size:8.0pt'> dist
! 371: CDATA #REQUIRED</span></p>
! 372: <p class=MsoPlainText><span style='font-size:8.0pt'> ></span></p>
! 373: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT chmod (#PCDATA)></span></p>
! 374: <p class=MsoPlainText><span style='font-size:8.0pt'><!ATTLIST chmod</span></p>
! 375: <p class=MsoPlainText><span style='font-size:8.0pt'> dist
! 376: CDATA #REQUIRED</span></p>
! 377: <p class=MsoPlainText><span style='font-size:8.0pt'> ></span></p>
! 378: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT abbreviation
! 379: (#PCDATA)></span></p>
! 380: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT file (target,categoryname?,</span></p>
! 381: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 382: note?,status?,dependencies?,perlscript)></span></p>
! 383: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT TARGET EMPTY></span></p>
! 384: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT perlscript
! 385: (#PCDATA|TARGET)*></span></p>
! 386: <p class=MsoPlainText><span style='font-size:8.0pt'><!ATTLIST perlscript</span></p>
! 387: <p class=MsoPlainText><span style='font-size:8.0pt'> mode
! 388: CDATA #REQUIRED</span></p>
! 389: <p class=MsoPlainText><span style='font-size:8.0pt'> ></span></p>
! 390: <h3><a name="_Toc421867080">xfml.dtd</a></h3>
! 391: <p class=MsoPlainText><span style='font-size:8.0pt'><!--</span></p>
! 392: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 393: XML Filter Markup Language version 1.0.</span></p>
! 394: <p class=MsoPlainText><span style='font-size:8.0pt'> Date:
! 395: January 27, 2002</span></p>
! 396: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 397: Author: Scott Harrison</span></p>
! 398: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 399: XML Filter Markup Language works to extract those sections</span></p>
! 400: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 401: of an XML document matching certain conditions. This, in some</span></p>
! 402: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 403: respects, relies on functionality similar to that expected</span></p>
! 404: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 405: with XSL-type files. (I do not use standard XSL syntax because</span></p>
! 406: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 407: I am not convinced that it would be simple and elegant for</span></p>
! 408: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 409: this particular task).</span></p>
! 410: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 411: This is anticipated to be a very important feature associated</span></p>
! 412: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 413: with a larger Makefile-ish type approach involving the XML dtds:</span></p>
! 414: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 415: LPML and PIML.</span></p>
! 416: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 417: LPML (Linux Packaging Markup Language) can work to install files</span></p>
! 418: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 419: on a single computer or a distributed network of computers with</span></p>
! 420: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 421: pre-configured ssh accessibility (.ssh/authorized_keys, etc).</span></p>
! 422: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 423: PIML (Post Installation Markup Language) works to coordinate the</span></p>
! 424: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 425: last little scripts that need to be run after an installation.</span></p>
! 426: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 427: With all this make-"power", wouldn't it be nice to only pass through</span></p>
! 428: <p class=MsoPlainText><span style='font-size:8.0pt'> portions
! 429: of an LPML specification?</span></p>
! 430: <p class=MsoPlainText><span style='font-size:8.0pt'>--></span></p>
! 431: <p class=MsoPlainText><span style='font-size:8.0pt'><!--</span></p>
! 432: <p class=MsoPlainText><span style='font-size:8.0pt'>Copyright Michigan State
! 433: University Board of Trustees</span></p>
! 434: <p class=MsoPlainText><span style='font-size:8.0pt'>This file is part of the
! 435: LearningOnline Network with CAPA (LON-CAPA).</span></p>
! 436: <p class=MsoPlainText><span style='font-size:8.0pt'>LON-CAPA is free software;
! 437: you can redistribute it and/or modify</span></p>
! 438: <p class=MsoPlainText><span style='font-size:8.0pt'>it under the terms of the
! 439: GNU General Public License as published by</span></p>
! 440: <p class=MsoPlainText><span style='font-size:8.0pt'>the Free Software Foundation;
! 441: either version 2 of the License, or</span></p>
! 442: <p class=MsoPlainText><span style='font-size:8.0pt'>(at your option) any later
! 443: version.</span></p>
! 444: <p class=MsoPlainText><span style='font-size:8.0pt'>LON-CAPA is distributed
! 445: in the hope that it will be useful,</span></p>
! 446: <p class=MsoPlainText><span style='font-size:8.0pt'>but WITHOUT ANY WARRANTY;
! 447: without even the implied warranty of</span></p>
! 448: <p class=MsoPlainText><span style='font-size:8.0pt'>MERCHANTABILITY or FITNESS
! 449: FOR A PARTICULAR PURPOSE. See the</span></p>
! 450: <p class=MsoPlainText><span style='font-size:8.0pt'>GNU General Public License
! 451: for more details.</span></p>
! 452: <p class=MsoPlainText><span style='font-size:8.0pt'>You should have received
! 453: a copy of the GNU General Public License</span></p>
! 454: <p class=MsoPlainText><span style='font-size:8.0pt'>along with LON-CAPA; if
! 455: not, write to the Free Software</span></p>
! 456: <p class=MsoPlainText><span style='font-size:8.0pt'>Foundation, Inc., 59 Temple
! 457: Place, Suite 330, Boston, MA 02111-1307 USA</span></p>
! 458: <p class=MsoPlainText><span style='font-size:8.0pt'>/home/httpd/html/adm/gpl.txt</span></p>
! 459: <p class=MsoPlainText><span style='font-size:8.0pt'>http://www.lon-capa.org/</span></p>
! 460: <p class=MsoPlainText><span style='font-size:8.0pt'>--></span></p>
! 461: <p class=MsoPlainText><span style='font-size:8.0pt'><!-- Note: current status
! 462: is that choice:include is currently unsupported and</span></p>
! 463: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 464: all matching statements REQUIRE two levels of 'when' statements;</span></p>
! 465: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 466: not one or more than two... okay.. this will be fixed soon --></span></p>
! 467: <p class=MsoPlainText><span style='font-size:8.0pt'><!ENTITY % xfml.Version</span></p>
! 468: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 469: "-//TUX//DTD piml 1.0 Final//EN"></span></p>
! 470: <p class=MsoPlainText><span style='font-size:8.0pt'><!-- Typical usage:</span></p>
! 471: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 472: <!DOCTYPE xfml PUBLIC "-//TUX//DTD PIML 1.0 Final//EN"></span></p>
! 473: <p class=MsoPlainText><span style='font-size:8.0pt'> <xfml></span></p>
! 474: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 475: </xfml></span></p>
! 476: <p class=MsoPlainText><span style='font-size:8.0pt'>--></span></p>
! 477: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT choice:include
! 478: (#PCDATA)></span></p>
! 479: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT choice:exclude
! 480: (#PCDATA)></span></p>
! 481: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT xfml (clause)+></span></p>
! 482: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT clause (when:cdata|when:name|when:attribute|choice:exclude)+></span></p>
! 483: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT when:name</span></p>
! 484: <p class=MsoPlainText><span style='font-size:8.0pt'> (when:cdata|when:name|when:attribute|choice:include|choice:exclude)+></span></p>
! 485: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT when:attribute
! 486: </span></p>
! 487: <p class=MsoPlainText><span style='font-size:8.0pt'> (when:cdata|when:name|when:attribute|choice:include|</span></p>
! 488: <p class=MsoPlainText><span style='font-size:8.0pt'> choice:exclude)+></span></p>
! 489: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT when:cdata
! 490: </span></p>
! 491: <p class=MsoPlainText><span style='font-size:8.0pt'> (when:cdata|when:name|when:attribute|choice:include|</span></p>
! 492: <p class=MsoPlainText><span style='font-size:8.0pt'> choice:exclude)+></span></p>
! 493: <p class=MsoPlainText><span style='font-size:8.0pt'><!ATTLIST when:name</span></p>
! 494: <p class=MsoPlainText><span style='font-size:8.0pt'> match
! 495: CDATA #REQUIRED></span></p>
! 496: <p class=MsoPlainText><span style='font-size:8.0pt'><!ATTLIST when:attribute</span></p>
! 497: <p class=MsoPlainText><span style='font-size:8.0pt'> match
! 498: CDATA #REQUIRED></span></p>
! 499: <p class=MsoPlainText><span style='font-size:8.0pt'><!ATTLIST when:cdata</span></p>
! 500: <p class=MsoPlainText><span style='font-size:8.0pt'> match
! 501: CDATA #REQUIRED></span></p>
! 502: <p class=MsoPlainText><span style='font-size:8.0pt'><!ATTLIST choice:include</span></p>
! 503: <p class=MsoPlainText><span style='font-size:8.0pt'> nodename
! 504: CDATA #REQUIRED></span></p>
! 505: <p class=MsoPlainText><span style='font-size:8.0pt'><!ATTLIST choice:exclude</span></p>
! 506: <p class=MsoPlainText><span style='font-size:8.0pt'> nodename
! 507: CDATA #REQUIRED></span></p>
! 508: </div>
! 509: <br
! 510: clear=ALL style='page-break-before:always;'>
! 511: <div class=Section2> </div>
! 512: </body>
! 513: </html>
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>