Annotation of doc/gutshtml/SessionFour.html, revision 1.2
1.2 ! bowersj2 1: <html>
! 2:
! 3: <head>
! 4:
! 5: <meta name=Title
! 6:
! 7: content="Session Four: How to install, Proper Debug Cycle for Handlers, Coding/Documentation Guidelines (Guy)">
! 8:
! 9: <meta http-equiv=Content-Type content="text/html; charset=macintosh">
! 10:
! 11: <title>Session Four: How to install, Proper Debug Cycle for Handlers, Coding/Documentation
! 12:
! 13: Guidelines (Guy)</title>
! 14:
! 15: <style><!--
! 16:
! 17: .MsoPlainText
! 18:
! 19: {font-size:10.0pt;
! 20:
! 21: font-family:"Courier New";}
! 22:
! 23: .Section1
! 24:
! 25: {page:Section1;}
! 26:
! 27: .Section2
! 28:
! 29: {page:Section2;}
! 30:
! 31: -->
! 32:
! 33: </style>
! 34:
! 35: </head>
! 36:
! 37: <body bgcolor=#FFFFFF link=blue vlink=purple class="Normal" lang=EN-US>
! 38:
! 39: <div class=Section1>
! 40:
! 41: <h2>Session Four: How to install, Proper Debug Cycle for Handlers, Coding/Documentation
! 42:
! 43: Guidelines (Guy)</h2>
! 44:
! 45: <h3><a name="_Toc421867078">lpml.dtd</a></h3>
! 46:
! 47: <p class=MsoPlainText><span style='font-size:8.0pt'><!--</span></p>
! 48:
! 49: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 50:
! 51: Linux Packaging Markup Language version 1.0.</span></p>
! 52:
! 53: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 54:
! 55: Date: May 3, 2001</span></p>
! 56:
! 57: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 58:
! 59: Author: Scott Harrison</span></p>
! 60:
! 61: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 62:
! 63: Linux Packaging Markup Language aims to capture</span></p>
! 64:
! 65: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 66:
! 67: a source code development tree and effectively map</span></p>
! 68:
! 69: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 70:
! 71: that to a compilation and installation process for</span></p>
! 72:
! 73: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 74:
! 75: generating software packages and updating a run-time</span></p>
! 76:
! 77: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 78:
! 79: system. This language helps handle dependency information,</span></p>
! 80:
! 81: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 82:
! 83: file globbing, file permissions, file ownerships,</span></p>
! 84:
! 85: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 86:
! 87: different targets for different linux distributions,</span></p>
! 88:
! 89: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 90:
! 91: preservation of configuration information, directory</span></p>
! 92:
! 93: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 94:
! 95: permissions, directory ownerships, compilation commands,</span></p>
! 96:
! 97: <p class=MsoPlainText><span style='font-size:8.0pt'> and,
! 98:
! 99: ultimately, system software status reports.</span></p>
! 100:
! 101: <p class=MsoPlainText><span style='font-size:8.0pt'>--></span></p>
! 102:
! 103: <p class=MsoPlainText><span style='font-size:8.0pt'><!--</span></p>
! 104:
! 105: <p class=MsoPlainText><span style='font-size:8.0pt'>Copyright Michigan State
! 106:
! 107: University Board of Trustees</span></p>
! 108:
! 109: <p class=MsoPlainText><span style='font-size:8.0pt'>This file is part of the
! 110:
! 111: LearningOnline Network with CAPA (LON-CAPA).</span></p>
! 112:
! 113: <p class=MsoPlainText><span style='font-size:8.0pt'>LON-CAPA is free software;
! 114:
! 115: you can redistribute it and/or modify</span></p>
! 116:
! 117: <p class=MsoPlainText><span style='font-size:8.0pt'>it under the terms of the
! 118:
! 119: GNU General Public License as published by</span></p>
! 120:
! 121: <p class=MsoPlainText><span style='font-size:8.0pt'>the Free Software Foundation;
! 122:
! 123: either version 2 of the License, or</span></p>
! 124:
! 125: <p class=MsoPlainText><span style='font-size:8.0pt'>(at your option) any later
! 126:
! 127: version.</span></p>
! 128:
! 129: <p class=MsoPlainText><span style='font-size:8.0pt'>LON-CAPA is distributed
! 130:
! 131: in the hope that it will be useful,</span></p>
! 132:
! 133: <p class=MsoPlainText><span style='font-size:8.0pt'>but WITHOUT ANY WARRANTY;
! 134:
! 135: without even the implied warranty of</span></p>
! 136:
! 137: <p class=MsoPlainText><span style='font-size:8.0pt'>MERCHANTABILITY or FITNESS
! 138:
! 139: FOR A PARTICULAR PURPOSE. See the</span></p>
! 140:
! 141: <p class=MsoPlainText><span style='font-size:8.0pt'>GNU General Public License
! 142:
! 143: for more details.</span></p>
! 144:
! 145: <p class=MsoPlainText><span style='font-size:8.0pt'>You should have received
! 146:
! 147: a copy of the GNU General Public License</span></p>
! 148:
! 149: <p class=MsoPlainText><span style='font-size:8.0pt'>along with LON-CAPA; if
! 150:
! 151: not, write to the Free Software</span></p>
! 152:
! 153: <p class=MsoPlainText><span style='font-size:8.0pt'>Foundation, Inc., 59 Temple
! 154:
! 155: Place, Suite 330, Boston, MA 02111-1307 USA</span></p>
! 156:
! 157: <p class=MsoPlainText><span style='font-size:8.0pt'>/home/httpd/html/adm/gpl.txt</span></p>
! 158:
! 159: <p class=MsoPlainText><span style='font-size:8.0pt'>http://www.lon-capa.org/</span></p>
! 160:
! 161: <p class=MsoPlainText><span style='font-size:8.0pt'>--></span></p>
! 162:
! 163: <p class=MsoPlainText><span style='font-size:8.0pt'><!ENTITY % lpml.Version</span></p>
! 164:
! 165: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 166:
! 167: "-//TUX//DTD lpml 1.0 Final//EN"</span></p>
! 168:
! 169: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 170:
! 171: ></span></p>
! 172:
! 173: <p class=MsoPlainText><span style='font-size:8.0pt'><!-- Typical usage: --></span></p>
! 174:
! 175: <p class=MsoPlainText><span style='font-size:8.0pt'><!-- <!DOCTYPE lpml
! 176:
! 177: PUBLIC "-//TUX/DTD LPML 1.0 Final//EN"</span></p>
! 178:
! 179: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 180:
! 181: "http://lpml.sourceforge.net/DTD/lpml.dtd"> --></span></p>
! 182:
! 183: <p class=MsoPlainText><span style='font-size:8.0pt'><!-- <lpml> --></span></p>
! 184:
! 185: <p class=MsoPlainText><span style='font-size:8.0pt'><!-- ... --></span></p>
! 186:
! 187: <p class=MsoPlainText><span style='font-size:8.0pt'><!-- </lpml> --></span></p>
! 188:
! 189: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT categoryname
! 190:
! 191: (#PCDATA)></span></p>
! 192:
! 193: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT targetroot
! 194:
! 195: (#PCDATA)></span></p>
! 196:
! 197: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT sourceroot
! 198:
! 199: (#PCDATA)></span></p>
! 200:
! 201: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT target (#PCDATA)></span></p>
! 202:
! 203: <p class=MsoPlainText><span style='font-size:8.0pt'><!ATTLIST target</span></p>
! 204:
! 205: <p class=MsoPlainText><span style='font-size:8.0pt'> dist
! 206:
! 207: CDATA #REQUIRED</span></p>
! 208:
! 209: <p class=MsoPlainText><span style='font-size:8.0pt'> ></span></p>
! 210:
! 211: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT source (#PCDATA)></span></p>
! 212:
! 213: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT targetdir (#PCDATA)></span></p>
! 214:
! 215: <p class=MsoPlainText><span style='font-size:8.0pt'><!ATTLIST targetdir</span></p>
! 216:
! 217: <p class=MsoPlainText><span style='font-size:8.0pt'> dist
! 218:
! 219: CDATA #REQUIRED</span></p>
! 220:
! 221: <p class=MsoPlainText><span style='font-size:8.0pt'> ></span></p>
! 222:
! 223: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT sourcedir (#PCDATA)></span></p>
! 224:
! 225: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT glob (#PCDATA)></span></p>
! 226:
! 227: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT build (#PCDATA)></span></p>
! 228:
! 229: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT buildlink (#PCDATA)></span></p>
! 230:
! 231: <p class=MsoPlainText><span style='font-size:8.0pt'><!-- </span></p>
! 232:
! 233: <p class=MsoPlainText><span style='font-size:8.0pt'>The trigger attribute of
! 234:
! 235: the build element is meant</span></p>
! 236:
! 237: <p class=MsoPlainText><span style='font-size:8.0pt'>to only have one of two
! 238:
! 239: possible values:</span></p>
! 240:
! 241: <p class=MsoPlainText><span style='font-size:8.0pt'> "always run",
! 242:
! 243: or</span></p>
! 244:
! 245: <p class=MsoPlainText><span style='font-size:8.0pt'> "run if dependencies
! 246:
! 247: change"</span></p>
! 248:
! 249: <p class=MsoPlainText><span style='font-size:8.0pt'>Note that you must type
! 250:
! 251: this text exactly in for the</span></p>
! 252:
! 253: <p class=MsoPlainText><span style='font-size:8.0pt'>attribute value to be understood
! 254:
! 255: and processed correctly</span></p>
! 256:
! 257: <p class=MsoPlainText><span style='font-size:8.0pt'>by the lpml "make build"
! 258:
! 259: parser.</span></p>
! 260:
! 261: <p class=MsoPlainText><span style='font-size:8.0pt'>--></span></p>
! 262:
! 263: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT lpml</span></p>
! 264:
! 265: <p class=MsoPlainText><span style='font-size:8.0pt'> (targetroot|sourceroot|specialnotices|files|categories|directories|rpm)+></span></p>
! 266:
! 267: <p class=MsoPlainText><span style='font-size:8.0pt'><!ATTLIST build</span></p>
! 268:
! 269: <p class=MsoPlainText><span style='font-size:8.0pt'> trigger CDATA
! 270:
! 271: #REQUIRED</span></p>
! 272:
! 273: <p class=MsoPlainText><span style='font-size:8.0pt'>></span></p>
! 274:
! 275: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT specialnotices
! 276:
! 277: (specialnotice)+></span></p>
! 278:
! 279: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT categories
! 280:
! 281: (category)+></span></p>
! 282:
! 283: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT directories
! 284:
! 285: (directory)+></span></p>
! 286:
! 287: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT files (file|fileglob|link)+></span></p>
! 288:
! 289: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT dependencies
! 290:
! 291: (#PCDATA)></span></p>
! 292:
! 293: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT note (#PCDATA|table|b|br)*></span></p>
! 294:
! 295: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT b (#PCDATA)></span></p>
! 296:
! 297: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT specialnotice
! 298:
! 299: (#PCDATA)></span></p>
! 300:
! 301: <p class=MsoPlainText><span style='font-size:8.0pt'><!ATTLIST specialnotice</span></p>
! 302:
! 303: <p class=MsoPlainText><span style='font-size:8.0pt'> dist
! 304:
! 305: CDATA #REQUIRED</span></p>
! 306:
! 307: <p class=MsoPlainText><span style='font-size:8.0pt'> ></span></p>
! 308:
! 309: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT category (chmod,chown,abbreviation)></span></p>
! 310:
! 311: <p class=MsoPlainText><span style='font-size:8.0pt'><!ATTLIST category</span></p>
! 312:
! 313: <p class=MsoPlainText><span style='font-size:8.0pt'> type
! 314:
! 315: CDATA #REQUIRED</span></p>
! 316:
! 317: <p class=MsoPlainText><span style='font-size:8.0pt'> name
! 318:
! 319: CDATA #REQUIRED</span></p>
! 320:
! 321: <p class=MsoPlainText><span style='font-size:8.0pt'> ></span></p>
! 322:
! 323: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT chown (#PCDATA)></span></p>
! 324:
! 325: <p class=MsoPlainText><span style='font-size:8.0pt'><!ATTLIST chown</span></p>
! 326:
! 327: <p class=MsoPlainText><span style='font-size:8.0pt'> dist
! 328:
! 329: CDATA #REQUIRED</span></p>
! 330:
! 331: <p class=MsoPlainText><span style='font-size:8.0pt'> ></span></p>
! 332:
! 333: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT chmod (#PCDATA)></span></p>
! 334:
! 335: <p class=MsoPlainText><span style='font-size:8.0pt'><!ATTLIST chmod</span></p>
! 336:
! 337: <p class=MsoPlainText><span style='font-size:8.0pt'> dist
! 338:
! 339: CDATA #REQUIRED</span></p>
! 340:
! 341: <p class=MsoPlainText><span style='font-size:8.0pt'> ></span></p>
! 342:
! 343: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT abbreviation
! 344:
! 345: (#PCDATA)></span></p>
! 346:
! 347: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT br EMPTY></span></p>
! 348:
! 349: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT nobr EMPTY></span></p>
! 350:
! 351: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT table (#PCDATA|tr)*></span></p>
! 352:
! 353: <p class=MsoPlainText><span style='font-size:8.0pt'><!ATTLIST table</span></p>
! 354:
! 355: <p class=MsoPlainText><span style='font-size:8.0pt'> cellpadding
! 356:
! 357: CDATA #IMPLIED</span></p>
! 358:
! 359: <p class=MsoPlainText><span style='font-size:8.0pt'> cellspacing
! 360:
! 361: CDATA #IMPLIED</span></p>
! 362:
! 363: <p class=MsoPlainText><span style='font-size:8.0pt'> border
! 364:
! 365: CDATA #IMPLIED</span></p>
! 366:
! 367: <p class=MsoPlainText><span style='font-size:8.0pt'> ></span></p>
! 368:
! 369: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT tr (#PCDATA|td)*></span></p>
! 370:
! 371: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT td (#PCDATA|br|ul|tt|nobr)*></span></p>
! 372:
! 373: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT description
! 374:
! 375: (#PCDATA|br|tt|u)*></span></p>
! 376:
! 377: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT ul (#PCDATA|li)*></span></p>
! 378:
! 379: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT li (#PCDATA)></span></p>
! 380:
! 381: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT tt (#PCDATA)></span></p>
! 382:
! 383: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT u (#PCDATA)></span></p>
! 384:
! 385: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT status (#PCDATA)></span></p>
! 386:
! 387: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT linkto (#PCDATA)></span></p>
! 388:
! 389: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT directory (targetdir+,categoryname,description?)></span></p>
! 390:
! 391: <p class=MsoPlainText><span style='font-size:8.0pt'><!ATTLIST directory</span></p>
! 392:
! 393: <p class=MsoPlainText><span style='font-size:8.0pt'> dist
! 394:
! 395: CDATA #REQUIRED</span></p>
! 396:
! 397: <p class=MsoPlainText><span style='font-size:8.0pt'> ></span></p>
! 398:
! 399: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT file (source,target+,categoryname,description?,buildlink?,</span></p>
! 400:
! 401: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 402:
! 403: note?,build?,status?,dependencies?)></span></p>
! 404:
! 405: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT link (linkto,target,categoryname,description?,</span></p>
! 406:
! 407: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 408:
! 409: note?,build?,status?,dependencies?)></span></p>
! 410:
! 411: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT fileglob (glob,sourcedir,targetdir,categoryname,</span></p>
! 412:
! 413: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 414:
! 415: description?,note?,build?,buildlink?,status?,dependencies?,filenames?)></span></p>
! 416:
! 417: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT filenames (#PCDATA)></span></p>
! 418:
! 419: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT rpm (rpmSummary,rpmName,rpmVersion,rpmRelease,rpmVendor,</span></p>
! 420:
! 421: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 422:
! 423: rpmBuildRoot,rpmCopyright,rpmGroup,rpmSource,rpmAutoReqProv,</span></p>
! 424:
! 425: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 426:
! 427: rpmdescription,rpmpre,rpmRequires)></span></p>
! 428:
! 429: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT rpmSummary
! 430:
! 431: (#PCDATA)></span></p>
! 432:
! 433: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT rpmName (#PCDATA)></span></p>
! 434:
! 435: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT rpmVersion
! 436:
! 437: (#PCDATA)></span></p>
! 438:
! 439: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT rpmRelease
! 440:
! 441: (#PCDATA)></span></p>
! 442:
! 443: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT rpmVendor (#PCDATA)></span></p>
! 444:
! 445: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT rpmBuildRoot
! 446:
! 447: (#PCDATA)></span></p>
! 448:
! 449: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT rpmCopyright
! 450:
! 451: (#PCDATA)></span></p>
! 452:
! 453: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT rpmGroup (#PCDATA)></span></p>
! 454:
! 455: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT rpmSource (#PCDATA)></span></p>
! 456:
! 457: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT rpmAutoReqProv
! 458:
! 459: (#PCDATA)></span></p>
! 460:
! 461: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT rpmdescription
! 462:
! 463: (#PCDATA)></span></p>
! 464:
! 465: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT rpmpre (#PCDATA)></span></p>
! 466:
! 467: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT rpmRequires
! 468:
! 469: (item)+></span></p>
! 470:
! 471: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT item (#PCDATA)></span></p>
! 472:
! 473: <h3><a name="_Toc421867079">piml.dtd</a></h3>
! 474:
! 475: <p class=MsoPlainText><span style='font-size:8.0pt'><!--</span></p>
! 476:
! 477: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 478:
! 479: Post Installation Markup Language version 1.0.</span></p>
! 480:
! 481: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 482:
! 483: Date: January 24, 2002</span></p>
! 484:
! 485: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 486:
! 487: Author: Scott Harrison</span></p>
! 488:
! 489: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 490:
! 491: Post Installation Markup Language works to perform</span></p>
! 492:
! 493: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 494:
! 495: 'intelligent' modifications of existing files on</span></p>
! 496:
! 497: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 498:
! 499: a software system. This allows for the reconfiguring</span></p>
! 500:
! 501: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 502:
! 503: of existing configuration files without having the</span></p>
! 504:
! 505: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 506:
! 507: overlap of files between software packages. PIML</span></p>
! 508:
! 509: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 510:
! 511: also allows you to have file permission/ownership</span></p>
! 512:
! 513: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 514:
! 515: specifications different than that specified by the</span></p>
! 516:
! 517: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 518:
! 519: original software package.</span></p>
! 520:
! 521: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 522:
! 523: For instance, Apache web server configuration files</span></p>
! 524:
! 525: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 526:
! 527: are a popular target for many different software applications.</span></p>
! 528:
! 529: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 530:
! 531: A preferred approach is to simply append an 'Include ...'</span></p>
! 532:
! 533: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 534:
! 535: line to the Apache web server configuration files.</span></p>
! 536:
! 537: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 538:
! 539: Post Installation Markup Language is meant to be</span></p>
! 540:
! 541: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 542:
! 543: a natural wrapper to target installations generated</span></p>
! 544:
! 545: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 546:
! 547: by LPML (Linux Packaging Markup Language).</span></p>
! 548:
! 549: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 550:
! 551: Usages of Post Installation Markup Language are:</span></p>
! 552:
! 553: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 554:
! 555: * immediately after installation with LPML</span></p>
! 556:
! 557: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 558:
! 559: * generating '%post' syntax for RPMs</span></p>
! 560:
! 561: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 562:
! 563: * generating post-installation syntax for Debian packages.</span></p>
! 564:
! 565: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 566:
! 567: Dependency checking is supported as a poor man's probing....</span></p>
! 568:
! 569: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 570:
! 571: There is no point in reconfiguring a file that isn't installed,</span></p>
! 572:
! 573: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 574:
! 575: or is missing a system component for successful operation.</span></p>
! 576:
! 577: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 578:
! 579: Another neat use of PIML is to allow for invocation of various</span></p>
! 580:
! 581: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 582:
! 583: processes after installation.</span></p>
! 584:
! 585: <p class=MsoPlainText><span style='font-size:8.0pt'>--></span></p>
! 586:
! 587: <p class=MsoPlainText><span style='font-size:8.0pt'><!--</span></p>
! 588:
! 589: <p class=MsoPlainText><span style='font-size:8.0pt'>Copyright Michigan State
! 590:
! 591: University Board of Trustees</span></p>
! 592:
! 593: <p class=MsoPlainText><span style='font-size:8.0pt'>This file is part of the
! 594:
! 595: LearningOnline Network with CAPA (LON-CAPA).</span></p>
! 596:
! 597: <p class=MsoPlainText><span style='font-size:8.0pt'>LON-CAPA is free software;
! 598:
! 599: you can redistribute it and/or modify</span></p>
! 600:
! 601: <p class=MsoPlainText><span style='font-size:8.0pt'>it under the terms of the
! 602:
! 603: GNU General Public License as published by</span></p>
! 604:
! 605: <p class=MsoPlainText><span style='font-size:8.0pt'>the Free Software Foundation;
! 606:
! 607: either version 2 of the License, or</span></p>
! 608:
! 609: <p class=MsoPlainText><span style='font-size:8.0pt'>(at your option) any later
! 610:
! 611: version.</span></p>
! 612:
! 613: <p class=MsoPlainText><span style='font-size:8.0pt'>LON-CAPA is distributed
! 614:
! 615: in the hope that it will be useful,</span></p>
! 616:
! 617: <p class=MsoPlainText><span style='font-size:8.0pt'>but WITHOUT ANY WARRANTY;
! 618:
! 619: without even the implied warranty of</span></p>
! 620:
! 621: <p class=MsoPlainText><span style='font-size:8.0pt'>MERCHANTABILITY or FITNESS
! 622:
! 623: FOR A PARTICULAR PURPOSE. See the</span></p>
! 624:
! 625: <p class=MsoPlainText><span style='font-size:8.0pt'>GNU General Public License
! 626:
! 627: for more details.</span></p>
! 628:
! 629: <p class=MsoPlainText><span style='font-size:8.0pt'>You should have received
! 630:
! 631: a copy of the GNU General Public License</span></p>
! 632:
! 633: <p class=MsoPlainText><span style='font-size:8.0pt'>along with LON-CAPA; if
! 634:
! 635: not, write to the Free Software</span></p>
! 636:
! 637: <p class=MsoPlainText><span style='font-size:8.0pt'>Foundation, Inc., 59 Temple
! 638:
! 639: Place, Suite 330, Boston, MA 02111-1307 USA</span></p>
! 640:
! 641: <p class=MsoPlainText><span style='font-size:8.0pt'>/home/httpd/html/adm/gpl.txt</span></p>
! 642:
! 643: <p class=MsoPlainText><span style='font-size:8.0pt'>http://www.lon-capa.org/</span></p>
! 644:
! 645: <p class=MsoPlainText><span style='font-size:8.0pt'>--></span></p>
! 646:
! 647: <p class=MsoPlainText><span style='font-size:8.0pt'><!ENTITY % piml.Version</span></p>
! 648:
! 649: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 650:
! 651: "-//TUX//DTD piml 1.0 Final//EN"></span></p>
! 652:
! 653: <p class=MsoPlainText><span style='font-size:8.0pt'><!-- Typical usage:</span></p>
! 654:
! 655: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 656:
! 657: <!DOCTYPE piml PUBLIC "-//TUX//DTD PIML 1.0 Final//EN"</span></p>
! 658:
! 659: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 660:
! 661: "http://lpml.sourceforge.net/DTD/piml.dtd"></span></p>
! 662:
! 663: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 664:
! 665: <piml></span></p>
! 666:
! 667: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 668:
! 669: </piml></span></p>
! 670:
! 671: <p class=MsoPlainText><span style='font-size:8.0pt'> --></span></p>
! 672:
! 673: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT categoryname
! 674:
! 675: (#PCDATA)></span></p>
! 676:
! 677: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT targetroot
! 678:
! 679: (#PCDATA)></span></p>
! 680:
! 681: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT target (#PCDATA)></span></p>
! 682:
! 683: <p class=MsoPlainText><span style='font-size:8.0pt'><!ATTLIST target</span></p>
! 684:
! 685: <p class=MsoPlainText><span style='font-size:8.0pt'> dist
! 686:
! 687: CDATA #REQUIRED</span></p>
! 688:
! 689: <p class=MsoPlainText><span style='font-size:8.0pt'> ></span></p>
! 690:
! 691: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT piml (targetroot|specialnotices|files|categories)+></span></p>
! 692:
! 693: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT specialnotices
! 694:
! 695: (specialnotice)+></span></p>
! 696:
! 697: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT categories
! 698:
! 699: (category)+></span></p>
! 700:
! 701: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT files (file)+></span></p>
! 702:
! 703: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT dependencies
! 704:
! 705: (#PCDATA)></span></p>
! 706:
! 707: <p class=MsoPlainText><span style='font-size:8.0pt'><!ATTLIST dependencies</span></p>
! 708:
! 709: <p class=MsoPlainText><span style='font-size:8.0pt'> dist
! 710:
! 711: CDATA #REQUIRED</span></p>
! 712:
! 713: <p class=MsoPlainText><span style='font-size:8.0pt'> ></span></p>
! 714:
! 715: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT note (#PCDATA)></span></p>
! 716:
! 717: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT specialnotice
! 718:
! 719: (#PCDATA)></span></p>
! 720:
! 721: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT category (chmod,chown,abbreviation)></span></p>
! 722:
! 723: <p class=MsoPlainText><span style='font-size:8.0pt'><!ATTLIST category</span></p>
! 724:
! 725: <p class=MsoPlainText><span style='font-size:8.0pt'> type
! 726:
! 727: CDATA #REQUIRED</span></p>
! 728:
! 729: <p class=MsoPlainText><span style='font-size:8.0pt'> name
! 730:
! 731: CDATA #REQUIRED</span></p>
! 732:
! 733: <p class=MsoPlainText><span style='font-size:8.0pt'> ></span></p>
! 734:
! 735: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT chown (#PCDATA)></span></p>
! 736:
! 737: <p class=MsoPlainText><span style='font-size:8.0pt'><!ATTLIST chown</span></p>
! 738:
! 739: <p class=MsoPlainText><span style='font-size:8.0pt'> dist
! 740:
! 741: CDATA #REQUIRED</span></p>
! 742:
! 743: <p class=MsoPlainText><span style='font-size:8.0pt'> ></span></p>
! 744:
! 745: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT chmod (#PCDATA)></span></p>
! 746:
! 747: <p class=MsoPlainText><span style='font-size:8.0pt'><!ATTLIST chmod</span></p>
! 748:
! 749: <p class=MsoPlainText><span style='font-size:8.0pt'> dist
! 750:
! 751: CDATA #REQUIRED</span></p>
! 752:
! 753: <p class=MsoPlainText><span style='font-size:8.0pt'> ></span></p>
! 754:
! 755: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT abbreviation
! 756:
! 757: (#PCDATA)></span></p>
! 758:
! 759: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT file (target,categoryname?,</span></p>
! 760:
! 761: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 762:
! 763: note?,status?,dependencies?,perlscript)></span></p>
! 764:
! 765: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT TARGET EMPTY></span></p>
! 766:
! 767: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT perlscript
! 768:
! 769: (#PCDATA|TARGET)*></span></p>
! 770:
! 771: <p class=MsoPlainText><span style='font-size:8.0pt'><!ATTLIST perlscript</span></p>
! 772:
! 773: <p class=MsoPlainText><span style='font-size:8.0pt'> mode
! 774:
! 775: CDATA #REQUIRED</span></p>
! 776:
! 777: <p class=MsoPlainText><span style='font-size:8.0pt'> ></span></p>
! 778:
! 779: <h3><a name="_Toc421867080">xfml.dtd</a></h3>
! 780:
! 781: <p class=MsoPlainText><span style='font-size:8.0pt'><!--</span></p>
! 782:
! 783: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 784:
! 785: XML Filter Markup Language version 1.0.</span></p>
! 786:
! 787: <p class=MsoPlainText><span style='font-size:8.0pt'> Date:
! 788:
! 789: January 27, 2002</span></p>
! 790:
! 791: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 792:
! 793: Author: Scott Harrison</span></p>
! 794:
! 795: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 796:
! 797: XML Filter Markup Language works to extract those sections</span></p>
! 798:
! 799: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 800:
! 801: of an XML document matching certain conditions. This, in some</span></p>
! 802:
! 803: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 804:
! 805: respects, relies on functionality similar to that expected</span></p>
! 806:
! 807: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 808:
! 809: with XSL-type files. (I do not use standard XSL syntax because</span></p>
! 810:
! 811: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 812:
! 813: I am not convinced that it would be simple and elegant for</span></p>
! 814:
! 815: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 816:
! 817: this particular task).</span></p>
! 818:
! 819: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 820:
! 821: This is anticipated to be a very important feature associated</span></p>
! 822:
! 823: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 824:
! 825: with a larger Makefile-ish type approach involving the XML dtds:</span></p>
! 826:
! 827: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 828:
! 829: LPML and PIML.</span></p>
! 830:
! 831: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 832:
! 833: LPML (Linux Packaging Markup Language) can work to install files</span></p>
! 834:
! 835: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 836:
! 837: on a single computer or a distributed network of computers with</span></p>
! 838:
! 839: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 840:
! 841: pre-configured ssh accessibility (.ssh/authorized_keys, etc).</span></p>
! 842:
! 843: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 844:
! 845: PIML (Post Installation Markup Language) works to coordinate the</span></p>
! 846:
! 847: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 848:
! 849: last little scripts that need to be run after an installation.</span></p>
! 850:
! 851: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 852:
! 853: With all this make-"power", wouldn't it be nice to only pass through</span></p>
! 854:
! 855: <p class=MsoPlainText><span style='font-size:8.0pt'> portions
! 856:
! 857: of an LPML specification?</span></p>
! 858:
! 859: <p class=MsoPlainText><span style='font-size:8.0pt'>--></span></p>
! 860:
! 861: <p class=MsoPlainText><span style='font-size:8.0pt'><!--</span></p>
! 862:
! 863: <p class=MsoPlainText><span style='font-size:8.0pt'>Copyright Michigan State
! 864:
! 865: University Board of Trustees</span></p>
! 866:
! 867: <p class=MsoPlainText><span style='font-size:8.0pt'>This file is part of the
! 868:
! 869: LearningOnline Network with CAPA (LON-CAPA).</span></p>
! 870:
! 871: <p class=MsoPlainText><span style='font-size:8.0pt'>LON-CAPA is free software;
! 872:
! 873: you can redistribute it and/or modify</span></p>
! 874:
! 875: <p class=MsoPlainText><span style='font-size:8.0pt'>it under the terms of the
! 876:
! 877: GNU General Public License as published by</span></p>
! 878:
! 879: <p class=MsoPlainText><span style='font-size:8.0pt'>the Free Software Foundation;
! 880:
! 881: either version 2 of the License, or</span></p>
! 882:
! 883: <p class=MsoPlainText><span style='font-size:8.0pt'>(at your option) any later
! 884:
! 885: version.</span></p>
! 886:
! 887: <p class=MsoPlainText><span style='font-size:8.0pt'>LON-CAPA is distributed
! 888:
! 889: in the hope that it will be useful,</span></p>
! 890:
! 891: <p class=MsoPlainText><span style='font-size:8.0pt'>but WITHOUT ANY WARRANTY;
! 892:
! 893: without even the implied warranty of</span></p>
! 894:
! 895: <p class=MsoPlainText><span style='font-size:8.0pt'>MERCHANTABILITY or FITNESS
! 896:
! 897: FOR A PARTICULAR PURPOSE. See the</span></p>
! 898:
! 899: <p class=MsoPlainText><span style='font-size:8.0pt'>GNU General Public License
! 900:
! 901: for more details.</span></p>
! 902:
! 903: <p class=MsoPlainText><span style='font-size:8.0pt'>You should have received
! 904:
! 905: a copy of the GNU General Public License</span></p>
! 906:
! 907: <p class=MsoPlainText><span style='font-size:8.0pt'>along with LON-CAPA; if
! 908:
! 909: not, write to the Free Software</span></p>
! 910:
! 911: <p class=MsoPlainText><span style='font-size:8.0pt'>Foundation, Inc., 59 Temple
! 912:
! 913: Place, Suite 330, Boston, MA 02111-1307 USA</span></p>
! 914:
! 915: <p class=MsoPlainText><span style='font-size:8.0pt'>/home/httpd/html/adm/gpl.txt</span></p>
! 916:
! 917: <p class=MsoPlainText><span style='font-size:8.0pt'>http://www.lon-capa.org/</span></p>
! 918:
! 919: <p class=MsoPlainText><span style='font-size:8.0pt'>--></span></p>
! 920:
! 921: <p class=MsoPlainText><span style='font-size:8.0pt'><!-- Note: current status
! 922:
! 923: is that choice:include is currently unsupported and</span></p>
! 924:
! 925: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 926:
! 927: all matching statements REQUIRE two levels of 'when' statements;</span></p>
! 928:
! 929: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 930:
! 931: not one or more than two... okay.. this will be fixed soon --></span></p>
! 932:
! 933: <p class=MsoPlainText><span style='font-size:8.0pt'><!ENTITY % xfml.Version</span></p>
! 934:
! 935: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 936:
! 937: "-//TUX//DTD piml 1.0 Final//EN"></span></p>
! 938:
! 939: <p class=MsoPlainText><span style='font-size:8.0pt'><!-- Typical usage:</span></p>
! 940:
! 941: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 942:
! 943: <!DOCTYPE xfml PUBLIC "-//TUX//DTD PIML 1.0 Final//EN"></span></p>
! 944:
! 945: <p class=MsoPlainText><span style='font-size:8.0pt'> <xfml></span></p>
! 946:
! 947: <p class=MsoPlainText><span style='font-size:8.0pt'>
! 948:
! 949: </xfml></span></p>
! 950:
! 951: <p class=MsoPlainText><span style='font-size:8.0pt'>--></span></p>
! 952:
! 953: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT choice:include
! 954:
! 955: (#PCDATA)></span></p>
! 956:
! 957: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT choice:exclude
! 958:
! 959: (#PCDATA)></span></p>
! 960:
! 961: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT xfml (clause)+></span></p>
! 962:
! 963: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT clause (when:cdata|when:name|when:attribute|choice:exclude)+></span></p>
! 964:
! 965: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT when:name</span></p>
! 966:
! 967: <p class=MsoPlainText><span style='font-size:8.0pt'> (when:cdata|when:name|when:attribute|choice:include|choice:exclude)+></span></p>
! 968:
! 969: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT when:attribute
! 970:
! 971: </span></p>
! 972:
! 973: <p class=MsoPlainText><span style='font-size:8.0pt'> (when:cdata|when:name|when:attribute|choice:include|</span></p>
! 974:
! 975: <p class=MsoPlainText><span style='font-size:8.0pt'> choice:exclude)+></span></p>
! 976:
! 977: <p class=MsoPlainText><span style='font-size:8.0pt'><!ELEMENT when:cdata
! 978:
! 979: </span></p>
! 980:
! 981: <p class=MsoPlainText><span style='font-size:8.0pt'> (when:cdata|when:name|when:attribute|choice:include|</span></p>
! 982:
! 983: <p class=MsoPlainText><span style='font-size:8.0pt'> choice:exclude)+></span></p>
! 984:
! 985: <p class=MsoPlainText><span style='font-size:8.0pt'><!ATTLIST when:name</span></p>
! 986:
! 987: <p class=MsoPlainText><span style='font-size:8.0pt'> match
! 988:
! 989: CDATA #REQUIRED></span></p>
! 990:
! 991: <p class=MsoPlainText><span style='font-size:8.0pt'><!ATTLIST when:attribute</span></p>
! 992:
! 993: <p class=MsoPlainText><span style='font-size:8.0pt'> match
! 994:
! 995: CDATA #REQUIRED></span></p>
! 996:
! 997: <p class=MsoPlainText><span style='font-size:8.0pt'><!ATTLIST when:cdata</span></p>
! 998:
! 999: <p class=MsoPlainText><span style='font-size:8.0pt'> match
! 1000:
! 1001: CDATA #REQUIRED></span></p>
! 1002:
! 1003: <p class=MsoPlainText><span style='font-size:8.0pt'><!ATTLIST choice:include</span></p>
! 1004:
! 1005: <p class=MsoPlainText><span style='font-size:8.0pt'> nodename
! 1006:
! 1007: CDATA #REQUIRED></span></p>
! 1008:
! 1009: <p class=MsoPlainText><span style='font-size:8.0pt'><!ATTLIST choice:exclude</span></p>
! 1010:
! 1011: <p class=MsoPlainText><span style='font-size:8.0pt'> nodename
! 1012:
! 1013: CDATA #REQUIRED></span></p>
! 1014:
! 1015: </div>
! 1016:
! 1017: <br
! 1018:
! 1019: clear=ALL style='page-break-before:always;'>
! 1020:
! 1021: <div class=Section2> </div>
! 1022:
! 1023: </body>
! 1024:
! 1025: </html>
! 1026:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>